/**
 * Help users access and manage their external accounts from within your app, without requiring them to enter login credentials.
 */
declare module Accounts {
    export class ACAccountStore extends NSObject {
        /**
         * The accounts managed by this account store.
         */
        accounts: NSArray!;
        /**
         * Renews account credentials when the credentials are no longer valid.
         */
        renewCredentials(account: ACAccount!, completionHandler: ACAccountStoreCredentialRenewalHandler!):void;
        /**
         * Removes an account from the account store.
         */
        removeAccount(account: ACAccount!, completionHandler: ACAccountStoreRemoveCompletionHandler!):void;
        /**
         * Obtains permission to access protected user properties.
         */
        requestAccessToAccounts(accountType: ACAccountType!, options: Record<AnyHashable, any>, completion: ACAccountStoreRequestAccessCompletionHandler!):void;
        /**
         * Returns the account with the specified identifier.
         */
        account(identifier: String!):ACAccount!;
        /**
         * Returns an account type that matches the specified identifier.
         */
        accountType(typeIdentifier: String!):ACAccountType!;
        /**
         * Saves an account to the Accounts database.
         */
        saveAccount(account: ACAccount!, completionHandler: ACAccountStoreSaveCompletionHandler!):void;
    }
    export enum ACAccountCredentialRenewResult {
        renewed = 0,
        rejected = 1,
        failed = 2,
    }
    export class ACAccount extends NSObject {
        /**
         * A human-readable description of the account.
         */
        accountDescription: String!;
        /**
         * The type of service account.
         */
        accountType: ACAccountType!;
        /**
         * The credential used to authenticate the user of this account.
         */
        credential: ACAccountCredential!;
        /**
         * A unique identifier for this account.
         */
        identifier: NSString!;
        /**
         * The username for this account.
         */
        username: String!;
        /**
         * The full name associated with the user account.
         */
        userFullName: String!;
        /**
         * Initializes a new account of the specified type.
         */
        constructor (type: ACAccountType!);
    }
    export class ACAccountCredential extends NSObject {
        /**
         * The token used for the credential.
         */
        oauthToken: String!;
        /**
         * Initializes an account credential using OAuth.
         */
        constructor (token: String!, secret: String!);
        /**
         * Initializes an account credential using OAuth 2.
         */
        constructor (token: String!, refreshToken: String!, expiryDate: Date!);
    }
    export class ACAccountType extends NSObject {
        /**
         * A Boolean value indicating whether the user granted the application access to accounts of this type.
         */
        accessGranted: boolean;
        /**
         * A human-readable description of the account type.
         */
        accountTypeDescription: String!;
        /**
         * The unique identifier for the account type.
         */
        identifier: String!;
    }
    export class ACErrorCode {
        /**
         * The raw integer value of the error code.
         */
        rawValue: UInt32;
        /**
         * Initializes a new error code structure.
         */
        constructor (rawValue: UInt32);
        /**
         * Initializes a new error code structure.
         */
        constructor (rawValue: UInt32);
    }
}

/**
 * Access essential data types, collections, and operating-system services to define the base layer of functionality for your app.
 */
declare module Foundation {
    export class NSNotification extends NSObject {}
    /**
     * the same name namespace of class NSNotification
     */
    export namespace NSNotification {
        export class Name {
            /**
             * Posted when the accounts managed by this account store changed in the database.
             */
            static ACAccountStoreDidChange: NSNotification.Name;
            /**
             * Sent when the contents of the assets library have changed from under the app that is using the data.
             */
            static ALAssetsLibraryChanged: NSNotification.Name;
            /**
             * A notification the framework posts when the audio engine configuration changes.
             */
            static AVAudioEngineConfigurationChange: NSNotification.Name;
            /**
             * A notification that indicates when component tags change.
             */
            static AVAudioUnitComponentTagsDidChange: NSNotification.Name;
            /**
             * A notification the system posts when a player item plays to its end time.
             */
            static AVPlayerItemDidPlayToEndTime: NSNotification.Name;
            /**
             * A notification that the system posts when a player item fails to play to its end time.
             */
            static AVPlayerItemFailedToPlayToEndTime: NSNotification.Name;
            /**
             * A notification the system posts when a player item media doesn’t arrive in time to continue playback.
             */
            static AVPlayerItemPlaybackStalled: NSNotification.Name;
            /**
             * A notification the system posts when a player item adds a new entry to its access log.
             */
            static AVPlayerItemNewAccessLogEntry: NSNotification.Name;
            /**
             * A notification the system posts when a player item adds a new entry to its error log.
             */
            static AVPlayerItemNewErrorLogEntry: NSNotification.Name;
            /**
             * A notification the system posts when changes occur to its detected routes.
             */
            static AVRouteDetectorMultipleRoutesDetectedDidChange: NSNotification.Name;
            /**
             * A notification the system posts when a sample buffer display layer fails to decode.
             */
            static AVSampleBufferDisplayLayerFailedToDecode: NSNotification.Name;
            /**
             * A notification the system posts when a capture session starts.
             */
            static AVCaptureSessionDidStartRunning: NSNotification.Name;
            /**
             * A notification the system posts when a capture session stops.
             */
            static AVCaptureSessionDidStopRunning: NSNotification.Name;
            /**
             * A notification the system posts when it interrupts a capture session.
             */
            static AVCaptureSessionWasInterrupted: NSNotification.Name;
            /**
             * A notification the system posts when an interruption to a capture session finishes.
             */
            static AVCaptureSessionInterruptionEnded: NSNotification.Name;
            /**
             * A notification the system posts when an error occurs during a capture session.
             */
            static AVCaptureSessionRuntimeError: NSNotification.Name;
            /**
             * A notification the system posts when the capture input port’s format description changes.
             */
            static AVCaptureInputPortFormatDescriptionDidChange: NSNotification.Name;
            /**
             * A notification the system posts when a new capture device becomes available.
             */
            static AVCaptureDeviceWasConnected: NSNotification.Name;
            /**
             * A notification the system posts when an existing device becomes unavailable.
             */
            static AVCaptureDeviceWasDisconnected: NSNotification.Name;
            /**
             * A notification the system posts when a capture device detects a substantial change to the video subject area.
             */
            static AVCaptureDeviceSubjectAreaDidChange: NSNotification.Name;
            /**
             * Posted when the set of active complications changes.
             */
            static CLKComplicationServerActiveComplicationsDidChange: NSNotification.Name;
            /**
             * A notification that a container posts when the status of an iCloud account changes.
             */
            static CKAccountChanged: NSNotification.Name;
            /**
             * Posted when changes occur to the contact store.
             */
            static CNContactStoreDidChange: NSNotification.Name;
            /**
             * Posted after records are imported from the ubiquitous content store.
             */
            static NSPersistentStoreDidImportUbiquitousContentChanges: NSNotification.Name;
            /**
             * A notification of changes made to managed objects associated with this context.
             */
            static NSManagedObjectContextObjectsDidChange: NSNotification.Name;
            /**
             * A notification that the context completed a save.
             */
            static NSManagedObjectContextDidSave: NSNotification.Name;
            /**
             * A notification that the context is about to save.
             */
            static NSManagedObjectContextWillSave: NSNotification.Name;
            /**
             * A notification that posts when a coordinator adds, removes, or updates a persistent store.
             */
            static NSPersistentStoreCoordinatorStoresDidChange: NSNotification.Name;
            /**
             * A notification that posts immediately before the coordinator updates its collection of stores.
             */
            static NSPersistentStoreCoordinatorStoresWillChange: NSNotification.Name;
            /**
             * A notification that posts immediately before a coordinator removes a persistent store.
             */
            static NSPersistentStoreCoordinatorWillRemoveStore: NSNotification.Name;
            /**
             * The name of the notification indicating that the radio access technology changed for one of the services.
             */
            static CTRadioAccessTechnologyDidChange: NSNotification.Name;
            /**
             * A notification that the system sends when an accessory becomes connected and available for your application to use.
             */
            static EAAccessoryDidConnect: NSNotification.Name;
            /**
             * A notification that is posted when an accessory is disconnected and no longer available for your application to use.
             */
            static EAAccessoryDidDisconnect: NSNotification.Name;
            /**
             * A notification posted whenever the system clock is changed. 
             */
            static NSSystemClockDidChange: NSNotification.Name;
            /**
             * A notification that is posted whenever the calendar day of the system changes, as determined by the system calendar, locale, and time zone.
             */
            static NSCalendarDayChanged: NSNotification.Name;
            /**
             * A notification posted when the time zone changes.
             */
            static NSSystemTimeZoneDidChange: NSNotification.Name;
            /**
             * Posted whenever an 
             *  object opens or closes an undo group (except when it opens a top-level group) and when checking the redo stack in 
             * . 
             */
            static NSUndoManagerCheckpoint: NSNotification.Name;
            /**
             * Posted whenever an 
             *  object opens an undo group, which occurs in the implementation of the 
             *  method. 
             */
            static NSUndoManagerDidOpenUndoGroup: NSNotification.Name;
            /**
             * Posted just after an 
             *  object performs a redo operation (
             * ).
             */
            static NSUndoManagerDidRedoChange: NSNotification.Name;
            /**
             * Posted just after an 
             *  object performs an undo operation.
             */
            static NSUndoManagerDidUndoChange: NSNotification.Name;
            /**
             * Posted before an 
             *  object closes an undo group, which occurs in the implementation of the 
             *  method.
             */
            static NSUndoManagerWillCloseUndoGroup: NSNotification.Name;
            /**
             * Posted after an 
             *  object closes an undo group, which occurs in the implementation of the 
             *  method.
             */
            static NSUndoManagerDidCloseUndoGroup: NSNotification.Name;
            /**
             * Posted just before an 
             *  object performs a redo operation (
             * ).
             */
            static NSUndoManagerWillRedoChange: NSNotification.Name;
            /**
             * Posted just before an 
             *  object performs an undo operation.
             */
            static NSUndoManagerWillUndoChange: NSNotification.Name;
            /**
             * Posts when the power state of a device changes.
             */
            static NSProcessInfoPowerStateDidChange: NSNotification.Name;
            /**
             * Posted after the system detects that the amount of available disk space is getting low. The notification is posted to the default notification center.
             */
            static NSBundleResourceRequestLowDiskSpace: NSNotification.Name;
        }
    }
    export class NSUserActivity extends NSObject {
        /**
         * A Boolean value that indicates whether a user activity represents a ClassKit context.
         */
        isClassKitDeepLink: boolean;
        /**
         * The identifier path associated with a user activity generated by an app that adopts ClassKit.
         */
        contextIdentifierPath: string[] | null;
    }
    export class Locale {
        /**
         * A list of the user’s preferred languages.
         */
        static preferredLanguages: string[];
        /**
         * The language of a locale.
         */
        language: Locale.Language;
        /**
         * The first day of the week as represented by this locale.
         */
        firstDayOfWeek: Locale.Weekday;
        /**
         * The hour cycle used by the locale, like one-to-twelve or zero-to-twenty-three.
         */
        hourCycle: Locale.HourCycle;
        /**
         * The time zone associated with the locale, if any.
         */
        timeZone: TimeZone | null;
        /**
         * The currency used by the locale.
         */
        currency: Locale.Currency | null;
        /**
         * The measurement system used by the locale, like metric or the US system.
         */
        measurementSystem: Locale.MeasurementSystem;
        /**
         * The numbering system used by the locale.
         */
        numberingSystem: Locale.NumberingSystem;
        /**
         * An array containing all the valid numbering systems for the locale.
         */
        availableNumberingSystems: Locale.NumberingSystem[];
        /**
         * The region used by the locale.
         */
        region: Locale.Region | null;
        /**
         * The optional subdivision of the region used by this locale.
         */
        subdivision: Locale.Subdivision | null;
        /**
         * An optional variant used by the locale.
         */
        variant: Locale.Variant | null;
        /**
         * The string sort order of the locale.
         */
        collation: Locale.Collation;
        /**
         * The identifier of the locale.
         */
        identifier: string;
        /**
         * The calendar for the locale, or the Gregorian calendar as a fallback.
         */
        calendar: Calendar;
        /**
         * The region code of the locale, or 
         *  if it has none.
         */
        regionCode: string;
        /**
         * The language code of the locale, or 
         *  if has none.
         */
        languageCode: string;
        /**
         * The script code of the locale, or 
         *  if has none.
         */
        scriptCode: string;
        /**
         * The variant code for the locale, or 
         *  if it has none.
         */
        variantCode: string;
        /**
         * The exemplar character set for the locale, or 
         *  if has none.
         */
        exemplarCharacterSet: CharacterSet | null;
        /**
         * The collation identifier for the locale, or 
         *  if it has none.
         */
        collationIdentifier: string;
        /**
         * The collator identifier of the locale.
         */
        collatorIdentifier: string;
        /**
         * A Boolean that is true if the locale uses the metric system.
         */
        usesMetricSystem: boolean;
        /**
         * The decimal separator of the locale.
         */
        decimalSeparator: string;
        /**
         * The grouping separator of the locale.
         */
        groupingSeparator: string;
        /**
         * The currency code of the locale.
         */
        currencyCode: string;
        /**
         * The currency symbol of the locale.
         */
        currencySymbol: string;
        /**
         * The quotation begin delimiter of the locale.
         */
        quotationBeginDelimiter: string;
        /**
         * The quotation end delimiter of the locale.
         */
        quotationEndDelimiter: string;
        /**
         * The alternate quotation begin delimiter of the locale.
         */
        alternateQuotationBeginDelimiter: string;
        /**
         * The alternate quotation end delimiter of the locale.
         */
        alternateQuotationEndDelimiter: string;
        /**
         * A textual description of the locale.
         */
        description: string;
        /**
         * A textual description of the locale suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the locale.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the locale.
         */
        hashValue: number;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Returns the character direction for a specified language code.
         */
        static characterDirection(isoLangCode: string):Locale.LanguageDirection;
        /**
         * Returns the line direction for a specified language code.
         */
        static lineDirection(isoLangCode: string):Locale.LanguageDirection;
        /**
         * Returns a localized string for a specified calendar.
         */
        localizedString(calendarIdentifier: Calendar.Identifier):string;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Locale
     */
    export namespace Locale {
        export class Region {
            static turksCaicosIslands: Locale.Region;
            static tuvalu: Locale.Region;
            static uganda: Locale.Region;
            static ukraine: Locale.Region;
            static unitedArabEmirates: Locale.Region;
            static unitedKingdom: Locale.Region;
            static unitedStates: Locale.Region;
            static unitedStatesOutlyingIslands: Locale.Region;
            static unitedStatesVirginIslands: Locale.Region;
            static uruguay: Locale.Region;
            static uzbekistan: Locale.Region;
            static vanuatu: Locale.Region;
            static vaticanCity: Locale.Region;
            static venezuela: Locale.Region;
            static vietnam: Locale.Region;
            static wallisFutuna: Locale.Region;
            static westernSahara: Locale.Region;
            static world: Locale.Region;
            static yemen: Locale.Region;
            static zambia: Locale.Region;
            static zimbabwe: Locale.Region;
            static ålandIslands: Locale.Region;
        }
        export class Language {}
        /**
         * the same name namespace of class Language
         */
        export namespace Language {
            export class Components {
                /**
                 * The written script used by this language.
                 */
                script: Locale.Script | null;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
        export class Script {
            static unknown: Locale.Script;
            static adlam: Locale.Script;
            static arabic: Locale.Script;
            static arabicNastaliq: Locale.Script;
            static armenian: Locale.Script;
            static bangla: Locale.Script;
            static cherokee: Locale.Script;
            static cyrillic: Locale.Script;
            static devanagari: Locale.Script;
            static ethiopic: Locale.Script;
            static georgian: Locale.Script;
            static greek: Locale.Script;
            static gujarati: Locale.Script;
            static gurmukhi: Locale.Script;
            static hanSimplified: Locale.Script;
            static hanTraditional: Locale.Script;
            static hanifiRohingya: Locale.Script;
            static hebrew: Locale.Script;
            static hiragana: Locale.Script;
            static japanese: Locale.Script;
            static kannada: Locale.Script;
            static katakana: Locale.Script;
            static khmer: Locale.Script;
            static korean: Locale.Script;
            static lao: Locale.Script;
            static latin: Locale.Script;
            static malayalam: Locale.Script;
            static meiteiMayek: Locale.Script;
            static myanmar: Locale.Script;
            static odia: Locale.Script;
            static olChiki: Locale.Script;
            static sinhala: Locale.Script;
            static syriac: Locale.Script;
            static tamil: Locale.Script;
            static telugu: Locale.Script;
            static thaana: Locale.Script;
            static thai: Locale.Script;
            static tibetan: Locale.Script;
            identifier: string;
            /**
             * The hash value.
             */
            hashValue: number;
            isISOScript: boolean;
            /**
             * Creates a script from a BCP 47 identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a script from a BCP 47 identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Components {
            /**
             * The calendar used by the locale.
             */
            calendar: Calendar.Identifier | null;
            /**
             * The first day of the week as represented by this locale.
             */
            firstDayOfWeek: Locale.Weekday | null;
            /**
             * The hour cycle used by the locale, like one-to-twelve or zero-to-twenty-three.
             */
            hourCycle: Locale.HourCycle | null;
            /**
             * The time zone used by the locale.
             */
            timeZone: TimeZone | null;
            /**
             * The currency used by the locale.
             */
            currency: Locale.Currency | null;
            /**
             * The measurement system used by the locale, like metric or the US system.
             */
            measurementSystem: Locale.MeasurementSystem | null;
            /**
             * The numbering system used by the locale.
             */
            numberingSystem: Locale.NumberingSystem | null;
            /**
             * The region used by the locale.
             */
            region: Locale.Region | null;
            /**
             * The optional subdivision of the region used by this locale.
             */
            subdivision: Locale.Subdivision | null;
            /**
             * An optional variant used by the locale.
             */
            variant: Locale.Variant | null;
            /**
             * The string sort order of the locale.
             */
            collation: Locale.Collation | null;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export enum Weekday {
            monday,
            tuesday,
            wednesday,
            thursday,
            friday,
            saturday,
            sunday,
        }
        export enum HourCycle {
            zeroToEleven,
            oneToTwelve,
            zeroToTwentyThree,
            oneToTwentyFour,
        }
        export class Currency {
            /**
             * An array containing currencies defined by the currency codes in ISO-4217.
             */
            static isoCurrencies: Locale.Currency[];
            /**
             * A representation of an “unknown” currency, for use with transactions that don’t involve any currency.
             */
            static unknown: Locale.Currency;
            /**
             * The currency’s identifier.
             */
            identifier: string;
            /**
             * A Boolean value that indicates whether the currency is in the list of ISO-defined currencies.
             */
            isISOCurrency: boolean;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a currency instance from a BCP 47 identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a currency instance from a BCP 47 identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class MeasurementSystem {
            /**
             * An array of the measurement systems defined by the Unicode Common Locale Data Repository (CLDR).
             */
            static measurementSystems: Locale.MeasurementSystem[];
            /**
             * The metric measurement system.
             */
            static metric: Locale.MeasurementSystem;
            /**
             * The United Kingdom measurement system.
             */
            static uk: Locale.MeasurementSystem;
            /**
             * The United States measurement system.
             */
            static us: Locale.MeasurementSystem;
            /**
             * The measurement system’s BCP 47 identifier.
             */
            identifier: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a measurement system instance from a BCP 47 identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a measurement system instance from a BCP 47 identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class NumberingSystem {
            static availableNumberingSystems: Locale.NumberingSystem[];
            /**
             * The numbering system’s BCP 47 identifier.
             */
            identifier: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a numbering system instance from a BCP 47 identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a numbering system instance from a BCP 47 identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Subdivision {
            /**
             * The subdivision’s Unicode identifier.
             */
            identifier: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a sudivision from a Unicode identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a sudivision from a Unicode identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Returns the subdivision representing the given region as a whole.
             */
            static subdivision(region: Locale.Region):Locale.Subdivision;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Variant {
            static posix: Locale.Variant;
            /**
             * The variant’s BCP 47 identifier.
             */
            identifier: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a variant from a BCP 47 identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a variant from a BCP 47 identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Collation {
            /**
             * A collation that provides the default ordering for each language.
             */
            static standard: Locale.Collation;
            /**
             * A collation used for string search.
             */
            static searchRules: Locale.Collation;
            static availableCollations: Locale.Collation[];
            /**
             * The collation’s BCP 47 identifier.
             */
            identifier: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a collation from a BCP 47 identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a collation from a BCP 47 identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class LanguageCode {
            /**
             * Returns an array of ISO-defined language codes.
             */
            static isoLanguageCodes: Locale.LanguageCode[];
            static ainu: Locale.LanguageCode;
            static albanian: Locale.LanguageCode;
            static amharic: Locale.LanguageCode;
            static apacheWestern: Locale.LanguageCode;
            static arabic: Locale.LanguageCode;
            static armenian: Locale.LanguageCode;
            static assamese: Locale.LanguageCode;
            static assyrian: Locale.LanguageCode;
            static azerbaijani: Locale.LanguageCode;
            static bangla: Locale.LanguageCode;
            static belarusian: Locale.LanguageCode;
            static bodo: Locale.LanguageCode;
            static bulgarian: Locale.LanguageCode;
            static burmese: Locale.LanguageCode;
            static cantonese: Locale.LanguageCode;
            static catalan: Locale.LanguageCode;
            static cherokee: Locale.LanguageCode;
            static chinese: Locale.LanguageCode;
            static croatian: Locale.LanguageCode;
            static czech: Locale.LanguageCode;
            static danish: Locale.LanguageCode;
            static dhivehi: Locale.LanguageCode;
            static dogri: Locale.LanguageCode;
            static dutch: Locale.LanguageCode;
            static dzongkha: Locale.LanguageCode;
            static english: Locale.LanguageCode;
            static estonian: Locale.LanguageCode;
            static faroese: Locale.LanguageCode;
            static finnish: Locale.LanguageCode;
            static french: Locale.LanguageCode;
            static fula: Locale.LanguageCode;
            static georgian: Locale.LanguageCode;
            static german: Locale.LanguageCode;
            static greek: Locale.LanguageCode;
            static gujarati: Locale.LanguageCode;
            static hawaiian: Locale.LanguageCode;
            static hebrew: Locale.LanguageCode;
            static hindi: Locale.LanguageCode;
            static hungarian: Locale.LanguageCode;
            static icelandic: Locale.LanguageCode;
            static igbo: Locale.LanguageCode;
            static indonesian: Locale.LanguageCode;
            static irish: Locale.LanguageCode;
            static italian: Locale.LanguageCode;
            static japanese: Locale.LanguageCode;
            static kannada: Locale.LanguageCode;
            static kashmiri: Locale.LanguageCode;
            static kazakh: Locale.LanguageCode;
            static khmer: Locale.LanguageCode;
            static konkani: Locale.LanguageCode;
            static korean: Locale.LanguageCode;
            static kurdish: Locale.LanguageCode;
            static kurdishSorani: Locale.LanguageCode;
            static kyrgyz: Locale.LanguageCode;
            static lao: Locale.LanguageCode;
            static latvian: Locale.LanguageCode;
            static lithuanian: Locale.LanguageCode;
            static macedonian: Locale.LanguageCode;
            static maithili: Locale.LanguageCode;
            static malay: Locale.LanguageCode;
            static malayalam: Locale.LanguageCode;
            static maltese: Locale.LanguageCode;
            static manipuri: Locale.LanguageCode;
            static marathi: Locale.LanguageCode;
            static mongolian: Locale.LanguageCode;
            static multiple: Locale.LanguageCode;
            static māori: Locale.LanguageCode;
            static navajo: Locale.LanguageCode;
            static nepali: Locale.LanguageCode;
            static norwegian: Locale.LanguageCode;
            static norwegianBokmål: Locale.LanguageCode;
            static norwegianNynorsk: Locale.LanguageCode;
            static odia: Locale.LanguageCode;
            static pashto: Locale.LanguageCode;
            static persian: Locale.LanguageCode;
            static polish: Locale.LanguageCode;
            static portuguese: Locale.LanguageCode;
            static punjabi: Locale.LanguageCode;
            static rohingya: Locale.LanguageCode;
            static romanian: Locale.LanguageCode;
            static russian: Locale.LanguageCode;
            static samoan: Locale.LanguageCode;
            static sanskrit: Locale.LanguageCode;
            static santali: Locale.LanguageCode;
            static serbian: Locale.LanguageCode;
            static sindhi: Locale.LanguageCode;
            static sinhala: Locale.LanguageCode;
            static slovak: Locale.LanguageCode;
            static slovenian: Locale.LanguageCode;
            static spanish: Locale.LanguageCode;
            static swahili: Locale.LanguageCode;
            static swedish: Locale.LanguageCode;
            static tagalog: Locale.LanguageCode;
            static tajik: Locale.LanguageCode;
            static tamil: Locale.LanguageCode;
            static telugu: Locale.LanguageCode;
            static thai: Locale.LanguageCode;
            static tibetan: Locale.LanguageCode;
            static tongan: Locale.LanguageCode;
            static turkish: Locale.LanguageCode;
            static turkmen: Locale.LanguageCode;
            static ukrainian: Locale.LanguageCode;
            static unavailable: Locale.LanguageCode;
            static uncoded: Locale.LanguageCode;
            static unidentified: Locale.LanguageCode;
            static urdu: Locale.LanguageCode;
            static uyghur: Locale.LanguageCode;
            static uzbek: Locale.LanguageCode;
            static vietnamese: Locale.LanguageCode;
            static welsh: Locale.LanguageCode;
            static yiddish: Locale.LanguageCode;
            /**
             * The identifier used to create the language code.
             */
            identifier: string;
            /**
             * A Boolean value that indicates whether this language code is in the list of ISO-defined languages.
             */
            isISOLanguage: boolean;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a language code from an identifier.
             */
            constructor (identifier: string);
            /**
             * Creates a language code from an identifier as a string literal.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class LanguageCode
         */
        export namespace LanguageCode {
            export enum IdentifierType {
                alpha2,
                alpha3,
            }
        }
        export enum IdentifierType {
            icu,
            cldr,
            bcp47,
        }
    }
    export class Decimal {
        primitivePlottable: number;
        constructor (primitivePlottable: number);
        constructor (_string: string, locale: Locale | null);
        formatted():string;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Decimal
     */
    export namespace Decimal {
        export class FormatStyle {
            static number: Decimal.FormatStyle;
            attributed: Decimal.FormatStyle.Attributed;
            hashValue: number;
            locale: Locale;
            parseStrategy: Decimal.ParseStrategy<Decimal.FormatStyle>;
            regex: Regex<Decimal>;
            constructor (decoder: Decoder);
            constructor (locale: Locale);
            static localizedDecimal(locale: Locale):Decimal.FormatStyle;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
            decimalSeparator(strategy: Decimal.FormatStyle.Configuration.DecimalSeparatorDisplayStrategy):Decimal.FormatStyle;
            encode(encoder: Encoder):void;
            format(value: Decimal):string;
            grouping(group: Decimal.FormatStyle.Configuration.Grouping):Decimal.FormatStyle;
            hash(hasher: Hasher):void;
            notation(notation: Decimal.FormatStyle.Configuration.Notation):Decimal.FormatStyle;
            precision(p: Decimal.FormatStyle.Configuration.Precision):Decimal.FormatStyle;
            rounded(rule: Decimal.FormatStyle.Configuration.RoundingRule, increment: number):Decimal.FormatStyle;
            scale(multiplicand: number):Decimal.FormatStyle;
            sign(strategy: Decimal.FormatStyle.Configuration.SignDisplayStrategy):Decimal.FormatStyle;
        }
        /**
         * the same name namespace of class FormatStyle
         */
        export namespace FormatStyle {
            export class Attributed {
                hashValue: number;
                constructor (decoder: Decoder);
                static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
                encode(encoder: Encoder):void;
                format(value: Decimal):AttributedString;
                hash(hasher: Hasher):void;
                locale(locale: Locale):Decimal.FormatStyle.Attributed;
            }
            export class Currency {
                attributed: Decimal.FormatStyle.Attributed;
                currencyCode: string;
                hashValue: number;
                locale: Locale;
                parseStrategy: Decimal.ParseStrategy<Decimal.FormatStyle.Currency>;
                regex: Regex<Decimal>;
                constructor (code: string, locale: Locale);
                constructor (decoder: Decoder);
                static currency(code: string):Decimal.FormatStyle.Currency;
                static localizedCurrency(code: Locale.Currency, locale: Locale):Decimal.FormatStyle.Currency;
                static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
                consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
                decimalSeparator(strategy: Decimal.FormatStyle.Currency.Configuration.DecimalSeparatorDisplayStrategy):Decimal.FormatStyle.Currency;
                encode(encoder: Encoder):void;
                format(value: Decimal):string;
                grouping(group: Decimal.FormatStyle.Currency.Configuration.Grouping):Decimal.FormatStyle.Currency;
                hash(hasher: Hasher):void;
                precision(p: Decimal.FormatStyle.Currency.Configuration.Precision):Decimal.FormatStyle.Currency;
                presentation(p: Decimal.FormatStyle.Currency.Configuration.Presentation):Decimal.FormatStyle.Currency;
                rounded(rule: Decimal.FormatStyle.Currency.Configuration.RoundingRule, increment: number):Decimal.FormatStyle.Currency;
                scale(multiplicand: number):Decimal.FormatStyle.Currency;
                sign(strategy: Decimal.FormatStyle.Currency.Configuration.SignDisplayStrategy):Decimal.FormatStyle.Currency;
            }
            export class Percent {
                static percent: Decimal.FormatStyle.Percent;
                attributed: Decimal.FormatStyle.Attributed;
                hashValue: number;
                locale: Locale;
                parseStrategy: Decimal.ParseStrategy<Decimal.FormatStyle.Percent>;
                regex: Regex<Decimal>;
                constructor (decoder: Decoder);
                constructor (locale: Locale);
                static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
                consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
                decimalSeparator(strategy: Decimal.FormatStyle.Percent.Configuration.DecimalSeparatorDisplayStrategy):Decimal.FormatStyle.Percent;
                encode(encoder: Encoder):void;
                format(value: Decimal):string;
                grouping(group: Decimal.FormatStyle.Percent.Configuration.Grouping):Decimal.FormatStyle.Percent;
                hash(hasher: Hasher):void;
                notation(notation: Decimal.FormatStyle.Percent.Configuration.Notation):Decimal.FormatStyle.Percent;
                precision(p: Decimal.FormatStyle.Percent.Configuration.Precision):Decimal.FormatStyle.Percent;
                rounded(rule: Decimal.FormatStyle.Percent.Configuration.RoundingRule, increment: number):Decimal.FormatStyle.Percent;
                scale(multiplicand: number):Decimal.FormatStyle.Percent;
                sign(strategy: Decimal.FormatStyle.Percent.Configuration.SignDisplayStrategy):Decimal.FormatStyle.Percent;
            }
        }
    }
    export class Calendar {}
    /**
     * the same name namespace of class Calendar
     */
    export namespace Calendar {
        export enum Identifier {
            buddhist,
            chinese,
            coptic,
            ethiopicAmeteAlem,
            ethiopicAmeteMihret,
            gregorian,
            hebrew,
            indian,
            islamic,
            islamicCivil,
            islamicTabular,
            islamicUmmAlQura,
            iso8601,
            japanese,
            persian,
            republicOfChina,
        }
        export enum Component {
            era,
            year,
            yearForWeekOfYear,
            quarter,
            month,
            weekOfYear,
            weekOfMonth,
            weekday,
            weekdayOrdinal,
            day,
            hour,
            minute,
            second,
            nanosecond,
            calendar,
            timeZone,
        }
    }
    export class NumberFormatter extends Formatter {
        /**
         * The formatter behavior of the receiver.
         */
        formatterBehavior: NumberFormatter.Behavior;
        /**
         * The number style used by the receiver.
         */
        numberStyle: NumberFormatter.Style;
        /**
         * Determines whether the receiver creates instances of 
         *  when it converts strings to number objects.
         */
        generatesDecimalNumbers: boolean;
        /**
         * Determines whether the dollar sign character (
         * ), decimal separator character (
         * ), and thousand separator character (
         * ) are converted to appropriately localized characters as specified by the user’s localization preference.
         */
        localizesFormat: boolean;
        /**
         * The locale of the receiver.
         */
        locale: Locale!;
        /**
         * The rounding behavior used by the receiver.
         */
        roundingBehavior: NSDecimalNumberHandler;
        /**
         * The rounding increment used by the receiver.
         */
        roundingIncrement: NSNumber!;
        /**
         * The rounding mode used by the receiver.
         */
        roundingMode: NumberFormatter.RoundingMode;
        /**
         * The minimum number of digits before the decimal separator.
         */
        minimumIntegerDigits: number;
        /**
         * The maximum number of digits before the decimal separator.
         */
        maximumIntegerDigits: number;
        /**
         * The minimum number of digits after the decimal separator.
         */
        minimumFractionDigits: number;
        /**
         * The maximum number of digits after the decimal separator.
         */
        maximumFractionDigits: number;
        /**
         * A Boolean value indicating whether the formatter uses minimum and maximum significant digits when formatting numbers.
         */
        usesSignificantDigits: boolean;
        /**
         * The minimum number of significant digits for the number formatter.
         */
        minimumSignificantDigits: number;
        /**
         * The maximum number of significant digits for the number formatter.
         */
        maximumSignificantDigits: number;
        /**
         * The receiver’s format.
         */
        format: string;
        /**
         * The capitalization formatting context used when formatting a number.
         */
        formattingContext: Formatter.Context;
        /**
         * The format width used by the receiver.
         */
        formatWidth: number;
        /**
         * The format the receiver uses to display negative values.
         */
        negativeFormat: String!;
        /**
         * The format the receiver uses to display positive values.
         */
        positiveFormat: String!;
        /**
         * The multiplier of the receiver.
         */
        multiplier: NSNumber | null;
        /**
         * The string used to represent a percent symbol.
         */
        percentSymbol: String!;
        /**
         * The string used to represent a per-mill (per-thousand) symbol.
         */
        perMillSymbol: String!;
        /**
         * The string used to represent a minus sign.
         */
        minusSign: String!;
        /**
         * The string used to represent a plus sign.
         */
        plusSign: String!;
        /**
         * The string used to represent an exponent symbol.
         */
        exponentSymbol: String!;
        /**
         * The string used to represent a zero value.
         */
        zeroSymbol: string;
        /**
         * The string used to represent a 
         *  value.
         */
        nilSymbol: string;
        /**
         * The string used to represent a NaN (“not a number”) value.
         */
        notANumberSymbol: String!;
        /**
         * The string used to represent a negative infinity symbol.
         */
        negativeInfinitySymbol: string;
        /**
         * The string used to represent a positive infinity symbol. 
         */
        positiveInfinitySymbol: string;
        /**
         * The string used by the receiver as a local currency symbol.
         */
        currencySymbol: String!;
        /**
         * The receiver’s currency code.
         */
        currencyCode: String!;
        /**
         * The international currency symbol used by the receiver.
         */
        internationalCurrencySymbol: String!;
        /**
         * The currency grouping separator for the receiver.
         */
        currencyGroupingSeparator: String!;
        /**
         * The string the receiver uses as the prefix for positive values.
         */
        positivePrefix: String!;
        /**
         * The string the receiver uses as the suffix for positive values.
         */
        positiveSuffix: String!;
        /**
         * The string the receiver uses as a prefix for negative values.
         */
        negativePrefix: String!;
        /**
         * The string the receiver uses as a suffix for negative values.
         */
        negativeSuffix: String!;
        /**
         * The text attributes to be used in displaying negative values.
         */
        textAttributesForNegativeValues: Record<string, any> | null;
        /**
         * The text attributes to be used in displaying positive values.
         */
        textAttributesForPositiveValues: Record<string, any> | null;
        /**
         * The attributed string that the receiver uses to display zero values.
         */
        attributedStringForZero: NSAttributedString;
        /**
         * The text attributes used to display a zero value.
         */
        textAttributesForZero: Record<string, any> | null;
        /**
         * The attributed string the receiver uses to display 
         *  values.
         */
        attributedStringForNil: NSAttributedString;
        /**
         * The text attributes used to display the 
         *  symbol.
         */
        textAttributesForNil: Record<string, any> | null;
        /**
         * The attributed string the receiver uses to display “not a number” values.
         */
        attributedStringForNotANumber: NSAttributedString;
        /**
         * The text attributes used to display the NaN (“not a number”) string.
         */
        textAttributesForNotANumber: Record<string, any> | null;
        /**
         * The text attributes used to display the positive infinity symbol.
         */
        textAttributesForPositiveInfinity: Record<string, any> | null;
        /**
         * The text attributes used to display the negative infinity symbol.
         */
        textAttributesForNegativeInfinity: Record<string, any> | null;
        /**
         * The string used by the receiver for a grouping separator.
         */
        groupingSeparator: String!;
        /**
         * Determines whether the receiver displays the group separator.
         */
        usesGroupingSeparator: boolean;
        /**
         * The character the receiver uses as a thousand separator.
         */
        thousandSeparator: String!;
        /**
         * Determines whether the receiver uses thousand separators.
         */
        hasThousandSeparators: boolean;
        /**
         * The character the receiver uses as a decimal separator.
         */
        decimalSeparator: String!;
        /**
         * Determines whether the receiver always shows the decimal separator, even for integer numbers.
         */
        alwaysShowsDecimalSeparator: boolean;
        /**
         * The string used by the receiver as a currency decimal separator.
         */
        currencyDecimalSeparator: String!;
        /**
         * The grouping size of the receiver.
         */
        groupingSize: number;
        /**
         * The secondary grouping size of the receiver.
         */
        secondaryGroupingSize: number;
        /**
         * The string that the receiver uses to pad numbers in the formatted string representation.
         */
        paddingCharacter: String!;
        /**
         * The padding position used by the receiver.
         */
        paddingPosition: NumberFormatter.PadPosition;
        /**
         * Determines whether the receiver allows as input floating-point values (that is, values that include the period character [
         * ]).
         */
        allowsFloats: boolean;
        /**
         * The lowest number allowed as input by the receiver.
         */
        minimum: NSNumber | null;
        /**
         * The highest number allowed as input by the receiver.
         */
        maximum: NSNumber | null;
        /**
         * Determines whether the receiver will use heuristics to guess at the number which is intended by a string.
         */
        isLenient: boolean;
        /**
         * Determines whether partial string validation is enabled for the receiver.
         */
        isPartialStringValidationEnabled: boolean;
        /**
         * Sets the default formatter behavior for new instances of 
         *  .
         */
        static setDefaultFormatterBehavior(behavior: NumberFormatter.Behavior):void;
        /**
         * Returns an 
         *  constant that indicates default formatter behavior for new instances of 
         * .
         */
        static defaultFormatterBehavior():NumberFormatter.Behavior;
        /**
         * Returns a localized number string with the specified style.
         */
        static localizedString(num: NSNumber, nstyle: NumberFormatter.Style):string;
        /**
         * Returns by reference a cell-content object after creating it from a range of characters in a given string.
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, rangep: UnsafeMutablePointer<NSRange> | null):void;
        /**
         * Returns an 
         *  object created by parsing a given string.
         */
        number(_string: string):NSNumber | null;
        /**
         * Returns a string containing the formatted value of the provided number object.
         */
        string(_number: NSNumber):string;
    }
    /**
     * the same name namespace of class NumberFormatter
     */
    export namespace NumberFormatter {
        export enum Style {
            none = 0,
            decimal = 1,
            percent = 3,
            scientific = 4,
            spellOut = 5,
            ordinal = 6,
            currency = 2,
            currencyAccounting = 10,
            currencyISOCode = 8,
            currencyPlural = 9,
        }
        export enum Behavior {
            default = 0,
            behavior10_0 = 1000,
            behavior10_4 = 1040,
        }
        export enum PadPosition {
            beforePrefix = 0,
            afterPrefix = 1,
            beforeSuffix = 2,
            afterSuffix = 3,
        }
        export enum RoundingMode {
            ceiling = 0,
            floor = 1,
            down = 2,
            up = 3,
            halfEven = 4,
            halfDown = 5,
            halfUp = 6,
        }
    }
    export class NSDecimalNumberHandler extends NSObject {
        /**
         * Returns the default instance of 
         * .
         */
        static default: NSDecimalNumberHandler;
        /**
         * Returns an 
         *  object initialized so it behaves as specified by the method’s arguments.
         */
        constructor (roundingMode: NSDecimalNumber.RoundingMode, scale: Int16, exact: boolean, overflow: boolean, underflow: boolean, divideByZero: boolean);
    }
    export class NSLocale extends NSObject {}
    /**
     * the same name namespace of class NSLocale
     */
    export namespace NSLocale {
        export enum LanguageDirection {
            unknown = 0,
            leftToRight = 1,
            rightToLeft = 2,
            topToBottom = 3,
            bottomToTop = 4,
        }
    }
    export class NSOrthography extends NSObject {
        /**
         * A dictionary that maps script tags to arrays of language tags.
         */
        languageMap: Record<string, string[]>;
        /**
         * The first language in the list of languages for the dominant script.
         */
        dominantLanguage: string;
        /**
         * The dominant script for the text.
         */
        dominantScript: string;
        /**
         * The scripts appearing as keys in the language map.
         */
        allScripts: string[];
        /**
         * The languages appearing in values of the language map.
         */
        allLanguages: string[];
        /**
         * Creates an orthography object with the specified dominant script and language map.
         */
        constructor (script: string, map: Record<string, string[]>);
        constructor (coder: NSCoder);
        /**
         * Creates and returns an orthography object with the default language map for the specified language.
         */
        static defaultOrthography(language: string):Self;
        /**
         * Returns the list of languages for the specified script.
         */
        languages(script: string):string[] | null;
    }
    export class LocalizedStringResource {
        /**
         * The key to use to look up a localized string.
         */
        key: string;
        /**
         * The resource’s default value.
         */
        defaultValue: String.LocalizationValue;
        /**
         * The name of the table containing the key-value pairs.
         */
        table: string;
        /**
         * The bundle containing the table’s strings file.
         */
        bundle: LocalizedStringResource.BundleDescription;
        /**
         * The locale to use to look up the localized string from the string resource.
         */
        locale: Locale;
        /**
         * A resource that helps provide a description of the instance.
         */
        localizedStringResource: LocalizedStringResource;
        /**
         * Creates a localized string resource from a localization key and its bundle properties.
         */
        constructor (keyAndValue: String.LocalizationValue, table: string, locale: Locale, bundle: LocalizedStringResource.BundleDescription, comment: StaticString | null);
        /**
         * Creates a localized string resource from a static string and its bundle properties.
         */
        constructor (key: StaticString, defaultValue: String.LocalizationValue, table: string, locale: Locale, bundle: LocalizedStringResource.BundleDescription, comment: StaticString | null);
        /**
         * Creates a localized string resource from the specified string literal.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: string);
        /**
         * Creates a localized string resource from the given string interpolation.
         */
        constructor (stringInterpolation: String.LocalizationValue.StringInterpolation);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class LocalizedStringResource
     */
    export namespace LocalizedStringResource {
        export enum BundleDescription {
            main,
            atURL,
            forClass,
        }
    }
    export interface CustomLocalizedStringResourceConvertible {
        /**
         * A resource that helps provide a description of this instance.
         */
        localizedStringResource: LocalizedStringResource;
    }
    export class URLResource {
        /**
         * The bundle containing the resource.
         */
        bundle: Bundle;
        /**
         * The name of the resource in the bundle.
         */
        name: string;
        /**
         * The subdirectory, if any, of the resource.
         */
        subdirectory: string;
        /**
         * The bundle containing the resource.
         */
        locale: Locale;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a URL resource from the given bundle, name, and subdirectory, optionally specifying a locale.
         */
        constructor (name: string, subdirectory: string, locale: Locale, bundle: Bundle);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of the value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes the value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class NSLinguisticTagger extends NSObject {
        /**
         * The string being analyzed by the linguistic tagger.
         */
        string: string;
        /**
         * Returns the tag schemes configured for this linguistic tagger. For possible values, see 
         * .
         */
        tagSchemes: NSLinguisticTagScheme[];
        /**
         * Creates a linguistic tagger instance using the specified tag schemes and options.
         */
        constructor (tagSchemes: NSLinguisticTagScheme[], opts: number);
        /**
         * Returns the tag schemes available for a particular unit and language on the current device. 
         */
        static availableTagSchemes(unit: NSLinguisticTaggerUnit, language: string):NSLinguisticTagScheme[];
        /**
         * Returns the dominant language for the specified string.
         */
        static dominantLanguage(_string: string):string;
        /**
         * Returns the orthography at the index and also returns the effective range.
         */
        orthography(charIndex: number, effectiveRange: NSRangePointer | null):NSOrthography | null;
        /**
         * Sets the orthography for the specified range.
         */
        setOrthography(orthography: NSOrthography | null, range: NSRange):void;
        /**
         * Enumerates over a given range of the string for a particular unit and calls the specified block for each tag.
         */
        enumerateTags(range: NSRange, unit: NSLinguisticTaggerUnit, scheme: NSLinguisticTagScheme, options: NSLinguisticTagger.Options, block: ()=>any):void;
        /**
         * Returns a tag for a single scheme, for a given linguistic unit, at the specified character position.
         */
        tag(charIndex: number, unit: NSLinguisticTaggerUnit, scheme: NSLinguisticTagScheme, tokenRange: NSRangePointer | null):NSLinguisticTag | null;
        /**
         * Returns an array of linguistic tags and token ranges for a given string range and linguistic unit.
         */
        tags(range: NSRange, unit: NSLinguisticTaggerUnit, scheme: NSLinguisticTagScheme, options: NSLinguisticTagger.Options, tokenRanges: AutoreleasingUnsafeMutablePointer<NSArray?> | null):NSLinguisticTag[];
        /**
         * Returns the range of the linguistic unit containing the specified character index. 
         */
        tokenRange(charIndex: number, unit: NSLinguisticTaggerUnit):NSRange;
        /**
         * Returns the range of a sentence containing the specified range.
         */
        sentenceRange(range: NSRange):NSRange;
        /**
         * Returns an array of possible tags for the given scheme at the specified range, supplying matching scores.
         */
        possibleTags(charIndex: number, tagScheme: string, tokenRange: NSRangePointer | null, sentenceRange: NSRangePointer | null, scores: AutoreleasingUnsafeMutablePointer<NSArray?> | null):string[] | null;
        /**
         * Notifies the linguistic tagger that the string (if mutable) has changed as specified by the parameters.
         */
        stringEdited(newRange: NSRange, delta: number):void;
    }
    /**
     * the same name namespace of class NSLinguisticTagger
     */
    export namespace NSLinguisticTagger {
        export class Options {
            /**
             * Omit tokens of type 
             *  (items considered to be words).
             */
            static omitWords: NSLinguisticTagger.Options;
            /**
             * Omit tokens of type 
             *  (all punctuation).
             */
            static omitPunctuation: NSLinguisticTagger.Options;
            /**
             * Omit tokens of type 
             *  (whitespace of all sorts).
             */
            static omitWhitespace: NSLinguisticTagger.Options;
            /**
             * Omit tokens of type 
             *  (non-linguistic items, such as symbols).
             */
            static omitOther: NSLinguisticTagger.Options;
            /**
             * Typically, multiple-word names will be returned as multiple tokens, following the standard tokenization practice of the tagger.  If this option is set, then multiple-word names will be joined together and returned as a single token.
             */
            static joinNames: NSLinguisticTagger.Options;
            constructor (rawValue: number);
        }
    }
    export class NSLinguisticTagScheme {
        /**
         * Classifies tokens according to their broad type:  word, punctuation, or whitespace.
         */
        static tokenType: NSLinguisticTagScheme;
        /**
         * Classifies tokens according to class:  part of speech, type of punctuation, or whitespace.
         */
        static lexicalClass: NSLinguisticTagScheme;
        /**
         * Classifies tokens according to whether they are part of a named entity.
         */
        static nameType: NSLinguisticTagScheme;
        /**
         * Classifies tokens corresponding to names according to 
         * , and classifies all other tokens according to 
         * .
         */
        static nameTypeOrLexicalClass: NSLinguisticTagScheme;
        /**
         * Supplies a stem form of a word token, if known.
         */
        static lemma: NSLinguisticTagScheme;
        /**
         * Supplies the language for a token, if one can be determined.
         */
        static language: NSLinguisticTagScheme;
        /**
         * Supplies the script for a token, if one can be determined.
         */
        static script: NSLinguisticTagScheme;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export enum NSLinguisticTaggerUnit {
        document = 3,
        paragraph = 2,
        sentence = 1,
        word = 0,
    }
    export class NSLinguisticTag {
        /**
         * The token indicates a word.
         */
        static word: NSLinguisticTag;
        /**
         * The token indicates punctuation.
         */
        static punctuation: NSLinguisticTag;
        /**
         * The token indicates white space of any sort.
         */
        static whitespace: NSLinguisticTag;
        /**
         * The token indicates a non-linguistic item, such as a symbol.
         */
        static other: NSLinguisticTag;
        /**
         * The token is a noun.
         */
        static noun: NSLinguisticTag;
        /**
         * This token is a verb.
         */
        static verb: NSLinguisticTag;
        /**
         * This token is an adjective
         */
        static adjective: NSLinguisticTag;
        /**
         * This token is an adverb.
         */
        static adverb: NSLinguisticTag;
        /**
         * This token is a pronoun.
         */
        static pronoun: NSLinguisticTag;
        /**
         * This token is a determiner.
         */
        static determiner: NSLinguisticTag;
        /**
         * This token is a particle.
         */
        static particle: NSLinguisticTag;
        /**
         * This token is a preposition.
         */
        static preposition: NSLinguisticTag;
        /**
         * This token is a number.
         */
        static number: NSLinguisticTag;
        /**
         * This token is a conjunction.
         */
        static conjunction: NSLinguisticTag;
        /**
         * This token is an interjection.
         */
        static interjection: NSLinguisticTag;
        /**
         * This token is a classifier.
         */
        static classifier: NSLinguisticTag;
        /**
         * This token is an idiom.
         */
        static idiom: NSLinguisticTag;
        /**
         * This token is a word other than a kind described by other lexical classes (noun, verb, adjective, adverb, pronoun, determiner, particle, preposition, number, conjunction, interjection, classifier, and idiom).
         */
        static otherWord: NSLinguisticTag;
        /**
         * This token is a sentence terminator.
         */
        static sentenceTerminator: NSLinguisticTag;
        /**
         * This token is an open quote.
         */
        static openQuote: NSLinguisticTag;
        /**
         * This token is a close quote.
         */
        static closeQuote: NSLinguisticTag;
        /**
         * This token is an open parenthesis.
         */
        static openParenthesis: NSLinguisticTag;
        /**
         * This token is a close parenthesis.
         */
        static closeParenthesis: NSLinguisticTag;
        /**
         * This token is a word joiner.
         */
        static wordJoiner: NSLinguisticTag;
        /**
         * This token is a dash.
         */
        static dash: NSLinguisticTag;
        /**
         * This token is punctuation other than a kind described by other lexical classes (sentence terminator, open or close quote, open or close parenthesis, word joiner, and dash).
         */
        static otherPunctuation: NSLinguisticTag;
        /**
         * This token is a paragraph break.
         */
        static paragraphBreak: NSLinguisticTag;
        /**
         * This token is whitespace other than a kind described by other lexical classes (paragraph break).
         */
        static otherWhitespace: NSLinguisticTag;
        /**
         * This token is a personal name.
         */
        static personalName: NSLinguisticTag;
        /**
         * This token is an organization name.
         */
        static organizationName: NSLinguisticTag;
        /**
         * This token is a place name.
         */
        static placeName: NSLinguisticTag;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export class Data {
        static transferRepresentation: TransferRepresentation;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<Data>;
        /**
         * The beginning index into the data.
         */
        startIndex: Data.Index;
        /**
         * The end index into the data.
         */
        endIndex: Data.Index;
        /**
         * A textual description of the data.
         */
        description: string;
        /**
         * A textual description the data suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the data.
         */
        customMirror: Mirror;
        /**
         * The hash value for the data.
         */
        hashValue: number;
        count: number;
        indices: Range<Int>;
        /**
         * The last element of the collection.
         */
        last: UInt8 | null;
        publisher: any;
        regions: CollectionOfOne<Data>;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Creates an empty data buffer.
         */
        constructor ();
        /**
         * Creates an empty data buffer of a specified size.
         */
        constructor (capacity: number);
        /**
         * Creates a new data buffer with the specified count of zeroed bytes.
         */
        constructor (count: number);
        /**
         * Creates data with copied memory content.
         */
        constructor (bytes: UnsafeRawPointer, count: number);
        /**
         * Creates a data buffer with memory content without copying the bytes.
         */
        constructor (bytes: UnsafeMutableRawPointer, count: number, deallocator: Data.Deallocator);
        constructor (base64Data: Data, options: Data.Base64DecodingOptions);
        constructor (url: URL, options: Data.ReadingOptions);
        constructor (decoder: Decoder);
        constructor (reference: NSData);
        constructor (repeatedValue: UInt8, count: number);
        /**
         * Sets a region of the data buffer to 
         * .
         */
        resetBytes(range: Range<Data.Index>):void;
        /**
         * Writes the contents of the data buffer to a location.
         */
        write(url: URL, options: Data.WritingOptions):void;
        /**
         * Returns Base-64 encoded data.
         */
        base64EncodedData(options: Data.Base64EncodingOptions):Data;
        /**
         * Returns a Base-64 encoded string.
         */
        base64EncodedString(options: Data.Base64EncodingOptions):string;
        /**
         * Copies the contents of the data to memory.
         */
        copyBytes(pointer: UnsafeMutablePointer<UInt8>, count: number):void;
        /**
         * Appends the specified data to the end of this data.
         */
        append(other: Data):void;
        /**
         * Prepares the collection to store the specified number of elements, when doing so is appropriate for the underlying type.
         */
        reserveCapacity(minimumCapacity: number):void;
        /**
         * Removes and returns the element at the specified position.
         */
        remove(position: number):UInt8;
        /**
         * Removes all elements from the collection.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange(bounds: Range<Int>):void;
        /**
         * Replaces a region of bytes in the data with new data.
         */
        replaceSubrange(subrange: Range<Data.Index>, data: Data):void;
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):UInt8 | null;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UInt8 | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UInt8 | null;
        /**
         * Finds the range of the specified data as a subsequence of this data, if it exists.
         */
        range(dataToFind: Data, options: Data.SearchOptions, range: Range<Data.Index> | null):Range<Data.Index> | null;
        /**
         * Returns a new collection of the same type containing, in order, the elements of the original collection that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Data;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Data;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Data;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Data;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Data;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Data;
        /**
         * Returns a new data buffer created by removing the given number of bytes from the front of the original buffer.
         */
        advanced(amount: number):Data;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<Data>;
        /**
         * Returns an iterator over the contents of the data.
         */
        makeIterator():Data.Iterator;
        /**
         * Enumerates the contents of the data's buffer.
         */
        enumerateBytes(block: ()=>any):void;
        /**
         * Sorts the collection in place, using the given predicate as the comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UInt8[];
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<Data>;
        /**
         * Returns a new copy of the data in a specified range.
         */
        subdata(range: Range<Data.Index>):Data;
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Data[];
        /**
         * Returns the index that immediately follows the specified index.
         */
        index(i: Data.Index):Data.Index;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<UInt8>):Data | null;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UInt8):boolean;
        encode(encoder: Encoder):void;
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: UInt8):number;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        hash(hasher: Hasher):void;
        /**
         * Inserts a new element into the collection at the specified position.
         */
        insert(newElement: UInt8, i: number):void;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: UInt8):number;
        /**
         * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
         */
        partition(belongsInSecondPartition: Bool):number;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():UInt8 | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():UInt8 | null;
        /**
         * Returns a random element of the collection.
         */
        randomElement():UInt8 | null;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():UInt8;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():UInt8;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UInt8[];
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: number, j: number):void;
        trimPrefix(predicate: Bool):void;
        trimmingPrefix(predicate: Bool):Data;
    }
    /**
     * the same name namespace of class Data
     */
    export namespace Data {
        export enum Deallocator {
            custom,
            free,
            none,
            unmap,
            virtualMemory,
        }
        export class Iterator {
            next():UInt8 | null;
        }
    }
    export class NSArray extends NSObject {
        /**
         * The number of objects in the array.
         */
        count: number;
        /**
         * The first object in the array.
         */
        firstObject: any;
        /**
         * The last object in the array.
         */
        lastObject: any;
        /**
         * Analyzes the array and returns a “hint” that speeds the sorting of the array when the hint is supplied to 
         * .
         */
        sortedArrayHint: Data;
        /**
         * A string that represents the contents of the array, formatted as a property list.
         */
        description: string;
        customMirror: Mirror;
        underestimatedCount: number;
        /**
         * Creates and returns an array containing a given object.
         */
        constructor (anObject: any);
        /**
         * Creates and returns an array that includes a given number of objects from a given C array.
         */
        constructor (objects: UnsafePointer<AnyObject>, cnt: number);
        /**
         * Initializes a newly allocated array.
         */
        constructor ();
        /**
         * Initializes a newly allocated array by placing in it the objects contained in a given array.
         */
        constructor (array: any[]);
        /**
         * Initializes a newly allocated array using 
         *  as the source of data objects for the array.  
         */
        constructor (array: any[], flag: boolean);
        /**
         * Initializes a newly allocated array with the contents of the file specified by a given path.
         */
        constructor (path: string);
        /**
         * Initializes a newly allocated array with the contents of the location specified by a given URL.
         */
        constructor (url: URL);
        constructor (coder: NSCoder);
        /**
         * Create an instance initialized with 
         * .
         */
        constructor (...elements: any);
        constructor (url: URL, error: any);
        constructor (...elements: any);
        /**
         * Returns a Boolean value that indicates whether a given object is present in the array.
         */
        contains(anObject: any):boolean;
        /**
         * Returns the object located at the specified index.
         */
        object(index: number):any;
        /**
         * Returns an array containing the objects in the array at the indexes specified by a given index set.
         */
        objects(indexes: IndexSet):any[];
        /**
         * Returns an enumerator object that lets you access each object in the array.
         */
        objectEnumerator():NSEnumerator;
        /**
         * Returns an enumerator object that lets you access each object in the array, in reverse order.
         */
        reverseObjectEnumerator():NSEnumerator;
        /**
         * Returns the lowest index whose corresponding array value is equal to a given object.
         */
        index(anObject: any):number;
        /**
         * Returns the lowest index whose corresponding array value is identical to a given object.
         */
        indexOfObjectIdentical(anObject: any):number;
        /**
         * Returns the index of the first object in the array that passes a test in a given block.
         */
        indexOfObject(predicate: ()=>any):number;
        /**
         * Returns the indexes of objects in the array that pass a test in a given block.
         */
        indexesOfObjects(predicate: ()=>any):IndexSet;
        /**
         * Executes a given closure using each object in the array, starting with the first object and continuing through the array to the last object.
         */
        enumerateObjects(block: ()=>any):void;
        /**
         * Returns the first object contained in the receiving array that’s equal to an object in another given array.
         */
        firstObjectCommon(otherArray: any[]):any;
        /**
         * Compares the receiving array to another array.
         */
        isEqual(otherArray: any[]):boolean;
        /**
         * Returns a new array that is a copy of the receiving array with a given object added to the end.
         */
        adding(anObject: any):any[];
        /**
         * Returns a new array that is a copy of the receiving array with the objects contained in another array added to the end.
         */
        addingObjects(otherArray: any[]):any[];
        /**
         * Evaluates a given predicate against each object in the receiving array and returns a new array containing the objects for which the predicate returns true.
         */
        filtered(predicate: NSPredicate):any[];
        /**
         * Returns a new array containing the receiving array’s elements that fall within the limits specified by a given range.
         */
        subarray(range: NSRange):any[];
        /**
         * Returns a new array that lists the receiving array’s elements in ascending order as defined by the comparison function 
         * .
         */
        sortedArray(comparator: ()=>any, context: UnsafeMutableRawPointer | null):any[];
        /**
         * Constructs and returns an 
         *  object that is the result of interposing a given separator between the elements of the array.
         */
        componentsJoined(separator: string):string;
        /**
         * Writes the contents of the array to a file at a given path.
         */
        write(path: string, useAuxiliaryFile: boolean):boolean;
        /**
         * Returns an array containing all the pathname elements in the receiving array that have filename extensions from a given array.
         */
        pathsMatchingExtensions(filterTypes: string[]):string[];
        /**
         * Raises an exception.
         */
        addObserver(observer: NSObject, keyPath: string, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer | null):void;
        /**
         * Raises an exception.
         */
        removeObserver(observer: NSObject, keyPath: string):void;
        /**
         * Invokes 
         *  on each of the array's items using the specified 
         *  and 
         * .
         */
        setValue(value: any, key: string):void;
        /**
         * Returns an array containing the results of invoking 
         *  using 
         *  on each of the array's objects.
         */
        value(key: string):any;
        /**
         * Returns a new array that lists this array’s elements in a random order.
         */
        shuffled():any[];
        /**
         * Return an 
         *  over the elements of this 
         * .
         */
        makeIterator():NSFastEnumerationIterator;
    }
    export class NSOrderedCollectionDifference extends NSObject {
        /**
         * A Boolean value that indicates if the difference has changes.
         */
        hasChanges: boolean;
        /**
         * A collection of insertion change objects.
         */
        insertions: NSOrderedCollectionChange[];
        /**
         * A collection of removal change objects.
         */
        removals: NSOrderedCollectionChange[];
        /**
         * Creates an ordered collection difference using an array of ordered collection changes.
         */
        constructor (changes: NSOrderedCollectionChange[]);
        /**
         * Creates an ordered collection difference from arrays of inserted and removed objects with corresponding sets of indices.
         */
        constructor (inserts: IndexSet, insertedObjects: any[] | null, removes: IndexSet, removedObjects: any[] | null);
        /**
         * Creates an ordered collection difference from arrays of inserted and removed objects with corresponding sets of indices, in addition to an array of ordered collection changes.
         */
        constructor (inserts: IndexSet, insertedObjects: any[] | null, removes: IndexSet, removedObjects: any[] | null, changes: NSOrderedCollectionChange[]);
        /**
         * Calculate the difference between two objects in the reverse direction of comparison.
         */
        inverse():Self;
        /**
         * Create a new ordered collection difference by mapping over this difference’s members, processing the change objects with the block provided.
         */
        transformingChanges(block: ()=>any):CollectionDifference<Any>;
    }
    export class NSOrderedCollectionChange extends NSObject {
        /**
         * The type of change.
         */
        changeType: NSCollectionChangeType;
        /**
         * The index location of the change.
         */
        index: number;
        /**
         * An object the change inserts or removes.
         */
        object: any;
        /**
         * When this property is set to a value other than 
         * , the receiver is one half of a move, and this value is the index of the change’s counterpart of the opposite type in the diff.
         */
        associatedIndex: number;
        /**
         * Creates a change object that represents inserting or removing an object from an ordered collection at a specific index.
         */
        constructor (anObject: any, type: NSCollectionChangeType, index: number);
        /**
         * Creates a change object that represents inserting, removing, or moving an object from an ordered collection at a specific index.
         */
        constructor (anObject: any, type: NSCollectionChangeType, index: number, associatedIndex: number);
    }
    export enum NSCollectionChangeType {
        insert = 0,
        remove = 1,
    }
    export class NSOrderedCollectionDifferenceCalculationOptions {
        /**
         * An option that identifies insertions or removals as moves.
         */
        static inferMoves: NSOrderedCollectionDifferenceCalculationOptions;
        /**
         * An option that indicates that the difference should omit references to the insertions.
         */
        static omitInsertedObjects: NSOrderedCollectionDifferenceCalculationOptions;
        /**
         * An option that indicates that the difference should omit references to the removals.
         */
        static omitRemovedObjects: NSOrderedCollectionDifferenceCalculationOptions;
        /**
         * Creates a set of difference calculation options.
         */
        constructor (rawValue: number);
    }
    export class NSBinarySearchingOptions {
        /**
         * Specifies that the search should return the first object in the range that is equal to the given object.
         */
        static firstEqual: NSBinarySearchingOptions;
        /**
         * Specifies that the search should return the last object in the range that is equal to the given object.
         */
        static lastEqual: NSBinarySearchingOptions;
        /**
         * Returns the index at which you should insert the object in order to maintain a sorted array.
         */
        static insertionIndex: NSBinarySearchingOptions;
        constructor (rawValue: number);
    }
    export class NSMutableArray extends NSArray {
        /**
         * Initializes a newly allocated array.
         */
        constructor ();
        /**
         * Returns an array, initialized with enough memory to initially hold a given number of objects.
         */
        constructor (numItems: number);
        constructor (coder: NSCoder);
        /**
         * Inserts a given object at the end of the array.
         */
        add(anObject: any):void;
        /**
         * Adds the objects contained in another given array to the end of the receiving array’s content.
         */
        addObjects(otherArray: any[]):void;
        /**
         * Inserts a given object into the array’s contents at a given index.
         */
        insert(anObject: any, index: number):void;
        /**
         * Empties the array of all its elements.
         */
        removeAllObjects():void;
        /**
         * Removes the object with the highest-valued index in the array 
         */
        removeLastObject():void;
        /**
         * Removes all occurrences in the array of a given object.
         */
        remove(anObject: any):void;
        /**
         * Removes the object at 
         *  .
         */
        removeObject(index: number):void;
        /**
         * Removes the objects at the specified indexes from the array.
         */
        removeObjects(indexes: IndexSet):void;
        /**
         * Replaces the object at 
         *  with 
         * .
         */
        replaceObject(index: number, anObject: any):void;
        /**
         * Replaces the objects in the receiving array at locations specified with the objects from a given array.
         */
        replaceObjects(indexes: IndexSet, objects: any[]):void;
        /**
         * Sets the receiving array’s elements to those in another given array.
         */
        setArray(otherArray: any[]):void;
        /**
         * Evaluates a given predicate against the array’s content and leaves only objects that match.
         */
        filter(predicate: NSPredicate):void;
        /**
         * Exchanges the objects in the array at given indexes.
         */
        exchangeObject(idx1: number, idx2: number):void;
        /**
         * Sorts the receiver using a given array of sort descriptors.
         */
        sort(sortDescriptors: NSSortDescriptor[]):void;
    }
    export class NSDictionary extends NSObject {
        /**
         * The number of entries in the dictionary.
         */
        count: number;
        /**
         * A new array containing the dictionary’s keys, or an empty array if the dictionary has no entries.
         */
        allKeys: any[];
        /**
         * A new array containing the dictionary’s values, or an empty array if the dictionary has no entries.
         */
        allValues: any[];
        /**
         * A string that represents the contents of the dictionary, formatted as a property list.
         */
        description: string;
        /**
         * A string that represents the contents of the dictionary, formatted in 
         *  file format.
         */
        descriptionInStringsFileFormat: string;
        /**
         * A mirror that reflects the dictionary.
         */
        customMirror: Mirror;
        underestimatedCount: number;
        /**
         * Initializes a newly allocated dictionary.
         */
        constructor ();
        /**
         * Initializes a newly allocated dictionary with key-value pairs constructed from the provided arrays of keys and objects.
         */
        constructor (objects: any[], keys: NSCopying[]);
        /**
         * Initializes a newly allocated dictionary with the specified number of key-value pairs constructed from the provided C arrays of keys and objects.
         */
        constructor (objects: UnsafePointer<AnyObject> | null, keys: UnsafePointer<NSCopying> | null, cnt: number);
        /**
         * Creates a dictionary containing a given key and value.
         */
        constructor (object: any, key: NSCopying);
        /**
         * Initializes a newly allocated dictionary by placing in it the keys and values contained in another given dictionary.
         */
        constructor (otherDictionary: Record<AnyHashable, any>);
        /**
         * Initializes a newly allocated dictionary using the objects contained in another given dictionary.
         */
        constructor (otherDictionary: Record<AnyHashable, any>, flag: boolean);
        /**
         * Initializes a newly allocated dictionary from the given key-value pairs.
         */
        constructor (...elements: any);
        /**
         * Initializes a newly allocated dictionary using the keys and values found at a given URL.
         */
        constructor (url: URL, error: any);
        /**
         * Initializes a newly allocated dictionary using the keys and values found at a given URL.
         */
        constructor (url: URL);
        /**
         * Initializes a newly allocated dictionary using the keys and values found in a file at a given path.
         */
        constructor (path: string);
        /**
         * Creates a dictionary initialized from data in the provided unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a shared key set object for the specified keys.
         */
        static sharedKeySet(keys: NSCopying[]):any;
        /**
         * Returns a Boolean value that indicates whether the contents of the receiving dictionary are equal to the contents of another given dictionary.
         */
        isEqual(otherDictionary: Record<AnyHashable, any>):boolean;
        /**
         * Returns the value associated with a given key.
         */
        value(key: string):any;
        /**
         * Returns as a static array the set of objects from the dictionary that corresponds to the specified keys.
         */
        objects(keys: any[], marker: any):any[];
        /**
         * Returns the value associated with a given key.
         */
        object(aKey: any):any;
        /**
         * Provides an enumerator to access the keys in the dictionary.
         */
        keyEnumerator():NSEnumerator;
        /**
         * Returns an enumerator object that lets you access each value in the dictionary.
         */
        objectEnumerator():NSEnumerator;
        /**
         * Applies a given block object to the entries of the dictionary.
         */
        enumerateKeysAndObjects(block: ()=>any):void;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():NSDictionary.Iterator;
        /**
         * Returns an array of the dictionary’s keys, in the order they would be in if the dictionary were sorted by its values.
         */
        keysSortedByValue(comparator: Selector):any[];
        /**
         * Returns the set of keys whose corresponding value satisfies a constraint described by a block object.
         */
        keysOfEntries(predicate: ()=>any):Set<AnyHashable>;
        /**
         * Writes a property list representation of the contents of the dictionary to a given URL.
         */
        write(url: URL):void;
        /**
         * Returns the file’s size, in bytes.
         */
        fileSize():UInt64;
        /**
         * Returns the file type.
         */
        fileType():string;
        /**
         * Returns the file’s creation date.
         */
        fileCreationDate():Date | null;
        /**
         * Returns file’s modification date.
         */
        fileModificationDate():Date | null;
        /**
         * Returns the file’s POSIX permissions.
         */
        filePosixPermissions():number;
        /**
         * Returns the file’s owner account ID.
         */
        fileOwnerAccountID():NSNumber | null;
        /**
         * Returns the file’s owner account name.
         */
        fileOwnerAccountName():string;
        /**
         * Returns file’s group owner account ID.
         */
        fileGroupOwnerAccountID():NSNumber | null;
        /**
         * Returns the file’s group owner account name.
         */
        fileGroupOwnerAccountName():string;
        /**
         * Returns a Boolean value indicating whether the file hides its extension.
         */
        fileExtensionHidden():boolean;
        /**
         * Returns a Boolean value indicating whether the file is immutable.
         */
        fileIsImmutable():boolean;
        /**
         * Returns a Boolean value indicating whether the file is append only.
         */
        fileIsAppendOnly():boolean;
        /**
         * Returns the filesystem file number.
         */
        fileSystemFileNumber():number;
        /**
         * Returns the filesystem number.
         */
        fileSystemNumber():number;
        /**
         * Returns file’s HFS type code.
         */
        fileHFSTypeCode():OSType;
        /**
         * Returns the file’s HFS creator code.
         */
        fileHFSCreatorCode():OSType;
    }
    /**
     * the same name namespace of class NSDictionary
     */
    export namespace NSDictionary {
        export class Iterator {
            /**
             * Returns the next key-value pair of a dictionary object as a tuple.
             */
            next():any;
        }
    }
    export class NSMutableDictionary extends NSDictionary {
        /**
         * Initializes a newly allocated mutable dictionary, allocating enough memory to hold 
         *  entries.
         */
        constructor (numItems: number);
        /**
         * Initializes a newly allocated mutable dictionary.
         */
        constructor ();
        /**
         * Creates a mutable dictionary which is optimized for dealing with a known set of keys.
         */
        constructor (keyset: any);
        constructor (coder: NSCoder);
        constructor (inHeadersData: Data!);
        constructor (inHeadersData: UnsafeRawPointer!, inDataSize: number);
        /**
         * Adds a given key-value pair to the dictionary.
         */
        setObject(anObject: any, aKey: NSCopying):void;
        /**
         * Adds a given key-value pair to the dictionary.
         */
        setValue(value: any, key: string):void;
        /**
         * Adds to the receiving dictionary the entries from another dictionary.
         */
        addEntries(otherDictionary: Record<AnyHashable, any>):void;
        /**
         * Sets the contents of the receiving dictionary to entries in a given dictionary.
         */
        setDictionary(otherDictionary: Record<AnyHashable, any>):void;
        /**
         * Removes a given key and its associated value from the dictionary.
         */
        removeObject(aKey: any):void;
        /**
         * Empties the dictionary of its entries.
         */
        removeAllObjects():void;
        /**
         * Removes from the dictionary entries specified by elements in a given array.
         */
        removeObjects(keyArray: any[]):void;
        addApplicationParameterHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addAuthorizationChallengeHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addAuthorizationResponseHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addBodyHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32, isEndOfBody: boolean):OBEXError;
        addByteSequenceHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addConnectionIDHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addCountHeader(inCount: UInt32):OBEXError;
        addDescriptionHeader(inDescriptionString: String!):OBEXError;
        addHTTPHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addImageDescriptorHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addImageHandleHeader(type: String!):OBEXError;
        addLengthHeader(length: UInt32):OBEXError;
        addNameHeader(inNameString: String!):OBEXError;
        addObjectClassHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addTargetHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addTime4ByteHeader(time4Byte: UInt32):OBEXError;
        addTimeISOHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addTypeHeader(type: String!):OBEXError;
        addUserDefinedHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        addWhoHeader(inHeaderData: UnsafeRawPointer!, inHeaderDataLength: UInt32):OBEXError;
        getHeaderBytes():NSMutableData!;
    }
    export class NSData extends NSObject {
        /**
         * A pointer to the data object's contents.
         */
        bytes: UnsafeRawPointer;
        /**
         * The number of bytes contained by the data object.
         */
        length: number;
        /**
         * A string that contains a hexadecimal representation of the data object’s contents in a property list format.
         */
        description: string;
        endIndex: number;
        regions: Data[];
        startIndex: number;
        /**
         * Initializes a data object filled with a given number of bytes copied from a given buffer.
         */
        constructor (bytes: UnsafeRawPointer | null, length: number);
        /**
         * Initializes a data object filled with a given number of bytes of data from a given buffer.
         */
        constructor (bytes: UnsafeMutableRawPointer, length: number);
        /**
         * Initializes a data object filled with a given number of bytes of data from a given buffer, with a custom deallocator block.
         */
        constructor (bytes: UnsafeMutableRawPointer, length: number, deallocator: ()=>any | null);
        /**
         * Initializes a newly allocated data object by adding the given number of bytes from the given buffer.
         */
        constructor (bytes: UnsafeMutableRawPointer, length: number, b: boolean);
        /**
         * Initializes a data object with the contents of another data object.
         */
        constructor (data: Data);
        /**
         * Initializes a data object with the content of the file at a given path.
         */
        constructor (path: string);
        /**
         * Initializes a data object with the content of the file at a given path.
         */
        constructor (path: string, readOptionsMask: NSData.ReadingOptions);
        /**
         * Initializes a data object with the data from the location specified by a given URL.
         */
        constructor (url: URL);
        /**
         * Initializes a data object with the data from the location specified by a given URL.
         */
        constructor (url: URL, readOptionsMask: NSData.ReadingOptions);
        /**
         * Initializes a data object with the contents of the mapped file specified by a given path.
         */
        constructor (path: string);
        /**
         * Initializes a data object with the given Base64 encoded data.
         */
        constructor (base64Data: Data, options: NSData.Base64DecodingOptions);
        /**
         * Initializes a data object initialized with the given Base64 encoded string.
         */
        constructor (base64String: string);
        /**
         * Creates a data object from the mapped file at a given path.
         */
        static dataWithContentsOfMappedFile(path: string):any;
        /**
         * Writes the data object's bytes to the file specified by a given path.
         */
        write(path: string, useAuxiliaryFile: boolean):boolean;
        /**
         * Creates a Base64, UTF-8 encoded data object from the string using the given options.
         */
        base64EncodedData(options: NSData.Base64EncodingOptions):Data;
        /**
         * Creates a Base64 encoded string from the string using the given options.
         */
        base64EncodedString(options: NSData.Base64EncodingOptions):string;
        /**
         * Initializes a Base64 encoded string from the string.
         */
        base64Encoding():string;
        /**
         * Enumerates each range of bytes in the data object using a block.
         */
        enumerateBytes(block: ()=>any):void;
        /**
         * Copies a data object’s contents into a given buffer.
         */
        getBytes(buffer: UnsafeMutableRawPointer):void;
        /**
         * Returns a new data object containing the data object's bytes that fall within the limits specified by a given range.
         */
        subdata(range: NSRange):Data;
        /**
         * Finds and returns the range of the first occurrence of the given data, within the given range, subject to given options.
         */
        range(dataToFind: Data, mask: NSData.SearchOptions, searchRange: NSRange):NSRange;
        /**
         * Returns a Boolean value indicating whether this data object is the same as another.
         */
        isEqual(other: Data):boolean;
        /**
         * Returns a new data object by compressing the data object’s bytes.
         */
        compressed(algorithm: NSData.CompressionAlgorithm):Self;
        /**
         * Returns a new data object by decompressing data object’s bytes.
         */
        decompressed(algorithm: NSData.CompressionAlgorithm):Self;
    }
    /**
     * the same name namespace of class NSData
     */
    export namespace NSData {
        export class ReadingOptions {
            /**
             * A hint indicating the file should be mapped into virtual memory, if possible and safe.
             */
            static mappedIfSafe: NSData.ReadingOptions;
            /**
             * A hint indicating the file should not be stored in the file-system caches.
             */
            static uncached: NSData.ReadingOptions;
            /**
             * Hint to map the file in if possible.
             */
            static alwaysMapped: NSData.ReadingOptions;
            /**
             * Deprecated name for 
             * .
             */
            static dataReadingMapped: NSData.ReadingOptions;
            /**
             * Deprecated name for 
             * .
             */
            static mappedRead: NSData.ReadingOptions;
            /**
             * Deprecated name for 
             * .
             */
            static uncachedRead: NSData.ReadingOptions;
            constructor (rawValue: number);
        }
        export class WritingOptions {
            /**
             * An option to write data to an auxiliary file first and then replace the original file with the auxiliary file when the write completes.
             */
            static atomic: NSData.WritingOptions;
            /**
             * An option that attempts to write data to a file and fails with an error if the destination file already exists.
             */
            static withoutOverwriting: NSData.WritingOptions;
            /**
             * An option to not encrypt the file when writing it out.
             */
            static noFileProtection: NSData.WritingOptions;
            /**
             * An option to make the file accessible only while the device is unlocked. 
             */
            static completeFileProtection: NSData.WritingOptions;
            /**
             * An option to allow the file to be accessible while the device is unlocked or the file is already open.
             */
            static completeFileProtectionUnlessOpen: NSData.WritingOptions;
            /**
             * An option to allow the file to be accessible after a user first unlocks the device.
             */
            static completeFileProtectionUntilFirstUserAuthentication: NSData.WritingOptions;
            /**
             * An option the system uses when determining the file protection options that the system assigns to the data.
             */
            static fileProtectionMask: NSData.WritingOptions;
            /**
             * An option that attempts to write data to an auxiliary file first and then exchange the files.
             */
            static atomicWrite: NSData.WritingOptions;
            constructor (rawValue: number);
        }
        export class Base64EncodingOptions {
            /**
             * Set the maximum line length to 64 characters, after which a line ending is inserted.
             */
            static lineLength64Characters: NSData.Base64EncodingOptions;
            /**
             * Set the maximum line length to 76 characters, after which a line ending is inserted.
             */
            static lineLength76Characters: NSData.Base64EncodingOptions;
            /**
             * When a maximum line length is set, specify that the line ending to insert should include a carriage return.
             */
            static endLineWithCarriageReturn: NSData.Base64EncodingOptions;
            /**
             * When a maximum line length is set, specify that the line ending to insert should include a line feed.
             */
            static endLineWithLineFeed: NSData.Base64EncodingOptions;
            constructor (rawValue: number);
        }
        export class Base64DecodingOptions {
            /**
             * Modify the decoding algorithm so that it ignores unknown non-Base-64 bytes, including line ending characters.
             */
            static ignoreUnknownCharacters: NSData.Base64DecodingOptions;
            constructor (rawValue: number);
        }
        export class SearchOptions {
            /**
             * Search from the end of the data object.
             */
            static backwards: NSData.SearchOptions;
            /**
             * Search is limited to start (or end, if searching backwards) of the data object.
             */
            static anchored: NSData.SearchOptions;
            constructor (rawValue: number);
        }
        export enum CompressionAlgorithm {
            lz4 = 1,
            lzfse = 0,
            lzma = 2,
            zlib = 3,
        }
    }
    export class NSSet extends NSObject {
        /**
         * The number of members in the set.
         */
        count: number;
        /**
         * An array containing the set’s members, or an empty array if the set has no members.
         */
        allObjects: any[];
        /**
         * A string that represents the contents of the set, formatted as a property list.
         */
        description: string;
        customMirror: Mirror;
        underestimatedCount: number;
        /**
         * Creates and returns a set that contains a single given object.
         */
        constructor (object: any);
        /**
         * Creates and returns a set containing a specified number of objects from a given C array of objects.
         */
        constructor (objects: UnsafePointer<AnyObject>, cnt: number);
        /**
         * Initializes a newly allocated set with the objects that are contained in a given array.
         */
        constructor (array: any[]);
        /**
         * Initializes a newly allocated set and adds to it objects from another given set.
         */
        constructor (set: Set<AnyHashable>);
        /**
         * Initializes a newly allocated set and adds to it members of another given set.
         */
        constructor (set: Set<AnyHashable>, flag: boolean);
        /**
         * Initializes a newly allocated set.
         */
        constructor ();
        constructor (...elements: any);
        constructor (coder: NSCoder);
        constructor (indexPath: IndexPath);
        constructor (indexPaths: IndexPath[]);
        constructor (...elements: any);
        /**
         * Returns a new set formed by adding a given object to the receiving set.
         */
        adding(anObject: any):Set<AnyHashable>;
        /**
         * Returns a new set formed by adding the objects in a given set to the receiving set.
         */
        addingObjects(other: Set<AnyHashable>):Set<AnyHashable>;
        /**
         * Returns one of the objects in the set, or 
         *  if the set contains no objects.
         */
        anyObject():any;
        /**
         * Returns a Boolean value that indicates whether a given object is present in the set.
         */
        contains(anObject: any):boolean;
        /**
         * Evaluates a given predicate against each object in the receiving set and returns a new set containing the objects for which the predicate returns true.
         */
        filtered(predicate: NSPredicate):Set<AnyHashable>;
        /**
         * Determines whether a given object is present in the set, and returns that object if it is.
         */
        member(object: any):any;
        /**
         * Returns an enumerator object that lets you access each object in the set.
         */
        objectEnumerator():NSEnumerator;
        /**
         * Executes a given block using each object in the set.
         */
        enumerateObjects(block: ()=>any):void;
        /**
         * Returns a set of objects that pass a test in a given block.
         */
        objects(predicate: ()=>any):Set<AnyHashable>;
        /**
         * Returns a Boolean value that indicates whether every object in the receiving set is also present in another given set.
         */
        isSubset(otherSet: Set<AnyHashable>):boolean;
        /**
         * Returns a Boolean value that indicates whether at least one object in the receiving set is also present in another given set.
         */
        intersects(otherSet: Set<AnyHashable>):boolean;
        /**
         * Compares the receiving set to another set.
         */
        isEqual(otherSet: Set<AnyHashable>):boolean;
        /**
         * Return a set containing the results of invoking 
         *  on each of the receiving set's members.
         */
        value(key: string):any;
        /**
         * Invokes 
         *  on each of the set’s members.
         */
        setValue(value: any, key: string):void;
        /**
         * Returns an array of the set’s content sorted as specified by a given array of sort descriptors.
         */
        sortedArray(sortDescriptors: NSSortDescriptor[]):any[];
        /**
         * Raises an exception.
         */
        addObserver(observer: NSObject, keyPath: string, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer | null):void;
        /**
         * Raises an exception.
         */
        removeObserver(observer: NSObject, keyPath: string, context: UnsafeMutableRawPointer | null):void;
        enumerateIndexPaths(opts: NSEnumerationOptions, block: ()=>any):void;
        /**
         * Return an 
         *  over the elements of this 
         * .
         */
        makeIterator():NSFastEnumerationIterator;
    }
    export class NSMutableSet extends NSSet {
        /**
         * Returns an initialized mutable set with a given initial capacity.
         */
        constructor (numItems: number);
        /**
         * Initializes a newly allocated set.
         */
        constructor ();
        constructor (coder: NSCoder);
        /**
         * Adds a given object to the set, if it is not already a member.
         */
        add(object: any):void;
        /**
         * Evaluates a given predicate against the set’s content and removes from the set those objects for which the predicate returns false.
         */
        filter(predicate: NSPredicate):void;
        /**
         * Removes a given object from the set.
         */
        remove(object: any):void;
        /**
         * Empties the set of all of its members.
         */
        removeAllObjects():void;
        /**
         * Adds to the set each object contained in a given array that is not already a member.
         */
        addObjects(array: any[]):void;
        /**
         * Adds each object in another given set to the receiving set, if not present.
         */
        union(otherSet: Set<AnyHashable>):void;
        /**
         * Removes each object in another given set from the receiving set, if present.
         */
        minus(otherSet: Set<AnyHashable>):void;
        /**
         * Removes from the receiving set each object that isn’t a member of another given set.
         */
        intersect(otherSet: Set<AnyHashable>):void;
        /**
         * Empties the receiving set, then adds each object contained in another given set.
         */
        setSet(otherSet: Set<AnyHashable>):void;
    }
    export class IndexPath {
        /**
         * A mirror that reflects the index path.
         */
        customMirror: Mirror;
        /**
         * A textual description of the index path suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the index path.
         */
        description: string;
        /**
         * One past the index of the last node in the index path.
         */
        endIndex: IndexPath.Index;
        /**
         * The computed hash value for the index path.
         */
        hashValue: number;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The value of the item element of the index path.
         */
        item: number;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<IndexPath>;
        /**
         * The value of the row element of the index path.
         */
        row: number;
        /**
         * The value of the section element of the index path.
         */
        section: number;
        /**
         * The index of the first node in the index path.
         */
        startIndex: IndexPath.Index;
        count: number;
        /**
         * The first element of the collection.
         */
        first: number;
        /**
         * The indices that are valid for subscripting the collection, in ascending order.
         */
        indices: DefaultIndices<IndexPath>;
        /**
         * The last element of the collection.
         */
        last: number;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Creates an empty index path.
         */
        constructor ();
        /**
         * Creates an index path with a single element.
         */
        constructor (index: IndexPath.Element);
        /**
         * Creates an index path from an array literal.
         */
        constructor (...indexes: IndexPath.Element);
        /**
         * Creates an index path from an array of elements.
         */
        constructor (indexes: Array<IndexPath.Element>);
        constructor (decoder: Decoder);
        /**
         * Creates an index path that references an item in a particular section.
         */
        constructor (item: number, section: number);
        /**
         * Creates an index path that references a row in a particular section.
         */
        constructor (row: number, section: number);
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():number;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():number;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():number;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():number;
        /**
         * Returns the maximum element in the sequence.
         */
        max():number;
        /**
         * Returns the minimum element in the sequence.
         */
        min():number;
        /**
         * Appends the nodes of another index path to this one.
         */
        append(other: IndexPath):void;
        /**
         * Returns a new index path containing the elements of this one plus the given element.
         */
        appending(other: IndexPath.Element):IndexPath;
        /**
         * Compares this index path to another in depth-first traversal order.
         */
        compare(other: IndexPath):ComparisonResult;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):IndexPath;
        /**
         * Return a new index path containing all but the last element.
         */
        dropLast():IndexPath;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<IndexPath>;
        /**
         * Returns the index that follows the given index.
         */
        index(i: IndexPath.Index):IndexPath.Index;
        /**
         * Returns an iterator over the nodes of the index path.
         */
        makeIterator():IndexingIterator<IndexPath>;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):IndexPath;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<IndexPath>;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():number[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):IndexPath;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: number):boolean;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):IndexPath;
        encode(encoder: Encoder):void;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):number[];
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: number):any;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: any, distance: number):void;
        hash(hasher: Hasher):void;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: number):any;
        /**
         * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
         */
        partition(belongsInSecondPartition: Bool):any;
        /**
         * Returns a random element of the collection.
         */
        randomElement():number;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():number[];
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):IndexPath[];
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: any, j: any):void;
        trimPrefix(predicate: Bool):void;
        trimmingPrefix(predicate: Bool):IndexPath;
    }
    export class NSIndexPath extends NSObject {
        /**
         * An index number identifying a section in a table view or collection view.
         */
        section: number;
        /**
         * An index number identifying a row in a section of a table view.
         */
        row: number;
        /**
         * An index number identifying an item in a section of a collection view.
         */
        item: number;
        /**
         * The number of nodes in the index path.
         */
        length: number;
        /**
         * Initializes an index path with a single node.
         */
        constructor (index: number);
        /**
         * Initializes an index path with the given nodes and length.
         */
        constructor (indexes: UnsafePointer<Int> | null, length: number);
        /**
         * Initializes an index path with the indexes of a specific row and section in a table view.
         */
        constructor (row: number, section: number);
        /**
         * Initializes an index path with the indexes of a specific item and section in a collection view. 
         */
        constructor (item: number, section: number);
        /**
         * Returns an index path containing the nodes in the receiving index path plus another given index.
         */
        adding(index: number):IndexPath;
        /**
         * Returns an index path with the nodes in the receiving index path, excluding the last one.
         */
        removingLastIndex():IndexPath;
        /**
         * Indicates the depth-first traversal order of the receiving index path and another index path.
         */
        compare(otherObject: IndexPath):ComparisonResult;
        /**
         * Provides the value at a particular node in the index path.
         */
        index(position: number):number;
        /**
         * Copies the indexes stored in the index path from the positions specified by the position range into the specified indexes.
         */
        getIndexes(indexes: UnsafeMutablePointer<Int>, positionRange: NSRange):void;
    }
    export class IndexSet {
        /**
         * The beginning index in the set.
         */
        startIndex: IndexSet.Index;
        /**
         * The ending index in the set.
         */
        endIndex: IndexSet.Index;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<IndexSet>;
        /**
         * A textual description of the index set.
         */
        description: string;
        /**
         * A textual description of the index set suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the index set.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the index set.
         */
        hashValue: number;
        /**
         * The indices that are valid for subscripting the collection, in ascending order.
         */
        indices: DefaultIndices<IndexSet>;
        isEmpty: boolean;
        /**
         * The last integer in 
         * , or nil if 
         *  is empty.
         */
        last: IndexSet.Element | null;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Initializes an empty index set.
         */
        constructor ();
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: number);
        /**
         * Initializes an index set with a single integer.
         */
        constructor (integer: IndexSet.Element);
        /**
         * Initializes an index set with a range of integers.
         */
        constructor (range: Range<IndexSet.Element>);
        constructor (decoder: Decoder);
        /**
         * Returns the count of integers in 
         *  that intersect 
         * .
         */
        count(range: Range<IndexSet.Element>):number;
        /**
         * Intersects the 
         *  with 
         * .
         */
        formIntersection(other: IndexSet):void;
        /**
         * Exclusive or the 
         *  with 
         * .
         */
        formSymmetricDifference(other: IndexSet):void;
        /**
         * Union the 
         *  with 
         * .
         */
        formUnion(other: IndexSet):void;
        /**
         * Intersects the 
         *  with 
         * .
         */
        intersection(other: IndexSet):IndexSet;
        /**
         * Exclusive or the 
         *  with 
         * .
         */
        symmetricDifference(other: IndexSet):IndexSet;
        /**
         * Union the 
         *  with 
         * .
         */
        union(other: IndexSet):IndexSet;
        /**
         * Insert an integer into the 
         * .
         */
        insert(integer: IndexSet.Element):any;
        /**
         * Insert an integer into the 
         * .
         */
        update(integer: IndexSet.Element):IndexSet.Element | null;
        /**
         * Remove an integer from the 
         * .
         */
        remove(integer: IndexSet.Element):IndexSet.Element | null;
        /**
         * Remove all values from the 
         * .
         */
        removeAll():void;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: IndexSet):void;
        /**
         * Returns a new set containing the elements of this set that do not occur in the given set.
         */
        subtracting(other: IndexSet):IndexSet;
        /**
         * Returns 
         *  if 
         *  contains 
         * .
         */
        contains(integer: IndexSet.Element):boolean;
        /**
         * Returns 
         *  if 
         *  intersects any of the integers in 
         * .
         */
        intersects(range: Range<IndexSet.Element>):boolean;
        /**
         * Returns a Boolean value that indicates whether the set has no members in common with the given set.
         */
        isDisjoint(other: IndexSet):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
         */
        isStrictSubset(other: IndexSet):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
         */
        isStrictSuperset(other: IndexSet):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of another set.
         */
        isSubset(other: IndexSet):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of the given set.
         */
        isSuperset(other: IndexSet):boolean;
        /**
         * Returns the index that follows the given index in the set.
         */
        index(i: IndexSet.Index):IndexSet.Index;
        /**
         * Modifies the given index to refer to the item after the one it currently refers to.
         */
        formIndex(i: IndexSet.Index):void;
        /**
         * Return a 
         *  which can be used to subscript the index set.
         */
        indexRange(range: Range<IndexSet.Element>):Range<IndexSet.Index>;
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):number;
        /**
         * Returns the maximum element in the sequence.
         */
        max():number;
        /**
         * Returns the minimum element in the sequence.
         */
        min():number;
        /**
         * Returns an integer contained in 
         *  which is less than or equal to 
         * , or 
         *  if a result could not be found.
         */
        integerLessThanOrEqualTo(integer: IndexSet.Element):IndexSet.Element | null;
        /**
         * Returns an integer contained in 
         *  which is greater than 
         * , or 
         *  if a result could not be found.
         */
        integerGreaterThan(integer: IndexSet.Element):IndexSet.Element | null;
        /**
         * Returns an integer contained in 
         *  which is greater than or equal to 
         * , or 
         *  if a result could not be found.
         */
        integerGreaterThanOrEqualTo(integer: IndexSet.Element):IndexSet.Element | null;
        /**
         * Returns an integer contained in 
         *  which is less than 
         * , or 
         *  if a result could not be found.
         */
        integerLessThan(integer: IndexSet.Element):IndexSet.Element | null;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):number[];
        /**
         * Returns an IndexSet filtered according to the result of 
         * .
         */
        filteredIndexSet(range: Range<IndexSet.Element>, includeInteger: Bool):IndexSet;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<IndexSet>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<IndexSet>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<IndexSet>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<IndexSet>;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<IndexSet>;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<IndexSet>;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():IndexingIterator<IndexSet>;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():number[];
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<IndexSet>;
        /**
         * For a positive delta, shifts the indexes in [index, INT_MAX] to the right, thereby inserting an “empty space” [index, delta], for a negative delta, shifts the indexes in [index, INT_MAX] to the left, thereby deleting the indexes in the range [index - delta, delta].
         */
        shift(integer: IndexSet.Element, delta: number):void;
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<IndexSet>[];
        /**
         * Returns a 
         * -based view of 
         * .
         */
        rangeView(range: Range<IndexSet.Element>):IndexSet.RangeView;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the distance between two indices.
         */
        distance(start: Index, end: Index):number;
        encode(encoder: Encoder):void;
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: number):Index | null;
        hash(hasher: Hasher):void;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: number):Index | null;
        /**
         * Returns a random element of the collection.
         */
        randomElement():number;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():number[];
        trimmingPrefix(predicate: Bool):Slice<IndexSet>;
    }
    /**
     * the same name namespace of class IndexSet
     */
    export namespace IndexSet {
        export class RangeView {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The ending index in the range.
             */
            endIndex: IndexSet.RangeView.Index;
            /**
             * The first element of the collection.
             */
            first: Range<IndexSet.Element> | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: Range<IndexSet.Element> | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<IndexSet.RangeView>;
            /**
             * The beginning index in the range.
             */
            startIndex: IndexSet.RangeView.Index;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<IndexSet.RangeView>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * Returns the index in the range after the specified one.
             */
            index(i: IndexSet.RangeView.Index):IndexSet.RangeView.Index;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<IndexSet.RangeView>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<IndexSet.RangeView>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<IndexSet.RangeView>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<IndexSet.RangeView>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<IndexSet.RangeView>;
            /**
             * Returns an iterator over the indexes of this range view.
             */
            makeIterator():IndexingIterator<IndexSet.RangeView>;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<IndexSet.RangeView>;
            /**
             * Returns the longest possible subsequences of the collection, in order, around elements equal to the given element.
             */
            split(separator: Range<IndexSet.Element>, maxSplits: number, omittingEmptySubsequences: boolean):Slice<IndexSet.RangeView>[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: Range<IndexSet.Element>):boolean;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the distance between two indices.
             */
            distance(start: number, end: number):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<IndexSet.RangeView>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Range<IndexSet.Element>[];
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: Range<IndexSet.Element>):number;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<IndexSet.RangeView>;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: Range<IndexSet.Element>):number;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Range<IndexSet.Element> | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Range<IndexSet.Element> | null;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Range<IndexSet.Element> | null;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Range<IndexSet.Element>[];
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Range<IndexSet.Element>[];
            trimmingPrefix(predicate: Bool):Slice<IndexSet.RangeView>;
        }
        export class Index {
            /**
             * A textual description of the index.
             */
            description: string;
        }
    }
    export class NSIndexSet extends NSObject {
        /**
         * The number of indexes in the index set.
         */
        count: number;
        /**
         * The first index in the index set.
         */
        firstIndex: number;
        /**
         * The last index in the index set.
         */
        lastIndex: number;
        underestimatedCount: number;
        /**
         * Initializes an allocated 
         *  object with an index.
         */
        constructor (value: number);
        /**
         * Initializes an allocated 
         *  object with an index range.
         */
        constructor (range: NSRange);
        /**
         * Initializes an allocated 
         *  object with an index set.
         */
        constructor (indexSet: IndexSet);
        /**
         * Indicates whether the index set contains a specific index.
         */
        contains(value: number):boolean;
        /**
         * Indicates whether the index set contains any of the indexes in a range.
         */
        intersects(range: NSRange):boolean;
        /**
         * Returns the number of indexes in the index set that are members of a given range.
         */
        countOfIndexes(range: NSRange):number;
        /**
         * Returns the index of the first object that passes the predicate Block test.
         */
        index(predicate: ()=>any):number;
        /**
         * Returns an 
         *  containing the receiving index set’s objects that pass the Block test.
         */
        indexes(predicate: ()=>any):IndexSet;
        /**
         * Enumerates over the ranges in the range of objects using the block 
         */
        enumerateRanges(range: NSRange, opts: NSEnumerationOptions, block: ()=>any):void;
        /**
         * Indicates whether the indexes in the receiving index set are the same indexes contained in another index set.
         */
        isEqual(indexSet: IndexSet):boolean;
        /**
         * Returns either the closest index in the index set that is less than a specific index or the not-found indicator.
         */
        indexLessThanIndex(value: number):number;
        /**
         * Returns either the closest index in the index set that is less than or equal to a specific index or the not-found indicator.
         */
        indexLessThanOrEqual(value: number):number;
        /**
         * Returns either the closest index in the index set that is greater than or equal to a specific index or the not-found indicator.
         */
        indexGreaterThanOrEqual(value: number):number;
        /**
         * Returns either the closest index in the index set that is greater than a specific index or the not-found indicator.
         */
        indexGreaterThanIndex(value: number):number;
        /**
         * The index set fills an index buffer with the indexes contained both in the index set and in an index range, returning the number of indexes copied.
         */
        getIndexes(indexBuffer: UnsafeMutablePointer<Int>, bufferSize: number, range: NSRangePointer | null):number;
        /**
         * Executes a given Block using each object in the index set.
         */
        enumerate(block: ()=>any):void;
        /**
         * Returns an 
         *  over the elements of this 
         * .
         */
        makeIterator():NSIndexSetIterator;
    }
    export class NSIndexSetIterator {
        next():number;
    }
    export class NSMutableIndexSet extends NSIndexSet {
        /**
         * Adds an index  to the receiver.
         */
        add(value: number):void;
        /**
         * Removes an index from the receiver.
         */
        remove(value: number):void;
        /**
         * Removes the receiver’s indexes.
         */
        removeAllIndexes():void;
        /**
         * Shifts a group of indexes to the left or the right within the receiver.
         */
        shiftIndexesStarting(index: number, delta: number):void;
    }
    export class NSMutableData extends NSData {
        /**
         * A pointer to the data contained by the mutable data object.
         */
        mutableBytes: UnsafeMutableRawPointer;
        /**
         * The number of bytes contained in the mutable data object.
         */
        length: number;
        /**
         * Returns an initialized mutable data object capable of holding the specified number of bytes.
         */
        constructor (capacity: number);
        /**
         * Initializes and returns a mutable data object containing a given number of zeroed bytes.
         */
        constructor (length: number);
        /**
         * Appends to the receiver a given number of bytes from a given buffer.
         */
        append(bytes: UnsafeRawPointer, length: number):void;
        /**
         * Increases the length of the receiver by a given number of bytes.
         */
        increaseLength(extraLength: number):void;
        /**
         * Replaces with a given set of bytes a given range within the contents of the receiver. 
         */
        replaceBytes(range: NSRange, bytes: UnsafeRawPointer):void;
        /**
         * Replaces with zeroes the contents of the receiver in a given range.
         */
        resetBytes(range: NSRange):void;
        /**
         * Replaces the entire contents of the receiver with the contents of another data object.
         */
        setData(data: Data):void;
        /**
         * Compresses the data object’s bytes using an algorithm that you specify.
         */
        compress(algorithm: NSData.CompressionAlgorithm):void;
        /**
         * Decompresses the data object’s bytes.
         */
        decompress(algorithm: NSData.CompressionAlgorithm):void;
    }
    export class NSCountedSet extends NSMutableSet {
        /**
         * Returns a counted set object initialized with the contents of a given array.
         */
        constructor (array: any[]);
        /**
         * Returns a counted set object initialized with the contents of a given set.
         */
        constructor (set: Set<AnyHashable>);
        /**
         * Returns a counted set object initialized with enough memory to hold a given number of objects.
         */
        constructor (numItems: number);
        /**
         * Adds a given object to the set.
         */
        add(object: any):void;
        /**
         * Removes a given object from the set.
         */
        remove(object: any):void;
        /**
         * Returns the count associated with a given object in the set.
         */
        count(object: any):number;
        /**
         * Returns an enumerator object that lets you access each object in the set once, independent of its count.
         */
        objectEnumerator():NSEnumerator;
    }
    export class NSOrderedSet extends NSObject {
        /**
         * The number of members in the set.
         */
        count: number;
        /**
         * The first object in the ordered set.
         */
        firstObject: any;
        /**
         * The last object in the ordered set.
         */
        lastObject: any;
        /**
         * An ordered set in the reverse order.
         */
        reversed: NSOrderedSet;
        /**
         * A string that represents the contents of the ordered set, formatted as a property list.
         */
        description: string;
        /**
         * A representation of the ordered set as an array.
         */
        array: any[];
        /**
         * A representation of the set containing the contents of the ordered set.
         */
        set: Set<AnyHashable>;
        underestimatedCount: number;
        /**
         * Initializes a newly allocated set with the objects that are contained in a given array.
         */
        constructor (array: any[]);
        /**
         * Initializes a newly allocated set with the objects that are contained in a given array, optionally copying the items.
         */
        constructor (set: any[], flag: boolean);
        /**
         * Initializes a newly allocated set with the objects that are contained in the specified range of an array, optionally copying the items.
         */
        constructor (set: any[], range: NSRange, flag: boolean);
        /**
         * Initializes a new ordered set with the object.
         */
        constructor (object: any);
        /**
         * Initializes a newly allocated set with a specified number of objects from a given C array of objects.
         */
        constructor (objects: UnsafePointer<AnyObject> | null, cnt: number);
        /**
         * Initializes a new ordered set with the contents of a set.
         */
        constructor (set: NSOrderedSet);
        /**
         * Initializes a new ordered set with the contents of a set, optionally copying the items.
         */
        constructor (set: NSOrderedSet, flag: boolean);
        /**
         * Initializes a new ordered set with the contents of an ordered set, optionally copying the items.
         */
        constructor (set: NSOrderedSet, range: NSRange, flag: boolean);
        /**
         * Initializes a new ordered set with the contents of a set.
         */
        constructor (set: Set<AnyHashable>);
        /**
         * Initializes a new ordered set with the contents of a set, optionally copying the objects in the set.
         */
        constructor (set: Set<AnyHashable>, flag: boolean);
        /**
         * Initializes a newly allocated ordered set.
         */
        constructor ();
        constructor (...elements: any);
        constructor (coder: NSCoder);
        constructor (...elements: any);
        /**
         * Returns a Boolean value that indicates whether a given object is present in the ordered set.
         */
        contains(object: any):boolean;
        /**
         * Executes a given block using the objects in the ordered set at the specified indexes.
         */
        enumerateObjects(s: IndexSet, opts: NSEnumerationOptions, block: ()=>any):void;
        /**
         * Returns the object at the specified index of the set.
         */
        object(idx: number):any;
        /**
         * Returns the objects in the ordered set at the specified indexes.
         */
        objects(indexes: IndexSet):any[];
        /**
         * Returns the index of the specified object.
         */
        index(object: any):number;
        /**
         * Returns the index, from a given set of indexes, of the object in the ordered set that passes a test in a given block for a given set of enumeration options.
         */
        indexes(s: IndexSet, opts: NSEnumerationOptions, predicate: ()=>any):IndexSet;
        /**
         * Returns an enumerator object that lets you access each object in the ordered set.
         */
        objectEnumerator():NSEnumerator;
        /**
         * Returns an enumerator object that lets you access each object in the ordered set.
         */
        reverseObjectEnumerator():NSEnumerator;
        /**
         * Invokes 
         *  on each of the receiver's members using the specified value and key
         */
        setValue(value: any, key: string):void;
        /**
         * Returns an ordered set containing the results of invoking 
         *  using key on each of the ordered set’s objects.
         */
        value(key: string):any;
        /**
         * Raises an exception.
         */
        addObserver(observer: NSObject, keyPath: string, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer | null):void;
        /**
         * Raises an exception.
         */
        removeObserver(observer: NSObject, keyPath: string):void;
        /**
         * Compares the receiving ordered set to another ordered set.
         */
        isEqual(other: NSOrderedSet):boolean;
        /**
         * Returns a Boolean value that indicates whether at least one object in the receiving ordered set is also present in another given ordered set.
         */
        intersects(other: NSOrderedSet):boolean;
        /**
         * Returns a Boolean value that indicates whether at least one object in the receiving ordered set is also present in another given set.
         */
        intersectsSet(set: Set<AnyHashable>):boolean;
        /**
         * Returns a Boolean value that indicates whether every object in the receiving ordered set is also present in another given ordered set.
         */
        isSubset(other: NSOrderedSet):boolean;
        /**
         * Returns an array of the ordered set’s elements sorted as specified by a given array of sort descriptors.
         */
        sortedArray(sortDescriptors: NSSortDescriptor[]):any[];
        /**
         * Evaluates a given predicate against each object in the receiving ordered set and returns a new ordered set containing the objects for which the predicate returns true.
         */
        filtered(p: NSPredicate):NSOrderedSet;
        /**
         * Return an 
         *  over the elements of this 
         * .
         */
        makeIterator():NSFastEnumerationIterator;
    }
    export class NSMutableOrderedSet extends NSOrderedSet {
        /**
         * Returns an initialized mutable ordered set with a given initial capacity.
         */
        constructor (numItems: number);
        /**
         * Initializes a newly allocated mutable ordered set.
         */
        constructor ();
        constructor (coder: NSCoder);
        /**
         * Appends a given object to the end of the mutable ordered set, if it is not already a member.
         */
        add(object: any):void;
        /**
         * Appends to the end of the mutable ordered set each object contained in a given array that is not already a member.
         */
        addObjects(array: any[]):void;
        /**
         * Inserts the given object at the specified index of the mutable ordered set, if it is not already a member.
         */
        insert(object: any, idx: number):void;
        /**
         * Removes a given object from the mutable ordered set.
         */
        remove(object: any):void;
        /**
         * Removes a the object at the specified index from the mutable ordered set.
         */
        removeObject(idx: number):void;
        /**
         * Removes the objects at the specified indexes from the mutable ordered set.
         */
        removeObjects(indexes: IndexSet):void;
        /**
         * Removes all the objects from the mutable ordered set.
         */
        removeAllObjects():void;
        /**
         * Replaces the object at the specified index with the new object.
         */
        replaceObject(idx: number, object: any):void;
        /**
         * Replaces the objects at the specified indexes with the new objects.
         */
        replaceObjects(indexes: IndexSet, objects: any[]):void;
        /**
         * Appends or replaces the object at the specified index.
         */
        setObject(obj: any, idx: number):void;
        /**
         * Moves the objects at the specified indexes to the new location.
         */
        moveObjects(indexes: IndexSet, idx: number):void;
        /**
         * Exchanges the object at the specified index with the object at the other index.
         */
        exchangeObject(idx1: number, idx2: number):void;
        /**
         * Evaluates a given predicate against the mutable ordered set’s content and leaves only objects that match.
         */
        filter(p: NSPredicate):void;
        /**
         * Sorts the receiving ordered set using a given array of sort descriptors.
         */
        sort(sortDescriptors: NSSortDescriptor[]):void;
        /**
         * Sorts the specified range of the mutable ordered set using the specified options and the comparison method specified by a given comparator block.
         */
        sortRange(range: NSRange, opts: NSSortOptions, cmptr: ()=>any):void;
        /**
         * Removes from the receiving ordered set each object that isn’t a member of another ordered set.
         */
        intersect(other: NSOrderedSet):void;
        /**
         * Removes from the receiving ordered set each object that isn’t a member of another set.
         */
        intersectSet(other: Set<AnyHashable>):void;
        /**
         * Removes each object in another given ordered set from the receiving mutable ordered set, if present.
         */
        minus(other: NSOrderedSet):void;
        /**
         * Removes each object in another given set from the receiving mutable ordered set, if present.
         */
        minusSet(other: Set<AnyHashable>):void;
        /**
         * Adds each object in another given ordered set to the receiving mutable ordered set, if not present.
         */
        union(other: NSOrderedSet):void;
        /**
         * Adds each object in another given set to the receiving mutable ordered set, if not present.
         */
        unionSet(other: Set<AnyHashable>):void;
    }
    export interface NSDiscardableContent {
        /**
         * Returns a Boolean value indicating whether the discardable contents are still available and have been successfully accessed.
         */
        beginContentAccess():boolean;
        /**
         * Called if the discardable contents are no longer being accessed.
         */
        endContentAccess():void;
        /**
         * Called to discard the contents of the receiver if the value of the accessed counter is 0.
         */
        discardContentIfPossible():void;
        /**
         * Returns a Boolean value indicating whether the content has been discarded.
         */
        isContentDiscarded():boolean;
    }
    export interface NSCacheDelegate extends NSObjectProtocol {
        /**
         * Called when an object is about to be evicted or removed from the cache.
         */
        cache(cache: any, obj: any):void;
    }
    export class NSPurgeableData extends NSMutableData {}
    export class NSPointerArray extends NSObject {
        /**
         * The number of elements in the receiver.
         */
        count: number;
        /**
         * All the objects in the receiver.
         */
        allObjects: any[];
        /**
         * The functions in use by the receiver.
         */
        pointerFunctions: NSPointerFunctions;
        /**
         * Initializes the receiver to use the given options.
         */
        constructor (options: NSPointerFunctions.Options);
        /**
         * Initializes the receiver to use the given functions.
         */
        constructor (functions: NSPointerFunctions);
        /**
         * Returns a new pointer array that maintains strong references to its elements.
         */
        static strongObjects():NSPointerArray;
        /**
         * Returns a new pointer array that maintains weak references to its elements.
         */
        static weakObjects():NSPointerArray;
        /**
         * Returns the pointer at a given index.
         */
        pointer(index: number):UnsafeMutableRawPointer | null;
        /**
         * Adds a given pointer to the receiver.
         */
        addPointer(pointer: UnsafeMutableRawPointer | null):void;
        /**
         * Removes the pointer at a given index.
         */
        removePointer(index: number):void;
        /**
         * Inserts a pointer at a given index.
         */
        insertPointer(item: UnsafeMutableRawPointer | null, index: number):void;
        /**
         * Replaces the pointer at a given index.
         */
        replacePointer(index: number, item: UnsafeMutableRawPointer | null):void;
        /**
         * Removes 
         *  values from the receiver.
         */
        compact():void;
    }
    export class NSPointerFunctions extends NSObject {
        /**
         * The hash function.
         */
        hashFunction: ()=>any | null;
        /**
         * The function used to compare pointers.
         */
        isEqualFunction: ()=>any | null;
        /**
         * The function used to determine the size of pointers.
         */
        sizeFunction: ()=>any | null;
        /**
         * The function used to describe elements.
         */
        descriptionFunction: ()=>any | null;
        /**
         * The function used to acquire memory.
         */
        acquireFunction: ()=>any | null;
        /**
         * The function used to relinquish memory.
         */
        relinquishFunction: ()=>any | null;
        /**
         * Specifies whether, in a garbage collected environment, pointers should be assigned using a strong write barrier.
         */
        usesStrongWriteBarrier: boolean;
        /**
         * Specifies whether, in a garbage collected environment, pointers should use weak read and write barriers.
         */
        usesWeakReadAndWriteBarriers: boolean;
        /**
         * Returns an 
         *  object initialized with the given options.
         */
        constructor (options: NSPointerFunctions.Options);
    }
    /**
     * the same name namespace of class NSPointerFunctions
     */
    export namespace NSPointerFunctions {
        export class Options {
            /**
             * Use Mach memory.
             */
            static machVirtualMemory: NSPointerFunctions.Options;
            /**
             * Use 
             *  on removal, 
             *  on copy in.
             */
            static mallocMemory: NSPointerFunctions.Options;
            /**
             * Take no action when pointers are deleted.
             */
            static opaqueMemory: NSPointerFunctions.Options;
            /**
             * Use strong write-barriers to backing store; use garbage-collected memory on copy-in.
             */
            static strongMemory: NSPointerFunctions.Options;
            /**
             * Uses weak read and write barriers appropriate for ARC or GC. Using NSPointerFunctionsWeakMemory object references will turn to 
             *  on last release.
             */
            static weakMemory: NSPointerFunctions.Options;
            /**
             * Use a string hash and 
             * ; C-string '
             * ' style description.
             */
            static cStringPersonality: NSPointerFunctions.Options;
            /**
             * Use unshifted value as hash and equality.
             */
            static integerPersonality: NSPointerFunctions.Options;
            /**
             * Use 
             *  and 
             *  methods for hashing and equality comparisons, use the 
             *  method for a description.
             */
            static objectPersonality: NSPointerFunctions.Options;
            /**
             * Use shifted pointer for the hash value and direct comparison to determine equality; use the 
             *  method for a description.
             */
            static objectPointerPersonality: NSPointerFunctions.Options;
            /**
             * Use shifted pointer for the hash value and direct comparison to determine equality.
             */
            static opaquePersonality: NSPointerFunctions.Options;
            /**
             * Use a memory hash and 
             *  (using a size function that you must set—see 
             * ).
             */
            static structPersonality: NSPointerFunctions.Options;
            /**
             * Use the memory acquire function to allocate and copy items on input (see 
             * ).
             */
            static copyIn: NSPointerFunctions.Options;
            constructor (rawValue: number);
        }
    }
    export class NSMapEnumerator {
        constructor ();
        constructor (_pi: number, _si: number, _bs: UnsafeMutableRawPointer | null);
    }
    export class NSMapTableKeyCallBacks {
        /**
         * Points to the function which produces an autoreleased NSString * describing the given element. If 
         * , then the map table produces a generic string description.
         */
        describe: ()=>any | null;
        /**
         * Points to the function which must produce hash code for key elements of the map table. If 
         * , the pointer value is used as the hash code. Second parameter is the element for which hash code should be produced.
         */
        hash: ()=>any | null;
        /**
         * Points to the function which compares second and third parameters. If 
         * , then == is used for comparison.
         */
        isEqual: ()=>any | null;
        /**
         * No key put in map table can be this value. An exception is raised if attempt is made to use this value as a key
         */
        notAKeyMarker: UnsafeRawPointer | null;
        /**
         * Points to the function which decrements a reference count for the given element, and if the reference count becomes zero, frees the given element. If 
         * , then nothing is done for reference counting or releasing.
         */
        release: ()=>any | null;
        /**
         * Points to the function which increments a reference count for the given element. If 
         * , then nothing is done for reference counting.
         */
        retain: ()=>any | null;
        constructor ();
        constructor (hash: ()=>any | null, isEqual: ()=>any | null, retain: ()=>any | null, release: ()=>any | null, describe: ()=>any | null, notAKeyMarker: UnsafeRawPointer | null);
    }
    export class NSMapTableValueCallBacks {
        /**
         * Points to the function that produces an autoreleased NSString * describing the given element. If 
         * , then the map table produces a generic string description.
         */
        describe: ()=>any | null;
        /**
         * Points to the function that decrements a reference count for the given element, and if the reference count becomes zero, frees the given element. If 
         * , then nothing is done for reference counting or releasing.
         */
        release: ()=>any | null;
        /**
         * Points to the function that increments a reference count for the given element. If 
         * , then nothing is done for reference counting.
         */
        retain: ()=>any | null;
        constructor ();
        constructor (retain: ()=>any | null, release: ()=>any | null, describe: ()=>any | null);
    }
    export class NSHashEnumerator {
        constructor ();
        constructor (_pi: number, _si: number, _bs: UnsafeMutableRawPointer | null);
    }
    export class NSHashTableCallBacks {
        /**
         * Points to the function that produces an autoreleased NSString * describing the given element. If 
         * , then the hash table produces a generic string description.
         */
        describe: ()=>any | null;
        /**
         * Points to the function that must produce hash code for elements of the hash table. If 
         * , the pointer value is used as the hash code. Second parameter is the element for which hash code should be produced.
         */
        hash: ()=>any | null;
        /**
         * Points to the function that compares second and third parameters. If 
         * , then == is used for comparison.
         */
        isEqual: ()=>any | null;
        /**
         * Points to the function that decrements a reference count for the given element, and if the reference count becomes 0, frees the given element. If 
         * , then nothing is done for reference counting or releasing.
         */
        release: ()=>any | null;
        /**
         * Points to the function that increments a reference count for the given element. If 
         * , then nothing is done for reference counting.
         */
        retain: ()=>any | null;
        constructor ();
        constructor (hash: ()=>any | null, isEqual: ()=>any | null, retain: ()=>any | null, release: ()=>any | null, describe: ()=>any | null);
    }
    export class NSEnumerator extends NSObject {
        /**
         * The array of unenumerated objects.
         */
        allObjects: any[];
        /**
         * Returns the next object from the collection being enumerated.
         */
        nextObject():any;
        /**
         * Return an 
         *  over the 
         * .
         */
        makeIterator():NSFastEnumerationIterator;
    }
    export interface NSFastEnumeration {
        /**
         * Returns by reference a C array of objects over which the sender should iterate, and as the return value the number of objects in the array.
         */
        countByEnumerating(state: UnsafeMutablePointer<NSFastEnumerationState>, buffer: AutoreleasingUnsafeMutablePointer<AnyObject?>, len: number):number;
    }
    export class NSFastEnumerationState {
        /**
         * A C array that you can use to hold returned values.
         */
        extra: any;
        /**
         * A C array of objects.
         */
        itemsPtr: AutoreleasingUnsafeMutablePointer<AnyObject?> | null;
        /**
         * Arbitrary state information used to detect whether the collection has been mutated.
         */
        mutationsPtr: UnsafeMutablePointer<UInt> | null;
        /**
         * Arbitrary state information used by the iterator. Typically this is set to 
         *  at the beginning of the iteration.
         */
        state: number;
        constructor ();
        constructor (state: number, itemsPtr: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, mutationsPtr: UnsafeMutablePointer<UInt> | null, extra: any);
    }
    export class NSFastEnumerationIterator {
        constructor (enumerable: NSFastEnumeration);
        next():any;
    }
    export class NSEnumerationOptions {
        /**
         * Specifies that the Block enumeration should be concurrent.
         */
        static concurrent: NSEnumerationOptions;
        /**
         * Specifies that the enumeration should be performed in reverse.
         */
        static reverse: NSEnumerationOptions;
        constructor (rawValue: number);
    }
    export class NSSortOptions {
        /**
         * Specifies that the Block sort operation should be concurrent.
         */
        static concurrent: NSSortOptions;
        /**
         * Specifies that the sorted results should return compared items having equal value in the order they occurred originally.
         */
        static stable: NSSortOptions;
        constructor (rawValue: number);
    }
    export class NSNull extends NSObject {}
    export class Date {
        /**
         * Returns a date instance that represents the current date and time, at the moment of access.
         */
        static now: Date;
        /**
         * A date value representing a date in the distant future.
         */
        static distantFuture: Date;
        /**
         * A date value representing a date in the distant past.
         */
        static distantPast: Date;
        /**
         * The number of seconds from 1 January 1970 to the reference date, 1 January 2001.
         */
        static timeIntervalBetween1970AndReferenceDate: number;
        static defaultResolverSpecification: EmptyResolverSpecification<Date>;
        /**
         * The time interval between the date value and the current date and time.
         */
        timeIntervalSinceNow: TimeInterval;
        /**
         * The interval between the date value and 00:00:00 UTC on 1 January 2001.
         */
        timeIntervalSinceReferenceDate: TimeInterval;
        /**
         * The interval between the date value and 00:00:00 UTC on 1 January 1970.
         */
        timeIntervalSince1970: TimeInterval;
        /**
         * A textual description of the date value.
         */
        description: string;
        /**
         * A textual description of the date suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the date.
         */
        customMirror: Mirror;
        /**
         * The computed hash value of the date.
         */
        hashValue: number;
        /**
         * A custom playground Quick Look for the date.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Creates a date value initialized to the current date and time.
         */
        constructor ();
        /**
         * Creates a date value initialized relative to the current date and time by a given number of seconds.
         */
        constructor (timeIntervalSinceNow: TimeInterval);
        /**
         * Creates a date value initialized relative to another given date by a given number of seconds.
         */
        constructor (timeInterval: TimeInterval, date: Date);
        /**
         * Creates a date value initialized relative to 00:00:00 UTC on 1 January 2001 by a given number of seconds.
         */
        constructor (ti: TimeInterval);
        /**
         * Creates a date value initialized relative to 00:00:00 UTC on 1 January 1970 by a given number of seconds.
         */
        constructor (timeIntervalSince1970: TimeInterval);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Compares another date to this one.
         */
        compare(other: Date):ComparisonResult;
        /**
         * Returns the distance from this date to another date, specified as a time interval.
         */
        distance(other: Date):TimeInterval;
        /**
         * Returns the interval between this date and another given date.
         */
        timeIntervalSince(date: Date):TimeInterval;
        /**
         * Adds a time interval to this date.
         */
        addTimeInterval(timeInterval: TimeInterval):void;
        /**
         * Creates a new date value by adding a time interval to this date.
         */
        addingTimeInterval(timeInterval: TimeInterval):Date;
        /**
         * Returns a date offset the specified time interval from this date.
         */
        advanced(n: TimeInterval):Date;
        /**
         * Generates a locale-aware string representation of a date using the default date format style.
         */
        formatted():string;
        /**
         * Generates a locale-aware string representation of a date using the ISO 8601 date format.
         */
        ISO8601Format(style: Date.ISO8601FormatStyle):string;
        /**
         * Encodes this date into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Date
     */
    export namespace Date {
        export class FormatStyle {
            /**
             * A factory variable used as a base for custom date format styles.
             */
            static dateTime: Date.FormatStyle;
            /**
             * The calendar to use when formatting the date.
             */
            calendar: Calendar;
            /**
             * The capitalization context to use when formatting the date.
             */
            capitalizationContext: FormatStyleCapitalizationContext;
            /**
             * An attributed format style created from the date format style.
             */
            attributed: Date.AttributedStyle;
            /**
             * The strategy used to parse a string into a date.
             */
            parseStrategy: Date.FormatStyle;
            /**
             * The hash value of the style format.
             */
            hashValue: number;
            regex: Regex<Date>;
            /**
             * Creates an instance using the provided date, time, locale, calendar, time zone, and capitalization context.
             */
            constructor (date: Date.FormatStyle.DateStyle | null, time: Date.FormatStyle.TimeStyle | null, locale: Locale, calendar: Calendar, timeZone: TimeZone, capitalizationContext: FormatStyleCapitalizationContext);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates a fixed-format parse strategy.
             */
            static fixed(format: Date.FormatString, timeZone: TimeZone, locale: Locale | null):Date.ParseStrategy;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            /**
             * Modifies the date format style to use the specified day format style.
             */
            day(format: Date.FormatStyle.Symbol.Day):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified day of the year format style.
             */
            dayOfYear(format: Date.FormatStyle.Symbol.DayOfYear):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified era format style.
             */
            era(format: Date.FormatStyle.Symbol.Era):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified month format style.
             */
            month(format: Date.FormatStyle.Symbol.Month):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified quarter format style.
             */
            quarter(format: Date.FormatStyle.Symbol.Quarter):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified week format style.
             */
            week(format: Date.FormatStyle.Symbol.Week):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified weekday format style.
             */
            weekday(format: Date.FormatStyle.Symbol.Weekday):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified year format style.
             */
            year(format: Date.FormatStyle.Symbol.Year):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified hour format style.
             */
            hour(format: Date.FormatStyle.Symbol.Hour):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified minute format style.
             */
            minute(format: Date.FormatStyle.Symbol.Minute):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified second format style.
             */
            second(format: Date.FormatStyle.Symbol.Second):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified second fraction format style.
             */
            secondFraction(format: Date.FormatStyle.Symbol.SecondFraction):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified time zone format style.
             */
            timeZone(format: Date.FormatStyle.Symbol.TimeZone):Date.FormatStyle;
            /**
             * Modifies the date format style to use the specified locale.
             */
            locale(locale: Locale):Date.FormatStyle;
            /**
             * Creates a locale-aware string representation from a date value.
             */
            format(value: Date):string;
            /**
             * Parses a string into a date.
             */
            parse(value: string):Date;
            /**
             * Encodes the value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of the value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
            consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
        }
        /**
         * the same name namespace of class FormatStyle
         */
        export namespace FormatStyle {
            export class DateStyle {
                /**
                 * A date style with some components abbreviated for space-constrained applications.
                 */
                static abbreviated: Date.FormatStyle.DateStyle;
                /**
                 * A date style with all components represented.
                 */
                static complete: Date.FormatStyle.DateStyle;
                /**
                 * A lengthened date style with the full month, day of month, and year components represented.
                 */
                static long: Date.FormatStyle.DateStyle;
                /**
                 * A date style with the month, day of month, and year components represented as numeric values.
                 */
                static numeric: Date.FormatStyle.DateStyle;
                /**
                 * A date style with no date-related components represented.
                 */
                static omitted: Date.FormatStyle.DateStyle;
                /**
                 * The hash value of the style format.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes the value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of the value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class TimeStyle {
                /**
                 * A time style with all components represented.
                 */
                static complete: Date.FormatStyle.TimeStyle;
                /**
                 * A time style with no time-related components represented.
                 */
                static omitted: Date.FormatStyle.TimeStyle;
                /**
                 * A shortened time style with only the hour, minute, and day period components represented.
                 */
                static shortened: Date.FormatStyle.TimeStyle;
                /**
                 * A time style with all components except the time zone represented.
                 */
                static standard: Date.FormatStyle.TimeStyle;
                /**
                 * The hash value of the style format.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes the value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of the value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class Symbol {
                /**
                 * The hash value of the style format.
                 */
                hashValue: number;
                /**
                 * Hashes the essential components of the value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            /**
             * the same name namespace of class Symbol
             */
            export namespace Symbol {
                export class CyclicYear {
                    /**
                     * Custom cyclic year format style that portrays a shortened cyclic year.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.CyclicYear;
                    /**
                     * Custom cyclic year format style that portrays the shortest representation of a cyclic year.
                     */
                    static narrow: Date.FormatStyle.Symbol.CyclicYear;
                    /**
                     * Custom cyclic year format style that portrays a complete representation of a cyclic year.
                     */
                    static wide: Date.FormatStyle.Symbol.CyclicYear;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Day {
                    /**
                     * Custom format style portraying the minimum number of digits that represents the numeric day of month.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.Day;
                    /**
                     * Custom format style portraying the ordinal of the day in the month.
                     */
                    static ordinalOfDayInMonth: Date.FormatStyle.Symbol.Day;
                    /**
                     * Custom format style portraying the two-digit numeric day of month, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Day;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Creates a custom day format style representing the modified Julian day.
                     */
                    static julianModified(minimumLength: number):Date.FormatStyle.Symbol.Day;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class DayOfYear {
                    /**
                     * Custom format style portraying the minimum number of digits that represents the numeric day of the year.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.DayOfYear;
                    /**
                     * Custom format style portraying the three-digit numeric day of the year, zero-padded if necessary.
                     */
                    static threeDigits: Date.FormatStyle.Symbol.DayOfYear;
                    /**
                     * Custom format style portraying the two-digit numeric day of the year, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.DayOfYear;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class DayPeriod {
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Static factory method that creates a custom day period format style using a conversational style.
                     */
                    static conversational(width: Date.FormatStyle.Symbol.DayPeriod.Width):Date.FormatStyle.Symbol.DayPeriod;
                    /**
                     * Static factory method that creates a custom day period format style using a standard style.
                     */
                    static standard(width: Date.FormatStyle.Symbol.DayPeriod.Width):Date.FormatStyle.Symbol.DayPeriod;
                    /**
                     * Static factory method that creates a custom day period format style using a style that represents midday and midnight. 
                     */
                    static with12s(width: Date.FormatStyle.Symbol.DayPeriod.Width):Date.FormatStyle.Symbol.DayPeriod;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                /**
                 * the same name namespace of class DayPeriod
                 */
                export namespace DayPeriod {
                    export enum Width {
                        abbreviated,
                        narrow,
                        wide,
                    }
                }
                export class Era {
                    /**
                     * An abbreviated representation of an era. 
                     */
                    static abbreviated: Date.FormatStyle.Symbol.Era;
                    /**
                     * A narrow representation of an era.
                     */
                    static narrow: Date.FormatStyle.Symbol.Era;
                    /**
                     * A full representation of an era.
                     */
                    static wide: Date.FormatStyle.Symbol.Era;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Hour {
                    /**
                     * Custom format style portraying the minimum number of digits that represents the numeric hour.
                     */
                    static defaultDigitsNoAMPM: Date.FormatStyle.Symbol.Hour;
                    /**
                     * Custom format style portraying the numeric hour using two digits.
                     */
                    static twoDigitsNoAMPM: Date.FormatStyle.Symbol.Hour;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Custom format style portraying the minimum number of digits that represents the hour and locale-dependent conversational day period formats.
                     */
                    static conversationalDefaultDigits(amPM: Date.FormatStyle.Symbol.Hour.AMPMStyle):Date.FormatStyle.Symbol.Hour;
                    /**
                     * Custom format style portraying two digits that represent the hour and locale-dependent conversational day period formats.
                     */
                    static conversationalTwoDigits(amPM: Date.FormatStyle.Symbol.Hour.AMPMStyle):Date.FormatStyle.Symbol.Hour;
                    /**
                     * Custom format style portraying the minimum number of digits that represents the hour and locale-dependent day period formats.
                     */
                    static defaultDigits(amPM: Date.FormatStyle.Symbol.Hour.AMPMStyle):Date.FormatStyle.Symbol.Hour;
                    /**
                     * Custom format style portraying two digits that represent the hour and locale-dependent day period formats.
                     */
                    static twoDigits(amPM: Date.FormatStyle.Symbol.Hour.AMPMStyle):Date.FormatStyle.Symbol.Hour;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                /**
                 * the same name namespace of class Hour
                 */
                export namespace Hour {
                    export class AMPMStyle {
                        /**
                         * A type that specifies the abbreviated day period for when the locale prefers using day period with hour.
                         */
                        static abbreviated: Date.FormatStyle.Symbol.Hour.AMPMStyle;
                        /**
                         * A type that specifies the narrow day period if the locale prefers using day period with hour.
                         */
                        static narrow: Date.FormatStyle.Symbol.Hour.AMPMStyle;
                        /**
                         * A type that hides the day period marker.
                         */
                        static omitted: Date.FormatStyle.Symbol.Hour.AMPMStyle;
                        /**
                         * A type that represents the wide day period if the locale prefers using day period with hour.
                         */
                        static wide: Date.FormatStyle.Symbol.Hour.AMPMStyle;
                        /**
                         * The hash value of the style format.
                         */
                        hashValue: number;
                        /**
                         * Creates a new instance by decoding from the given decoder.
                         */
                        constructor (decoder: Decoder);
                        /**
                         * Hashes the essential components of the value by feeding them into the given hasher.
                         */
                        hash(hasher: Hasher):void;
                        /**
                         * Encodes this value into the given encoder.
                         */
                        encode(encoder: Encoder):void;
                    }
                }
                export class Minute {
                    /**
                     * The custom minute format style showing the minimum number of digits that represents the numeric minute.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.Minute;
                    /**
                     * The custom format style that shows the two-digit numeric minute, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Minute;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Month {
                    /**
                     * The abbreviated representation of a month.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.Month;
                    /**
                     * Custom month format style showing the minimum number of digits that represents the numeric month.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.Month;
                    /**
                     * The shortest representation of a month.
                     */
                    static narrow: Date.FormatStyle.Symbol.Month;
                    /**
                     * The custom month format style that uses two digits to represent the numeric month.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Month;
                    /**
                     * The full representation of a month.
                     */
                    static wide: Date.FormatStyle.Symbol.Month;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Quarter {
                    /**
                     * The abbreviated representation of a quarter.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.Quarter;
                    /**
                     * The shortest representation of a quarter.
                     */
                    static narrow: Date.FormatStyle.Symbol.Quarter;
                    /**
                     * The one-digit representation of a quarter.
                     */
                    static oneDigit: Date.FormatStyle.Symbol.Quarter;
                    /**
                     * The two-digit representation of a quarter.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Quarter;
                    /**
                     * The full representation of a quarter.
                     */
                    static wide: Date.FormatStyle.Symbol.Quarter;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Second {
                    /**
                     * The custom format style that conveys the minimum number of digits that represents the numeric second.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.Second;
                    /**
                     * The custom format style that conveys a two-digit numeric second, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Second;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class SecondFraction {
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Creates a custom format style representing the fractional seconds component of a date.
                     */
                    static fractional(val: number):Date.FormatStyle.Symbol.SecondFraction;
                    /**
                     * Creates a custom format style representing the milliseconds elapsed in a day.
                     */
                    static milliseconds(val: number):Date.FormatStyle.Symbol.SecondFraction;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class StandaloneMonth {
                    /**
                     * The abbreviated representation of a standalone month.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.StandaloneMonth;
                    /**
                     * The custom month format style that shows the minimum number of digits to represent a standalone month.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.StandaloneMonth;
                    /**
                     * The shortest representation of a standalone month.
                     */
                    static narrow: Date.FormatStyle.Symbol.StandaloneMonth;
                    /**
                     * The two-digit representation of a standalone month.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.StandaloneMonth;
                    /**
                     * The full representation of a standalone month.
                     */
                    static wide: Date.FormatStyle.Symbol.StandaloneMonth;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class StandaloneQuarter {
                    /**
                     * The abbreviated representation of a standalone quarter.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.StandaloneQuarter;
                    /**
                     * The shortest representation of a standalone quarter.
                     */
                    static narrow: Date.FormatStyle.Symbol.StandaloneQuarter;
                    /**
                     * The one-digit representation of a standalone quarter.
                     */
                    static oneDigit: Date.FormatStyle.Symbol.StandaloneQuarter;
                    /**
                     * The two-digit representation of a standalone quarter.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.StandaloneQuarter;
                    /**
                     * The full representation of a standalone quarter.
                     */
                    static wide: Date.FormatStyle.Symbol.StandaloneQuarter;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class StandaloneWeekday {
                    /**
                     * The abbreviated representation of a standalone weekday.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.StandaloneWeekday;
                    /**
                     * The shortest representation of a standalone weekday.
                     */
                    static narrow: Date.FormatStyle.Symbol.StandaloneWeekday;
                    /**
                     * The one-digit representation of a standalone weekday.
                     */
                    static oneDigit: Date.FormatStyle.Symbol.StandaloneWeekday;
                    /**
                     * The short representation of a standalone weekday.
                     */
                    static short: Date.FormatStyle.Symbol.StandaloneWeekday;
                    /**
                     * The full representation of a standalone weekday.
                     */
                    static wide: Date.FormatStyle.Symbol.StandaloneWeekday;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class TimeZone {
                    /**
                     * The exemplar city for a timezone.
                     */
                    static exemplarLocation: Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * The generic location representation of a timezone.
                     */
                    static genericLocation: Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Returns the specific, non-location representation of a timezone.
                     */
                    static specificName(width: Date.FormatStyle.Symbol.TimeZone.Width):Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * Returns the generic, non-location representation of a timezone.
                     */
                    static genericName(width: Date.FormatStyle.Symbol.TimeZone.Width):Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * Creates the ISO 8601 representation of the timezone with hours, minutes, and optional seconds.
                     */
                    static iso8601(width: Date.FormatStyle.Symbol.TimeZone.Width):Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * Returns the localized GMT format representation of a timezone.
                     */
                    static localizedGMT(width: Date.FormatStyle.Symbol.TimeZone.Width):Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * Returns the timezone identifier.
                     */
                    static identifier(width: Date.FormatStyle.Symbol.TimeZone.Width):Date.FormatStyle.Symbol.TimeZone;
                    /**
                     * Hashes the essential components of this value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                /**
                 * the same name namespace of class TimeZone
                 */
                export namespace TimeZone {
                    export enum Width {
                        short,
                        long,
                    }
                }
                export class VerbatimHour {
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Creates a custom format style portraying the minimum number of digits that represents the hour.
                     */
                    static defaultDigits(clock: Date.FormatStyle.Symbol.VerbatimHour.Clock, hourCycle: Date.FormatStyle.Symbol.VerbatimHour.HourCycle):Date.FormatStyle.Symbol.VerbatimHour;
                    /**
                     * Creates a custom format style portraying two digits that represent the hour.
                     */
                    static twoDigits(clock: Date.FormatStyle.Symbol.VerbatimHour.Clock, hourCycle: Date.FormatStyle.Symbol.VerbatimHour.HourCycle):Date.FormatStyle.Symbol.VerbatimHour;
                    /**
                     * Hashes the essential components of this value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                /**
                 * the same name namespace of class VerbatimHour
                 */
                export namespace VerbatimHour {
                    export class Clock {
                        /**
                         * A clock that portrays the hour using a 12-hour clock.
                         */
                        static twelveHour: Date.FormatStyle.Symbol.VerbatimHour.Clock;
                        /**
                         * A clock that portrays the hour using a 24-hour clock.
                         */
                        static twentyFourHour: Date.FormatStyle.Symbol.VerbatimHour.Clock;
                        /**
                         * The hash value of the style format.
                         */
                        hashValue: number;
                        /**
                         * Creates a new instance by decoding from the given decoder.
                         */
                        constructor (decoder: Decoder);
                        /**
                         * Encodes the value into the given encoder.
                         */
                        encode(encoder: Encoder):void;
                        /**
                         * Hashes the essential components of the value by feeding them into the given hasher.
                         */
                        hash(hasher: Hasher):void;
                    }
                    export class HourCycle {
                        /**
                         * A hour cycle that indicates a clock that starts at one.
                         */
                        static oneBased: Date.FormatStyle.Symbol.VerbatimHour.HourCycle;
                        /**
                         * A hour cycle that indicates a clock that starts at zero.
                         */
                        static zeroBased: Date.FormatStyle.Symbol.VerbatimHour.HourCycle;
                        /**
                         * The hash value of the style format.
                         */
                        hashValue: number;
                        /**
                         * Creates a new instance by decoding from the given decoder.
                         */
                        constructor (decoder: Decoder);
                        /**
                         * Encodes the value into the given encoder.
                         */
                        encode(encoder: Encoder):void;
                        /**
                         * Hashes the essential components of the value by feeding them into the given hasher.
                         */
                        hash(hasher: Hasher):void;
                    }
                }
                export class Week {
                    /**
                     * Custom week format style showing the minimum number of digits that represents the numeric week.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.Week;
                    /**
                     * Custom format style portraying the two-digit numeric week, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Week;
                    /**
                     * Custom format style portraying the numeric week of the month.
                     */
                    static weekOfMonth: Date.FormatStyle.Symbol.Week;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Weekday {
                    /**
                     * A shortened weekday representation.
                     */
                    static abbreviated: Date.FormatStyle.Symbol.Weekday;
                    /**
                     * The shortest weekday representation.
                     */
                    static narrow: Date.FormatStyle.Symbol.Weekday;
                    /**
                     * The one-digit representation of a weekday.
                     */
                    static oneDigit: Date.FormatStyle.Symbol.Weekday;
                    /**
                     * The short weekday representation.
                     */
                    static short: Date.FormatStyle.Symbol.Weekday;
                    /**
                     * The two-digit representation of a standalone weekday, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Weekday;
                    /**
                     * The complete weekday representation.
                     */
                    static wide: Date.FormatStyle.Symbol.Weekday;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class Year {
                    /**
                     * The custom year format style showing the minimum number of digits that represents the numeric year.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.Year;
                    /**
                     * The custom format style portraying the two-digit numeric year, zero-padded if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.Year;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Returns a custom format style that portrays the year of the calendar system of the provided length, zero-padded if necessary.
                     */
                    static padded(length: number):Date.FormatStyle.Symbol.Year;
                    /**
                     * Returns a custom format style that portrays the year of a non-Gregorian calendar system in the corresponding Gregorian year.
                     */
                    static relatedGregorian(minimumLength: number):Date.FormatStyle.Symbol.Year;
                    /**
                     * Returns a custom format style that portrays the year of the calendar system, encompassing all supra-year fields.
                     */
                    static extended(minimumLength: number):Date.FormatStyle.Symbol.Year;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export class YearForWeekOfYear {
                    /**
                     * Custom week of the year format style showing the minimum number of digits that represents the year in week-of-year calendars.
                     */
                    static defaultDigits: Date.FormatStyle.Symbol.YearForWeekOfYear;
                    /**
                     * The custom format style that represents the two-digit numeric year in week-of-year calendars, zero-padded or truncated if necessary.
                     */
                    static twoDigits: Date.FormatStyle.Symbol.YearForWeekOfYear;
                    /**
                     * The hash value of the style format.
                     */
                    hashValue: number;
                    /**
                     * Returns a custom format style that represents the three or more digits of the year in week-of-year calendars, zero-padded if necessary.
                     */
                    static padded(length: number):Date.FormatStyle.Symbol.YearForWeekOfYear;
                    /**
                     * Hashes the essential components of the value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
            }
        }
        export class AttributedStyle {
            /**
             * The hash value of the style format.
             */
            hashValue: number;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            /**
             * Modifies the date attributed style to use the specified locale.
             */
            locale(locale: Locale):Date.AttributedStyle;
            /**
             * Creates a locale-aware attributed string representation from a date value.
             */
            format(value: Date):AttributedString;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class ParseStrategy {
            calendar: Calendar;
            format: string;
            hashValue: number;
            isLenient: boolean;
            locale: Locale | null;
            regex: Regex<Date>;
            timeZone: TimeZone;
            twoDigitStartDate: Date;
            constructor (format: Date.FormatString, locale: Locale | null, timeZone: TimeZone, calendar: Calendar, isLenient: boolean, twoDigitStartDate: Date);
            constructor (decoder: Decoder);
            static date(style: DateStyle, locale: Locale, timeZone: TimeZone, calendar: Calendar | null):Date.ParseStrategy;
            static dateTime(date: DateStyle, time: TimeStyle, locale: Locale, timeZone: TimeZone, calendar: Calendar | null):Date.ParseStrategy;
            static fixed(format: Date.FormatString, timeZone: TimeZone, locale: Locale | null):Date.ParseStrategy;
            consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
            encode(encoder: Encoder):void;
            hash(hasher: Hasher):void;
            parse(value: string):Date;
        }
        export class RelativeFormatStyle {
            /**
             * Specifies the style to use when describing a relative date, such as “1 day ago” or “yesterday”.
             */
            presentation: Date.RelativeFormatStyle.Presentation;
            /**
             * The style to use when formatting the quantity or the name of the unit, such as “1 day ago” or “one day ago”.
             */
            unitsStyle: Date.RelativeFormatStyle.UnitsStyle;
            /**
             * The calendar to use when formatting relative dates.
             */
            calendar: Calendar;
            /**
             * The capitalization context to use when formatting the relative dates.
             */
            capitalizationContext: FormatStyleCapitalizationContext;
            /**
             * The locale to use when formatting the relative date.
             */
            locale: Locale;
            /**
             * The hash value of the style format.
             */
            hashValue: number;
            /**
             * Creates a relative date format style with the specified presentation, units, locale, calendar, and capitalization context.
             */
            constructor (presentation: Date.RelativeFormatStyle.Presentation, unitsStyle: Date.RelativeFormatStyle.UnitsStyle, locale: Locale, calendar: Calendar, capitalizationContext: FormatStyleCapitalizationContext);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Returns a relative date format style based on the provided presentation and unit style.
             */
            static relative(presentation: Presentation, unitsStyle: UnitsStyle):Date.RelativeFormatStyle;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            /**
             * Creates a locale-aware string representation from a relative date value.
             */
            format(destDate: Date):string;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class RelativeFormatStyle
         */
        export namespace RelativeFormatStyle {
            export class Presentation {
                /**
                 * A style that uses named styles to describe relative dates, such as “yesterday”, “last week”, or “next week”.
                 */
                static named: Date.RelativeFormatStyle.Presentation;
                /**
                 * A style that uses a numeric style to describe relative dates, such as “1 day ago” or “in 3 weeks”.
                 */
                static numeric: Date.RelativeFormatStyle.Presentation;
                /**
                 * The hash value of the style format.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class UnitsStyle {
                /**
                 * A style that uses abbreviated units, such as “2 mo. ago”.
                 */
                static abbreviated: Date.RelativeFormatStyle.UnitsStyle;
                /**
                 * A style that uses the shortest units, such as “2 mo. ago”.
                 */
                static narrow: Date.RelativeFormatStyle.UnitsStyle;
                /**
                 * A style that spells out units, such as “two months ago”.
                 */
                static spellOut: Date.RelativeFormatStyle.UnitsStyle;
                /**
                 * A style that uses full representation of units, such as “2 months ago”.
                 */
                static wide: Date.RelativeFormatStyle.UnitsStyle;
                /**
                 * The hash value of the style format.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
        export class IntervalFormatStyle {
            /**
             * A convenience factory variable to use as a base for custom date interval format styles.
             */
            static interval: Date.IntervalFormatStyle;
            /**
             * The calendar for formatting the date interval.
             */
            calendar: Calendar;
            /**
             * The hash value of the style format.
             */
            hashValue: number;
            /**
             * Creates an instance using the provided date, time, locale, calendar, time zone, and capitalization context.
             */
            constructor (date: Date.IntervalFormatStyle.DateStyle | null, time: Date.IntervalFormatStyle.TimeStyle | null, locale: Locale, calendar: Calendar, timeZone: TimeZone);
            /**
             * Creates an instance by decoding from the specified decoder.
             */
            constructor (decoder: Decoder);
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            /**
             * Modifies the date interval format style to use the specified time zone format.
             */
            timeZone(format: Date.IntervalFormatStyle.Symbol.TimeZone):Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to use the specified locale.
             */
            locale(locale: Locale):Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to include the day.
             */
            day():Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to use the specified hour format style.
             */
            hour(format: Date.IntervalFormatStyle.Symbol.Hour):Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to include the minutes.
             */
            minute():Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to include the month.
             */
            month(format: Date.IntervalFormatStyle.Symbol.Month):Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to include the seconds.
             */
            second():Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to include the specified weekday style.
             */
            weekday(format: Date.IntervalFormatStyle.Symbol.Weekday):Date.IntervalFormatStyle;
            /**
             * Modifies the date interval format style to include the year.
             */
            year():Date.IntervalFormatStyle;
            /**
             * Creates a locale-aware string representation from a relative date value.
             */
            format(v: Range<Date>):string;
            /**
             * Encodes the value into the specified encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of the value by feeding them into the specified hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class ISO8601FormatStyle {
            /**
             * A convenience factory variable that provides a base format for customizing ISO 8601 date format styles.
             */
            static iso8601: Date.ISO8601FormatStyle;
            /**
             * The character used to separate the components of a date.
             */
            dateSeparator: Date.ISO8601FormatStyle.DateSeparator;
            /**
             * The character used to separate the date and time components of an ISO 8601 string representation of a date.
             */
            dateTimeSeparator: Date.ISO8601FormatStyle.DateTimeSeparator;
            /**
             * The time zone used to create and parse date representations.
             */
            timeZone: TimeZone;
            /**
             * The strategy used to parse a string into a date.
             */
            parseStrategy: Date.ISO8601FormatStyle;
            /**
             * The hash value of the style format.
             */
            hashValue: number;
            includingFractionalSeconds: boolean;
            regex: Regex<Date>;
            /**
             * Creates an instance using the provided date separator, date and time components separator, and time zone.
             */
            constructor (dateSeparator: Date.ISO8601FormatStyle.DateSeparator, dateTimeSeparator: Date.ISO8601FormatStyle.DateTimeSeparator, timeZone: TimeZone);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            constructor (dateSeparator: Date.ISO8601FormatStyle.DateSeparator, dateTimeSeparator: Date.ISO8601FormatStyle.DateTimeSeparator, timeSeparator: Date.ISO8601FormatStyle.TimeSeparator, timeZoneSeparator: Date.ISO8601FormatStyle.TimeZoneSeparator, includingFractionalSeconds: boolean, timeZone: TimeZone);
            /**
             * Creates a fixed format parse strategy.
             */
            static fixed(format: Date.FormatString, timeZone: TimeZone, locale: Locale | null):Date.ParseStrategy;
            static iso8601Date(timeZone: TimeZone, dateSeparator: DateSeparator):Date.ISO8601FormatStyle;
            static iso8601WithTimeZone(includingFractionalSeconds: boolean, dateSeparator: DateSeparator, dateTimeSeparator: DateTimeSeparator, timeSeparator: TimeSeparator, timeZoneSeparator: TimeZoneSeparator):Date.ISO8601FormatStyle;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            /**
             * Modifies the date format style to use the specified locale.
             */
            locale(locale: Locale):Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to include the year in the formatted output.
             */
            year():Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to include the month in the formatted output.
             */
            month():Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to include the week of the year in the formatted output.
             */
            weekOfYear():Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to include the day in the formatted output.
             */
            day():Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to include the time in the formatted output.
             */
            time(includingFractionalSeconds: boolean):Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to use the specified time separator.
             */
            timeSeparator(separator: Date.ISO8601FormatStyle.TimeSeparator):Date.ISO8601FormatStyle;
            /**
             * Modifies the ISO 8601 date format style to use the specified time zone separator.
             */
            timeZoneSeparator(separator: Date.ISO8601FormatStyle.TimeZoneSeparator):Date.ISO8601FormatStyle;
            /**
             * Parses a string into a date.
             */
            parse(value: string):Date;
            /**
             * Creates a locale-aware ISO 8601 string representation from a date value.
             */
            format(value: Date):string;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
            consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
        }
        /**
         * the same name namespace of class ISO8601FormatStyle
         */
        export namespace ISO8601FormatStyle {
            export enum DateSeparator {
                dash,
                omitted,
            }
            export enum DateTimeSeparator {
                space,
                standard,
            }
            export enum TimeSeparator {
                colon,
                omitted,
            }
            export enum TimeZoneSeparator {
                colon,
                omitted,
            }
        }
        export class ComponentsFormatStyle {
            static timeDuration: Date.ComponentsFormatStyle;
            calendar: Calendar;
            fields: Set<Date.ComponentsFormatStyle.Field> | null;
            hashValue: number;
            locale: Locale;
            style: Date.ComponentsFormatStyle.Style;
            constructor (decoder: Decoder);
            constructor (style: Date.ComponentsFormatStyle.Style, locale: Locale, calendar: Calendar, fields: Set<Date.ComponentsFormatStyle.Field> | null);
            static components(style: Style, fields: Set<Field> | null):Date.ComponentsFormatStyle;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            encode(encoder: Encoder):void;
            format(v: Range<Date>):string;
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class ComponentsFormatStyle
         */
        export namespace ComponentsFormatStyle {
            export class Field {
                static day: Date.ComponentsFormatStyle.Field;
                static hour: Date.ComponentsFormatStyle.Field;
                static minute: Date.ComponentsFormatStyle.Field;
                static month: Date.ComponentsFormatStyle.Field;
                static second: Date.ComponentsFormatStyle.Field;
                static week: Date.ComponentsFormatStyle.Field;
                static year: Date.ComponentsFormatStyle.Field;
                hashValue: number;
                constructor (decoder: Decoder);
                encode(encoder: Encoder):void;
                hash(hasher: Hasher):void;
            }
            export class Style {
                static abbreviated: Date.ComponentsFormatStyle.Style;
                static condensedAbbreviated: Date.ComponentsFormatStyle.Style;
                static narrow: Date.ComponentsFormatStyle.Style;
                static spellOut: Date.ComponentsFormatStyle.Style;
                static wide: Date.ComponentsFormatStyle.Style;
                hashValue: number;
                constructor (decoder: Decoder);
                encode(encoder: Encoder):void;
                hash(hasher: Hasher):void;
            }
        }
        export class FormatString {
            hashValue: number;
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            constructor (stringInterpolation: Date.FormatString.StringInterpolation);
            constructor (value: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: string);
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class FormatString
         */
        export namespace FormatString {
            export class StringInterpolation {
                constructor (literalCapacity: number, interpolationCount: number);
                appendInterpolation(cyclicYear: Date.FormatStyle.Symbol.CyclicYear):void;
                appendLiteral(literal: string):void;
            }
        }
        export class VerbatimFormatStyle {
            attributed: Date.AttributedStyle;
            calendar: Calendar;
            hashValue: number;
            locale: Locale | null;
            parseStrategy: Date.ParseStrategy;
            regex: Regex<Date>;
            timeZone: TimeZone;
            constructor (format: Date.FormatString, locale: Locale | null, timeZone: TimeZone, calendar: Calendar);
            constructor (decoder: Decoder);
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            static verbatim(format: Date.FormatString, locale: Locale | null, timeZone: TimeZone, calendar: Calendar):Date.VerbatimFormatStyle;
            consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
            encode(encoder: Encoder):void;
            format(value: Date):string;
            hash(hasher: Hasher):void;
        }
    }
    export class NSDate extends NSObject {
        /**
         * A date object representing a date in the distant future. 
         */
        static distantFuture: Date;
        /**
         * A date object representing a date in the distant past.
         */
        static distantPast: Date;
        /**
         * The current date and time, as of the time of access.
         */
        static now: Date;
        /**
         * The interval between the date object and the current date and time.
         */
        timeIntervalSinceNow: TimeInterval;
        /**
         * The interval between the date object and 00:00:00 UTC on 1 January 2001.
         */
        timeIntervalSinceReferenceDate: TimeInterval;
        /**
         * The interval between the date object and 00:00:00 UTC on 1 January 1970.
         */
        timeIntervalSince1970: TimeInterval;
        /**
         * A string representation of the date object.
         */
        description: string;
        /**
         * A custom playground Quick Look for this object.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Returns a date object initialized to the current date and time.
         */
        constructor ();
        /**
         * Returns a date object initialized relative to the current date and time by a given number of seconds.
         */
        constructor (secs: TimeInterval);
        /**
         * Returns a date object initialized relative to another given date by a given number of seconds.
         */
        constructor (secsToBeAdded: TimeInterval, date: Date);
        /**
         * Returns a date object initialized relative to 00:00:00 UTC on 1 January 2001 by a given number of seconds.
         */
        constructor (ti: TimeInterval);
        /**
         * Returns a date object initialized relative to 00:00:00 UTC on 1 January 1970 by a given number of seconds.
         */
        constructor (secs: TimeInterval);
        /**
         * Returns a date object initialized from data in the given unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Returns a date object initialized with a date and time value specified by a given string in the international string representation format.
         */
        constructor (description: string);
        /**
         * Creates and returns a date object set to the date and time specified by a given string.
         */
        static date(_string: string):any;
        /**
         * Returns a Boolean value that indicates whether a given object is a date that is exactly equal the receiver.
         */
        isEqual(otherDate: Date):boolean;
        /**
         * Returns the earlier of the receiver and another given date.
         */
        earlierDate(anotherDate: Date):Date;
        /**
         * Returns the later of the receiver and another given date.
         */
        laterDate(anotherDate: Date):Date;
        /**
         * Indicates the temporal ordering of the receiver and another given date.
         */
        compare(other: Date):ComparisonResult;
        /**
         * Returns the interval between the receiver and another given date.
         */
        timeIntervalSince(anotherDate: Date):TimeInterval;
        /**
         * Returns a new date object that is set to a given number of seconds relative to the receiver.
         */
        addingTimeInterval(ti: TimeInterval):Self;
        /**
         * Returns a new date object that is set to a given number of seconds relative to the receiver.
         */
        addTimeInterval(seconds: TimeInterval):any;
    }
    export class DateInterval {
        /**
         * The start date.
         */
        start: Date;
        /**
         * The end date.
         */
        end: Date;
        /**
         * The duration.
         */
        duration: TimeInterval;
        /**
         * A textual description of the date interval.
         */
        description: string;
        /**
         * A textual description of the date interval suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the date interval.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the date interval.
         */
        hashValue: number;
        /**
         * Initializes an interval with start and end dates set to the current date and the duration set to 
         * .
         */
        constructor ();
        /**
         * Initializes an interval with the specified start date and duration.
         */
        constructor (start: Date, duration: TimeInterval);
        /**
         * Initializes an interval with the specified start and end date.
         */
        constructor (start: Date, end: Date);
        constructor (decoder: Decoder);
        /**
         * Returns an interval that represents the interval where the given date interval and the current instance intersect.
         */
        intersection(dateInterval: DateInterval):DateInterval | null;
        /**
         * Indicates whether this interval intersects the specified interval.
         */
        intersects(dateInterval: DateInterval):boolean;
        /**
         * Indicates whether this interval contains the given date.
         */
        contains(date: Date):boolean;
        /**
         * Compares two intervals.
         */
        compare(dateInterval: DateInterval):ComparisonResult;
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export class NSDateInterval extends NSObject {
        /**
         * The start date of the date interval.
         */
        startDate: Date;
        /**
         * The end date of the date interval.
         */
        endDate: Date;
        /**
         * The duration of the date interval.
         */
        duration: TimeInterval;
        /**
         * Initializes a date interval by setting the start and end date to the current date.
         */
        constructor ();
        /**
         * Initializes a date interval with a given start date and duration.
         */
        constructor (startDate: Date, duration: TimeInterval);
        /**
         * Initializes a date interval from a given start date and end date.
         */
        constructor (startDate: Date, endDate: Date);
        /**
         * Returns a date interval initialized from data in the given unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Compares the receiver with the specified date interval.
         */
        compare(dateInterval: DateInterval):ComparisonResult;
        /**
         * Indicates whether the receiver is equal to the specified date interval.
         */
        isEqual(dateInterval: DateInterval):boolean;
        /**
         * Indicates whether the receiver intersects with the specified date interval.
         */
        intersects(dateInterval: DateInterval):boolean;
        /**
         * Returns the intersection between the receiver and the specified date interval.
         */
        intersection(dateInterval: DateInterval):DateInterval | null;
        /**
         * Indicates whether the receiver contains the specified date.
         */
        contains(date: Date):boolean;
    }
    export class DateComponents {
        static defaultResolverSpecification: EmptyResolverSpecification<DateComponents>;
        /**
         * The calendar used to interpret the other values in this structure.
         */
        calendar: Calendar | null;
        /**
         * A time zone.
         */
        timeZone: TimeZone | null;
        /**
         * Indicates whether the current combination of properties represents a date which exists in the current calendar.
         */
        isValidDate: boolean;
        /**
         * The date calculated from the current components using the stored calendar.
         */
        date: Date | null;
        /**
         * An era or count of eras.
         */
        era: number;
        /**
         * A year or count of years.
         */
        year: number;
        /**
         * The year corresponding to a week-counting week.
         */
        yearForWeekOfYear: number;
        /**
         * A quarter or count of quarters.
         */
        quarter: number;
        /**
         * A month or count of months.
         */
        month: number;
        /**
         * Set to true if these components represent a leap month.
         */
        isLeapMonth: boolean;
        /**
         * A week of the month or a count of weeks of the month.
         */
        weekOfMonth: number;
        /**
         * A week of the year or count of the weeks of the year.
         */
        weekOfYear: number;
        /**
         * A weekday or count of weekdays.
         */
        weekday: number;
        /**
         * A weekday ordinal or count of weekday ordinals. 
         */
        weekdayOrdinal: number;
        /**
         * A day or count of days.
         */
        day: number;
        /**
         * An hour or count of hours.
         */
        hour: number;
        /**
         * A minute or count of minutes.
         */
        minute: number;
        /**
         * A second or count of seconds.
         */
        second: number;
        /**
         * A nanosecond or count of nanoseconds.
         */
        nanosecond: number;
        /**
         * A textual description of the date components.
         */
        description: string;
        /**
         * A textual description of the date components suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the date.
         */
        customMirror: Mirror;
        /**
         * The computed hash value of the date.
         */
        hashValue: number;
        /**
         * Initializes a date components value, optionally specifying values for its fields.
         */
        constructor (calendar: Calendar | null, timeZone: TimeZone | null, era: number, year: number, month: number, day: number, hour: number, minute: number, second: number, nanosecond: number, weekday: number, weekdayOrdinal: number, quarter: number, weekOfMonth: number, weekOfYear: number, yearForWeekOfYear: number);
        constructor (decoder: Decoder);
        constructor (period: Product.SubscriptionPeriod);
        /**
         * Returns the value of one of the properties, using an enumeration value instead of a property name.
         */
        value(component: Calendar.Component):number;
        /**
         * Set the value of one of the properties, using an enumeration value instead of a property name.
         */
        setValue(value: number, component: Calendar.Component):void;
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export interface DataProtocol extends RandomAccessCollection {
        /**
         * A collection of buffers that make up the whole of the type conforming to a data protocol. 
         */
        regions: Self.Regions;
        /**
         * Copies the bytes of data from the type into a raw memory buffer.
         */
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
    }
    export class NSDateComponents extends NSObject {
        /**
         * The calendar used to interpret the date components.
         */
        calendar: Calendar | null;
        /**
         * The time zone used to interpret the date components.
         */
        timeZone: TimeZone | null;
        /**
         * A Boolean value that indicates whether the current combination of properties represents a date which exists in the current calendar.
         */
        isValidDate: boolean;
        /**
         * The date calculated from the current components using the stored calendar.
         */
        date: Date | null;
        /**
         * The number of eras.
         */
        era: number;
        /**
         * The number of years.
         */
        year: number;
        /**
         * The ISO 8601 week-numbering year.
         */
        yearForWeekOfYear: number;
        /**
         * The number of quarters.
         */
        quarter: number;
        /**
         * The number of months.
         */
        month: number;
        /**
         * A Boolean value that indicates whether the month is a leap month.
         */
        isLeapMonth: boolean;
        /**
         * The number of the weekdays.
         */
        weekday: number;
        /**
         * The ordinal number of weekdays.
         */
        weekdayOrdinal: number;
        /**
         * The week number of the months.
         */
        weekOfMonth: number;
        /**
         * The ISO 8601 week date of the year.
         */
        weekOfYear: number;
        /**
         * The number of days.
         */
        day: number;
        /**
         * The number of hour units for the receiver.
         */
        hour: number;
        /**
         * The number of minute units for the receiver.
         */
        minute: number;
        /**
         * The number of second units for the receiver.
         */
        second: number;
        /**
         * The number of nanosecond units for the receiver.
         */
        nanosecond: number;
        /**
         * Returns the number of weeks.
         */
        week():number;
        /**
         * Sets the number of weeks.
         */
        setWeek(v: number):void;
        /**
         * Returns the value for a given calendar unit.
         */
        value(unit: NSCalendar.Unit):number;
        /**
         * Sets a value for a given calendar unit.
         */
        setValue(value: number, unit: NSCalendar.Unit):void;
    }
    export class NSCalendar extends NSObject {}
    /**
     * the same name namespace of class NSCalendar
     */
    export namespace NSCalendar {
        export class Unit {
            /**
             * Identifier for the era unit.
             */
            static era: NSCalendar.Unit;
            /**
             * Identifier for the year unit.
             */
            static year: NSCalendar.Unit;
            /**
             * Identifier for the week-counting year unit. 
             */
            static yearForWeekOfYear: NSCalendar.Unit;
            /**
             * Identifier for the quarter of the calendar.
             */
            static quarter: NSCalendar.Unit;
            /**
             * Identifier for the month unit. 
             */
            static month: NSCalendar.Unit;
            /**
             * Identifier for the week of the year calendar unit.
             */
            static weekOfYear: NSCalendar.Unit;
            /**
             * Identifier for the week of the month calendar unit.
             */
            static weekOfMonth: NSCalendar.Unit;
            /**
             * Identifier for the weekday unit.
             */
            static weekday: NSCalendar.Unit;
            /**
             * Identifier for the ordinal weekday unit.
             */
            static weekdayOrdinal: NSCalendar.Unit;
            /**
             * Identifier for the day unit. 
             */
            static day: NSCalendar.Unit;
            /**
             * Identifier for the hour unit.
             */
            static hour: NSCalendar.Unit;
            /**
             * Identifier for the minute unit.
             */
            static minute: NSCalendar.Unit;
            /**
             * Identifier for the second unit.
             */
            static second: NSCalendar.Unit;
            /**
             * Identifier for the nanosecond unit.
             */
            static nanosecond: NSCalendar.Unit;
            /**
             * Identifier for the calendar of a date components object.
             */
            static calendar: NSCalendar.Unit;
            /**
             * Identifier for the time zone of a date components object.
             */
            static timeZone: NSCalendar.Unit;
            /**
             * Specifies the era unit.
             */
            static NSEraCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the year unit.
             */
            static NSYearCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the month unit. 
             */
            static NSMonthCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the day unit. 
             */
            static NSDayCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the hour unit.
             */
            static NSHourCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the minute unit.
             */
            static NSMinuteCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the second unit.
             */
            static NSSecondCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the week unit.
             */
            static NSWeekCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the weekday unit.
             */
            static NSWeekdayCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the ordinal weekday unit. 
             */
            static NSWeekdayOrdinalCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the quarter of the calendar as a 
             * . In macOS 10.6 and earlier this was defined as equal to 
             * . In macOS 10.7 and later it is defined as 
             * .
             */
            static NSQuarterCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the original week of a month calendar unit.
             */
            static NSWeekOfMonthCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the original week of the year calendar unit.
             */
            static NSWeekOfYearCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the year when the calendar is being interpreted as a week-based calendar. 
             */
            static NSYearForWeekOfYearCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the calendar of the calendar.
             */
            static NSCalendarCalendarUnit: NSCalendar.Unit;
            /**
             * Specifies the time zone of the calendar as an 
             * .
             */
            static NSTimeZoneCalendarUnit: NSCalendar.Unit;
            /**
             * Creates a new calendar unit from the raw value.
             */
            constructor (rawValue: number);
        }
    }
    export interface MutableDataProtocol extends DataProtocol,MutableCollection,RangeReplaceableCollection {}
    export interface ContiguousBytes {}
    export class URL {
        static applicationDirectory: URL;
        static applicationSupportDirectory: URL;
        static cachesDirectory: URL;
        static defaultResolverSpecification: ResolverSpecification;
        static desktopDirectory: URL;
        static documentsDirectory: URL;
        static downloadsDirectory: URL;
        static homeDirectory: URL;
        static libraryDirectory: URL;
        static moviesDirectory: URL;
        static musicDirectory: URL;
        static picturesDirectory: URL;
        static sharedPublicDirectory: URL;
        static temporaryDirectory: URL;
        static transferRepresentation: TransferRepresentation;
        static trashDirectory: URL;
        static userDirectory: URL;
        /**
         * The data representation of the URL’s relativeString.
         */
        dataRepresentation: Data;
        /**
         * The absolute string for the URL.
         */
        absoluteString: string;
        /**
         * The absolute URL.
         */
        absoluteURL: URL;
        /**
         * The base URL.
         */
        baseURL: URL | null;
        /**
         * The fragment component of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        fragment: string;
        /**
         * The host component of a URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        host: string;
        /**
         * The last path component of the URL, or an empty string if the path is an empty string.
         */
        lastPathComponent: string;
        /**
         * The path component of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise an empty string.
         */
        path: string;
        /**
         * The path components of the URL, or an empty array if the path is an empty string.
         */
        pathComponents: string[];
        /**
         * The path extension of the URL, or an empty string if the path is an empty string.
         */
        pathExtension: string;
        /**
         * The port component of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        port: number;
        /**
         * The query of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        query: string;
        /**
         * The relative path of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        relativePath: string;
        /**
         * The relative portion of a URL.
         */
        relativeString: string;
        /**
         * The scheme of the URL.
         */
        scheme: string;
        /**
         * A version of the URL with any instances of “..” or “.” removed from its path.
         */
        standardized: URL;
        /**
         * A standardized version of the path of a file URL.
         */
        standardizedFileURL: URL;
        /**
         * The user component of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        user: string;
        /**
         * The password component of the URL if the URL conforms to RFC 1808 (the most common form of URL), otherwise nil.
         */
        password: string;
        /**
         * A Boolean that is true if the scheme is 
         * .
         */
        isFileURL: boolean;
        /**
         * A Boolean that is true if the URL path represents a directory.
         */
        hasDirectoryPath: boolean;
        /**
         * The URL’s resource data, as an asynchronous sequence of bytes.
         */
        resourceBytes: URL.AsyncBytes;
        /**
         * The URL’s resource data, as an asynchronous sequence of lines of text.
         */
        lines: AsyncLineSequence<URL.AsyncBytes>;
        /**
         * A textual description of the URL.
         */
        description: string;
        /**
         * A textual description of the URL suitable for debugging.
         */
        debugDescription: string;
        /**
         * A playground quicklook for the URL.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * The computed hash value for the URL.
         */
        hashValue: number;
        /**
         * Creates a URL instance from the provided string.
         */
        constructor (_string: string);
        /**
         * Creates a URL instance from the provided string, relative to another URL.
         */
        constructor (_string: string, url: URL | null);
        /**
         * Creates a file URL that references the local file or directory at path.
         */
        constructor (path: string);
        /**
         * Creates a file URL that references the local file or directory at path.
         */
        constructor (path: string, isDirectory: boolean);
        /**
         * Creates a file URL that references the local file or directory at path, relative to a base URL.
         */
        constructor (path: string, base: URL | null);
        /**
         * Creates a file URL that references the local file or directory at path, relative to a base URL.
         */
        constructor (path: string, isDirectory: boolean, base: URL | null);
        /**
         * Creates a file URL that references the local file or directory for the file system representation of the path.
         */
        constructor (path: UnsafePointer<Int8>, isDirectory: boolean, baseURL: URL | null);
        /**
         * Creates a URL from a playground file literal.
         */
        constructor (name: string);
        /**
         * Creates a file URL that references the local file or directory at the file path you specify.
         */
        constructor (path: FilePath);
        /**
         * Creates a file URL that references the local file or directory at the file path you specify.
         */
        constructor (path: FilePath, isDirectory: boolean);
        /**
         * Creates a URL that refers to a location specified by resolving bookmark data.
         */
        constructor (data: Data, options: URL.BookmarkResolutionOptions, url: URL | null, bookmarkDataIsStale: Bool);
        /**
         * Creates a URL that refers to the location specified by resolving an alias file.
         */
        constructor (url: URL, options: URL.BookmarkResolutionOptions);
        /**
         * Creates a URL from a resource.
         */
        constructor (resource: URLResource);
        /**
         * Creates a URL by decoding an encoded representation.
         */
        constructor (decoder: Decoder);
        /**
         * Initializes a newly created URL using the contents of the given data, relative to a base URL.
         */
        constructor (dataRepresentation: Data, url: URL | null, isAbsolute: boolean);
        constructor (path: FilePath, directoryHint: URL.DirectoryHint);
        constructor (path: string, directoryHint: URL.DirectoryHint, base: URL | null);
        constructor (directory: FileManager.SearchPathDirectory, domain: FileManager.SearchPathDomainMask, url: URL | null, shouldCreate: boolean);
        /**
         * Creates an alias file on disk at a specified location with specified bookmark data. 
         */
        static writeBookmarkData(data: Data, url: URL):void;
        static currentDirectory():URL;
        /**
         * Encodes the URL for later decoding.
         */
        encode(encoder: Encoder):void;
        /**
         * Returns a collection of resource values identified by the given resource keys.
         */
        resourceValues(keys: Set<URLResourceKey>):URLResourceValues;
        /**
         * Sets the resource value identified by a given resource key.
         */
        setResourceValues(values: URLResourceValues):void;
        /**
         * Removes the cached resource value identified by a given resource value key from the URL object.
         */
        removeCachedResourceValue(key: URLResourceKey):void;
        /**
         * Removes all cached resource values and all temporary resource values from the URL object.
         */
        removeAllCachedResourceValues():void;
        /**
         * Sets a temporary resource value on the URL object.
         */
        setTemporaryResourceValue(value: any, key: URLResourceKey):void;
        /**
         * Resolves any symlinks in the path of a file URL.
         */
        resolveSymlinksInPath():void;
        /**
         * Resolves any symlinks in the path of a file URL.
         */
        resolvingSymlinksInPath():URL;
        /**
         * Standardizes the path of a file URL.
         */
        standardize():void;
        /**
         * Appends a path component to the URL.
         */
        appendPathComponent(pathComponent: string):void;
        /**
         * Returns a URL by appending the specified path component to self.
         */
        appendingPathComponent(pathComponent: string):URL;
        /**
         * Appends the specified path extension to self.
         */
        appendPathExtension(pathExtension: string):void;
        /**
         * Returns a URL by appending the specified path extension to self.
         */
        appendingPathExtension(pathExtension: string):URL;
        /**
         * Returns a URL constructed by removing the last path component of self.
         */
        deleteLastPathComponent():void;
        /**
         * Returns a URL constructed by removing the last path component of self.
         */
        deletingLastPathComponent():URL;
        /**
         * Returns a URL constructed by removing any path extension.
         */
        deletePathExtension():void;
        /**
         * Returns a URL constructed by removing any path extension.
         */
        deletingPathExtension():URL;
        /**
         * Returns bookmark data for the URL, created with specified options and resource values.
         */
        bookmarkData(options: URL.BookmarkCreationOptions, keys: Set<URLResourceKey> | null, url: URL | null):Data;
        /**
         * Returns whether the URL’s resource exists and is reachable.
         */
        checkResourceIsReachable():boolean;
        /**
         * Returns whether the promised item URL’s resource exists and is reachable.
         */
        checkPromisedItemIsReachable():boolean;
        /**
         * Gets resource values from URLs of ‘promised’ items.
         */
        promisedItemResourceValues(keys: Set<URLResourceKey>):URLResourceValues;
        /**
         * Given a url created by resolving a bookmark data created with security scope, make the resource referenced by the url accessible to the process.
         */
        startAccessingSecurityScopedResource():boolean;
        /**
         * Revokes the access granted to the url by a prior successful call to the complementary start function.
         */
        stopAccessingSecurityScopedResource():void;
        /**
         * Hashes the essential components of this URL by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
        append(queryItems: URLQueryItem[]):void;
        appending(queryItems: URLQueryItem[]):URL;
        formatted():string;
    }
    /**
     * the same name namespace of class URL
     */
    export namespace URL {
        export class AsyncBytes {
            /**
             * The bytes loaded from the resource, as an asychronous sequence of characters.
             */
            characters: AsyncCharacterSequence<URL.AsyncBytes>;
            /**
             * The bytes loaded from the resource, as an asychronous sequence of Unicode scalar values.
             */
            unicodeScalars: AsyncUnicodeScalarSequence<URL.AsyncBytes>;
            /**
             * The bytes loaded from the resource, as an asychronous sequence of lines of text.
             */
            lines: AsyncLineSequence<URL.AsyncBytes>;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: UInt8):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UInt8 | null;
            /**
             * Returns the minimum element in an asynchronous sequence of comparable elements.
             */
            min():UInt8 | null;
            /**
             * Returns the maximum element in an asynchronous sequence of comparable elements.
             */
            max():UInt8 | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<URL.AsyncBytes>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<URL.AsyncBytes>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<URL.AsyncBytes>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<URL.AsyncBytes>;
            makeAsyncIterator():URL.AsyncBytes.AsyncIterator;
        }
        /**
         * the same name namespace of class AsyncBytes
         */
        export namespace AsyncBytes {
            export class AsyncIterator {
                next():UInt8 | null;
            }
        }
        export class FormatStyle {
            static url: URL.FormatStyle;
            hashValue: number;
            parseStrategy: URL.ParseStrategy;
            constructor (decoder: Decoder);
            constructor (scheme: URL.FormatStyle.ComponentDisplayOption, user: URL.FormatStyle.ComponentDisplayOption, password: URL.FormatStyle.ComponentDisplayOption, host: URL.FormatStyle.HostDisplayOption, port: URL.FormatStyle.ComponentDisplayOption, path: URL.FormatStyle.ComponentDisplayOption, query: URL.FormatStyle.ComponentDisplayOption, fragment: URL.FormatStyle.ComponentDisplayOption);
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            encode(encoder: Encoder):void;
            format(value: URL):string;
            fragment(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
            hash(hasher: Hasher):void;
            host(strategy: URL.FormatStyle.HostDisplayOption):URL.FormatStyle;
            locale(locale: Locale):URL.FormatStyle;
            password(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
            path(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
            port(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
            query(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
            scheme(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
            user(strategy: URL.FormatStyle.ComponentDisplayOption):URL.FormatStyle;
        }
        /**
         * the same name namespace of class FormatStyle
         */
        export namespace FormatStyle {
            export class ComponentDisplayOption {
                static always: URL.FormatStyle.ComponentDisplayOption;
                static never: URL.FormatStyle.ComponentDisplayOption;
                static omitIfHTTPFamily: URL.FormatStyle.ComponentDisplayOption;
                description: string;
                hashValue: number;
                constructor (decoder: Decoder);
                static displayWhen(component: URL.FormatStyle.Component, requirements: Set<String>):URL.FormatStyle.ComponentDisplayOption;
                static omitWhen(component: URL.FormatStyle.Component, requirements: Set<String>):URL.FormatStyle.ComponentDisplayOption;
                encode(encoder: Encoder):void;
                hash(hasher: Hasher):void;
            }
            export class HostDisplayOption {
                static always: URL.FormatStyle.HostDisplayOption;
                static never: URL.FormatStyle.HostDisplayOption;
                static omitIfHTTPFamily: URL.FormatStyle.HostDisplayOption;
                description: string;
                hashValue: number;
                constructor (decoder: Decoder);
                static displayWhen(component: URL.FormatStyle.Component, requirements: Set<String>):URL.FormatStyle.HostDisplayOption;
                static omitSpecificSubdomains(subdomainsToOmit: Set<String>, omitMultiLevelSubdomains: boolean):URL.FormatStyle.HostDisplayOption;
                static omitWhen(component: URL.FormatStyle.Component, requirements: Set<String>):URL.FormatStyle.HostDisplayOption;
                encode(encoder: Encoder):void;
                hash(hasher: Hasher):void;
            }
            export enum Component {
                fragment,
                host,
                password,
                path,
                port,
                query,
                scheme,
                user,
            }
        }
        export class ParseStrategy {
            static url: URL.ParseStrategy;
            hashValue: number;
            regex: Regex<URL>;
            constructor (decoder: Decoder);
            constructor (scheme: URL.ParseStrategy.ComponentParseStrategy<String>, user: URL.ParseStrategy.ComponentParseStrategy<String>, password: URL.ParseStrategy.ComponentParseStrategy<String>, host: URL.ParseStrategy.ComponentParseStrategy<String>, port: URL.ParseStrategy.ComponentParseStrategy<Int>, path: URL.ParseStrategy.ComponentParseStrategy<String>, query: URL.ParseStrategy.ComponentParseStrategy<String>, fragment: URL.ParseStrategy.ComponentParseStrategy<String>);
            static fixed(format: Date.FormatString, timeZone: TimeZone, locale: Locale | null):Date.ParseStrategy;
            consuming(input: string, index: String.Index, bounds: Range<String.Index>):any;
            encode(encoder: Encoder):void;
            fragment(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
            hash(hasher: Hasher):void;
            host(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
            parse(value: string):URL;
            password(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
            path(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
            port(strategy: URL.ParseStrategy.ComponentParseStrategy<Int>):URL.ParseStrategy;
            query(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
            scheme(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
            user(strategy: URL.ParseStrategy.ComponentParseStrategy<String>):URL.ParseStrategy;
        }
        export enum DirectoryHint {
            checkFileSystem,
            inferFromPath,
            isDirectory,
            notDirectory,
        }
    }
    export class NSURL extends NSObject {}
    /**
     * the same name namespace of class NSURL
     */
    export namespace NSURL {
        export class BookmarkResolutionOptions {
            /**
             * Specifies that no UI feedback should accompany resolution of the bookmark data.
             */
            static withoutUI: NSURL.BookmarkResolutionOptions;
            /**
             * Specifies that no volume should be mounted during resolution of the bookmark data.
             */
            static withoutMounting: NSURL.BookmarkResolutionOptions;
            /**
             * Specifies that the security scope, applied to the bookmark when it was created, should be used during resolution of the bookmark data.
             */
            static withSecurityScope: NSURL.BookmarkResolutionOptions;
            static withoutImplicitStartAccessing: NSURL.BookmarkResolutionOptions;
            /**
             * Initializes a new resolution options structure.
             */
            constructor (rawValue: number);
        }
        export class BookmarkCreationOptions {
            /**
             * Specifies that when a bookmark created with this option is resolved, its embedded file ID should take precedence over other sources of information (file system path, for example) in the event of a conflict.
             */
            static preferFileIDResolution: NSURL.BookmarkCreationOptions;
            /**
             * Specifies that a bookmark created with this option should be created with minimal information.
             */
            static minimalBookmark: NSURL.BookmarkCreationOptions;
            /**
             * Specifies that the bookmark data should include properties required to create Finder alias files.
             */
            static suitableForBookmarkFile: NSURL.BookmarkCreationOptions;
            /**
             * Specifies that you want to create a security-scoped bookmark that, when resolved, provides a security-scoped URL allowing read/write access to a file-system resource.
             */
            static withSecurityScope: NSURL.BookmarkCreationOptions;
            /**
             * When combined with the 
             *  option, specifies that you want to create a security-scoped bookmark that, when resolved, provides a security-scoped URL allowing read-only access to a file-system resource.
             */
            static securityScopeAllowOnlyReadAccess: NSURL.BookmarkCreationOptions;
            static withoutImplicitSecurityScope: NSURL.BookmarkCreationOptions;
            /**
             * Initializes a new bookmark creation options structure.
             */
            constructor (rawValue: number);
        }
    }
    export class TimeZone {
        /**
         * The time zone currently used by the system, automatically updating to the user’s current preference.
         */
        static autoupdatingCurrent: TimeZone;
        /**
         * The time zone currently used by the system.
         */
        static current: TimeZone;
        /**
         * Returns an array of strings listing the identifier of all the time zones known to the system.
         */
        static knownTimeZoneIdentifiers: string[];
        /**
         * Returns the mapping of abbreviations to time zone identifiers.
         */
        static abbreviationDictionary: Record<string, string>;
        /**
         * Returns the time zone data version.
         */
        static timeZoneDataVersion: string;
        static gmt: TimeZone;
        /**
         * The geopolitical region identifier that identifies the time zone.
         */
        identifier: string;
        /**
         * The date of the next (after the current instant) daylight saving time transition for the time zone. 
         */
        nextDaylightSavingTimeTransition: Date | null;
        /**
         * A textual description of the time zone.
         */
        description: string;
        /**
         * A textual description of the time zone suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the time zone.
         */
        customMirror: Mirror;
        /**
         * The computed hash value of the time zone.
         */
        hashValue: number;
        /**
         * Returns a time zone initialized with a specific number of seconds from GMT.
         */
        constructor (seconds: number);
        constructor (abbreviation: string);
        constructor (decoder: Decoder);
        constructor (identifier: string);
        /**
         * Returns the abbreviation for the time zone at a given date.
         */
        abbreviation(date: Date):string;
        /**
         * The current difference in seconds between the time zone and Greenwich Mean Time.
         */
        secondsFromGMT(date: Date):number;
        /**
         * Returns a Boolean value that indicates whether the receiver uses daylight saving time at a given date.
         */
        isDaylightSavingTime(date: Date):boolean;
        /**
         * Returns the daylight saving time offset for a given date.
         */
        daylightSavingTimeOffset(date: Date):TimeInterval;
        /**
         * Returns the name of the receiver localized for a given locale.
         */
        localizedName(style: NSTimeZone.NameStyle, locale: Locale | null):string;
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export class NSTimeZone extends NSObject {
        /**
         * An object that tracks the current system time zone.
         */
        static local: TimeZone;
        /**
         * The time zone currently used by the system.
         */
        static system: TimeZone;
        /**
         * The default time zone for the current app.
         */
        static default: TimeZone;
        /**
         * Returns an array of strings listing the IDs of all the time zones known to the system.
         */
        static knownTimeZoneNames: string[];
        /**
         * Returns a dictionary holding the mappings of time zone abbreviations to time zone names.
         */
        static abbreviationDictionary: Record<string, string>;
        /**
         * Returns the time zone data version.
         */
        static timeZoneDataVersion: string;
        /**
         * The geopolitical region ID that identifies the receiver.
         */
        name: string;
        /**
         * The abbreviation for the receiver, such as “EDT” (Eastern Daylight Time).
         */
        abbreviation: string;
        /**
         * The current difference in seconds between the receiver and Greenwich Mean Time.
         */
        secondsFromGMT: number;
        /**
         * The data that stores the information used by the receiver.
         */
        data: Data;
        /**
         * A Boolean value that indicates whether the receiver is currently using daylight saving time.
         */
        isDaylightSavingTime: boolean;
        /**
         * The current daylight saving time offset of the receiver.
         */
        daylightSavingTimeOffset: TimeInterval;
        /**
         * The date of the next daylight saving time transition for the receiver.
         */
        nextDaylightSavingTimeTransition: Date | null;
        /**
         * A textual description of the time zone including the name, abbreviation, offset from GMT, and whether or not daylight saving time is currently in effect.
         */
        description: string;
        /**
         * Returns a time zone initialized with a given identifier.
         */
        constructor (tzName: string);
        /**
         * Initializes a time zone with a given identifier and time zone data.
         */
        constructor (tzName: string, aData: Data | null);
        /**
         * Returns the time zone object identified by a given abbreviation.
         */
        constructor (abbreviation: string);
        /**
         * Returns a time zone object offset from Greenwich Mean Time by a given number of seconds.
         */
        constructor (seconds: number);
        /**
         * Clears any time zone value cached for the 
         *  property.
         */
        static resetSystemTimeZone():void;
        /**
         * Indicates whether the receiver has the same name and data as the specified time zone.
         */
        isEqual(aTimeZone: TimeZone):boolean;
        /**
         * Returns the localized name of the time zone.
         */
        localizedName(style: NSTimeZone.NameStyle, locale: Locale | null):string;
    }
    /**
     * the same name namespace of class NSTimeZone
     */
    export namespace NSTimeZone {
        export enum NameStyle {
            standard = 0,
            shortStandard = 1,
            daylightSaving = 2,
            shortDaylightSaving = 3,
            generic = 4,
            shortGeneric = 5,
        }
    }
    export class DateFormatter extends Formatter {
        /**
         * Returns the default formatting behavior for instances of the class.
         */
        static defaultFormatterBehavior: DateFormatter.Behavior;
        /**
         * The date style of the receiver.
         */
        dateStyle: DateFormatter.Style;
        /**
         * The time style of the receiver.
         */
        timeStyle: DateFormatter.Style;
        /**
         * The date format string used by the receiver.
         */
        dateFormat: String!;
        /**
         * The capitalization formatting context used when formatting a date.
         */
        formattingContext: Formatter.Context;
        /**
         * The calendar for the receiver.
         */
        calendar: Calendar!;
        /**
         * The default date for the receiver.
         */
        defaultDate: Date | null;
        /**
         * The locale for the receiver.
         */
        locale: Locale!;
        /**
         * The time zone for the receiver.
         */
        timeZone: TimeZone!;
        /**
         * The earliest date that can be denoted by a two-digit year specifier.
         */
        twoDigitStartDate: Date | null;
        /**
         * The start date of the Gregorian calendar for the receiver.
         */
        gregorianStartDate: Date | null;
        /**
         * The formatter behavior for the receiver.
         */
        formatterBehavior: DateFormatter.Behavior;
        /**
         * A Boolean value that indicates whether the receiver uses heuristics when parsing a string.
         */
        isLenient: boolean;
        /**
         * A Boolean value that indicates whether the receiver uses phrases such as “today” and “tomorrow” for the date component.
         */
        doesRelativeDateFormatting: boolean;
        /**
         * The AM symbol for the receiver.
         */
        amSymbol: String!;
        /**
         * The PM symbol for the receiver.
         */
        pmSymbol: String!;
        /**
         * The array of weekday symbols for the receiver.
         */
        weekdaySymbols: [String]!;
        /**
         * The array of short weekday symbols for the receiver.
         */
        shortWeekdaySymbols: [String]!;
        /**
         * The array of very short weekday symbols for the receiver.
         */
        veryShortWeekdaySymbols: [String]!;
        /**
         * The array of standalone weekday symbols for the receiver.
         */
        standaloneWeekdaySymbols: [String]!;
        /**
         * The array of short standalone weekday symbols for the receiver.
         */
        shortStandaloneWeekdaySymbols: [String]!;
        /**
         * The array of very short standalone weekday symbols for the receiver.
         */
        veryShortStandaloneWeekdaySymbols: [String]!;
        /**
         * The month symbols for the receiver.
         */
        monthSymbols: [String]!;
        /**
         * The array of short month symbols for the receiver.
         */
        shortMonthSymbols: [String]!;
        /**
         * The very short month symbols for the receiver.
         */
        veryShortMonthSymbols: [String]!;
        /**
         * The standalone month symbols for the receiver.
         */
        standaloneMonthSymbols: [String]!;
        /**
         * The short standalone month symbols for the receiver.
         */
        shortStandaloneMonthSymbols: [String]!;
        /**
         * The very short month symbols for the receiver.
         */
        veryShortStandaloneMonthSymbols: [String]!;
        /**
         * The quarter symbols for the receiver.
         */
        quarterSymbols: [String]!;
        /**
         * The short quarter symbols for the receiver.
         */
        shortQuarterSymbols: [String]!;
        /**
         * The standalone quarter symbols for the receiver.
         */
        standaloneQuarterSymbols: [String]!;
        /**
         * The short standalone quarter symbols for the receiver.
         */
        shortStandaloneQuarterSymbols: [String]!;
        /**
         * The era symbols for the receiver.
         */
        eraSymbols: [String]!;
        /**
         * The long era symbols for the receiver
         */
        longEraSymbols: [String]!;
        /**
         * Indicates whether the formatter generates the deprecated calendar date type.
         */
        generatesCalendarDates: boolean;
        /**
         * Returns a string representation of a specified date, that the system formats for the current locale using the specified date and time styles.
         */
        static localizedString(date: Date, dstyle: DateFormatter.Style, tstyle: DateFormatter.Style):string;
        /**
         * Returns a date representation of a specified string that the system interprets using the receiver’s current settings.
         */
        date(_string: string):Date | null;
        /**
         * Returns a string representation of a specified date that the system formats using the receiver’s current settings.
         */
        string(date: Date):string;
        /**
         * Returns by reference a date representation of a specified string and its date range, as well as a Boolean value that indicates whether the system can parse the string.
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, rangep: UnsafeMutablePointer<NSRange> | null):void;
        /**
         * Sets the date format from a template using the specified locale for the receiver.
         */
        setLocalizedDateFormatFromTemplate(dateFormatTemplate: string):void;
    }
    /**
     * the same name namespace of class DateFormatter
     */
    export namespace DateFormatter {
        export enum Style {
            none = 0,
            short = 1,
            medium = 2,
            long = 3,
            full = 4,
        }
        export enum Behavior {
            default = 0,
            behavior10_0 = 1000,
            behavior10_4 = 1040,
        }
    }
    export class DateComponentsFormatter extends Formatter {
        /**
         * The bitmask of calendrical units such as day and month to include in the output string.
         */
        allowedUnits: NSCalendar.Unit;
        /**
         * A Boolean indicating whether non-integer units may be used for values.
         */
        allowsFractionalUnits: boolean;
        /**
         * The default calendar to use when formatting date components. 
         */
        calendar: Calendar | null;
        /**
         * A Boolean value indicating whether to collapse the largest unit into smaller units when a certain threshold is met.
         */
        collapsesLargestUnit: boolean;
        /**
         * A Boolean value indicating whether the resulting phrase reflects an inexact time value.
         */
        includesApproximationPhrase: boolean;
        /**
         * A Boolean value indicating whether output strings reflect the amount of time remaining. 
         */
        includesTimeRemainingPhrase: boolean;
        /**
         * The maximum number of time units to include in the output string.
         */
        maximumUnitCount: number;
        /**
         * The formatting style for unit names. 
         */
        unitsStyle: DateComponentsFormatter.UnitsStyle;
        /**
         * The formatting style for units whose value is 0.
         */
        zeroFormattingBehavior: DateComponentsFormatter.ZeroFormattingBehavior;
        formattingContext: Formatter.Context;
        referenceDate: Date | null;
        /**
         * Returns a localized string based on the specified date components and style option.
         */
        static localizedString(components: DateComponents, unitsStyle: DateComponentsFormatter.UnitsStyle):string;
        /**
         * Returns a formatted string based on the specified date component information.
         */
        string(components: DateComponents):string;
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
    }
    /**
     * the same name namespace of class DateComponentsFormatter
     */
    export namespace DateComponentsFormatter {
        export enum UnitsStyle {
            spellOut = 4,
            full = 3,
            short = 2,
            brief = 5,
            abbreviated = 1,
            positional = 0,
        }
        export class ZeroFormattingBehavior {
            /**
             * The default formatting behavior. When using positional units, this behavior drops leading zeroes but pads middle and trailing values with zeros as needed. For example, with hours, minutes, and seconds displayed, the value for one hour and 10 seconds is “1:00:10”. For all other unit styles, this behavior drops all units whose values are 0. For example, when days, hours, minutes, and seconds are allowed, the abbreviated version of one hour and 10 seconds is displayed as “1h 10s”.  
             */
            static default: DateComponentsFormatter.ZeroFormattingBehavior;
            /**
             * The drop leading zeroes formatting behavior. Units whose values are 0 are dropped starting at the beginning of the sequence. Units continue to be dropped until a non-zero value is encountered. For example, when days, hours, minutes, and seconds are allowed, the abbreviated version of ten minutes is displayed as “10m 0s”. 
             */
            static dropLeading: DateComponentsFormatter.ZeroFormattingBehavior;
            /**
             * The drop middle zero units behavior. Units whose values are 0 are dropped from anywhere in the middle of a sequence. For example, when days, hours, minutes, and seconds are allowed, the abbreviated version of one hour, zero minutes, and five seconds is displayed as “0d 1h 5s”.  
             */
            static dropMiddle: DateComponentsFormatter.ZeroFormattingBehavior;
            /**
             * The drop trailing zero units behavior. Units whose value is 0 are dropped starting at the end of the sequence. For example, when days, hours, minutes, and seconds are allowed, the abbreviated version of one hour is displayed as “0d 1h”. 
             */
            static dropTrailing: DateComponentsFormatter.ZeroFormattingBehavior;
            /**
             * The drop all zero units behavior. This behavior drops all units whose values are 0. For example, when days, hours, minutes, and seconds are allowed, the abbreviated version of one hour is displayed as “1h”. 
             */
            static dropAll: DateComponentsFormatter.ZeroFormattingBehavior;
            /**
             * The add padding zeroes behavior. This behavior pads values with zeroes as appropriate. For example, consider the value of one hour formatted using the positional and abbreviated unit styles. When days, hours, minutes, and seconds are allowed, the value is displayed as “0d 1:00:00” using the positional style, and as “0d 1h 0m 0s” using the abbreviated style. 
             */
            static pad: DateComponentsFormatter.ZeroFormattingBehavior;
            constructor (rawValue: number);
        }
    }
    export class DateIntervalFormatter extends Formatter {
        /**
         * The style to use when formatting day, month, and year information.
         */
        dateStyle: DateIntervalFormatter.Style;
        /**
         * The style to use when formatting hour, minute, and second information.
         */
        timeStyle: DateIntervalFormatter.Style;
        /**
         * The template for formatting one date and time value.
         */
        dateTemplate: String!;
        /**
         * The calendar to use for date values. 
         */
        calendar: Calendar!;
        /**
         * The locale to use when formatting date and time values.
         */
        locale: Locale!;
        /**
         * The time zone with which to specify time values. 
         */
        timeZone: TimeZone!;
        /**
         * Returns a formatted string based on the specified start and end dates.
         */
        string(fromDate: Date, toDate: Date):string;
    }
    /**
     * the same name namespace of class DateIntervalFormatter
     */
    export namespace DateIntervalFormatter {
        export enum Style {
            none = 0,
            short = 1,
            medium = 2,
            long = 3,
            full = 4,
        }
    }
    export class ISO8601DateFormatter extends Formatter {
        /**
         * Options for generating and parsing ISO 8601 date representations. See 
         *  for possible values.
         */
        formatOptions: ISO8601DateFormatter.Options;
        /**
         * The time zone used to create and parse date representations. When unspecified, GMT is used.
         */
        timeZone: TimeZone!;
        /**
         * Initializes an ISO 8601 date formatter with default format, time zone, and options.
         */
        constructor ();
        /**
         * Creates and returns an ISO 8601 formatted string representation of the specified date.
         */
        string(date: Date):string;
        /**
         * Creates and returns a date object from the specified ISO 8601 formatted string representation.
         */
        date(_string: string):Date | null;
    }
    /**
     * the same name namespace of class ISO8601DateFormatter
     */
    export namespace ISO8601DateFormatter {
        export class Options {
            static withYear: ISO8601DateFormatter.Options;
            static withMonth: ISO8601DateFormatter.Options;
            static withWeekOfYear: ISO8601DateFormatter.Options;
            static withDay: ISO8601DateFormatter.Options;
            static withTime: ISO8601DateFormatter.Options;
            static withTimeZone: ISO8601DateFormatter.Options;
            static withSpaceBetweenDateAndTime: ISO8601DateFormatter.Options;
            static withDashSeparatorInDate: ISO8601DateFormatter.Options;
            static withColonSeparatorInTime: ISO8601DateFormatter.Options;
            static withColonSeparatorInTimeZone: ISO8601DateFormatter.Options;
            static withFullDate: ISO8601DateFormatter.Options;
            static withFullTime: ISO8601DateFormatter.Options;
            static withInternetDateTime: ISO8601DateFormatter.Options;
            static withFractionalSeconds: ISO8601DateFormatter.Options;
            constructor (rawValue: number);
        }
    }
    export class URLResourceKey {
        static isApplicationKey: URLResourceKey;
        static applicationIsScriptableKey: URLResourceKey;
        /**
         * Key for determining whether the resource is a directory, returned as a Boolean 
         *  object (read-only).
         */
        static isDirectoryKey: URLResourceKey;
        /**
         * The parent directory of the resource, returned as an 
         *  object, or 
         *  if the resource is the root directory of its volume (read-only).
         */
        static parentDirectoryURLKey: URLResourceKey;
        /**
         * The key for the total size allocated on-disk for the file.
         */
        static fileAllocatedSizeKey: URLResourceKey;
        /**
         * The key for the protection level of the file.
         */
        static fileProtectionKey: URLResourceKey;
        /**
         * The key for a value that APFS assigns to identify a file’s content data stream.
         */
        static fileContentIdentifierKey: URLResourceKey;
        /**
         * The key for the resource’s unique identifier.
         */
        static fileResourceIdentifierKey: URLResourceKey;
        /**
         * The key for the resource’s object type.
         */
        static fileResourceTypeKey: URLResourceKey;
        /**
         * The key for the resource’s security information.
         */
        static fileSecurityKey: URLResourceKey;
        /**
         * The key for the file’s size, in bytes.
         */
        static fileSizeKey: URLResourceKey;
        /**
         * The key for determining whether the file is an alias.
         */
        static isAliasFileKey: URLResourceKey;
        /**
         * The key for determining whether the resource is a file package
         */
        static isPackageKey: URLResourceKey;
        /**
         * The key for determining whether the resource is a regular file rather than a directory or a symbolic link.
         */
        static isRegularFileKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the file system can delete a file when the system needs to free space.
         */
        static isPurgeableKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the file has sparse regions.
         */
        static isSparseKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the file has extended attributes.
         */
        static mayHaveExtendedAttributesKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether cloned files and their original files may share data blocks.
         */
        static mayShareFileContentKey: URLResourceKey;
        /**
         * The key for the optimal block size to use when reading or writing the file’s data.
         */
        static preferredIOBlockSizeKey: URLResourceKey;
        /**
         * The key for the total allocated size of the file, in bytes.
         */
        static totalFileAllocatedSizeKey: URLResourceKey;
        /**
         * The key for the total displayable size of the file, in bytes.
         */
        static totalFileSizeKey: URLResourceKey;
        /**
         * Key for the volume’s available capacity in bytes (read-only).
         */
        static volumeAvailableCapacityKey: URLResourceKey;
        /**
         * Key for the volume’s available capacity in bytes for storing important resources (read-only).
         */
        static volumeAvailableCapacityForImportantUsageKey: URLResourceKey;
        /**
         * Key for the volume’s available capacity in bytes for storing nonessential resources (read-only).
         */
        static volumeAvailableCapacityForOpportunisticUsageKey: URLResourceKey;
        /**
         * Key for the volume’s total capacity in bytes (read-only).
         */
        static volumeTotalCapacityKey: URLResourceKey;
        /**
         * Key for determining whether the volume is automounted, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsAutomountedKey: URLResourceKey;
        /**
         * Key for determining whether the volume is visible in GUI-based file-browsing environments, such as the Desktop or the Finder application, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsBrowsableKey: URLResourceKey;
        /**
         * Key for determining whether the volume is ejectable from the drive mechanism under software control, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsEjectableKey: URLResourceKey;
        /**
         * Whether the volume is encrypted, returned as 
         *  containing a Boolean value (read-only).
         */
        static volumeIsEncryptedKey: URLResourceKey;
        /**
         * Key for determining whether the volume is connected to an internal bus, returned as a Boolean 
         *  object, or 
         *  if it cannot be determined (read-only).
         */
        static volumeIsInternalKey: URLResourceKey;
        /**
         * Key for determining whether the volume is currently journaling, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsJournalingKey: URLResourceKey;
        /**
         * Key for determining whether the volume is stored on a local device, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsLocalKey: URLResourceKey;
        /**
         * Key for determining whether the volume is read-only, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsReadOnlyKey: URLResourceKey;
        /**
         * Key for determining whether the volume is removable from the drive mechanism, returned as a Boolean 
         *  object (read-only).
         */
        static volumeIsRemovableKey: URLResourceKey;
        /**
         * Whether the volume is the root filesystem, returned as 
         *  containing a Boolean value (read-only).
         */
        static volumeIsRootFileSystemKey: URLResourceKey;
        /**
         * A Boolean value that indicates the volume supports data protection for files.
         */
        static volumeSupportsFileProtectionKey: URLResourceKey;
        /**
         * Key for determining whether the URL is a file system trigger directory, returned as a Boolean 
         *  object (read-only). Traversing or opening a file system trigger directory causes an attempt to mount a file system on the directory.
         */
        static isMountTriggerKey: URLResourceKey;
        /**
         * Key for determining whether the resource is the root directory of a volume, returned as a Boolean 
         *  object (read-only).
         */
        static isVolumeKey: URLResourceKey;
        /**
         * Key for the volume’s creation date, returned as an 
         *  object, or 
         *  if it cannot be determined (read-only).
         */
        static volumeCreationDateKey: URLResourceKey;
        /**
         * The unique identifier of the resource’s volume, returned as an 
         *  (read-only).
         */
        static volumeIdentifierKey: URLResourceKey;
        /**
         * Key for the volume’s descriptive format name, returned as an 
         *  object (read-only).
         */
        static volumeLocalizedFormatDescriptionKey: URLResourceKey;
        /**
         * The name of the volume as it should be displayed in the user interface, returned as an 
         *  object (read-only).
         */
        static volumeLocalizedNameKey: URLResourceKey;
        /**
         * Key for the largest file size supported by the volume in bytes, returned as a Boolean 
         *  object, or 
         *  if it cannot be determined (read-only).
         */
        static volumeMaximumFileSizeKey: URLResourceKey;
        /**
         * The name of the volume, returned as an 
         *  object (read-write). Settable only if 
         *  is 
         * .
         */
        static volumeNameKey: URLResourceKey;
        /**
         * Key for the total number of resources on the volume, returned as an 
         *  object (read-only).
         */
        static volumeResourceCountKey: URLResourceKey;
        static volumeSupportsAccessPermissionsKey: URLResourceKey;
        /**
         * Key for determining whether the volume implements whole-file advisory locks in the style of flock, along with the 
         *  and 
         *  flags of the open function, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsAdvisoryFileLockingKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports case-preserved names, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsCasePreservedNamesKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports case-sensitive names, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsCaseSensitiveNamesKey: URLResourceKey;
        /**
         * Whether the volume supports transparent decompression of compressed files using 
         * , returned as 
         *  containing a Boolean value (read-only).
         */
        static volumeSupportsCompressionKey: URLResourceKey;
        /**
         * Whether the volume supports exclusive renaming using 
         *  with the 
         *  option, returned as 
         *  containing a Boolean value (read-only).
         */
        static volumeSupportsExclusiveRenamingKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports extended security (access control lists), returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsExtendedSecurityKey: URLResourceKey;
        /**
         * Whether the volume supports cloning using 
         * , returned as 
         *  containing a Boolean value (read-only).
         */
        static volumeSupportsFileCloningKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports hard links, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsHardLinksKey: URLResourceKey;
        static volumeSupportsImmutableFilesKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports journaling, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsJournalingKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports persistent IDs, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsPersistentIDsKey: URLResourceKey;
        /**
         * Key for determining whether the volume can be renamed, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsRenamingKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports reliable storage of times for the root directory, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsRootDirectoryDatesKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports sparse files, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsSparseFilesKey: URLResourceKey;
        /**
         * Whether the volume supports renaming using 
         *  with the 
         *  option, returned as 
         *  containing a Boolean value (read-only).
         */
        static volumeSupportsSwapRenamingKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports symbolic links, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsSymbolicLinksKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports returning volume size information, returned as a Boolean 
         *  object (read-only). If 
         * , volume size information is available as values of the 
         *  and
         *  keys.
         */
        static volumeSupportsVolumeSizesKey: URLResourceKey;
        /**
         * Key for determining whether the volume supports zero runs, returned as a Boolean 
         *  object (read-only).
         */
        static volumeSupportsZeroRunsKey: URLResourceKey;
        /**
         * Key for the URL needed to remount the network volume, returned as an 
         *  object, or 
         *  if a URL is not available (read-only).
         */
        static volumeURLForRemountingKey: URLResourceKey;
        /**
         * The root directory of the resource’s volume, returned as an 
         *  object (read-only).
         */
        static volumeURLKey: URLResourceKey;
        /**
         * Key for the volume’s persistent UUID, returned as an 
         *  object, or 
         *  if a persistent UUID is not available (read-only).
         */
        static volumeUUIDStringKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the item is in iCloud storage.
         */
        static isUbiquitousItemKey: URLResourceKey;
        /**
         * The key for the name components of the most recent editor.
         */
        static ubiquitousSharedItemMostRecentEditorNameComponentsKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the system has already made a call 
         *  to download the item.
         */
        static ubiquitousItemDownloadRequestedKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the system is downloading the item from iCloud.
         */
        static ubiquitousItemIsDownloadingKey: URLResourceKey;
        /**
         * The key for an error object that indicates why downloading the item from iCloud fails.
         */
        static ubiquitousItemDownloadingErrorKey: URLResourceKey;
        /**
         * The key for the current download state for the item.
         */
        static ubiquitousItemDownloadingStatusKey: URLResourceKey;
        /**
         * The key of a Boolean value that indicates whether the system excludes the item from syncing.
         */
        static ubiquitousItemIsExcludedFromSyncKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the system uploads the item’s data to iCloud storage.
         */
        static ubiquitousItemIsUploadedKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the system is uploading the item to iCloud.
         */
        static ubiquitousItemIsUploadingKey: URLResourceKey;
        /**
         * The key for an error object that indicates why uploading the item to iCloud fails.
         */
        static ubiquitousItemUploadingErrorKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether this item has outstanding conflicts.
         */
        static ubiquitousItemHasUnresolvedConflictsKey: URLResourceKey;
        /**
         * The key for a string that contains the name of the item’s container as it appears to the user.
         */
        static ubiquitousItemContainerDisplayNameKey: URLResourceKey;
        /**
         * The key for the name components of the item’s owner.
         */
        static ubiquitousSharedItemOwnerNameComponentsKey: URLResourceKey;
        /**
         * The key for the current user’s permissions.
         */
        static ubiquitousSharedItemCurrentUserPermissionsKey: URLResourceKey;
        /**
         * The key for the role of the current user.
         */
        static ubiquitousSharedItemCurrentUserRoleKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates a shared item.
         */
        static ubiquitousItemIsSharedKey: URLResourceKey;
        /**
         * All thumbnails as a single NSImage (read-write).
         */
        static thumbnailKey: URLResourceKey;
        /**
         * A dictionary of NSImage/UIImage objects keyed by size (read-write). See 
         *  for a list of possible keys.
         */
        static thumbnailDictionaryKey: URLResourceKey;
        /**
         * Key for the resource properties that have not been set after the 
         *  method returns an error, returned as an array of 
         *  objects.
         */
        static keysOfUnsetValuesKey: URLResourceKey;
        static quarantinePropertiesKey: URLResourceKey;
        /**
         * The time at which the resource’s was created or renamed into or within its parent directory, returned as an 
         * . Inconsistent behavior may be observed when this attribute is requested on hard-linked items. This property is not supported by all volumes. (read-only)
         */
        static addedToDirectoryDateKey: URLResourceKey;
        /**
         * The time at which the resource’s attributes were most recently modified, returned as an 
         *  object if the volume supports attribute modification dates, or 
         *  if attribute modification dates are unsupported (read-only).
         */
        static attributeModificationDateKey: URLResourceKey;
        /**
         * The time at which the resource was most recently accessed.
         */
        static contentAccessDateKey: URLResourceKey;
        /**
         * The time at which the resource was most recently modified.
         */
        static contentModificationDateKey: URLResourceKey;
        /**
         * The time at which the resource was created.
         */
        static creationDateKey: URLResourceKey;
        /**
         * The icon stored with the resource, returned as an 
         *  object, or 
         *  if the resource has no custom icon.
         */
        static customIconKey: URLResourceKey;
        /**
         * The document identifier returned as an 
         *  (read-only). 
         */
        static documentIdentifierKey: URLResourceKey;
        /**
         * The resource’s normal icon, returned as an 
         *  object (read-only).
         */
        static effectiveIconKey: URLResourceKey;
        /**
         * An opaque generation identifier, returned as an 
         *  (read-only)
         */
        static generationIdentifierKey: URLResourceKey;
        /**
         * Key for determining whether the resource’s extension is normally removed from its localized name, returned as a Boolean 
         *  object (read-write).
         */
        static hasHiddenExtensionKey: URLResourceKey;
        /**
         * A key for indicating whether the system excludes the resource from all backups of app data.
         */
        static isExcludedFromBackupKey: URLResourceKey;
        /**
         * Key for determining whether the current process (as determined by the EUID) can execute the resource (if it is a file) or search the resource (if it is a directory), returned as a Boolean 
         *  object (read-only).
         */
        static isExecutableKey: URLResourceKey;
        /**
         * Key for determining whether the resource is normally not displayed to users, returned as a Boolean 
         *  object (read-write).
         */
        static isHiddenKey: URLResourceKey;
        /**
         * Key for determining whether the current process (as determined by the EUID) can read the resource, returned as a Boolean 
         *  object (read-only).
         */
        static isReadableKey: URLResourceKey;
        /**
         * Key for determining whether the resource is a symbolic link, returned as a Boolean 
         *  object (read-only).
         */
        static isSymbolicLinkKey: URLResourceKey;
        /**
         * Key for determining whether the resource's system immutable bit is set, returned as a Boolean 
         *  object (read-write).
         */
        static isSystemImmutableKey: URLResourceKey;
        /**
         * Key for determining whether the resource's user immutable bit is set, returned as a Boolean 
         *  object (read-write).
         */
        static isUserImmutableKey: URLResourceKey;
        /**
         * Key for determining whether the current process (as determined by the EUID) can write to the resource, returned as a Boolean 
         *  object (read-only).
         */
        static isWritableKey: URLResourceKey;
        /**
         * The resource’s label color, returned as an 
         *  object, or 
         *  if the resource has no label color (read-only).
         */
        static labelColorKey: URLResourceKey;
        /**
         * The resource’s label number, returned as an 
         *  object (read-write).
         */
        static labelNumberKey: URLResourceKey;
        /**
         * The number of hard links to the resource, returned as an 
         *  object (read-only).
         */
        static linkCountKey: URLResourceKey;
        /**
         * The resource’s localized label text, returned as an 
         *  object, or 
         *  if the resource has no localized label text (read-only).
         */
        static localizedLabelKey: URLResourceKey;
        /**
         * The resource’s localized or extension-hidden name, returned as an 
         *  object (read-only).
         */
        static localizedNameKey: URLResourceKey;
        /**
         * The resource’s localized type description, returned as an 
         *  object (read-only).
         */
        static localizedTypeDescriptionKey: URLResourceKey;
        /**
         * The resource’s name in the file system, returned as an 
         *  object (read-write).
         */
        static nameKey: URLResourceKey;
        /**
         * The file system path for the URL, returned as an 
         *  object (read-only).
         */
        static pathKey: URLResourceKey;
        static canonicalPathKey: URLResourceKey;
        /**
         * The names of tags attached to the resource, returned as an array of 
         *  values (read-write).
         */
        static tagNamesKey: URLResourceKey;
        /**
         * The resource’s uniform type identifier (UTI), returned as an 
         *  object (read-only).
         */
        static typeIdentifierKey: URLResourceKey;
        /**
         * The resource’s type.
         */
        static contentTypeKey: URLResourceKey;
        /**
         * The key for a Boolean value that indicates whether the system downloaded this item’s data from iCloud storage.
         */
        static ubiquitousItemIsDownloadedKey: URLResourceKey;
        /**
         * The key for a value that indicates the percentage of data that the system downloaded from iCloud storage.
         */
        static ubiquitousItemPercentDownloadedKey: URLResourceKey;
        /**
         * The key for a value that indicates the percentage of data that the system uploaded to iCloud storage.
         */
        static ubiquitousItemPercentUploadedKey: URLResourceKey;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export class URLFileProtection {
        /**
         * The file is stored in an encrypted format on disk and cannot be read from or written to while the device is locked or booting.
         */
        static complete: URLFileProtection;
        /**
         * The file is stored in an encrypted format on disk after it is closed.
         */
        static completeUnlessOpen: URLFileProtection;
        /**
         * The file is stored in an encrypted format on disk and cannot be accessed until after the device has booted.
         */
        static completeUntilFirstUserAuthentication: URLFileProtection;
        /**
         * The file has no special protections associated with it.
         */
        static none: URLFileProtection;
        /**
         * Creates a URL file protection type value.
         */
        constructor (rawValue: string);
    }
    export class URLFileResourceType {
        /**
         * The resource is a named pipe.
         */
        static namedPipe: URLFileResourceType;
        /**
         * The resource is a character special file.
         */
        static characterSpecial: URLFileResourceType;
        /**
         * The resource is a directory.
         */
        static directory: URLFileResourceType;
        /**
         * The resource is a block special file.
         */
        static blockSpecial: URLFileResourceType;
        /**
         * The resource is a regular file.
         */
        static regular: URLFileResourceType;
        /**
         * The resource is a symbolic link.
         */
        static symbolicLink: URLFileResourceType;
        /**
         * The resource is a socket.
         */
        static socket: URLFileResourceType;
        /**
         * The resource’s type is unknown.
         */
        static unknown: URLFileResourceType;
        /**
         * Creates a file resource type from the provided constant string.
         */
        constructor (rawValue: string);
    }
    export class URLUbiquitousItemDownloadingStatus {
        /**
         * A local copy of this item exists and is the most up-to-date version known to the device.
         */
        static current: URLUbiquitousItemDownloadingStatus;
        /**
         * A local copy of this item exists, but it is stale. The most recent version will be downloaded as soon as possible.
         */
        static downloaded: URLUbiquitousItemDownloadingStatus;
        /**
         * This item has not been downloaded yet. Use 
         *  to download it.
         */
        static notDownloaded: URLUbiquitousItemDownloadingStatus;
        /**
         * Creates a download status instance from the provided constant string.
         */
        constructor (rawValue: string);
    }
    export class URLUbiquitousSharedItemRole {
        static owner: URLUbiquitousSharedItemRole;
        static participant: URLUbiquitousSharedItemRole;
        /**
         * Creates a shared item role instance from the provided constant string.
         */
        constructor (rawValue: string);
    }
    export class URLUbiquitousSharedItemPermissions {
        static readOnly: URLUbiquitousSharedItemPermissions;
        static readWrite: URLUbiquitousSharedItemPermissions;
        /**
         * Creates a shared item permissions instance from the provided constant string.
         */
        constructor (rawValue: string);
    }
    export class URLThumbnailDictionaryItem {
        /**
         * A 1024 x 1024 pixel thumbnail as a 
         *  on iOS or an 
         *  in macOS.
         */
        static NSThumbnail1024x1024SizeKey: URLThumbnailDictionaryItem;
        /**
         * Creates a thumbnail dictionary item key from the provided constant string.
         */
        constructor (rawValue: string);
        /**
         * Creates a thumbnail dictionary item key from the provided raw value string.
         */
        constructor (rawValue: string);
    }
    export class URLResourceValues {
        /**
         * A Boolean value that indicates whether the application is scriptable.
         */
        applicationIsScriptable: boolean;
        /**
         * A Boolean value that indicates whether the resource is an application.
         */
        isApplication: boolean;
        /**
         * A Boolean value that indicates whether the resource is a directory.
         */
        isDirectory: boolean;
        /**
         * A value that the kernel assigns to identify a document.
         */
        documentIdentifier: number;
        /**
         * A value APFS assigns that identifies a file’s content data stream.
         */
        fileContentIdentifier: Int64 | null;
        /**
         * The total allocated size on-disk for the file, in bytes.
         */
        fileAllocatedSize: number;
        /**
         * The protection level for the file.
         */
        fileProtection: URLFileProtection | null;
        /**
         * An identifier for comparing two file system objects for equality.
         */
        fileResourceIdentifier: ((NSCopying & NSSecureCoding & NSObjectProtocol));
        /**
         * The type of the file system object.
         */
        fileResourceType: URLFileResourceType | null;
        /**
         * The file system object’s security information.
         */
        fileSecurity: NSFileSecurity | null;
        /**
         * The total file size, in bytes.
         */
        fileSize: number;
        /**
         * A Boolean value that indicates whether the file system can delete a file when the system needs to free space.
         */
        isPurgeable: boolean;
        /**
         * A Boolean value that indicates whether the file has sparse regions.
         */
        isSparse: boolean;
        /**
         * A Boolean value that indicates the file may have extended attributes.
         */
        mayHaveExtendedAttributes: boolean;
        /**
         * A Boolean value that indicates whether you can execute the file resource or search a directory resource.
         */
        isExecutable: boolean;
        /**
         * A Boolean value that indicates whether the resource is a regular file.
         */
        isRegularFile: boolean;
        /**
         * A Boolean value that indicates whether the cloned files and their original files may share data blocks.
         */
        mayShareFileContent: boolean;
        /**
         * The total allocated size of the file, in bytes.
         */
        totalFileAllocatedSize: number;
        /**
         * The total displayable size of the file, in bytes.
         */
        totalFileSize: number;
        /**
         * The volume’s available capacity, in bytes.
         */
        volumeAvailableCapacity: number;
        /**
         * The volume’s available capacity for storing important resources, in bytes.
         */
        volumeAvailableCapacityForImportantUsage: Int64 | null;
        /**
         * The volume’s available capacity for storing nonessential resources, in bytes.
         */
        volumeAvailableCapacityForOpportunisticUsage: Int64 | null;
        /**
         * The volume’s total capacity, in bytes.
         */
        volumeTotalCapacity: number;
        /**
         * A Boolean value that indicates whether the volume is automounted.
         */
        volumeIsAutomounted: boolean;
        /**
         * A Boolean value that indicates whether the volume is visible through the user interface.
         */
        volumeIsBrowsable: boolean;
        /**
         * A Boolean value that indicates whether the volume’s media is ejectable from the drive mechanism under software control.
         */
        volumeIsEjectable: boolean;
        /**
         * A Boolean value that indicates whether the volume is encrypted.
         */
        volumeIsEncrypted: boolean;
        /**
         * A Boolean value that indicates whether the volume’s device is connected to an internal bus, or 
         *  if not available.
         */
        volumeIsInternal: boolean;
        /**
         * A Boolean value that indicates whether the volume is currently using a journal for speedy recovery after an unplanned restart.
         */
        volumeIsJournaling: boolean;
        /**
         * A Boolean value that indicates whether the volume is stored on a local device.
         */
        volumeIsLocal: boolean;
        /**
         * A Boolean value that indicates whether the volume is read-only.
         */
        volumeIsReadOnly: boolean;
        /**
         * A Boolean value that indicates whether the volume’s media is removable from the drive mechanism.
         */
        volumeIsRemovable: boolean;
        /**
         * A Boolean value that indicates whether the volume is the root filesystem.
         */
        volumeIsRootFileSystem: boolean;
        /**
         * A Boolean value that indicates whether this URL is a file system trigger directory.
         */
        isMountTrigger: boolean;
        /**
         * A Boolean value that indicates whether the root directory is a volume.
         */
        isVolume: boolean;
        /**
         * URL of the volume on which the resource is stored.
         */
        volume: URL | null;
        /**
         * The volume’s creation date, or 
         *  if this cannot be determined.
         */
        volumeCreationDate: Date | null;
        /**
         * An identifier that identifies the volume the file system object is on.
         */
        volumeIdentifier: ((NSCopying & NSSecureCoding & NSObjectProtocol));
        /**
         * The volume format that’s visible to the user.
         */
        volumeLocalizedFormatDescription: string;
        /**
         * The name of the volume that’s visible to the user.
         */
        volumeLocalizedName: string;
        /**
         * The largest file size supported by this file system, in bytes, or 
         *  if this cannot be determined.
         */
        volumeMaximumFileSize: number;
        /**
         * The name of the volume.
         */
        volumeName: string;
        /**
         * The total number of resources on the volume.
         */
        volumeResourceCount: number;
        /**
         * A Boolean value that indicates whether the volume supports setting standard access permissions.
         */
        volumeSupportsAccessPermissions: boolean;
        /**
         * A Boolean value that indicates whether the volume implements whole-file flock(2) style advisory locks, and the O_EXLOCK and O_SHLOCK flags of the open(2) call.
         */
        volumeSupportsAdvisoryFileLocking: boolean;
        /**
         * A Boolean value that indicates whether the volume format preserves the case of file and directory names.
         */
        volumeSupportsCasePreservedNames: boolean;
        /**
         * A Boolean value that indicates whether the volume format treats upper and lower case characters in file and directory names as different.
         */
        volumeSupportsCaseSensitiveNames: boolean;
        /**
         * A Boolean value that indicates whether the volume supports transparent decompression of compressed files using decmpfs.
         */
        volumeSupportsCompression: boolean;
        /**
         * A Boolean value that indicates whether the volume warns of a pre-existing destination when renaming a file.
         */
        volumeSupportsExclusiveRenaming: boolean;
        /**
         * A Boolean value that indicates whether the volume implements extended security (ACLs).
         */
        volumeSupportsExtendedSecurity: boolean;
        /**
         * A Boolean value that indicates whether the volume supports file cloning.
         */
        volumeSupportsFileCloning: boolean;
        /**
         * A Boolean value that indicates whether the volume format supports hard links.
         */
        volumeSupportsHardLinks: boolean;
        /**
         * A Boolean value that indicates whether the volume supports making files immutable.
         */
        volumeSupportsImmutableFiles: boolean;
        /**
         * A Boolean value that indicates whether the volume format supports a journal used to speed recovery in case of unplanned restart (such as a power outage or crash).
         */
        volumeSupportsJournaling: boolean;
        /**
         * A Boolean value that indicates whether the volume format supports persistent object identifiers and can look up file system objects by their IDs.
         */
        volumeSupportsPersistentIDs: boolean;
        /**
         * A Boolean value that indicates whether the volume can be renamed.
         */
        volumeSupportsRenaming: boolean;
        /**
         * A Boolean value that indicates whether the volume supports reliable storage of times for the root directory.
         */
        volumeSupportsRootDirectoryDates: boolean;
        /**
         * A Boolean value that indicates whether the volume format supports sparse files.
         */
        volumeSupportsSparseFiles: boolean;
        /**
         * A Boolean value that indicates whether the volume supports swapping source and target files when both exist.
         */
        volumeSupportsSwapRenaming: boolean;
        /**
         * A Boolean value that indicates whether the volume format supports symbolic links.
         */
        volumeSupportsSymbolicLinks: boolean;
        /**
         * A Boolean value that indicates whether the volume supports returning volume size values.
         */
        volumeSupportsVolumeSizes: boolean;
        /**
         * A Boolean value that indicates whether the volume keeps track of allocated but unwritten parts of a file so that it can substitute zeroes without actually writing zeroes to the media.
         */
        volumeSupportsZeroRuns: boolean;
        /**
         * The 
         *  needed to remount a network volume, or 
         *  if not available.
         */
        volumeURLForRemounting: URL | null;
        /**
         * The volume’s persistent 
         *  as a string, or 
         *  if a persistent 
         *  is not available for the volume.
         */
        volumeUUIDString: string;
        /**
         * A Boolean value that indicates whether the item is in the iCloud storage.
         */
        isUbiquitousItem: boolean;
        /**
         * A Boolean value that indicates a shared item.
         */
        ubiquitousItemIsShared: boolean;
        /**
         * A Boolean value that indicates the system excludes the item from syncing.
         */
        ubiquitousItemIsExcludedFromSync: boolean;
        /**
         * The current user’s permissions for the shared item.
         */
        ubiquitousSharedItemCurrentUserPermissions: URLUbiquitousSharedItemPermissions | null;
        /**
         * The current user’s role for the shared item.
         */
        ubiquitousSharedItemCurrentUserRole: URLUbiquitousSharedItemRole | null;
        /**
         * The name components of the most recent editor of the shared item.
         */
        ubiquitousSharedItemMostRecentEditorNameComponents: PersonNameComponents | null;
        /**
         * The name components of the owner of the shared item.
         */
        ubiquitousSharedItemOwnerNameComponents: PersonNameComponents | null;
        /**
         * The name of the item’s container as the system displays it to users.
         */
        ubiquitousItemContainerDisplayName: string;
        /**
         * A Boolean value that indicates whether the user or the system requests a download of the item.
         */
        ubiquitousItemDownloadRequested: boolean;
        /**
         * The error when downloading the item from iCloud fails.
         */
        ubiquitousItemDownloadingError: NSError | null;
        /**
         * The download status of the item.
         */
        ubiquitousItemDownloadingStatus: URLUbiquitousItemDownloadingStatus | null;
        /**
         * A Boolean value that indicates whether the item has outstanding conflicts.
         */
        ubiquitousItemHasUnresolvedConflicts: boolean;
        /**
         * A Boolean value that indicates whether the system is downloading the item.
         */
        ubiquitousItemIsDownloading: boolean;
        /**
         * A Boolean value that indicates whether data is present in the cloud for the item.
         */
        ubiquitousItemIsUploaded: boolean;
        /**
         * A Boolean value that indicates whether the system is uploading the item.
         */
        ubiquitousItemIsUploading: boolean;
        /**
         * The error when uploading the item to iCloud fails.
         */
        ubiquitousItemUploadingError: NSError | null;
        /**
         * A thumbnail image of the URL.
         */
        thumbnail: NSImage | null;
        /**
         * A dictionary of UIKit image objects keyed by size.
         */
        thumbnailDictionary: Record<URLThumbnailDictionaryItem, UIImage> | null;
        /**
         * The date the resource was created, or renamed into or within its parent directory. 
         */
        addedToDirectoryDate: Date | null;
        /**
         * A loosely-typed dictionary containing all keys and values.
         */
        allValues: Record<URLResourceKey, any>;
        /**
         * The time the resource’s attributes were last modified.
         */
        attributeModificationDate: Date | null;
        /**
         * The URL’s path as a canonical absolute file system path.
         */
        canonicalPath: string;
        /**
         * The date the resource was last accessed.
         */
        contentAccessDate: Date | null;
        /**
         * The time the resource content was last modified.
         */
        contentModificationDate: Date | null;
        /**
         * The date the resource was created.
         */
        creationDate: Date | null;
        customIcon: NSImage | null;
        effectiveIcon: AnyObject | null;
        /**
         * An opaque generation identifier which can be compared using 
         *  to determine if the data in a document has been modified.
         */
        generationIdentifier: ((NSCopying & NSSecureCoding & NSObjectProtocol));
        /**
         * True for resources whose filename extension is removed from the localized name property.
         */
        hasHiddenExtension: boolean;
        /**
         * true if the resource is a Finder alias file or a symlink, false otherwise
         */
        isAliasFile: boolean;
        /**
         * True if resource should be excluded from backups, false otherwise.
         */
        isExcludedFromBackup: boolean;
        /**
         * True for resources normally not displayed to users.
         */
        isHidden: boolean;
        /**
         * True for packaged directories.
         */
        isPackage: boolean;
        /**
         * True if this process (as determined by EUID) can read the resource.
         */
        isReadable: boolean;
        /**
         * True for symlinks.
         */
        isSymbolicLink: boolean;
        /**
         * True for system-immutable resources.
         */
        isSystemImmutable: boolean;
        /**
         * True for user-immutable resources
         */
        isUserImmutable: boolean;
        /**
         * True if this process (as determined by EUID) can write to the resource.
         */
        isWritable: boolean;
        labelColor: NSColor | null;
        /**
         * The label number assigned to the resource.
         */
        labelNumber: number;
        /**
         * Number of hard links to the resource.
         */
        linkCount: number;
        /**
         * The user-visible label text.
         */
        localizedLabel: string;
        /**
         * Localized or extension-hidden name as displayed to users.
         */
        localizedName: string;
        /**
         * User-visible type or “kind” description.
         */
        localizedTypeDescription: string;
        /**
         * The resource name provided by the file system.
         */
        name: string;
        /**
         * The resource’s parent directory, if any.
         */
        parentDirectory: URL | null;
        /**
         * The URL’s path as a file system path.
         */
        path: string;
        /**
         * The optimal block size when reading or writing this file’s data, or nil if not available.
         */
        preferredIOBlockSize: number;
        /**
         * The quarantine properties as defined in LSQuarantine.h. To remove quarantine information from a file, pass 
         *  as the value when setting this property.
         */
        quarantineProperties: Record<string, any> | null;
        /**
         * The array of Tag names.
         */
        tagNames: string[] | null;
        /**
         * A string that represents the identifier for the type of the resource.
         */
        typeIdentifier: string;
        /**
         * The resource’s type.
         */
        contentType: UTType | null;
        /**
         * Initializes a new resource values structure.
         */
        constructor ();
    }
    export class NSMeasurement extends NSObject {
        /**
         * The unit of measure.
         */
        unit: Unit;
        /**
         * The measurement value, represented as a double-precision floating-point number.
         */
        doubleValue: number;
        /**
         * Initializes a new measurement with a specified double-precision floating-point value and unit.
         */
        constructor (doubleValue: number, unit: Unit);
        /**
         * Indicates whether the measurement can be converted to the given unit.
         */
        canBeConverted(unit: Unit):boolean;
        /**
         * Returns a measurement created by converting the receiver to the specified unit.
         */
        converting(unit: Unit):Measurement<Unit>;
        /**
         * Returns a new measurement by adding the receiver to the specified measurement.
         */
        adding(measurement: Measurement<Unit>):Measurement<Unit>;
        /**
         * Returns a new measurement by subtracting the specified measurement from the receiver.
         */
        subtracting(measurement: Measurement<Unit>):Measurement<Unit>;
    }
    export class Unit extends NSObject {
        /**
         * The symbolic representation of the unit.
         */
        symbol: string;
        /**
         * Initializes a new unit with the specified symbol.
         */
        constructor (symbol: string);
    }
    export class Dimension extends Unit {
        /**
         * The unit converter that represents the unit in terms of the dimension’s base unit.
         */
        converter: UnitConverter;
        /**
         * Initializes a dimensional unit with the symbol and unit converter you specify.
         */
        constructor (symbol: string, converter: UnitConverter);
        constructor (forLocale: Locale);
        /**
         * Returns the base unit.
         */
        static baseUnit():Self;
    }
    export class UnitConverter extends NSObject {
        /**
         * For a given unit, returns the specified value of that unit in terms of the base unit of its dimension.
         */
        baseUnitValue(value: number):number;
        /**
         * For a given unit, returns the specified value of the base unit in terms of that unit.
         */
        value(baseUnitValue: number):number;
    }
    export class UnitConverterLinear extends UnitConverter {
        /**
         * The coefficient to use in the linear unit conversion calculation.
         */
        coefficient: number;
        /**
         * The constant to use in the linear unit conversion calculation.
         */
        constant: number;
        /**
         * Initializes the unit converter with the coefficient you specify.
         */
        constructor (coefficient: number);
        /**
         * Creates a unit converter with the coefficient and constant you specify.
         */
        constructor (coefficient: number, constant: number);
    }
    export class UnitArea extends Dimension {
        /**
         * The square megameters unit of area.
         */
        static squareMegameters: UnitArea;
        /**
         * The square kilometers unit of area.
         */
        static squareKilometers: UnitArea;
        /**
         * The square meters unit of area.
         */
        static squareMeters: UnitArea;
        /**
         * The square centimeters unit of area.
         */
        static squareCentimeters: UnitArea;
        /**
         * The square millimeters unit of area.
         */
        static squareMillimeters: UnitArea;
        /**
         * The square micrometers unit of area.
         */
        static squareMicrometers: UnitArea;
        /**
         * The square nanometers unit of area.
         */
        static squareNanometers: UnitArea;
        /**
         * The square inches unit of area.
         */
        static squareInches: UnitArea;
        /**
         * The square feet unit of area.
         */
        static squareFeet: UnitArea;
        /**
         * The square yards unit of area.
         */
        static squareYards: UnitArea;
        /**
         * The square miles unit of area.
         */
        static squareMiles: UnitArea;
        /**
         * The acres unit of area.
         */
        static acres: UnitArea;
        /**
         * The ares unit of area.
         */
        static ares: UnitArea;
        /**
         * The hectares unit of area.
         */
        static hectares: UnitArea;
    }
    export class UnitLength extends Dimension {
        /**
         * The megameters unit of length.
         */
        static megameters: UnitLength;
        /**
         * The kilometers unit of length.
         */
        static kilometers: UnitLength;
        /**
         * The hectometers unit of length.
         */
        static hectometers: UnitLength;
        /**
         * The decameters unit of length.
         */
        static decameters: UnitLength;
        /**
         * The meters unit of length.
         */
        static meters: UnitLength;
        /**
         * The decimeters unit of length.
         */
        static decimeters: UnitLength;
        /**
         * The centimeters unit of length.
         */
        static centimeters: UnitLength;
        /**
         * The millimeters unit of length.
         */
        static millimeters: UnitLength;
        /**
         * The micrometers unit of length.
         */
        static micrometers: UnitLength;
        /**
         * The nanometers unit of length.
         */
        static nanometers: UnitLength;
        /**
         * The picometers unit of length.
         */
        static picometers: UnitLength;
        /**
         * The inches unit of length.
         */
        static inches: UnitLength;
        /**
         * The feet unit of length.
         */
        static feet: UnitLength;
        /**
         * The yards unit of length.
         */
        static yards: UnitLength;
        /**
         * The miles unit of length.
         */
        static miles: UnitLength;
        /**
         * The Scandinavian miles unit of length.
         */
        static scandinavianMiles: UnitLength;
        /**
         * The light years unit of length.
         */
        static lightyears: UnitLength;
        /**
         * The nautical miles unit of length.
         */
        static nauticalMiles: UnitLength;
        /**
         * The fathoms unit of length.
         */
        static fathoms: UnitLength;
        /**
         * The furlongs unit of length.
         */
        static furlongs: UnitLength;
        /**
         * The astronomical units unit of length.
         */
        static astronomicalUnits: UnitLength;
        /**
         * The parsecs unit of length.
         */
        static parsecs: UnitLength;
        constructor (forLocale: Locale, usage: MeasurementFormatUnitUsage<UnitLength>);
    }
    export class UnitVolume extends Dimension {
        /**
         * The megaliters unit of volume.
         */
        static megaliters: UnitVolume;
        /**
         * The kiloliters unit of volume.
         */
        static kiloliters: UnitVolume;
        /**
         * The liters unit of volume.
         */
        static liters: UnitVolume;
        /**
         * The deciliters unit of volume.
         */
        static deciliters: UnitVolume;
        /**
         * The centiliters unit of volume.
         */
        static centiliters: UnitVolume;
        /**
         * The milliliters unit of volume.
         */
        static milliliters: UnitVolume;
        /**
         * The cubic kilometers unit of volume.
         */
        static cubicKilometers: UnitVolume;
        /**
         * The cubic meters unit of volume.
         */
        static cubicMeters: UnitVolume;
        /**
         * The cubic decimeters unit of volume.
         */
        static cubicDecimeters: UnitVolume;
        /**
         * The cubic centimeters unit of volume.
         */
        static cubicCentimeters: UnitVolume;
        /**
         * The cubic millimeters unit of volume.
         */
        static cubicMillimeters: UnitVolume;
        /**
         * The cubic inches unit of volume.
         */
        static cubicInches: UnitVolume;
        /**
         * The cubic feet unit of volume.
         */
        static cubicFeet: UnitVolume;
        /**
         * The cubic yards unit of volume.
         */
        static cubicYards: UnitVolume;
        /**
         * The cubic miles unit of volume.
         */
        static cubicMiles: UnitVolume;
        /**
         * The acre feet unit of volume.
         */
        static acreFeet: UnitVolume;
        /**
         * The bushels unit of volume.
         */
        static bushels: UnitVolume;
        /**
         * The teaspoons unit of volume.
         */
        static teaspoons: UnitVolume;
        /**
         * The tablespoons unit of volume.
         */
        static tablespoons: UnitVolume;
        /**
         * The fluid ounces unit of volume.
         */
        static fluidOunces: UnitVolume;
        /**
         * The cups unit of volume.
         */
        static cups: UnitVolume;
        /**
         * The pints unit of volume.
         */
        static pints: UnitVolume;
        /**
         * The quarts unit of volume.
         */
        static quarts: UnitVolume;
        /**
         * The gallons unit of volume.
         */
        static gallons: UnitVolume;
        /**
         * The imperial teaspoons unit of volume.
         */
        static imperialTeaspoons: UnitVolume;
        /**
         * The imperial tablespoons unit of volume.
         */
        static imperialTablespoons: UnitVolume;
        /**
         * The imperial fluid ounces unit of volume.
         */
        static imperialFluidOunces: UnitVolume;
        /**
         * The imperial pints unit of volume.
         */
        static imperialPints: UnitVolume;
        /**
         * The imperial quarts unit of volume.
         */
        static imperialQuarts: UnitVolume;
        /**
         * The imperial gallons unit of volume.
         */
        static imperialGallons: UnitVolume;
        /**
         * The metric cups unit of volume.
         */
        static metricCups: UnitVolume;
        constructor (forLocale: Locale, usage: MeasurementFormatUnitUsage<UnitVolume>);
    }
    export class UnitAngle extends Dimension {
        /**
         * The degrees unit of angle.
         */
        static degrees: UnitAngle;
        /**
         * The arc minutes unit of angle.
         */
        static arcMinutes: UnitAngle;
        /**
         * The arc seconds unit of angle.
         */
        static arcSeconds: UnitAngle;
        /**
         * The radians unit of angle.
         */
        static radians: UnitAngle;
        /**
         * The gradians unit of angle.
         */
        static gradians: UnitAngle;
        /**
         * The revolutions unit of angle.
         */
        static revolutions: UnitAngle;
    }
    export class UnitMass extends Dimension {
        /**
         * The kilograms unit of mass.
         */
        static kilograms: UnitMass;
        /**
         * The grams unit of mass.
         */
        static grams: UnitMass;
        /**
         * The decigrams unit of mass.
         */
        static decigrams: UnitMass;
        /**
         * The centigrams unit of mass.
         */
        static centigrams: UnitMass;
        /**
         * The milligrams unit of mass.
         */
        static milligrams: UnitMass;
        /**
         * The micrograms unit of mass.
         */
        static micrograms: UnitMass;
        /**
         * The nanograms unit of mass.
         */
        static nanograms: UnitMass;
        /**
         * The picograms unit of mass.
         */
        static picograms: UnitMass;
        /**
         * The ounces unit of mass.
         */
        static ounces: UnitMass;
        /**
         * The pounds unit of mass.
         */
        static pounds: UnitMass;
        /**
         * The stone unit of mass.
         */
        static stones: UnitMass;
        /**
         * The metric tons unit of mass.
         */
        static metricTons: UnitMass;
        /**
         * The short tons unit of mass.
         */
        static shortTons: UnitMass;
        /**
         * The carats unit of mass.
         */
        static carats: UnitMass;
        /**
         * The ounces troy unit of mass.
         */
        static ouncesTroy: UnitMass;
        /**
         * The slugs unit of mass.
         */
        static slugs: UnitMass;
        constructor (forLocale: Locale, usage: MeasurementFormatUnitUsage<UnitMass>);
    }
    export class UnitPressure extends Dimension {
        /**
         * The gigapascals unit of pressure.
         */
        static gigapascals: UnitPressure;
        /**
         * The megapascals unit of pressure.
         */
        static megapascals: UnitPressure;
        /**
         * The kilopascals unit of pressure.
         */
        static kilopascals: UnitPressure;
        /**
         * The hectopascals unit of pressure.
         */
        static hectopascals: UnitPressure;
        /**
         * The inches of mercury unit of pressure.
         */
        static inchesOfMercury: UnitPressure;
        /**
         * The bars unit of pressure.
         */
        static bars: UnitPressure;
        /**
         * The millibars unit of pressure.
         */
        static millibars: UnitPressure;
        /**
         * The millimeters of mercury unit of pressure.
         */
        static millimetersOfMercury: UnitPressure;
        /**
         * The newtons per square meter unit of pressure.
         */
        static newtonsPerMetersSquared: UnitPressure;
        /**
         * The pounds per square inch unit of pressure.
         */
        static poundsForcePerSquareInch: UnitPressure;
    }
    export class UnitAcceleration extends Dimension {
        /**
         * Returns the meter per second squared unit of acceleration.
         */
        static metersPerSecondSquared: UnitAcceleration;
        /**
         * Returns the gravity unit of acceleration.
         */
        static gravity: UnitAcceleration;
    }
    export class UnitDuration extends Dimension {
        /**
         * The hour unit of duration.
         */
        static hours: UnitDuration;
        /**
         * The minute unit of duration.
         */
        static minutes: UnitDuration;
        /**
         * The second unit of duration.
         */
        static seconds: UnitDuration;
        /**
         * The millisecond unit of duration.
         */
        static milliseconds: UnitDuration;
        /**
         * The microsecond unit of duration.
         */
        static microseconds: UnitDuration;
        /**
         * The nanosecond unit of duration.
         */
        static nanoseconds: UnitDuration;
        /**
         * The picosecond unit of duration.
         */
        static picoseconds: UnitDuration;
    }
    export class UnitFrequency extends Dimension {
        /**
         * The terahertz unit of frequency.
         */
        static terahertz: UnitFrequency;
        /**
         * The gigahertz unit of frequency.
         */
        static gigahertz: UnitFrequency;
        /**
         * The megahertz unit of frequency.
         */
        static megahertz: UnitFrequency;
        /**
         * The kilohertz unit of frequency.
         */
        static kilohertz: UnitFrequency;
        /**
         * The hertz unit of frequency.
         */
        static hertz: UnitFrequency;
        /**
         * The millihertz unit of frequency.
         */
        static millihertz: UnitFrequency;
        /**
         * The microhertz unit of frequency.
         */
        static microhertz: UnitFrequency;
        /**
         * The nanohertz unit of frequency.
         */
        static nanohertz: UnitFrequency;
        /**
         * The frames per second unit of frequency.
         */
        static framesPerSecond: UnitFrequency;
    }
    export class UnitSpeed extends Dimension {
        /**
         * The meter per second unit of speed.
         */
        static metersPerSecond: UnitSpeed;
        /**
         * The kilometers per hour unit of speed.
         */
        static kilometersPerHour: UnitSpeed;
        /**
         * The miles per hour unit of speed.
         */
        static milesPerHour: UnitSpeed;
        /**
         * The knots unit of speed.
         */
        static knots: UnitSpeed;
    }
    export class UnitEnergy extends Dimension {
        /**
         * The kilojoules unit of energy.
         */
        static kilojoules: UnitEnergy;
        /**
         * The joules unit of energy.
         */
        static joules: UnitEnergy;
        /**
         * The kilocalories unit of energy.
         */
        static kilocalories: UnitEnergy;
        /**
         * The calories unit of energy.
         */
        static calories: UnitEnergy;
        /**
         * The kilowatt hours unit of energy.
         */
        static kilowattHours: UnitEnergy;
        constructor (forLocale: Locale, usage: MeasurementFormatUnitUsage<UnitEnergy>);
    }
    export class UnitPower extends Dimension {
        /**
         * The terawatts unit of power.
         */
        static terawatts: UnitPower;
        /**
         * The gigawatts unit of power.
         */
        static gigawatts: UnitPower;
        /**
         * The megawatts unit of power.
         */
        static megawatts: UnitPower;
        /**
         * The kilowatts unit of power.
         */
        static kilowatts: UnitPower;
        /**
         * The watts unit of power.
         */
        static watts: UnitPower;
        /**
         * The milliwatts unit of power.
         */
        static milliwatts: UnitPower;
        /**
         * The microwatts unit of power.
         */
        static microwatts: UnitPower;
        /**
         * The nanowatts unit of power.
         */
        static nanowatts: UnitPower;
        /**
         * The picowatts unit of power.
         */
        static picowatts: UnitPower;
        /**
         * The femtowatts unit of power.
         */
        static femtowatts: UnitPower;
        /**
         * The horsepower unit of power.
         */
        static horsepower: UnitPower;
    }
    export class UnitTemperature extends Dimension {
        /**
         * The kelvin unit of temperature.
         */
        static kelvin: UnitTemperature;
        /**
         * The degree Celsius unit of temperature.
         */
        static celsius: UnitTemperature;
        /**
         * The degree Fahrenheit unit of temperature.
         */
        static fahrenheit: UnitTemperature;
        constructor (forLocale: Locale, usage: MeasurementFormatUnitUsage<UnitTemperature>);
    }
    export class UnitIlluminance extends Dimension {
        /**
         * The lux unit of illuminance.
         */
        static lux: UnitIlluminance;
    }
    export class UnitElectricCharge extends Dimension {
        /**
         * The coulombs unit of electric charge.
         */
        static coulombs: UnitElectricCharge;
        /**
         * The megaampere hours unit of electric charge.
         */
        static megaampereHours: UnitElectricCharge;
        /**
         * The kiloampere hours unit of electric charge.
         */
        static kiloampereHours: UnitElectricCharge;
        /**
         * The ampere hours unit of electric charge.
         */
        static ampereHours: UnitElectricCharge;
        /**
         * The milliampere hours unit of electric charge.
         */
        static milliampereHours: UnitElectricCharge;
        /**
         * The microampere hours unit of electric charge.
         */
        static microampereHours: UnitElectricCharge;
    }
    export class UnitElectricCurrent extends Dimension {
        /**
         * The megaamperes unit of electric current.
         */
        static megaamperes: UnitElectricCurrent;
        /**
         * The kiloamperes unit of electric current.
         */
        static kiloamperes: UnitElectricCurrent;
        /**
         * The amperes unit of electric current.
         */
        static amperes: UnitElectricCurrent;
        /**
         * The milliamperes unit of electric current.
         */
        static milliamperes: UnitElectricCurrent;
        /**
         * The microamperes unit of electric current.
         */
        static microamperes: UnitElectricCurrent;
    }
    export class UnitElectricPotentialDifference extends Dimension {
        /**
         * The megavolts unit of electric potential difference.
         */
        static megavolts: UnitElectricPotentialDifference;
        /**
         * The kilovolts unit of electric potential difference.
         */
        static kilovolts: UnitElectricPotentialDifference;
        /**
         * The volts unit of electric potential difference.
         */
        static volts: UnitElectricPotentialDifference;
        /**
         * The millivolts unit of electric potential difference.
         */
        static millivolts: UnitElectricPotentialDifference;
        /**
         * The microvolts unit of electric potential difference.
         */
        static microvolts: UnitElectricPotentialDifference;
    }
    export class UnitElectricResistance extends Dimension {
        /**
         * The megaohms unit of electric resistance.
         */
        static megaohms: UnitElectricResistance;
        /**
         * The kiloohms unit of electric resistance.
         */
        static kiloohms: UnitElectricResistance;
        /**
         * The ohms unit of electric resistance.
         */
        static ohms: UnitElectricResistance;
        /**
         * The milliohms unit of electric resistance.
         */
        static milliohms: UnitElectricResistance;
        /**
         * The microohms unit of electric resistance.
         */
        static microohms: UnitElectricResistance;
    }
    export class UnitConcentrationMass extends Dimension {
        /**
         * The grams per liter unit of concentration.
         */
        static gramsPerLiter: UnitConcentrationMass;
        /**
         * The milligrams per deciliter unit of concentration.
         */
        static milligramsPerDeciliter: UnitConcentrationMass;
        /**
         * Returns the millimoles per liter unit with the specified number of grams per mole.
         */
        static millimolesPerLiter(gramsPerMole: number):UnitConcentrationMass;
    }
    export class UnitDispersion extends Dimension {
        /**
         * The parts per million unit.
         */
        static partsPerMillion: UnitDispersion;
    }
    export class UnitFuelEfficiency extends Dimension {
        /**
         * The miles per imperial gallon unit of fuel efficiency.
         */
        static milesPerImperialGallon: UnitFuelEfficiency;
        /**
         * The liters per 100 kilometers unit of fuel efficiency.
         */
        static litersPer100Kilometers: UnitFuelEfficiency;
        /**
         * The miles per gallon unit of fuel efficiency.
         */
        static milesPerGallon: UnitFuelEfficiency;
    }
    export class UnitInformationStorage extends Dimension {
        /**
         * The bits unit of information.
         */
        static bits: UnitInformationStorage;
        /**
         * The nibbles unit of information.
         */
        static nibbles: UnitInformationStorage;
        /**
         * The bytes unit of information.
         */
        static bytes: UnitInformationStorage;
        /**
         * The kibibits unit of information.
         */
        static kibibits: UnitInformationStorage;
        /**
         * The kibibytes unit of information.
         */
        static kibibytes: UnitInformationStorage;
        /**
         * The mebibits unit of information.
         */
        static mebibits: UnitInformationStorage;
        /**
         * The mebibytes unit of information.
         */
        static mebibytes: UnitInformationStorage;
        /**
         * The gibibits unit of information.
         */
        static gibibits: UnitInformationStorage;
        /**
         * The gibibytes unit of information.
         */
        static gibibytes: UnitInformationStorage;
        /**
         * The tebibits unit of information.
         */
        static tebibits: UnitInformationStorage;
        /**
         * The tebibytes unit of information.
         */
        static tebibytes: UnitInformationStorage;
        /**
         * The pebibits unit of information.
         */
        static pebibits: UnitInformationStorage;
        /**
         * The pebibytes unit of information.
         */
        static pebibytes: UnitInformationStorage;
        /**
         * The exbibits unit of information.
         */
        static exbibits: UnitInformationStorage;
        /**
         * The exbibytes unit of information.
         */
        static exbibytes: UnitInformationStorage;
        /**
         * The zebibits unit of information.
         */
        static zebibits: UnitInformationStorage;
        /**
         * The zebibytes unit of information.
         */
        static zebibytes: UnitInformationStorage;
        /**
         * The yobibits unit of information.
         */
        static yobibits: UnitInformationStorage;
        /**
         * The yobibytes unit of information.
         */
        static yobibytes: UnitInformationStorage;
        /**
         * The kilobits unit of information.
         */
        static kilobits: UnitInformationStorage;
        /**
         * The kilobytes unit of information.
         */
        static kilobytes: UnitInformationStorage;
        /**
         * The megabits unit of information.
         */
        static megabits: UnitInformationStorage;
        /**
         * The megabytes unit of information.
         */
        static megabytes: UnitInformationStorage;
        /**
         * The gigabits unit of information.
         */
        static gigabits: UnitInformationStorage;
        /**
         * The gigabytes unit of information.
         */
        static gigabytes: UnitInformationStorage;
        /**
         * The terabits unit of information.
         */
        static terabits: UnitInformationStorage;
        /**
         * The terrabytes unit of information.
         */
        static terabytes: UnitInformationStorage;
        /**
         * The petabits unit of information.
         */
        static petabits: UnitInformationStorage;
        /**
         * The petabytes unit of information.
         */
        static petabytes: UnitInformationStorage;
        /**
         * The exabits unit of information.
         */
        static exabits: UnitInformationStorage;
        /**
         * The exabytes unit of information.
         */
        static exabytes: UnitInformationStorage;
        /**
         * The zettabits unit of information.
         */
        static zettabits: UnitInformationStorage;
        /**
         * The zettabytes unit of information.
         */
        static zettabytes: UnitInformationStorage;
        /**
         * The yottabits unit of information.
         */
        static yottabits: UnitInformationStorage;
        /**
         * The yottabytes unit of information.
         */
        static yottabytes: UnitInformationStorage;
    }
    export class PersonNameComponentsFormatter extends Formatter {
        /**
         * The formatting style of the receiver.
         */
        style: PersonNameComponentsFormatter.Style;
        /**
         * A Boolean value that specifies whether the receiver should use only the phonetic representations of name components. 
         *  by default.
         */
        isPhonetic: boolean;
        locale: Locale!;
        /**
         * Returns a string formatted for a given 
         *  object using the provided style and options.
         */
        static localizedString(components: PersonNameComponents, nameFormatStyle: PersonNameComponentsFormatter.Style, nameOptions: PersonNameComponentsFormatter.Options):string;
        /**
         * Returns a string formatted for a given 
         *  object.
         */
        string(components: PersonNameComponents):string;
        /**
         * Returns an attributed string formatted for a given 
         *  object, with attribute annotations for each component.
         */
        annotatedString(components: PersonNameComponents):NSAttributedString;
        /**
         * Returns a person name components object from a given string.
         */
        personNameComponents(_string: string):PersonNameComponents | null;
        /**
         * Returns by reference a person name components object after creating it from a given string.
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
    }
    /**
     * the same name namespace of class PersonNameComponentsFormatter
     */
    export namespace PersonNameComponentsFormatter {
        export enum Style {
            default = 0,
            short = 1,
            medium = 2,
            long = 3,
            abbreviated = 4,
        }
        export class Options {
            /**
             * The formatter should format the component object’s 
             *  components instead of its own components.
             */
            static phonetic: PersonNameComponentsFormatter.Options;
            constructor (rawValue: number);
        }
    }
    export class PersonNameComponents {
        /**
         * The portion of a name’s full form of address that precedes the name itself.
         */
        namePrefix: string;
        /**
         * Name bestowed upon an individual to differentiate them from other members of a group that share a family name.
         */
        givenName: string;
        /**
         * Secondary name bestowed upon an individual to differentiate them from others that have the same given name.
         */
        middleName: string;
        /**
         * Name bestowed upon an individual to denote membership in a group or family.
         */
        familyName: string;
        /**
         * The portion of a name’s full form of address that follows the name itself.
         */
        nameSuffix: string;
        /**
         * Name substituted for the purposes of familiarity.
         */
        nickname: string;
        /**
         * The phonetic representation name components of the receiver. 
         */
        phoneticRepresentation: PersonNameComponents | null;
        /**
         * A textual description of the structure.
         */
        description: string;
        /**
         * A textual description of the structure suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the date interval.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the date interval.
         */
        hashValue: number;
        /**
         * Initializes a new person name components structure.
         */
        constructor ();
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates a person name components object from a given string.
         */
        constructor (value: string);
        constructor (namePrefix: string, givenName: string, middleName: string, familyName: string, nameSuffix: string, nickname: string, phoneticRepresentation: PersonNameComponents | null);
        /**
         * Generates a locale-aware string representation of an instance of person name components using the default format style.
         */
        formatted():string;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PersonNameComponents
     */
    export namespace PersonNameComponents {
        export class FormatStyle {
            /**
             * The strategy used to parse a string into person name components.
             */
            parseStrategy: PersonNameComponents.ParseStrategy;
            /**
             * Specifies the style of the formatted result.
             */
            style: PersonNameComponents.FormatStyle.Style;
            /**
             * The locale to use when formatting the person name components.
             */
            locale: Locale;
            /**
             * The style used to create a locale-aware attributed string representation of an instance of person name components.
             */
            attributed: PersonNameComponents.AttributedStyle;
            /**
             * The hash value of the style format.
             */
            hashValue: number;
            /**
             * Creates an instance using the provided format style and locale.
             */
            constructor (style: PersonNameComponents.FormatStyle.Style, locale: Locale);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates a person name components format style using the provided format style.
             */
            static name(style: Style):PersonNameComponents.FormatStyle;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            /**
             * Creates a string representation from a person name components value.
             */
            format(value: PersonNameComponents):string;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class FormatStyle
         */
        export namespace FormatStyle {
            export enum Style {
                abbreviated,
                long,
                medium,
                short,
            }
        }
        export class AttributedStyle {
            hashValue: number;
            locale: Locale;
            style: PersonNameComponents.FormatStyle.Style;
            constructor (decoder: Decoder);
            constructor (style: PersonNameComponents.FormatStyle.Style, locale: Locale);
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            encode(encoder: Encoder):void;
            format(value: PersonNameComponents):AttributedString;
            hash(hasher: Hasher):void;
        }
        export class ParseStrategy {
            static name: PersonNameComponents.ParseStrategy;
            hashValue: number;
            constructor ();
            constructor (decoder: Decoder);
            static fixed(format: Date.FormatString, timeZone: TimeZone, locale: Locale | null):Date.ParseStrategy;
            encode(encoder: Encoder):void;
            hash(hasher: Hasher):void;
            parse(value: string):PersonNameComponents;
        }
    }
    export class NSPersonNameComponents extends NSObject {
        /**
         * The portion of a name’s full form of address that precedes the name itself 
         * .
         */
        namePrefix: string;
        /**
         * Name bestowed upon an individual to differentiate them from other members of a group that share a family name 
         * .
         */
        givenName: string;
        /**
         * Secondary name bestowed upon an individual to differentiate them from others that have the same given name 
         * .
         */
        middleName: string;
        /**
         * Name bestowed upon an individual to denote membership in a group or family. 
         * .
         */
        familyName: string;
        /**
         * The portion of a name’s full form of address that follows the name itself 
         * .
         */
        nameSuffix: string;
        /**
         * Name substituted for the purposes of familiarity 
         * .
         */
        nickname: string;
        /**
         * The phonetic representation name components of the receiver. 
         */
        phoneticRepresentation: PersonNameComponents | null;
    }
    export class RelativeDateTimeFormatter extends Formatter {
        /**
         * The calendar to use for formatting values that don’t have an inherent calendar of their own.
         */
        calendar: Calendar!;
        /**
         * The locale to use when formatting the date.
         */
        locale: Locale!;
        /**
         * The style to use when describing a relative date, for example “yesterday” or “1 day ago”.
         */
        dateTimeStyle: RelativeDateTimeFormatter.DateTimeStyle;
        /**
         * The style to use when formatting the quantity or the name of the unit, such as “1 day ago” or “one day ago”.
         */
        unitsStyle: RelativeDateTimeFormatter.UnitsStyle;
        /**
         * A description of where the formatted string will appear, allowing the formatter to capitalize the output appropriately.
         */
        formattingContext: Formatter.Context;
        /**
         * Formats the date interval from the reference date to the specified date using the formatter’s calendar.
         */
        localizedString(date: Date, referenceDate: Date):string;
        /**
         * Creates a formatted string for a date relative to the current date and time.
         */
        string(obj: any):string;
    }
    /**
     * the same name namespace of class RelativeDateTimeFormatter
     */
    export namespace RelativeDateTimeFormatter {
        export enum DateTimeStyle {
            named = 1,
            numeric = 0,
        }
        export enum UnitsStyle {
            abbreviated = 3,
            full = 0,
            short = 2,
            spellOut = 1,
        }
    }
    export class ByteCountFormatter extends Formatter {
        /**
         * Specify the formatting context for the formatted string.
         */
        formattingContext: Formatter.Context;
        /**
         * Specify the number of bytes to be used for kilobytes.
         */
        countStyle: ByteCountFormatter.CountStyle;
        /**
         * Determines whether to allow more natural display of some values.
         */
        allowsNonnumericFormatting: boolean;
        /**
         * Determines whether to include the number of bytes after the formatted string.
         */
        includesActualByteCount: boolean;
        /**
         * Determines the display style of the size representation.
         */
        isAdaptive: boolean;
        /**
         * Specify the units that can be used in the output.
         */
        allowedUnits: ByteCountFormatter.Units;
        /**
         * Determines whether to include the count in the resulting formatted string.
         */
        includesCount: boolean;
        /**
         * Determines whether to include the units in the resulting formatted string.
         */
        includesUnit: boolean;
        /**
         * Determines whether to zero pad fraction digits so a consistent number of characters is displayed in a representation.
         */
        zeroPadsFractionDigits: boolean;
        /**
         * Converts a byte count into the specified string format without creating an 
         *  object.
         */
        static string(byteCount: Int64, countStyle: ByteCountFormatter.CountStyle):string;
    }
    /**
     * the same name namespace of class ByteCountFormatter
     */
    export namespace ByteCountFormatter {
        export class Units {
            /**
             * Displays bytes in the formatter content.
             */
            static useBytes: ByteCountFormatter.Units;
            /**
             * Displays kilobytes in the formatter content.
             */
            static useKB: ByteCountFormatter.Units;
            /**
             * Displays megabytes in the formatter content.
             */
            static useMB: ByteCountFormatter.Units;
            /**
             * Displays gigabytes in the formatter content.
             */
            static useGB: ByteCountFormatter.Units;
            /**
             * Displays terabytes in the formatter content.
             */
            static useTB: ByteCountFormatter.Units;
            /**
             * Displays petabyte in the formatter content.
             */
            static usePB: ByteCountFormatter.Units;
            /**
             * Displays exabytes in the formatter content.
             */
            static useEB: ByteCountFormatter.Units;
            /**
             * Displays zettabytes in the formatter content.
             */
            static useZB: ByteCountFormatter.Units;
            /**
             * Displays yottabytes in the formatter content.
             */
            static useYBOrHigher: ByteCountFormatter.Units;
            /**
             * Can use any unit in the formatter content.
             */
            static useAll: ByteCountFormatter.Units;
            constructor (rawValue: number);
        }
        export enum CountStyle {
            file = 0,
            memory = 1,
            decimal = 2,
            binary = 3,
        }
    }
    export class MeasurementFormatter extends Formatter {
        /**
         * The options for how the unit is formatted.
         */
        unitOptions: MeasurementFormatter.UnitOptions;
        /**
         * The unit style.
         */
        unitStyle: Formatter.UnitStyle;
        /**
         * The locale of the formatter.
         */
        locale: Locale!;
        /**
         * The number formatter used to format the quantity of a measurement.
         */
        numberFormatter: NumberFormatter!;
        /**
         * Creates and returns a localized string representation of the provided measurement.
         */
        string(measurement: Measurement<Unit>):string;
    }
    /**
     * the same name namespace of class MeasurementFormatter
     */
    export namespace MeasurementFormatter {
        export class UnitOptions {
            static providedUnit: MeasurementFormatter.UnitOptions;
            static naturalScale: MeasurementFormatter.UnitOptions;
            static temperatureWithoutUnit: MeasurementFormatter.UnitOptions;
            constructor (rawValue: number);
        }
    }
    export class ListFormatter extends Formatter {
        /**
         * An object that formats each item in the list.
         */
        itemFormatter: Formatter | null;
        /**
         * The locale to use when formatting items in the list.
         */
        locale: Locale!;
        /**
         * Constructs a formatted string from an array of strings that uses the list format specific to the current locale.
         */
        static localizedString(strings: string[]):string;
        /**
         * Creates a formatted string for an array of items.
         */
        string(items: any[]):string;
    }
    export class URLComponents {
        /**
         * A URL created from the components.
         */
        url: URL | null;
        /**
         * A URL derived from the components object, in string form.
         */
        string: string;
        /**
         * The fragment subcomponent.
         */
        fragment: string;
        /**
         * The host subcomponent.
         */
        host: string;
        /**
         * The password subcomponent of the URL.
         */
        password: string;
        /**
         * The path subcomponent.
         */
        path: string;
        /**
         * The port subcomponent.
         */
        port: number;
        /**
         * The query subcomponent.
         */
        query: string;
        /**
         * An array of query items for the URL in the order in which they appear in the original query string.
         */
        queryItems: URLQueryItem[] | null;
        /**
         * The scheme subcomponent of the URL.
         */
        scheme: string;
        /**
         * The user subcomponent of the URL.
         */
        user: string;
        /**
         * The fragment subcomponent, percent-encoded.
         */
        percentEncodedFragment: string;
        /**
         * The host subcomponent, percent-encoded.
         */
        percentEncodedHost: string;
        /**
         * The password subcomponent, percent-encoded.
         */
        percentEncodedPassword: string;
        /**
         * The path subcomponent, percent-encoded.
         */
        percentEncodedPath: string;
        /**
         * The query subcomponent, percent-encoded.
         */
        percentEncodedQuery: string;
        /**
         * The user subcomponent, percent-encoded.
         */
        percentEncodedUser: string;
        /**
         * Returns the character range of the fragment in the string returned by the string property.
         */
        rangeOfFragment: Range<String.Index> | null;
        /**
         * Returns the character range of the host in the string returned by the string property.
         */
        rangeOfHost: Range<String.Index> | null;
        /**
         * Returns the character range of the password in the string returned by the string property.
         */
        rangeOfPassword: Range<String.Index> | null;
        /**
         * Returns the character range of the path in the string returned by the string property.
         */
        rangeOfPath: Range<String.Index> | null;
        /**
         * Returns the character range of the port in the string returned by the string property.
         */
        rangeOfPort: Range<String.Index> | null;
        /**
         * Returns the character range of the query in the string returned by the string property.
         */
        rangeOfQuery: Range<String.Index> | null;
        /**
         * Returns the character range of the scheme in the string returned by the string property.
         */
        rangeOfScheme: Range<String.Index> | null;
        /**
         * Returns the character range of the user in the string returned by the string property.
         */
        rangeOfUser: Range<String.Index> | null;
        /**
         * A textual description of the URL components.
         */
        description: string;
        /**
         * A textual description of the URL components suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the URL components.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the URL components.
         */
        hashValue: number;
        encodedHost: string;
        percentEncodedQueryItems: URLQueryItem[] | null;
        /**
         * Initializes with all components undefined.
         */
        constructor ();
        constructor (decoder: Decoder);
        constructor (_string: string);
        constructor (url: URL, resolve: boolean);
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export class NSURLComponents extends NSObject {
        /**
         * A URL derived from the components object, in string form.
         */
        string: string;
        /**
         * A URL object derived from the components object.
         */
        url: URL | null;
        /**
         * The fragment URL component (the part after a 
         *  symbol), or 
         *  if not present.
         */
        fragment: string;
        /**
         * The host URL subcomponent, or 
         *  if not present.
         */
        host: string;
        /**
         * The password URL subcomponent, or 
         *  if not present.
         */
        password: string;
        /**
         * The path URL component, or 
         *  if not present.
         */
        path: string;
        /**
         * The port number URL component, or 
         *  if not present.
         */
        port: NSNumber | null;
        /**
         * The query URL component as a string, or 
         *  if not present.
         */
        query: string;
        /**
         * The query URL component as an array of name/value pairs.
         */
        queryItems: URLQueryItem[] | null;
        /**
         * The scheme URL component, or 
         *  if not present.
         */
        scheme: string;
        /**
         * The username URL subcomponent, or 
         *  if not present.
         */
        user: string;
        /**
         * The fragment URL component (the part after a 
         *  symbol) expressed as a URL-encoded string, or 
         *  if not present.
         */
        percentEncodedFragment: string;
        /**
         * The host URL subcomponent expressed as a URL-encoded string, or 
         *  if not present.
         */
        percentEncodedHost: string;
        /**
         * The password URL subcomponent expressed as a URL-encoded string, or 
         *  if not present.
         */
        percentEncodedPassword: string;
        /**
         * The path URL component expressed as a URL-encoded string, or 
         *  if not present.
         */
        percentEncodedPath: string;
        /**
         * The query URL component expressed as a URL-encoded string, or 
         *  if not present.
         */
        percentEncodedQuery: string;
        /**
         * The username URL subcomponent expressed as a URL-encoded string, or 
         *  if not present.
         */
        percentEncodedUser: string;
        percentEncodedQueryItems: URLQueryItem[] | null;
        /**
         * Returns the character range of the fragment in the string returned by the string property.
         */
        rangeOfFragment: NSRange;
        /**
         * Returns the character range of the host in the string returned by the string property.
         */
        rangeOfHost: NSRange;
        /**
         * Returns the character range of the password in the string returned by the string property.
         */
        rangeOfPassword: NSRange;
        /**
         * Returns the character range of the path in the string returned by the string property.
         */
        rangeOfPath: NSRange;
        /**
         * Returns the character range of the port in the string returned by the string property.
         */
        rangeOfPort: NSRange;
        /**
         * Returns the character range of the query in the string returned by the string property.
         */
        rangeOfQuery: NSRange;
        /**
         * Returns the character range of the scheme in the string returned by the string property.
         */
        rangeOfScheme: NSRange;
        /**
         * Returns the character range of the user in the string returned by the string property.
         */
        rangeOfUser: NSRange;
        encodedHost: string;
        /**
         * Initializes a URL components object with 
         *  for every component.
         */
        constructor ();
        /**
         * Initializes a URL components object by parsing a URL in string form.
         */
        constructor (URLString: string);
        /**
         * Initializes a URL components object by parsing the URL from an 
         *  object.
         */
        constructor (url: URL, resolve: boolean);
    }
    export class URLQueryItem {
        /**
         * The name of the query item.
         */
        name: string;
        /**
         * The value for the query item.
         */
        value: string;
        /**
         * A textual description of the query item.
         */
        description: string;
        /**
         * A textual description of the query item, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the query item.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the query item.
         */
        hashValue: number;
        /**
         * Creates a new query item with the name and value you specify.
         */
        constructor (name: string, value: string);
        /**
         * Hashes the essential components of this value by feeding them into the specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class NSURLQueryItem extends NSObject {
        /**
         * The name of the query item.
         */
        name: string;
        /**
         * The value for the query item.
         */
        value: string;
        /**
         * Initializes a newly allocated query item with the specified name and value.
         */
        constructor (name: string, value: string);
    }
    export class Formatter extends NSObject {
        /**
         * The default implementation of this method raises an exception.
         */
        string(obj: any):string;
        /**
         * The default implementation returns 
         *  to indicate that the formatter object does not provide an attributed string.
         */
        attributedString(obj: any, attrs: Record<NSAttributedString.Key, any> | null):NSAttributedString | null;
        /**
         * The default implementation of this method invokes 
         * .
         */
        editingString(obj: any):string;
        /**
         * The default implementation of this method raises an exception.
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Returns a Boolean value that indicates whether a partial string is valid.
         */
        isPartialStringValid(partialString: string, newString: AutoreleasingUnsafeMutablePointer<NSString?> | null, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
    }
    /**
     * the same name namespace of class Formatter
     */
    export namespace Formatter {
        export enum Context {
            unknown = 0,
            dynamic = 1,
            standalone = 2,
            listItem = 3,
            beginningOfSentence = 4,
            middleOfSentence = 5,
        }
        export enum UnitStyle {
            short = 1,
            medium = 2,
            long = 3,
        }
    }
    export interface FormatStyle extends Decodable,Encodable,Hashable {
        format(value: Self.FormatInput):Self.FormatOutput;
        locale(locale: Locale):Self;
        static number: Decimal.FormatStyle;
        static percent: Decimal.FormatStyle.Percent;
        static currency(code: string):Self;
        static interval: Date.IntervalFormatStyle;
        static iso8601: Date.ISO8601FormatStyle;
        static timeDuration: Date.ComponentsFormatStyle;
        static dateTime: Date.FormatStyle;
        static url: URL.FormatStyle;
        static byteCount(style: ByteCountFormatStyle.Style, allowedUnits: ByteCountFormatStyle.Units, spellsOutZero: boolean, includesActualByteCount: boolean):Self;
        static components(style: Date.ComponentsFormatStyle.Style, fields: Set<Date.ComponentsFormatStyle.Field> | null):Self;
        static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
        static name(style: PersonNameComponents.FormatStyle.Style):Self;
        static relative(presentation: Date.RelativeFormatStyle.Presentation, unitsStyle: Date.RelativeFormatStyle.UnitsStyle):Self;
        static time(pattern: Duration.TimeFormatStyle.Pattern):Self;
        static units(units: Set<Duration.UnitsFormatStyle.Unit>, width: Duration.UnitsFormatStyle.UnitWidth, maximumUnitCount: number, zeroValueUnits: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy, valueLength: number, fractionalPart: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy):Self;
        static verbatim(format: Date.FormatString, locale: Locale | null, timeZone: TimeZone, calendar: Calendar):Date.VerbatimFormatStyle;
    }
    export class UUID {
        /**
         * Returns the UUID as bytes.
         */
        uuid: any;
        /**
         * Returns a string created from the UUID, such as “E621E1F8-C36C-495A-93FC-0C247A3E6E5F”
         */
        uuidString: string;
        /**
         * A textual description of the UUID.
         */
        description: string;
        /**
         * A textual description of the UUID suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the UUID.
         */
        customMirror: Mirror;
        /**
         * The computed hash value of the UUID.
         */
        hashValue: number;
        entityIdentifierString: string;
        /**
         * Creates a UUID with RFC 4122 version 4 random bytes.
         */
        constructor ();
        /**
         * Creates a UUID from the uuid C-language structure.
         */
        constructor (uuid: uuid_t);
        /**
         * Creates a UUID from a string representation.
         */
        constructor (_string: string);
        /**
         * Creates a UUID by decoding from the specified decoder.
         */
        constructor (decoder: Decoder);
        static entityIdentifier(entityIdentifierString: string):UUID | null;
        /**
         * Encodes the UUID into the specified encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of the value by feeding them into the specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class FormatStyleCapitalizationContext {
        static unknown: FormatStyleCapitalizationContext;
        static standalone: FormatStyleCapitalizationContext;
        static listItem: FormatStyleCapitalizationContext;
        static beginningOfSentence: FormatStyleCapitalizationContext;
        static middleOfSentence: FormatStyleCapitalizationContext;
        hashValue: number;
        constructor (decoder: Decoder);
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export class NSUUID extends NSObject {
        /**
         * The UUID as a string.
         */
        uuidString: string;
        /**
         * Initializes a new UUID with RFC 4122 version 4 random bytes.
         */
        constructor ();
        /**
         * Initializes a new UUID with the formatted string.
         */
        constructor (_string: string);
        /**
         * Initializes a new UUID with the given bytes.
         */
        constructor (bytes: UnsafePointer<UInt8> | null);
        /**
         * Returns the UUID as bytes.
         */
        getBytes(uuid: UnsafeMutablePointer<UInt8>):void;
        compare(otherUUID: UUID):ComparisonResult;
    }
    export class ByteCountFormatStyle {
        allowedUnits: ByteCountFormatStyle.Units;
        attributed: ByteCountFormatStyle.Attributed;
        hashValue: number;
        includesActualByteCount: boolean;
        locale: Locale;
        spellsOutZero: boolean;
        style: ByteCountFormatStyle.Style;
        constructor (decoder: Decoder);
        constructor (style: ByteCountFormatStyle.Style, allowedUnits: ByteCountFormatStyle.Units, spellsOutZero: boolean, includesActualByteCount: boolean, locale: Locale);
        static byteCount(style: Style, allowedUnits: Units, spellsOutZero: boolean, includesActualByteCount: boolean):ByteCountFormatStyle;
        static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
        encode(encoder: Encoder):void;
        format(value: Int64):string;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ByteCountFormatStyle
     */
    export namespace ByteCountFormatStyle {
        export class Attributed {
            allowedUnits: ByteCountFormatStyle.Units;
            hashValue: number;
            includesActualByteCount: boolean;
            locale: Locale;
            spellsOutZero: boolean;
            style: ByteCountFormatStyle.Style;
            constructor (decoder: Decoder);
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            encode(encoder: Encoder):void;
            format(value: Int64):AttributedString;
            hash(hasher: Hasher):void;
        }
        export class Units {
            static all: ByteCountFormatStyle.Units;
            static bytes: ByteCountFormatStyle.Units;
            static default: ByteCountFormatStyle.Units;
            static eb: ByteCountFormatStyle.Units;
            static gb: ByteCountFormatStyle.Units;
            static kb: ByteCountFormatStyle.Units;
            static mb: ByteCountFormatStyle.Units;
            static pb: ByteCountFormatStyle.Units;
            static tb: ByteCountFormatStyle.Units;
            static ybOrHigher: ByteCountFormatStyle.Units;
            static zb: ByteCountFormatStyle.Units;
            hashValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: number;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: ByteCountFormatStyle.Units);
            /**
             * Creates a new instance by decoding from the given decoder, when the type’s 
             *  is 
             * .
             */
            constructor (decoder: Decoder);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: ByteCountFormatStyle.Units):boolean;
            /**
             * Encodes this value into the given encoder, when the type’s 
             *  is 
             * .
             */
            encode(encoder: Encoder):void;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: ByteCountFormatStyle.Units):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: ByteCountFormatStyle.Units):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: ByteCountFormatStyle.Units):void;
            hash(hasher: Hasher):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: ByteCountFormatStyle.Units):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: ByteCountFormatStyle.Units):ByteCountFormatStyle.Units;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: ByteCountFormatStyle.Units):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: ByteCountFormatStyle.Units):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: ByteCountFormatStyle.Units):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: ByteCountFormatStyle.Units):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: ByteCountFormatStyle.Units):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: ByteCountFormatStyle.Units):ByteCountFormatStyle.Units | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: ByteCountFormatStyle.Units):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: ByteCountFormatStyle.Units):ByteCountFormatStyle.Units;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: ByteCountFormatStyle.Units):ByteCountFormatStyle.Units;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: ByteCountFormatStyle.Units):ByteCountFormatStyle.Units;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: ByteCountFormatStyle.Units):ByteCountFormatStyle.Units | null;
        }
        export enum Style {
            binary,
            decimal,
            file,
            memory,
        }
    }
    export class StringStyle {
        hashValue: number;
        constructor (decoder: Decoder);
        static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
        format(value: string):string;
        encode(encoder: Encoder):void;
        locale(locale: Locale):StringStyle;
        hash(hasher: Hasher):void;
    }
    export enum NumberFormatStyleConfiguration {}
    export enum CurrencyFormatStyleConfiguration {}
    export enum DescriptiveNumberFormatConfiguration {}
    export interface ParseableFormatStyle extends FormatStyle {
        parseStrategy: Self.Strategy;
        static dateTime: Date.FormatStyle;
        static iso8601: Date.ISO8601FormatStyle;
        static number: Decimal.FormatStyle;
        static percent: Decimal.FormatStyle.Percent;
        static url: URL.FormatStyle;
        static currency(code: string):Self;
        static name(style: PersonNameComponents.FormatStyle.Style):Self;
    }
    export interface ParseStrategy extends Decodable,Encodable,Hashable {
        parse(value: Self.ParseInput):Self.ParseOutput;
        static dateTime: Date.FormatStyle;
        static iso8601: Date.ISO8601FormatStyle;
        static name: PersonNameComponents.ParseStrategy;
        static url: URL.ParseStrategy;
        static fixed(format: Date.FormatString, timeZone: TimeZone, locale: Locale | null):Date.ParseStrategy;
    }
    export enum InflectionRule {
        automatic,
        explicit,
    }
    export class Morphology {
        /**
         * The addressing preferences of the current user.
         */
        static user: Morphology;
        /**
         * A Boolean value that indicates whether this instance specifies no particular grammar.
         */
        isUnspecified: boolean;
        /**
         * The grammatical gender used for inflecting strings with this morphology.
         */
        grammaticalGender: Morphology.GrammaticalGender | null;
        /**
         * The grammatical number used for inflecting strings with this morphology.
         */
        number: Morphology.GrammaticalNumber | null;
        /**
         * The grammatical part of speech used for inflecting strings with this morphology.
         */
        partOfSpeech: Morphology.PartOfSpeech | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an empty morphology instance.
         */
        constructor ();
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Sets a custom pronoun behavior for this morphology to apply to the given language.
         */
        setCustomPronoun(pronoun: Morphology.CustomPronoun | null, language: string):void;
        /**
         * Returns any custom pronoun behavior this morphology applies to the given language.
         */
        customPronoun(language: string):Morphology.CustomPronoun | null;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Morphology
     */
    export namespace Morphology {
        export enum GrammaticalGender {
            feminine,
            masculine,
            neuter,
        }
        export enum GrammaticalNumber {
            zero,
            singular,
            plural,
            pluralTwo,
            pluralFew,
            pluralMany,
        }
        export enum PartOfSpeech {
            determiner,
            pronoun,
            letter,
            adverb,
            particle,
            adjective,
            adposition,
            verb,
            noun,
            conjunction,
            numeral,
            interjection,
            preposition,
            abbreviation,
        }
        export class CustomPronoun {
            /**
             * The subject pronoun form to apply when using this custom pronoun behavior.
             */
            subjectForm: string;
            /**
             * The object pronoun form to apply when using this custom pronoun behavior.
             */
            objectForm: string;
            /**
             * The posessive pronoun form to apply when using this custom pronoun behavior.
             */
            possessiveForm: string;
            /**
             * The posessive adjective pronoun form to apply when using this custom pronoun behavior.
             */
            possessiveAdjectiveForm: string;
            /**
             * The reflexive pronoun form to apply when using this custom pronoun behavior.
             */
            reflexiveForm: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates an empty custom pronoun.
             */
            constructor ();
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Returns a Boolean value that indicates whether the given language supports setting custom pronouns.
             */
            static isSupported(language: string):boolean;
            /**
             * Returns a collection of the custom pronoun keys required by this language.
             */
            static requiredKeys(language: string):PartialKeyPath<Morphology.CustomPronoun>[];
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class LengthFormatter extends Formatter {
        /**
         * A Boolean value that indicates whether the resulting string represents a person’s height.
         */
        isForPersonHeightUse: boolean;
        /**
         * The number formatter used to format the numbers in length strings.
         */
        numberFormatter: NumberFormatter!;
        /**
         * The unit style used by this formatter.
         */
        unitStyle: Formatter.UnitStyle;
        /**
         * This method is not supported for the 
         *  class. 
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Returns a length string for the provided value.
         */
        string(numberInMeters: number):string;
        /**
         * Returns the unit string for the provided value.
         */
        unitString(numberInMeters: number, unitp: UnsafeMutablePointer<LengthFormatter.Unit> | null):string;
    }
    /**
     * the same name namespace of class LengthFormatter
     */
    export namespace LengthFormatter {
        export enum Unit {
            millimeter = 8,
            centimeter = 9,
            meter = 11,
            kilometer = 14,
            inch = 1281,
            foot = 1282,
            yard = 1283,
            mile = 1284,
        }
    }
    export class MassFormatter extends Formatter {
        /**
         * A Boolean value that indicates whether the resulting string represents a person’s mass.
         */
        isForPersonMassUse: boolean;
        /**
         * The number formatter used to format the numbers in a mass strings.
         */
        numberFormatter: NumberFormatter!;
        /**
         * The unit style used by this formatter.
         */
        unitStyle: Formatter.UnitStyle;
        /**
         * This method is not supported for the 
         *  class. 
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Returns a mass string for the provided value.
         */
        string(numberInKilograms: number):string;
        /**
         * Returns the unit string for the provided value.
         */
        unitString(numberInKilograms: number, unitp: UnsafeMutablePointer<MassFormatter.Unit> | null):string;
    }
    /**
     * the same name namespace of class MassFormatter
     */
    export namespace MassFormatter {
        export enum Unit {
            gram = 11,
            kilogram = 14,
            ounce = 1537,
            pound = 1538,
            stone = 1539,
        }
    }
    export class EnergyFormatter extends Formatter {
        /**
         * A Boolean value that indicates whether the energy value is used to measure food energy.
         */
        isForFoodEnergyUse: boolean;
        /**
         * The number formatter used to format the numbers in energy strings.
         */
        numberFormatter: NumberFormatter!;
        /**
         * The unit style used by this formatter.
         */
        unitStyle: Formatter.UnitStyle;
        /**
         * This method is not supported for the 
         *  class. 
         */
        getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?> | null, _string: string, error: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Returns an energy string for the provided value.
         */
        string(numberInJoules: number):string;
        /**
         * Returns the unit string for the provided value.
         */
        unitString(numberInJoules: number, unitp: UnsafeMutablePointer<EnergyFormatter.Unit> | null):string;
    }
    /**
     * the same name namespace of class EnergyFormatter
     */
    export namespace EnergyFormatter {
        export enum Unit {
            joule = 11,
            kilojoule = 14,
            calorie = 1793,
            kilocalorie = 1794,
        }
    }
    export class NSPredicate extends NSObject {
        /**
         * The predicate's format string.
         */
        predicateFormat: string;
        /**
         * Creates a predicate by substituting the values in a specified array into a format string and parsing the result.
         */
        constructor (predicateFormat: string, arguments: any[] | null);
        /**
         * Creates a predicate by substituting the values in an argument list into a format string and parsing the result.
         */
        constructor (predicateFormat: string, argList: CVaListPointer);
        /**
         * Creates a predicate by substituting the values in an argument list into a format string and parsing the result.
         */
        constructor (predicateFormat: string, ...args: CVarArg);
        /**
         * Creates and returns a predicate that always evaluates to a specified Boolean value.
         */
        constructor (value: boolean);
        /**
         * Creates a predicate that evaluates using a specified block object and bindings dictionary.
         */
        constructor (block: ()=>any);
        /**
         * Creates a predicate with a metadata query string.
         */
        constructor (queryString: string);
        /**
         * Returns a copy of the predicate and substitutes the predicates variables with specified values from a specified substitution variables dictionary.
         */
        withSubstitutionVariables(variables: Record<string, any>):Self;
        /**
         * Returns a Boolean value that indicates whether the specified object matches the conditions that the predicate specifies.
         */
        evaluate(object: any):boolean;
        /**
         * Forces a securely decoded predicate to allow evaluation.
         */
        allowEvaluation():void;
    }
    export class NSExpression extends NSObject {
        /**
         * The arguments for the expression.
         */
        arguments: NSExpression[] | null;
        /**
         * The collection of expressions in an aggregate expression, or the collection element of a subquery expression.
         */
        collection: any;
        /**
         * The constant value of the expression.
         */
        constantValue: any;
        /**
         * The expression type for the expression.
         */
        expressionType: NSExpression.ExpressionType;
        /**
         * The function for the expression.
         */
        function: string;
        /**
         * The key path for the expression.
         */
        keyPath: string;
        /**
         * The operand for the expression.
         */
        operand: NSExpression;
        /**
         * The predicate of a subquery expression.
         */
        predicate: NSPredicate;
        /**
         * The left expression of an aggregate expression.
         */
        left: NSExpression;
        /**
         * The right expression of an aggregate expression.
         */
        right: NSExpression;
        /**
         * The variable for the expression.
         */
        variable: string;
        /**
         * An expression to evalutate if a conditional expression’s predicate evaluates to false.
         */
        false: NSExpression;
        /**
         * An expression to evalutate if a conditional expression’s predicate evaluates to true.
         */
        true: NSExpression;
        /**
         * The block that executes to evaluate the expression.
         */
        expressionBlock: ()=>any;
        /**
         * Creates the expression with the specified expression type.
         */
        constructor (type: NSExpression.ExpressionType);
        /**
         * Creates the expression with the specified expression format and array of arguments.
         */
        constructor (expressionFormat: string, arguments: any[]);
        /**
         * Creates the expression with the specified expression format and arguments list.
         */
        constructor (expressionFormat: string, argList: CVaListPointer);
        /**
         * Creates the expression with the expression format and arguments list you specify.
         */
        constructor (expressionFormat: string, ...args: CVarArg);
        /**
         * Creates an expression by decoding from the coder you specify.
         */
        constructor (coder: NSCoder);
        /**
         * Creates an expression that represents a specified constant value.
         */
        constructor (obj: any);
        /**
         * Creates an expression that invokes the value function with a specified key path.
         */
        constructor (keyPath: string);
        /**
         * Creates an expression that extracts a value from the variable bindings dictionary for a specified key.
         */
        constructor (_string: string);
        /**
         * Creates an aggregate expression for a specified collection.
         */
        constructor (subexpressions: NSExpression[]);
        /**
         * Creates an expression object that represents the union of a specified set and collection.
         */
        constructor (left: NSExpression, right: NSExpression);
        /**
         * Creates an expression object that represents the intersection of a specified set and collection.
         */
        constructor (left: NSExpression, right: NSExpression);
        /**
         * Creates an expression object that represents the subtraction of a specified collection from a specified set.
         */
        constructor (left: NSExpression, right: NSExpression);
        /**
         * Creates an expression that filters a collection by storing elements in the collection in a specified variable and keeping the elements that the qualifier returns as true.
         */
        constructor (expression: NSExpression, variable: string, predicate: NSPredicate);
        /**
         * Creates an expression that returns a result, depending on the value of predicate.
         */
        constructor (predicate: NSPredicate, trueExpression: NSExpression, falseExpression: NSExpression);
        /**
         * Creates an expression object that uses the block for evaluating objects.
         */
        constructor (block: ()=>any, arguments: NSExpression[] | null);
        /**
         * Creates an expression that invokes one of the predefined functions.
         */
        constructor (name: string, parameters: any[]);
        /**
         * Creates an expression that returns the result of invoking a selector with a specified name using specified arguments.
         */
        constructor (target: NSExpression, name: string, parameters: any[] | null);
        /**
         * Creates an expression that represents the object you’re evaluating.
         */
        static expressionForEvaluatedObject():NSExpression;
        /**
         * Creates an expression that represents any key for a Spotlight query.
         */
        static expressionForAnyKey():NSExpression;
        /**
         * Evaluates an expression using a specified object and context.
         */
        expressionValue(object: any, context: NSMutableDictionary | null):any;
        /**
         * Forces a securely decoded expression to allow evaluation.
         */
        allowEvaluation():void;
    }
    /**
     * the same name namespace of class NSExpression
     */
    export namespace NSExpression {
        export enum ExpressionType {
            constantValue = 0,
            evaluatedObject = 1,
            variable = 2,
            keyPath = 3,
            function = 4,
            unionSet = 5,
            intersectSet = 6,
            minusSet = 7,
            subquery = 13,
            aggregate = 14,
            anyKey = 15,
            block = 19,
            conditional = 20,
        }
    }
    export class NSComparisonPredicate extends NSPredicate {
        /**
         * The comparison predicate modifier for the receiver.
         */
        comparisonPredicateModifier: NSComparisonPredicate.Modifier;
        /**
         * The selector for the receiver.
         */
        customSelector: Selector | null;
        /**
         * The right expression for the receiver.
         */
        rightExpression: NSExpression;
        /**
         * The left expression for the receiver.
         */
        leftExpression: NSExpression;
        /**
         * The options to use for the receiver.
         */
        options: NSComparisonPredicate.Options;
        /**
         * The predicate type for the receiver.
         */
        predicateOperatorType: NSComparisonPredicate.Operator;
        /**
         * Creates a predicate that you form by combining specified left and right expressions using a specified selector.
         */
        constructor (lhs: NSExpression, rhs: NSExpression, selector: Selector);
        /**
         * Creates a predicate to a specified type that you form by combining specified left and right expressions using a specified modifier and options.
         */
        constructor (lhs: NSExpression, rhs: NSExpression, modifier: NSComparisonPredicate.Modifier, type: NSComparisonPredicate.Operator, options: NSComparisonPredicate.Options);
        /**
         * Creates a predicate by decoding from the coder you specify.
         */
        constructor (coder: NSCoder);
    }
    /**
     * the same name namespace of class NSComparisonPredicate
     */
    export namespace NSComparisonPredicate {
        export enum Modifier {
            direct = 0,
            all = 1,
            any = 2,
        }
        export class Options {
            /**
             * A case-insensitive predicate.
             */
            static caseInsensitive: NSComparisonPredicate.Options;
            /**
             * A diacritic-insensitive predicate.
             */
            static diacriticInsensitive: NSComparisonPredicate.Options;
            /**
             * A predicate that indicates you’ve preprocessed the strings to compare.
             */
            static normalized: NSComparisonPredicate.Options;
            constructor (rawValue: number);
        }
        export enum Operator {
            lessThan = 0,
            lessThanOrEqualTo = 1,
            greaterThan = 2,
            greaterThanOrEqualTo = 3,
            equalTo = 4,
            notEqualTo = 5,
            matches = 6,
            like = 7,
            beginsWith = 8,
            endsWith = 9,
            in = 10,
            customSelector = 11,
            contains = 99,
            between = 100,
        }
    }
    export class NSCompoundPredicate extends NSPredicate {
        /**
         * The predicate type for the receiver.
         */
        compoundPredicateType: NSCompoundPredicate.LogicalType;
        /**
         * The receiver’s subpredicates.
         */
        subpredicates: any[];
        /**
         * Returns a new predicate that you form using an AND operation on the predicates in a specified array.
         */
        constructor (subpredicates: NSPredicate[]);
        /**
         * Returns a new predicate that you form using a NOT operation on a specified predicate.
         */
        constructor (predicate: NSPredicate);
        /**
         * Returns a new predicate that you form using an OR operation on the predicates in a specified array.
         */
        constructor (subpredicates: NSPredicate[]);
        /**
         * Returns the receiver that a specified type initializes using predicates from a specified array.
         */
        constructor (type: NSCompoundPredicate.LogicalType, subpredicates: NSPredicate[]);
        /**
         * Creates a predicate by decoding from the coder you specify.
         */
        constructor (coder: NSCoder);
    }
    /**
     * the same name namespace of class NSCompoundPredicate
     */
    export namespace NSCompoundPredicate {
        export enum LogicalType {
            not = 0,
            and = 1,
            or = 2,
        }
    }
    export class NSSortDescriptor extends NSObject {
        /**
         * A Boolean value that indicates whether the receiver specifies sorting in ascending order.
         */
        ascending: boolean;
        /**
         * The key that specifies the property to compare during sorting.
         */
        key: string;
        /**
         * The key path that specifies the property to compare during sorting.
         */
        keyPath: AnyKeyPath | null;
        /**
         * The selector for comparing objects.
         */
        selector: Selector | null;
        /**
         * The comparator for the sort descriptor.
         */
        comparator: Comparator;
        /**
         * Returns a sort descriptor that reverses the sort order.
         */
        reversedSortDescriptor: any;
        /**
         * Creates a sort descriptor with a specified string key path and sort order.
         */
        constructor (key: string, ascending: boolean);
        /**
         * Creates a sort descriptor with a specified string key path, ordering, and comparison selector.
         */
        constructor (key: string, ascending: boolean, selector: Selector | null);
        /**
         * Creates a sort descriptor with a specified string key path and ordering, and a comparator block.
         */
        constructor (key: string, ascending: boolean, cmptr: Comparator);
        /**
         * Creates a sort descriptor by decoding from the coder you specify.
         */
        constructor (coder: NSCoder);
        /**
         * Returns a comparison result value that indicates the sort order of two objects.
         */
        compare(object1: any, object2: any):ComparisonResult;
        /**
         * Forces a securely decoded sort descriptor to allow evaluation.
         */
        allowEvaluation():void;
    }
    export enum ComparisonResult {
        orderedAscending = -1,
        orderedSame = 0,
        orderedDescending = 1,
    }
    export interface SortComparator extends Hashable {
        /**
         * The sort order that the comparator uses to compare.
         */
        order: SortOrder;
        /**
         * A comparator that compares a string using a localized comparison in the current locale.
         */
        static localized: String.Comparator;
        /**
         * A comparator that compares a string using a localized, numeric comparison in the current locale.
         */
        static localizedStandard: String.Comparator;
        /**
         * Provides the relative ordering of two elements based on the sort order of the comparator.
         */
        compare(lhs: Self.Compared, rhs: Self.Compared):ComparisonResult;
    }
    export enum SortOrder {
        forward,
        reverse,
    }
    export class UndoManager extends NSObject {
        /**
         * A Boolean value that indicates whether the receiver has any actions to undo.
         */
        canUndo: boolean;
        /**
         * A Boolean value that indicates whether the receiver has any actions to redo.
         */
        canRedo: boolean;
        /**
         * The maximum number of top-level undo groups the receiver holds.
         */
        levelsOfUndo: number;
        /**
         * A Boolean value that indicates whether the receiver automatically creates undo groups around each pass of the run loop.
         */
        groupsByEvent: boolean;
        /**
         * The number of nested undo groups (or redo groups, if Redo was invoked last) in the current event loop.
         */
        groupingLevel: number;
        /**
         * A Boolean value that indicates whether the recording of undo operations is enabled.
         */
        isUndoRegistrationEnabled: boolean;
        /**
         * Returns a Boolean value that indicates whether the receiver is in the process of performing its 
         *  or 
         *  method.
         */
        isUndoing: boolean;
        /**
         * Returns a Boolean value that indicates whether the receiver is in the process of performing its 
         *  method.
         */
        isRedoing: boolean;
        /**
         * The name identifying the undo action.
         */
        undoActionName: string;
        /**
         * The name identifying the redo action.
         */
        redoActionName: string;
        /**
         * The complete title of the Undo menu command, for example, “Undo Paste.”
         */
        undoMenuItemTitle: string;
        /**
         * The complete title of the Redo menu command, for example, “Redo Paste.”
         */
        redoMenuItemTitle: string;
        /**
         * The modes governing the types of input handled during a cycle of the run loop.
         */
        runLoopModes: RunLoop.Mode[];
        /**
         * Boolean value that indicates whether the next undo action is discardable.
         */
        undoActionIsDiscardable: boolean;
        /**
         * Boolean value that indicates whether the next redo action is discardable.
         */
        redoActionIsDiscardable: boolean;
        /**
         * Registers the selector of the specified target to implement a single undo operation that the target receives.
         */
        registerUndo(target: any, selector: Selector, anObject: any):void;
        /**
         * Prepares the undo manager for invocation-based undo with the given target as the subject of the next undo operation.
         */
        prepare(target: any):any;
        /**
         * Closes the top-level undo group if necessary and invokes 
         * .
         */
        undo():void;
        /**
         * Performs the undo operations in the last undo group (whether top-level or nested), recording the operations on the redo stack as a single group.
         */
        undoNestedGroup():void;
        /**
         * Performs the operations in the last group on the redo stack, if there are any, recording them on the undo stack as a single group.
         */
        redo():void;
        /**
         * Marks the beginning of an undo group.
         */
        beginUndoGrouping():void;
        /**
         * Marks the end of an undo group.
         */
        endUndoGrouping():void;
        /**
         * Disables the recording of undo operations, whether by 
         *  or by invocation-based undo.
         */
        disableUndoRegistration():void;
        /**
         * Enables the recording of undo operations.
         */
        enableUndoRegistration():void;
        /**
         * Clears the undo and redo stacks and re-enables the receiver.
         */
        removeAllActions():void;
        /**
         * Sets the name of the action associated with the Undo or Redo command.
         */
        setActionName(actionName: string):void;
        /**
         * Returns the complete, localized title of the Undo menu command for the action identified by the given name.
         */
        undoMenuTitle(actionName: string):string;
        /**
         * Returns the complete, localized title of the Redo menu command for the action identified by the given name.
         */
        redoMenuTitle(actionName: string):string;
        /**
         * Sets whether the next undo or redo action is discardable.
         */
        setActionIsDiscardable(discardable: boolean):void;
    }
    export interface ProgressReporting extends NSObjectProtocol {
        /**
         * The progress object returned by the class.
         */
        progress: Progress;
    }
    export class Progress extends NSObject {
        /**
         * The total number of tracked units of work for the current progress.
         */
        totalUnitCount: Int64;
        /**
         * The number of completed units of work for the current job.
         */
        completedUnitCount: Int64;
        /**
         * A localized description of tracked progress for the receiver.
         */
        localizedDescription: String!;
        /**
         * A more specific localized description of tracked progress for the receiver.
         */
        localizedAdditionalDescription: String!;
        /**
         * A Boolean value that indicates whether the receiver is tracking work that you can cancel.
         */
        isCancellable: boolean;
        /**
         * A Boolean value that Indicates whether the receiver is tracking canceled work.
         */
        isCancelled: boolean;
        /**
         * The block to invoke when canceling progress.
         */
        cancellationHandler: ()=>any | null;
        /**
         * A Boolean value that indicates whether the receiver is tracking work that you can pause.
         */
        isPausable: boolean;
        /**
         * A Boolean value that indicates whether the receiver is tracking paused work.
         */
        isPaused: boolean;
        /**
         * The block to invoke when pausing progress.
         */
        pausingHandler: ()=>any | null;
        /**
         * A Boolean value that indicates whether the tracked progress is indeterminate.
         */
        isIndeterminate: boolean;
        /**
         * The fraction of the overall work that the progress object completes, including work from its suboperations.
         */
        fractionCompleted: number;
        /**
         * A Boolean value that indicates the progress object is complete.
         */
        isFinished: boolean;
        /**
         * The block to invoke when progress resumes.
         */
        resumingHandler: ()=>any | null;
        /**
         * An object that represents the kind of progress for the progress object.
         */
        kind: ProgressKind | null;
        /**
         * A value that indicates the estimated amount of time remaining to complete the progress.
         */
        estimatedTimeRemaining: TimeInterval | null;
        /**
         * A value that represents the speed of data processing, in bytes per second.
         */
        throughput: number;
        /**
         * A dictionary of arbitrary values for the receiver.
         */
        userInfo: Record<ProgressUserInfoKey, any>;
        /**
         * The kind of file operation for the progress object.
         */
        fileOperationKind: Progress.FileOperationKind | null;
        /**
         * A URL that represents the file for the current progress object.
         */
        fileURL: URL | null;
        /**
         * The total number of files for a file progress object.
         */
        fileTotalCount: number;
        /**
         * The number of completed files for a file progress object.
         */
        fileCompletedCount: number;
        /**
         * A Boolean value that indicates when the observed progress object invokes the publish method before you subscribe to it.
         */
        isOld: boolean;
        /**
         * Creates a new progress instance.
         */
        constructor (parentProgressOrNil: Progress | null, userInfoOrNil: Record<ProgressUserInfoKey, any> | null);
        /**
         * Creates and returns a progress instance.
         */
        constructor (unitCount: Int64);
        /**
         * Creates a progress instance for the specified progress object with a unit count that’s a portion of the containing object’s total unit count.
         */
        constructor (unitCount: Int64, parent: Progress, portionOfParentTotalUnitCount: Int64);
        /**
         * Creates and returns a progress instance with the specified unit count that isn’t part of any existing progress tree.
         */
        static discreteProgress(unitCount: Int64):Progress;
        /**
         * Returns the progress instance, if any.
         */
        static current():Progress | null;
        /**
         * Registers a file URL to hear about the progress of a file operation.
         */
        static addSubscriber(url: URL, publishingHandler: Progress.PublishingHandler):any;
        /**
         * Removes a proxy progress object that the add subscriber method returns.
         */
        static removeSubscriber(subscriber: any):void;
        /**
         * Sets the progress object as the current object of the current thread, and assigns the amount of work for the next suboperation progress object to perform.
         */
        becomeCurrent(unitCount: Int64):void;
        /**
         * Adds a process object as a suboperation of a progress tree.
         */
        addChild(child: Progress, inUnitCount: Int64):void;
        /**
         * Restores the previous progress object to become the current progress object on the thread.
         */
        resignCurrent():void;
        /**
         * Cancels progress tracking.
         */
        cancel():void;
        /**
         * Pauses progress tracking.
         */
        pause():void;
        /**
         * Resumes progress tracking.
         */
        resume():void;
        /**
         * Sets a value in the user info dictionary.
         */
        setUserInfoObject(objectOrNil: any, key: ProgressUserInfoKey):void;
        /**
         * Publishes the progress object for other processes to observe it.
         */
        publish():void;
        /**
         * Removes a progress object from publication, making it unobservable by other processes.
         */
        unpublish():void;
    }
    /**
     * the same name namespace of class Progress
     */
    export namespace Progress {
        export class FileOperationKind {
            /**
             * The progress is tracking the copying of a file from source to destination.
             */
            static copying: Progress.FileOperationKind;
            /**
             * The progress is tracking file decompression after a download.
             */
            static decompressingAfterDownloading: Progress.FileOperationKind;
            /**
             * The progress is tracking a file download operation.
             */
            static downloading: Progress.FileOperationKind;
            /**
             * The progress is tracking a file upload operation.
             */
            static uploading: Progress.FileOperationKind;
            /**
             * The progress is tracking the receipt of a file from another source.
             */
            static receiving: Progress.FileOperationKind;
            static duplicating: Progress.FileOperationKind;
            /**
             * Creates a new kind of file operation using the specified string.
             */
            constructor (rawValue: string);
            /**
             * Creates a new kind of file operation using the raw value of a string you specify.
             */
            constructor (rawValue: string);
        }
    }
    export class ProgressKind {
        /**
         * The value that indicates that the progress is tracking a file operation.
         */
        static file: ProgressKind;
        /**
         * Creates a new kind of progress using the specified string.
         */
        constructor (rawValue: string);
        /**
         * Creates a new kind of progress using the raw value of a string you specify.
         */
        constructor (rawValue: string);
    }
    export class ProgressUserInfoKey {
        /**
         * A key with a corresponding value that represents the time remaining, in seconds.
         */
        static estimatedTimeRemainingKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that indicates the speed of data processing, in bytes per second.
         */
        static throughputKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that is an image, typically an icon to represent the file.
         */
        static fileAnimationImageKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that indicates the starting location of the image onscreen.
         */
        static fileAnimationImageOriginalRectKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that represents the number of completed files.
         */
        static fileCompletedCountKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that must be an image, typically an icon to represent the file.
         */
        static fileIconKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that indicates the kind of file operation a progress object represents.
         */
        static fileOperationKindKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that represents the total number of files within a file operation.
         */
        static fileTotalCountKey: ProgressUserInfoKey;
        /**
         * A key with a corresponding value that represents the file URL of a file operation for the progress object.
         */
        static fileURLKey: ProgressUserInfoKey;
        /**
         * Creates a new key using the specified string.
         */
        constructor (rawValue: string);
        /**
         * Creates a new key using the raw value of a string you specify.
         */
        constructor (rawValue: string);
    }
    export class Operation extends NSObject {
        /**
         * The block to execute after the operation’s main task is completed.
         */
        completionBlock: ()=>any | null;
        /**
         * A Boolean value indicating whether the operation has been cancelled
         */
        isCancelled: boolean;
        /**
         * A Boolean value indicating whether the operation is currently executing. 
         */
        isExecuting: boolean;
        /**
         * A Boolean value indicating whether the operation has finished executing its task.
         */
        isFinished: boolean;
        /**
         * A Boolean value indicating whether the operation executes its task asynchronously.
         */
        isConcurrent: boolean;
        /**
         * A Boolean value indicating whether the operation executes its task asynchronously.
         */
        isAsynchronous: boolean;
        /**
         * A Boolean value indicating whether the operation can be performed now. 
         */
        isReady: boolean;
        /**
         * The name of the operation.
         */
        name: string;
        /**
         * An array of the operation objects that must finish executing before the current object can begin executing.
         */
        dependencies: Operation[];
        /**
         * The relative amount of importance for granting system resources to the operation. 
         */
        qualityOfService: QualityOfService;
        /**
         * The thread priority to use when executing the operation
         */
        threadPriority: number;
        /**
         * The execution priority of the operation in an operation queue. 
         */
        queuePriority: Operation.QueuePriority;
        /**
         * Begins the execution of the operation. 
         */
        start():void;
        /**
         * Performs the receiver’s non-concurrent task.
         */
        main():void;
        /**
         * Advises the operation object that it should stop executing its task.
         */
        cancel():void;
        /**
         * Makes the receiver dependent on the completion of the specified operation.
         */
        addDependency(op: Operation):void;
        /**
         * Removes the receiver’s dependence on the specified operation.
         */
        removeDependency(op: Operation):void;
        /**
         * Blocks execution of the current thread until the operation object finishes its task.
         */
        waitUntilFinished():void;
    }
    /**
     * the same name namespace of class Operation
     */
    export namespace Operation {
        export enum QueuePriority {
            veryLow = -8,
            low = -4,
            normal = 0,
            high = 4,
            veryHigh = 8,
        }
    }
    export enum QualityOfService {
        userInteractive = 33,
        userInitiated = 25,
        utility = 17,
        background = 9,
        default = -1,
    }
    export class OperationQueue extends NSObject {
        /**
         * Returns the operation queue associated with the main thread. 
         */
        static main: OperationQueue;
        /**
         * Returns the operation queue that launched the current operation.
         */
        static current: OperationQueue | null;
        /**
         * The default maximum number of operations to invoke concurrently in a queue.
         */
        static defaultMaxConcurrentOperationCount: number;
        /**
         * The operations currently in the queue.
         */
        operations: Operation[];
        /**
         * The number of operations currently in the queue.
         */
        operationCount: number;
        /**
         * The default service level to apply to operations that the queue invokes.
         */
        qualityOfService: QualityOfService;
        /**
         * The maximum number of queued operations that can run at the same time.
         */
        maxConcurrentOperationCount: number;
        /**
         * An object that represents the total progress of the operations executing in the queue.
         */
        progress: Progress;
        /**
         * A Boolean value indicating whether the queue is actively scheduling operations for execution.
         */
        isSuspended: boolean;
        /**
         * The name of the operation queue.
         */
        name: string;
        /**
         * The dispatch queue that the operation queue uses to invoke operations.
         */
        underlyingQueue: DispatchQueue | null;
        /**
         * The operation queue’s definition of the current moment in time.
         */
        now: OperationQueue.SchedulerTimeType;
        /**
         * The minimum tolerance the dispatch queue scheduler allows.
         */
        minimumTolerance: OperationQueue.SchedulerTimeType.Stride;
        /**
         * Adds the specified operation to the receiver.
         */
        addOperation(op: Operation):void;
        /**
         * Adds the specified operations to the queue.
         */
        addOperations(ops: Operation[], wait: boolean):void;
        /**
         * Invokes a block when the queue finishes all enqueued operations, and prevents subsequent operations from starting until the block has completed.
         */
        addBarrierBlock(barrier: ()=>any):void;
        /**
         * Cancels all queued and executing operations.
         */
        cancelAllOperations():void;
        /**
         * Blocks the current thread until all the receiver’s queued and executing operations finish executing.
         */
        waitUntilAllOperationsAreFinished():void;
        /**
         * Performs the action at some time after the specified date, optionally taking into account tolerance if possible.
         */
        schedule(date: OperationQueue.SchedulerTimeType, tolerance: OperationQueue.SchedulerTimeType.Stride, options: OperationQueue.SchedulerOptions | null, action: ()=>any):void;
    }
    /**
     * the same name namespace of class OperationQueue
     */
    export namespace OperationQueue {
        export class SchedulerTimeType {
            /**
             * The date this type represents.
             */
            date: Date;
            hashValue: number;
            /**
             * Creates an operation queue scheduler time with the given date.
             */
            constructor (date: Date);
            /**
             * Creates a scheduler time type using data in an unarchiver.
             */
            constructor (decoder: Decoder);
            /**
             * Calculates an operation queue scheduler time by advancing the scheduler time type’s date by the given interval.
             */
            advanced(n: OperationQueue.SchedulerTimeType.Stride):OperationQueue.SchedulerTimeType;
            /**
             * The distance to another operation queue scheduler time.
             */
            distance(other: OperationQueue.SchedulerTimeType):OperationQueue.SchedulerTimeType.Stride;
            hash(hasher: Hasher):void;
            /**
             * Encodes a scheduler time type to an archiver.
             */
            encode(encoder: Encoder):void;
        }
        /**
         * the same name namespace of class SchedulerTimeType
         */
        export namespace SchedulerTimeType {
            export class Stride {
                /**
                 * The zero value.
                 */
                static zero: OperationQueue.SchedulerTimeType.Stride;
                /**
                 * The value of this time interval, in seconds.
                 */
                timeInterval: TimeInterval;
                /**
                 * The value of this time interval, in seconds.
                 */
                magnitude: TimeInterval;
                /**
                 * Creates a stride using the specified time interval.
                 */
                constructor (timeInterval: TimeInterval);
                /**
                 * Creates a stride using the specified floating-point value.
                 */
                constructor (value: TimeInterval);
                /**
                 * Creates a stride using the specified integer value.
                 */
                constructor (value: TimeInterval);
                /**
                 * Creates a scheduler time type stride using data in an unarchiver.
                 */
                constructor (decoder: Decoder);
                /**
                 * Converts the specified number of seconds into an instance of this scheduler time type.
                 */
                static seconds(s: number):OperationQueue.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of milliseconds into an instance of this scheduler time type.
                 */
                static milliseconds(ms: number):OperationQueue.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of microseconds into an instance of this scheduler time type.
                 */
                static microseconds(us: number):OperationQueue.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of nanoseconds into an instance of this scheduler time type.
                 */
                static nanoseconds(ns: number):OperationQueue.SchedulerTimeType.Stride;
                /**
                 * Replaces this value with its additive inverse.
                 */
                negate():void;
                /**
                 * Encodes a scheduler time type stride to an archiver.
                 */
                encode(encoder: Encoder):void;
            }
        }
        export class SchedulerOptions {}
    }
    export class BlockOperation extends Operation {
        /**
         * The blocks associated with the receiver.
         */
        executionBlocks: ()=>any;
        /**
         * Creates and returns an 
         *  object and adds the specified block to it.
         */
        constructor (block: ()=>any);
        /**
         * Adds the specified block to the receiver’s list of blocks to perform.
         */
        addExecutionBlock(block: ()=>any):void;
    }
    export class Timer extends NSObject {
        /**
         * A Boolean value that indicates whether the timer is currently valid.
         */
        isValid: boolean;
        /**
         * The date at which the timer will fire.
         */
        fireDate: Date;
        /**
         * The timer’s time interval, in seconds.
         */
        timeInterval: TimeInterval;
        /**
         * The receiver's 
         *  object.
         */
        userInfo: any;
        /**
         * The amount of time after the scheduled fire date that the timer may fire.
         */
        tolerance: TimeInterval;
        /**
         * Initializes a timer object with the specified time interval and block. 
         */
        constructor (interval: TimeInterval, repeats: boolean, block: ()=>any);
        /**
         * Initializes a timer object with the specified object and selector.
         */
        constructor (ti: TimeInterval, aTarget: any, aSelector: Selector, userInfo: any, yesOrNo: boolean);
        /**
         * Initializes a timer object with the specified invocation object.
         */
        constructor (ti: TimeInterval, invocation: NSInvocation, yesOrNo: boolean);
        /**
         * Initializes a timer for the specified date and time interval with the specified block.  
         */
        constructor (date: Date, interval: TimeInterval, repeats: boolean, block: ()=>any);
        /**
         * Initializes a timer using the specified object and selector. 
         */
        constructor (date: Date, ti: TimeInterval, t: any, s: Selector, ui: any, rep: boolean);
        /**
         * Creates a timer and schedules it on the current run loop in the default mode.
         */
        static scheduledTimer(interval: TimeInterval, repeats: boolean, block: ()=>any):Timer;
        /**
         * Returns a publisher that repeatedly emits the current date on the given interval.
         */
        static publish(interval: TimeInterval, tolerance: TimeInterval | null, runLoop: RunLoop, mode: RunLoop.Mode, options: RunLoop.SchedulerOptions | null):Timer.TimerPublisher;
        /**
         * Causes the timer's message to be sent to its target.
         */
        fire():void;
        /**
         * Stops the timer from ever firing again and requests its removal from its run loop.
         */
        invalidate():void;
    }
    /**
     * the same name namespace of class Timer
     */
    export namespace Timer {
        export class TimerPublisher {
            /**
             * Creates a publisher that repeatedly emits the current date on the given interval.
             */
            constructor (interval: TimeInterval, tolerance: TimeInterval | null, runLoop: RunLoop, mode: RunLoop.Mode, options: RunLoop.SchedulerOptions | null);
        }
    }
    export interface NSUserActivityDelegate extends NSObjectProtocol {
        /**
         * Notifies the user activity delegate that an input and output streams are available to open.
         */
        userActivity(userActivity: NSUserActivity, inputStream: InputStream, outputStream: OutputStream):void;
        /**
         * Notifies the delegate that the user activity was continued on another device.
         */
        userActivityWasContinued(userActivity: NSUserActivity):void;
        /**
         * Notifies the delegate that the user activity will be saved to be continued or persisted.
         */
        userActivityWillSave(userActivity: NSUserActivity):void;
    }
    export class ProcessInfo extends NSObject {
        /**
         * Returns the process information agent for the process.
         */
        static processInfo: ProcessInfo;
        /**
         * Posts when the thermal state of the system changes.
         */
        static thermalStateDidChangeNotification: NSNotification.Name;
        /**
         * Array of strings with the command-line arguments for the process.
         */
        arguments: string[];
        /**
         * The variable names (keys) and their values in the environment from which the process was launched.
         */
        environment: Record<string, string>;
        /**
         * Global unique identifier for the process.
         */
        globallyUniqueString: string;
        /**
         * A Boolean value that indicates whether the process originated as an iOS app and runs on macOS.
         */
        isMacCatalystApp: boolean;
        /**
         * A Boolean value that indicates whether the process is an iPhone or iPad app running on a Mac.
         */
        isiOSAppOnMac: boolean;
        /**
         * The identifier of the process (often called process ID).
         */
        processIdentifier: Int32;
        /**
         * The name of the process.
         */
        processName: string;
        /**
         * Returns the account name of the current user.
         */
        userName: string;
        /**
         * Returns the full name of the current user.
         */
        fullUserName: string;
        /**
         * A Boolean value indicating whether the app supports automatic termination.
         */
        automaticTerminationSupportEnabled: boolean;
        /**
         * The name of the host computer on which the process is executing.
         */
        hostName: string;
        /**
         * A string containing the version of the operating system on which the process is executing.
         */
        operatingSystemVersionString: string;
        /**
         * The version of the operating system on which the process is executing.
         */
        operatingSystemVersion: OperatingSystemVersion;
        /**
         * The number of processing cores available on the computer.
         */
        processorCount: number;
        /**
         * The number of active processing cores available on the computer.
         */
        activeProcessorCount: number;
        /**
         * The amount of physical memory on the computer in bytes.
         */
        physicalMemory: UInt64;
        /**
         * The amount of time the system has been awake since the last time it was restarted.
         */
        systemUptime: TimeInterval;
        /**
         * The current thermal state of the system.
         */
        thermalState: ProcessInfo.ThermalState;
        /**
         * A Boolean value that indicates the current state of Low Power Mode.
         */
        isLowPowerModeEnabled: boolean;
        /**
         * Disables the application for quickly killing using sudden termination.
         */
        disableSuddenTermination():void;
        /**
         * Enables the application for quick killing using sudden termination.
         */
        enableSuddenTermination():void;
        /**
         * Disables automatic termination for the application.
         */
        disableAutomaticTermination(reason: string):void;
        /**
         * Enables automatic termination for the application.
         */
        enableAutomaticTermination(reason: string):void;
        /**
         * Returns a Boolean value indicating whether the version of the operating system on which the process is executing is the same or later than the given version.
         */
        isOperatingSystemAtLeast(version: OperatingSystemVersion):boolean;
        /**
         * Returns a constant to indicate the operating system on which the process is executing.
         */
        operatingSystem():number;
        /**
         * Returns a string containing the name of the operating system on which the process is executing.
         */
        operatingSystemName():string;
        /**
         * Begin an activity using the given options and reason.
         */
        beginActivity(options: ProcessInfo.ActivityOptions, reason: string):NSObjectProtocol;
        /**
         * Ends the given activity.
         */
        endActivity(activity: NSObjectProtocol):void;
        /**
         * Synchronously perform an activity defined by a given block using the given options.
         */
        performActivity(options: ProcessInfo.ActivityOptions, reason: string, block: ()=>any):void;
        /**
         * Performs the specified block asynchronously and notifies you if the process is about to be suspended.
         */
        performExpiringActivity(reason: string, block: ()=>any):void;
    }
    /**
     * the same name namespace of class ProcessInfo
     */
    export namespace ProcessInfo {
        export class ActivityOptions {
            /**
             * A flag to require the screen to stay powered on.
             */
            static idleDisplaySleepDisabled: ProcessInfo.ActivityOptions;
            /**
             * A flag to prevent idle sleep.
             */
            static idleSystemSleepDisabled: ProcessInfo.ActivityOptions;
            /**
             * A flag to prevent sudden termination.
             */
            static suddenTerminationDisabled: ProcessInfo.ActivityOptions;
            /**
             * A flag to prevent automatic termination.
             */
            static automaticTerminationDisabled: ProcessInfo.ActivityOptions;
            /**
             * A flag to indicate the app is performing a user-requested action.
             */
            static userInitiated: ProcessInfo.ActivityOptions;
            /**
             * A flag to indicate the app is responding to user interaction.
             */
            static userInteractive: ProcessInfo.ActivityOptions;
            /**
             * A flag to indicate the app is performing a user-requested action, but that the system can sleep on idle.
             */
            static userInitiatedAllowingIdleSystemSleep: ProcessInfo.ActivityOptions;
            /**
             * A flag to indicate the app has initiated some kind of work, but not as the direct result of user request.
             */
            static background: ProcessInfo.ActivityOptions;
            /**
             * A flag to indicate the activity requires the highest amount of timer and I/O precision available.
             */
            static latencyCritical: ProcessInfo.ActivityOptions;
            /**
             * A flag to track the activity with an animation signpost interval.
             */
            static animationTrackingEnabled: ProcessInfo.ActivityOptions;
            /**
             * A flag to track the activity with a signpost interval.
             */
            static trackingEnabled: ProcessInfo.ActivityOptions;
            constructor (rawValue: UInt64);
        }
        export enum ThermalState {
            nominal = 0,
            fair = 1,
            serious = 2,
            critical = 3,
        }
    }
    export class OperatingSystemVersion {
        /**
         * The major release number, such as 10 in version 10.9.3.
         */
        majorVersion: number;
        /**
         * The minor release number, such as 9 in version 10.9.3.
         */
        minorVersion: number;
        /**
         * The update release number, such as 3 in version 10.9.3.
         */
        patchVersion: number;
        /**
         * Creates an empty operating system version.
         */
        constructor ();
        /**
         * Creates an operating system version with the provided values.
         */
        constructor (majorVersion: number, minorVersion: number, patchVersion: number);
    }
    export class NSBackgroundActivityScheduler extends NSObject {
        /**
         * A unique reverse DNS notation string, such as 
         * , that identifies the activity.
         */
        identifier: string;
        /**
         * A Boolean value indicating whether the activity should be rescheduled after it completes.
         */
        repeats: boolean;
        /**
         * An integer providing a suggested interval between scheduling and invoking the activity.
         */
        interval: TimeInterval;
        /**
         * A value of type 
         * , which controls how aggressively the system schedules the activity.
         */
        qualityOfService: QualityOfService;
        /**
         * A Boolean value indicating whether your app should stop performing background activity and resume at a more optimal time.
         */
        shouldDefer: boolean;
        /**
         * A value of type 
         * , which specifies a range of time during which the background activity may occur.
         */
        tolerance: TimeInterval;
        /**
         * Initializes a background activity scheduler object with a specified unique identifier.
         */
        constructor (identifier: string);
        /**
         * Begins scheduling the background activity.
         */
        schedule(block: ()=>any):void;
        /**
         * Prevents the background activity from being scheduled again.
         */
        invalidate():void;
    }
    /**
     * the same name namespace of class NSBackgroundActivityScheduler
     */
    export namespace NSBackgroundActivityScheduler {
        export enum Result {
            finished = 1,
            deferred = 2,
        }
    }
    export class NSUserNotification extends NSObject {
        /**
         * Specifies the title of the notification.
         */
        title: string;
        /**
         * Specifies the subtitle of the notification.
         */
        subtitle: string;
        /**
         * The body text of the notification.
         */
        informativeText: string;
        /**
         * Image shown in the content of the notification.
         */
        contentImage: NSImage | null;
        /**
         * A string that uniquely identifies a notification.
         */
        identifier: string;
        /**
         * The response with which the user responded to a notification.
         */
        response: NSAttributedString | null;
        /**
         * Optional placeholder string for inline reply field.
         */
        responsePlaceholder: string;
        /**
         * A Boolean value that specifies whether the notification displays an action button.
         */
        hasActionButton: boolean;
        /**
         * Specifies the title of the action button displayed in the notification.
         */
        actionButtonTitle: string;
        /**
         * Specifies a custom title for the close button in an alert-style notification.
         */
        otherButtonTitle: string;
        /**
         * A Boolean value that specifies whether the notification displays a reply button.
         */
        hasReplyButton: boolean;
        /**
         * Specifies when the notification should be delivered.
         */
        deliveryDate: Date | null;
        /**
         * The date this notification was actually delivered.
         */
        actualDeliveryDate: Date | null;
        /**
         * Specifies the date components that control how often a user notification is repeated.
         */
        deliveryRepeatInterval: DateComponents | null;
        /**
         * Specify the time zone to interpret the delivery date in.
         */
        deliveryTimeZone: TimeZone | null;
        /**
         * Specifies whether the user notification has been presented.
         */
        isPresented: boolean;
        /**
         * Specifies whether the remote was generated by a push notification.
         */
        isRemote: boolean;
        /**
         * Specifies the name of the sound to play when the notification is delivered.
         */
        soundName: string;
        /**
         * Specifies what caused a user notification to occur.
         */
        activationType: NSUserNotification.ActivationType;
        /**
         * An additional action selected by the user.
         */
        additionalActivationAction: NSUserNotificationAction | null;
        /**
         * The actions that can be taken on a notification in addition to the default action.
         */
        additionalActions: NSUserNotificationAction[] | null;
        /**
         * Application-specific user info that can be attached to the notification.
         */
        userInfo: Record<string, any> | null;
        constructor ();
    }
    /**
     * the same name namespace of class NSUserNotification
     */
    export namespace NSUserNotification {
        export enum ActivationType {
            none = 0,
            contentsClicked = 1,
            actionButtonClicked = 2,
            replied = 3,
            additionalActionClicked = 4,
        }
    }
    export class NSUserNotificationAction extends NSObject {
        /**
         * The identifier for the user notification action.
         */
        identifier: string;
        /**
         * The localized title shown to the user. 
         */
        title: string;
        /**
         * Creates a user notification action with a specified identifier and title.
         */
        constructor (identifier: string, title: string);
    }
    export class NSUserNotificationCenter extends NSObject {
        /**
         * Returns the default user notification center.
         */
        static default: NSUserNotificationCenter;
        /**
         * Specifies an array of scheduled user notifications that have not yet been delivered.
         */
        scheduledNotifications: NSUserNotification[];
        /**
         * An array of all user notifications delivered to the notification center.
         */
        deliveredNotifications: NSUserNotification[];
        /**
         * Specifies the notification center delegate.
         */
        delegate: NSUserNotificationCenterDelegate | null;
        /**
         * Schedules the specified user notification.
         */
        scheduleNotification(notification: NSUserNotification):void;
        /**
         * Removes the specified user notification for the scheduled notifications.
         */
        removeScheduledNotification(notification: NSUserNotification):void;
        /**
         * Deliver the specified user notification.
         */
        deliver(notification: NSUserNotification):void;
        /**
         * Remove a delivered user notification from the user notification center.
         */
        removeDeliveredNotification(notification: NSUserNotification):void;
        /**
         * Remove all delivered user notifications from the user notification center.
         */
        removeAllDeliveredNotifications():void;
    }
    export interface NSUserNotificationCenterDelegate extends NSObjectProtocol {
        /**
         * Sent to the delegate when a notification delivery date has arrived.
         */
        userNotificationCenter(center: NSUserNotificationCenter, notification: NSUserNotification):void;
    }
    export class Bundle extends NSObject {
        /**
         * Returns the bundle object that contains the current executable.
         */
        static main: Bundle;
        /**
         * Returns an array of all of the application’s bundles that represent frameworks.
         */
        static allFrameworks: Bundle[];
        /**
         * Returns an array of all the application’s non-framework bundles.
         */
        static allBundles: Bundle[];
        /**
         * A notification that lets observers know when classes are dynamically loaded.
         */
        static didLoadNotification: NSNotification.Name;
        /**
         * The file URL of the bundle’s subdirectory containing resource files.
         */
        resourceURL: URL | null;
        /**
         * The file URL of the receiver's executable file.
         */
        executableURL: URL | null;
        /**
         * The file URL of the bundle’s subdirectory containing private frameworks.
         */
        privateFrameworksURL: URL | null;
        /**
         * The file URL of the receiver's subdirectory containing shared frameworks.
         */
        sharedFrameworksURL: URL | null;
        /**
         * The file URL of the receiver's subdirectory containing plug-ins.
         */
        builtInPlugInsURL: URL | null;
        /**
         * The file URL of the bundle’s subdirectory containing shared support files.
         */
        sharedSupportURL: URL | null;
        /**
         * The file URL for the bundle’s App Store receipt.
         */
        appStoreReceiptURL: URL | null;
        /**
         * The full pathname of the bundle’s subdirectory containing resources.
         */
        resourcePath: string;
        /**
         * The full pathname of the receiver's executable file.
         */
        executablePath: string;
        /**
         * The full pathname of the bundle’s subdirectory containing private frameworks.
         */
        privateFrameworksPath: string;
        /**
         * The full pathname of the bundle’s subdirectory containing shared frameworks.
         */
        sharedFrameworksPath: string;
        /**
         * The full pathname of the receiver's subdirectory containing plug-ins.
         */
        builtInPlugInsPath: string;
        /**
         * The full pathname of the bundle’s subdirectory containing shared support files.
         */
        sharedSupportPath: string;
        /**
         * The full URL of the receiver’s bundle directory.
         */
        bundleURL: URL;
        /**
         * The full pathname of the receiver’s bundle directory.
         */
        bundlePath: string;
        /**
         * The receiver’s bundle identifier.
         */
        bundleIdentifier: string;
        /**
         * A dictionary, constructed from the bundle’s 
         *  file, that contains information about the receiver.
         */
        infoDictionary: Record<string, any> | null;
        /**
         * A list of all the localizations contained in the bundle.
         */
        localizations: string[];
        /**
         * An ordered list of preferred localizations contained in the bundle.
         */
        preferredLocalizations: string[];
        /**
         * The localization for the development language.
         */
        developmentLocalization: string;
        /**
         * A dictionary with the keys from the bundle’s localized property list.
         */
        localizedInfoDictionary: Record<string, any> | null;
        /**
         * The bundle’s principal class.
         */
        principalClass: AnyClass | null;
        /**
         * An array of numbers indicating the architecture types supported by the bundle’s executable.
         */
        executableArchitectures: NSNumber[] | null;
        /**
         * The load status of a bundle.
         */
        isLoaded: boolean;
        /**
         * Returns the 
         *  object with which the specified class is associated.
         */
        constructor (aClass: AnyClass);
        /**
         * Returns the 
         *  instance that has the specified bundle identifier.
         */
        constructor (identifier: string);
        /**
         * Returns an 
         *  object initialized to correspond to the specified file URL.
         */
        constructor (url: URL);
        /**
         * Returns an 
         *  object initialized to correspond to the specified directory.
         */
        constructor (path: string);
        /**
         * Unarchives the contents of a nib file located in the receiver's bundle.
         */
        loadNibNamed(name: string, owner: any, options: Record<UINib.OptionsKey, any> | null):any[] | null;
        /**
         * Returns the file URL for the resource file identified by the specified name and extension and residing in a given bundle directory. 
         */
        url(name: string, ext: string, subpath: string):URL | null;
        /**
         * Returns an array of file URLs for all resources identified by the specified file extension and located in the specified bundle subdirectory.
         */
        urls(ext: string, subpath: string):URL[] | null;
        /**
         * Returns the full pathname for the resource identified by the specified name and file extension.
         */
        path(name: string, ext: string):string;
        /**
         * Returns an array containing the pathnames for all bundle resources having the specified filename extension and residing in the resource subdirectory.
         */
        paths(ext: string, subpath: string):string[];
        /**
         * Returns the location of the specified image resource as an NSURL.
         */
        urlForImageResource(name: NSImage.Name):URL | null;
        /**
         * Returns the location of the specified image resource file. 
         */
        pathForImageResource(name: NSImage.Name):string;
        /**
         * Returns an 
         *  instance associated with the specified name, which can be backed by multiple files representing different resolution versions of the image.
         */
        image(name: NSImage.Name):NSImage | null;
        /**
         * Returns a localized version of the string designated by the specified key and residing in the specified table.
         */
        localizedString(key: string, value: string, tableName: string):string;
        /**
         * Returns the context-sensitive help for the specified key from the bundle's help file. 
         */
        contextHelp(key: NSHelpManager.ContextHelpKey):NSAttributedString | null;
        /**
         * Returns the value associated with the specified key in the receiver's information property list.
         */
        object(key: string):any;
        /**
         * A hint to the system of the relative order for purging tagged sets of resources in the bundle.
         */
        setPreservationPriority(priority: number, tags: Set<String>):void;
        /**
         * Returns the current preservation priority for the specified tag.
         */
        preservationPriority(tag: string):number;
        /**
         * Returns the 
         *  object for the specified name.
         */
        classNamed(className: string):AnyClass | null;
        /**
         * Returns a Boolean value indicating whether the bundle’s executable code could be loaded successfully. 
         */
        preflight():void;
        /**
         * Dynamically loads the bundle’s executable code into a running program, if the code has not already been loaded.
         */
        load():boolean;
        /**
         * Loads the bundle’s executable code and returns any errors.
         */
        loadAndReturnError():void;
        /**
         * Unloads the code associated with the receiver. 
         */
        unload():boolean;
    }
    export class NSBundleResourceRequest extends NSObject {
        /**
         * A reference to the bundle used for storing the downloaded resources. (read-only)
         */
        bundle: Bundle;
        /**
         * A set of strings, with each string specifying a tag used to mark on-demand resources managed by the request. (read-only)
         */
        tags: Set<String>;
        /**
         * A hint to the system of the relative priority of the resource request.
         */
        loadingPriority: number;
        /**
         * A reference to the progress object associated with the specified resource request. (read-only)
         */
        progress: Progress;
        /**
         * Initializes a resource request for managing the on-demand resources marked with any of the set of specified tags. The managed resources are loaded into the main bundle.
         */
        constructor (tags: Set<String>);
        /**
         * Initializes a resource request for managing the on-demand resources marked with any of the set of specified tags. The managed resources are loaded into the specified bundle.
         */
        constructor (tags: Set<String>, bundle: Bundle);
        /**
         * Requests access to the resources marked with the managed tags. If any of the resources are not on the device, they are requested from the App Store.
         */
        beginAccessingResources(completionHandler: ()=>any):void;
        /**
         * Checks whether the resources marked with the tags managed by the request are already on the device. If all of the resources are on the device, you can begin accessing those resources.
         */
        conditionallyBeginAccessingResources(completionHandler: ()=>any):void;
        /**
         * Informs the system that you have finished accessing the resources marked with the tags managed by the request.
         */
        endAccessingResources():void;
    }
    export interface NSKeyValueObservingCustomization extends NSObjectProtocol {
        static automaticallyNotifiesObservers(key: AnyKeyPath):boolean;
        static keyPathsAffectingValue(key: AnyKeyPath):Set<AnyKeyPath>;
    }
    export class NSKeyValueObservation extends NSObject {
        invalidate():void;
    }
    export enum NSKeyValueChange {
        setting = 1,
        insertion = 2,
        removal = 3,
        replacement = 4,
    }
    export class NSKeyValueObservingOptions {
        /**
         * Indicates that the change dictionary should provide the new attribute value, if applicable.
         */
        static new: NSKeyValueObservingOptions;
        /**
         * Indicates that the change dictionary should contain the old attribute value, if applicable.
         */
        static old: NSKeyValueObservingOptions;
        /**
         * If specified, a notification should be sent to the observer immediately, before the observer registration method even returns. 
         */
        static initial: NSKeyValueObservingOptions;
        /**
         * Whether separate notifications should be sent to the observer before and after each change, instead of a single notification after the change. 
         */
        static prior: NSKeyValueObservingOptions;
        constructor (rawValue: number);
    }
    export class NSKeyValueChangeKey {
        /**
         * If the value of the 
         *  entry is 
         * , 
         * , or 
         * , the value of this key is an 
         *  object that contains the indexes of the inserted, removed, or replaced objects.
         */
        static indexesKey: NSKeyValueChangeKey;
        /**
         * An 
         *  object that contains a value corresponding to one of the 
         *  enums, indicating what sort of change has occurred.
         */
        static kindKey: NSKeyValueChangeKey;
        /**
         * If the value of the 
         *  entry is 
         * , and 
         *  was specified when the observer was registered, the value of this key is the new value for the attribute.
         */
        static newKey: NSKeyValueChangeKey;
        /**
         * If the 
         *  option was specified when the observer was registered this notification is sent prior to a change.
         */
        static notificationIsPriorKey: NSKeyValueChangeKey;
        /**
         * If the value of the 
         *  entry is 
         * , and 
         *  was specified when the observer was registered, the value of this key is the value before the attribute was changed.
         */
        static oldKey: NSKeyValueChangeKey;
        constructor (rawValue: string);
    }
    export enum NSKeyValueSetMutationKind {
        union = 1,
        minus = 2,
        intersect = 3,
        set = 4,
    }
    export class Notification {
        /**
         * A tag identifying the notification.
         */
        name: Notification.Name;
        /**
         * An object that the poster wishes to send to observers.
         */
        object: any;
        /**
         * Storage for values or objects related to this notification.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * A textual description of the notification.
         */
        description: string;
        /**
         * A textual description of the notification suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the notification.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the notification.
         */
        hashValue: number;
        /**
         * Initializes a new notification.
         */
        constructor (name: Notification.Name, object: any, userInfo: Record<AnyHashable, any> | null);
        hash(hasher: Hasher):void;
    }
    export enum NSRectEdge {
        maxX = 2,
        maxY = 3,
        minX = 0,
        minY = 1,
    }
    export class AlignmentOptions {
        /**
         * Specifies that alignment of the minimum X coordinate should be to the nearest inward integral value.
         */
        static alignMinXInward: AlignmentOptions;
        /**
         * Specifies that alignment of the minimum Y coordinate should be to the nearest inward integral value.
         */
        static alignMinYInward: AlignmentOptions;
        /**
         * Specifies that alignment of the maximum X coordinate should be to the nearest inward integral value.
         */
        static alignMaxXInward: AlignmentOptions;
        /**
         * Specifies that alignment of the maximum X coordinate should be to the nearest inward integral value.
         */
        static alignMaxYInward: AlignmentOptions;
        /**
         * Specifies that alignment of the width should be to the nearest inward integral value.
         */
        static alignWidthInward: AlignmentOptions;
        /**
         * Specifies that alignment of the height should be to the nearest inward integral value.
         */
        static alignHeightInward: AlignmentOptions;
        /**
         * Specifies that alignment of the minimum X coordinate should be to the nearest outward integral value.
         */
        static alignMinXOutward: AlignmentOptions;
        /**
         * Specifies that alignment of the minimum Y coordinate should be to the nearest outward integral value.
         */
        static alignMinYOutward: AlignmentOptions;
        /**
         * Specifies that alignment of the maximum X coordinate should be to the nearest outward integral value.
         */
        static alignMaxXOutward: AlignmentOptions;
        /**
         * Specifies that alignment of the maximum Y coordinate should be to the nearest outward integral value.
         */
        static alignMaxYOutward: AlignmentOptions;
        /**
         * Specifies that alignment of the width should be to the nearest outward integral value.
         */
        static alignWidthOutward: AlignmentOptions;
        /**
         * Specifies that alignment of the height should be to the nearest outward integral value.
         */
        static alignHeightOutward: AlignmentOptions;
        /**
         * Specifies that alignment of the minimum X coordinate should be to the nearest integral value.
         */
        static alignMinXNearest: AlignmentOptions;
        /**
         * Specifies that alignment of the minimum Y coordinate should be to the nearest integral value.
         */
        static alignMinYNearest: AlignmentOptions;
        /**
         * Specifies that alignment of the maximum X coordinate should be to the nearest integral value.
         */
        static alignMaxXNearest: AlignmentOptions;
        /**
         * Specifies that alignment of the maximum Y coordinate should be to the nearest integral value.
         */
        static alignMaxYNearest: AlignmentOptions;
        /**
         * Specifies that alignment of the width should be to the nearest integral value.
         */
        static alignWidthNearest: AlignmentOptions;
        /**
         * Specifies that alignment of the height should be to the nearest integral value.
         */
        static alignHeightNearest: AlignmentOptions;
        /**
         * This option should be included  if the rectangle is in a flipped coordinate system. This allows 0.5 to be treated in a visually consistent way.
         */
        static alignRectFlipped: AlignmentOptions;
        /**
         * Aligns all edges inward. This is the same as 
         * .
         */
        static alignAllEdgesInward: AlignmentOptions;
        /**
         * Aligns all edges outwards. This is the same as 
         * .
         */
        static alignAllEdgesOutward: AlignmentOptions;
        /**
         * Aligns all edges to the nearest value. This is the same as 
         * .
         */
        static alignAllEdgesNearest: AlignmentOptions;
        constructor (rawValue: UInt64);
    }
    export class AffineTransform {
        /**
         * An identity affine transformation matrix.
         */
        static identity: AffineTransform;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m11: CGFloat;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m12: CGFloat;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m21: CGFloat;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m22: CGFloat;
        /**
         * An element of the transform matrix that contributes translation.
         */
        tX: CGFloat;
        /**
         * An element of the transform matrix that contributes translation.
         */
        tY: CGFloat;
        /**
         * A textual description of the transform.
         */
        description: string;
        /**
         * A textual description of the transform, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The computed hash value for the transform.
         */
        hashValue: number;
        /**
         * Creates an affine transformation matrix with identity values.
         */
        constructor ();
        /**
         * Creates an affine transformation matrix from a rotation angle.
         */
        constructor (angle: CGFloat);
        /**
         * Creates an affine transformation matrix from a rotation angle.
         */
        constructor (angle: CGFloat);
        /**
         * Creates an affine transformation matrix from scaling a single value.
         */
        constructor (factor: CGFloat);
        /**
         * Creates an affine transformation matrix from scaling values.
         */
        constructor (x: CGFloat, y: CGFloat);
        /**
         * Creates an affine transformation matrix from translation values.
         */
        constructor (x: CGFloat, y: CGFloat);
        /**
         * Creates an affine transformation.
         */
        constructor (m11: CGFloat, m12: CGFloat, m21: CGFloat, m22: CGFloat, tX: CGFloat, tY: CGFloat);
        /**
         * Creates a new transform by decoding from the specified decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Mutates an affine transformation matrix to apply a rotation.
         */
        rotate(angle: CGFloat):void;
        /**
         * Mutates an affine transformation matrix to apply scaling in both x and y dimensions.
         */
        scale(scale: CGFloat):void;
        /**
         * Mutates an affine transformation matrix to perform the specified translation.
         */
        translate(x: CGFloat, y: CGFloat):void;
        /**
         * Mutates an affine transformation by appending another affine transform.
         */
        append(transform: AffineTransform):void;
        /**
         * Mutates an affine transformation by prepending another affine transform.
         */
        prepend(transform: AffineTransform):void;
        /**
         * Inverts the transformation matrix, if possible.
         */
        invert():void;
        /**
         * Returns an inverted version of the matrix, if possible, or nil if not.
         */
        inverted():AffineTransform | null;
        /**
         * Applies the affine transform to the specified point.
         */
        transform(point: NSPoint):NSPoint;
        /**
         * Encodes this transform into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class NSAffineTransform extends NSObject {
        /**
         * The matrix coefficients stored as the transformation matrix.
         */
        transformStruct: NSAffineTransformStruct;
        /**
         * Initializes an affine transform matrix to the identity matrix.
         */
        constructor ();
        /**
         * Initializes the receiver’s matrix using another transform object.
         */
        constructor (transform: AffineTransform);
        /**
         * Applies a rotation factor (measured in degrees) to the receiver’s transformation matrix.
         */
        rotate(angle: number):void;
        /**
         * Applies the specified scaling factor along both x and y axes to the receiver’s transformation matrix.
         */
        scale(scale: number):void;
        /**
         * Applies scaling factors to each axis of the receiver’s transformation matrix.
         */
        scaleX(scaleX: number, scaleY: number):void;
        /**
         * Applies the specified translation factors to the receiver’s transformation matrix.
         */
        translateX(deltaX: number, deltaY: number):void;
        /**
         * Appends the specified matrix to the receiver’s matrix.
         */
        append(transform: AffineTransform):void;
        /**
         * Prepends the specified matrix to the receiver’s matrix.
         */
        prepend(transform: AffineTransform):void;
        /**
         * Replaces the receiver’s matrix with its inverse matrix.
         */
        invert():void;
        /**
         * Applies the receiver’s transform to the specified point and returns the result.
         */
        transform(aPoint: NSPoint):NSPoint;
    }
    export class NSAffineTransformStruct {
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m11: number;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m12: number;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m21: number;
        /**
         * An element of the transform matrix that contributes scaling, rotation, and shear.
         */
        m22: number;
        /**
         * An element of the transform matrix that contributes translation.
         */
        tX: number;
        /**
         * An element of the transform matrix that contributes translation.
         */
        tY: number;
        /**
         * Initializes a zero-filled transformation matrix.
         */
        constructor ();
        constructor (m11: number, m12: number, m21: number, m22: number, tX: number, tY: number);
    }
    export class NotificationCenter extends NSObject {
        /**
         * The app’s default notification center.
         */
        static default: NotificationCenter;
        /**
         * Adds an entry to the notification center to receive notifications that passed to the provided block.
         */
        addObserver(name: NSNotification.Name | null, obj: any, queue: OperationQueue | null, block: ()=>any):NSObjectProtocol;
        /**
         * Removes matching entries from the notification center's dispatch table.
         */
        removeObserver(observer: any, aName: NSNotification.Name | null, anObject: any):void;
        /**
         * Posts a given notification to the notification center.
         */
        post(notification: Notification):void;
        /**
         * Returns an asynchronous sequence of notifications produced by this center for a given notification name and optional source object.
         */
        notifications(name: Notification.Name, object: AnyObject | null):NotificationCenter.Notifications;
        /**
         * Returns a publisher that emits events when broadcasting notifications.
         */
        publisher(name: Notification.Name, object: AnyObject | null):NotificationCenter.Publisher;
    }
    /**
     * the same name namespace of class NotificationCenter
     */
    export namespace NotificationCenter {
        export class Notifications {
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: Notification):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Notification | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Notification | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Notification | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<NotificationCenter.Notifications>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<NotificationCenter.Notifications>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<NotificationCenter.Notifications>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<NotificationCenter.Notifications>;
            /**
             * Creates the asynchronous iterator that produces elements of this asynchronous sequence.
             */
            makeAsyncIterator():NotificationCenter.Notifications.Iterator;
        }
        /**
         * the same name namespace of class Notifications
         */
        export namespace Notifications {
            export class Iterator {
                /**
                 * Asynchronously advances to the next element and returns it, or ends the sequence if there is no next element.
                 */
                next():Notification | null;
            }
        }
        export class Publisher {
            /**
             * The notification center this publisher uses as a source.
             */
            center: NotificationCenter;
            /**
             * The name of notifications published by this publisher.
             */
            name: Notification.Name;
            /**
             * The object posting the named notfication.
             */
            object: AnyObject | null;
            values: AsyncThrowingPublisher<NotificationCenter.Publisher>;
            /**
             * Creates a publisher that emits events when broadcasting notifications.
             */
            constructor (center: NotificationCenter, name: Notification.Name, object: AnyObject | null);
            allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<NotificationCenter.Publisher>;
            append(...elements: Notification):any;
            assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<NotificationCenter.Publisher>;
            assign(published: any):void;
            breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<NotificationCenter.Publisher>;
            breakpointOnError():Publishers.Breakpoint<NotificationCenter.Publisher>;
            buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Never>):Publishers.Buffer<NotificationCenter.Publisher>;
            collect():Publishers.Collect<NotificationCenter.Publisher>;
            contains(output: Notification):Publishers.Contains<NotificationCenter.Publisher>;
            count():Publishers.Count<NotificationCenter.Publisher>;
            drop(predicate: ()=>any):Publishers.DropWhile<NotificationCenter.Publisher>;
            dropFirst(count: number):Publishers.Drop<NotificationCenter.Publisher>;
            eraseToAnyPublisher():any;
            filter(isIncluded: ()=>any):Publishers.Filter<NotificationCenter.Publisher>;
            first():Publishers.First<NotificationCenter.Publisher>;
            handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<NotificationCenter.Publisher>;
            ignoreOutput():Publishers.IgnoreOutput<NotificationCenter.Publisher>;
            last():Publishers.Last<NotificationCenter.Publisher>;
            makeConnectable():Publishers.MakeConnectable<NotificationCenter.Publisher>;
            max(areInIncreasingOrder: ()=>any):Publishers.Comparison<NotificationCenter.Publisher>;
            merge(other: NotificationCenter.Publisher):Publishers.MergeMany<NotificationCenter.Publisher>;
            min(areInIncreasingOrder: ()=>any):Publishers.Comparison<NotificationCenter.Publisher>;
            output(index: number):Publishers.Output<NotificationCenter.Publisher>;
            prefix(maxLength: number):Publishers.Output<NotificationCenter.Publisher>;
            prepend(...elements: Notification):any;
            print(prefix: string, stream: TextOutputStream | null):Publishers.Print<NotificationCenter.Publisher>;
            removeDuplicates():Publishers.RemoveDuplicates<NotificationCenter.Publisher>;
            replaceEmpty(output: Notification):Publishers.ReplaceEmpty<NotificationCenter.Publisher>;
            replaceError(output: Notification):Publishers.ReplaceError<NotificationCenter.Publisher>;
            retry(retries: number):Publishers.Retry<NotificationCenter.Publisher>;
            share():Publishers.Share<NotificationCenter.Publisher>;
            sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
            tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<NotificationCenter.Publisher>;
            tryContains(predicate: Bool):Publishers.TryContainsWhere<NotificationCenter.Publisher>;
            tryDrop(predicate: Bool):Publishers.TryDropWhile<NotificationCenter.Publisher>;
            tryFilter(isIncluded: Bool):Publishers.TryFilter<NotificationCenter.Publisher>;
            tryFirst(predicate: Bool):Publishers.TryFirstWhere<NotificationCenter.Publisher>;
            tryLast(predicate: Bool):Publishers.TryLastWhere<NotificationCenter.Publisher>;
            tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<NotificationCenter.Publisher>;
            tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<NotificationCenter.Publisher>;
            tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<NotificationCenter.Publisher>;
            tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<NotificationCenter.Publisher>;
        }
    }
    export class NSEdgeInsets {
        /**
         * The distance from the bottom of the source rectangle to the bottom of the result rectangle.
         */
        bottom: number;
        /**
         * The distance from the left side of the source rectangle to the left side of the result rectangle.
         */
        left: number;
        /**
         * The distance from the right side of the source rectangle to the right side of the result rectangle.
         */
        right: number;
        /**
         * The distance from the top of the source rectangle to the top of the result rectangle.
         */
        top: number;
        /**
         * Creates an edge insets structure with the specified inset values.
         */
        constructor (top: number, left: number, bottom: number, right: number);
        /**
         * Creates an edge insets structure.
         */
        constructor ();
    }
    export class NotificationQueue extends NSObject {
        /**
         * Returns the default notification queue for the current thread.
         */
        static default: NotificationQueue;
        /**
         * Initializes and returns a notification queue for the specified notification center.
         */
        constructor (notificationCenter: NotificationCenter);
        /**
         * Adds a notification to the notification queue with a specified posting style, criteria for coalescing, and run loop mode.
         */
        enqueue(notification: Notification, postingStyle: NotificationQueue.PostingStyle, coalesceMask: NotificationQueue.NotificationCoalescing, modes: RunLoop.Mode[] | null):void;
        /**
         * Removes all notifications from the queue that match a provided notification using provided matching criteria.
         */
        dequeueNotifications(notification: Notification, coalesceMask: number):void;
    }
    /**
     * the same name namespace of class NotificationQueue
     */
    export namespace NotificationQueue {
        export class NotificationCoalescing {
            /**
             * Do not coalesce notifications in the queue.
             */
            static none: NotificationQueue.NotificationCoalescing;
            /**
             * Coalesce notifications with the same name.
             */
            static onName: NotificationQueue.NotificationCoalescing;
            /**
             * Coalesce notifications with the same object.
             */
            static onSender: NotificationQueue.NotificationCoalescing;
            constructor (rawValue: number);
        }
        export enum PostingStyle {
            asap = 2,
            whenIdle = 1,
            now = 3,
        }
    }
    export class DistributedNotificationCenter extends NotificationCenter {
        /**
         * Suspends or resumes notification delivery.
         */
        suspended: boolean;
        /**
         * Returns the default distributed notification center, representing the local notification center for the computer.
         */
        static default():DistributedNotificationCenter;
        /**
         * Returns the distributed notification center for a particular notification center type.
         */
        static forType(notificationCenterType: DistributedNotificationCenter.CenterType):DistributedNotificationCenter;
        /**
         * Adds an entry to the notification center's dispatch table with an observer, a selector, and an optional notification name and sender.
         */
        addObserver(observer: any, aSelector: Selector, aName: NSNotification.Name | null, anObject: string):void;
        /**
         * Removes matching entries from the receiver’s dispatch table.
         */
        removeObserver(observer: any, aName: NSNotification.Name | null, anObject: string):void;
        /**
         * Creates a notification, and posts it to the receiver.
         */
        post(aName: NSNotification.Name, anObject: string):void;
        /**
         * Creates a notification with information and an immediate-delivery specifier, and posts it to the receiver.
         */
        postNotificationName(name: NSNotification.Name, object: string, userInfo: Record<AnyHashable, any> | null, deliverImmediately: boolean):void;
    }
    /**
     * the same name namespace of class DistributedNotificationCenter
     */
    export namespace DistributedNotificationCenter {
        export class Options {
            static deliverImmediately: DistributedNotificationCenter.Options;
            static postToAllSessions: DistributedNotificationCenter.Options;
            constructor (rawValue: number);
        }
        export class CenterType {
            /**
             * Distributes notifications to all tasks on the sender’s computer.
             */
            static localNotificationCenterType: DistributedNotificationCenter.CenterType;
            constructor (rawValue: string);
            constructor (rawValue: string);
        }
        export enum SuspensionBehavior {
            drop = 1,
            coalesce = 2,
            hold = 3,
            deliverImmediately = 4,
        }
    }
    export interface NSExtensionRequestHandling extends NSObjectProtocol {
        /**
         * Tells the extension to prepare for a host app’s request.
         */
        beginRequest(context: NSExtensionContext):void;
    }
    export class NSExtensionContext extends NSObject {
        /**
         * The list of input 
         *  objects associated with the context.
         */
        inputItems: any[];
        /**
         * Metadata for populating your share extensions interface.
         */
        intent: INIntent | null;
        /**
         * The minimum size for a Siri hosted view.
         */
        hostedViewMinimumAllowedSize: CGSize;
        /**
         * The maximum size for a Siri hosted view.
         */
        hostedViewMaximumAllowedSize: CGSize;
        notificationActions: UNNotificationAction[];
        /**
         * The active display mode of the widget.
         */
        widgetActiveDisplayMode: NCWidgetDisplayMode;
        /**
         * The largest display mode the widget supports.
         */
        widgetLargestAvailableDisplayMode: NCWidgetDisplayMode;
        /**
         * Tells the host app to complete the app extension request with an array of result items.
         */
        completeRequest(items: any[] | null, completionHandler: ()=>any | null):void;
        /**
         * Tells the host app to cancel the app extension request, with a supplied error.
         */
        cancelRequest(error: Error):void;
        /**
         * Asks the system to open a URL on behalf of the currently running app extension.
         */
        open(URL: URL, completionHandler: ()=>any | null):void;
        /**
         * Tells the system that the Notification Content app extension began playing a media file.
         */
        mediaPlayingStarted():void;
        /**
         * Tells the system that the Notification Content app extension stopped playing a media file. 
         */
        mediaPlayingPaused():void;
        /**
         * Returns a human-readable string describing the data that SiriKit displays to the user when you handle an intent. 
         */
        interfaceParametersDescription():string;
        loadBroadcastingApplicationInfo(handler: ()=>any):void;
        performNotificationDefaultAction():void;
        dismissNotificationContentExtension():void;
        /**
         * Returns the maximum size for the specified widget display mode.
         */
        widgetMaximumSize(displayMode: NCWidgetDisplayMode):CGSize;
    }
    export class NSItemProvider extends NSObject {
        /**
         * The error domain associated with the 
         *  class.
         */
        static errorDomain: string;
        /**
         * The ideal presentation size of the item.
         */
        preferredPresentationSize: CGSize;
        /**
         * The preferred style for presenting the item provider's data.
         */
        preferredPresentationStyle: NSItemProvider.PreferredPresentationStyle;
        /**
         * The filename to use when writing the provided data to a file on disk.
         */
        suggestedName: string;
        teamData: Data | null;
        /**
         * Returns the array of type identifiers for the item provider, listed in the same order in which they were registered.
         */
        registeredTypeIdentifiers: string[];
        /**
         * The custom preview image handler block for the item provider.
         */
        previewImageHandler: NSItemProvider.LoadHandler | null;
        registeredContentTypes: UTType[];
        registeredContentTypesForOpenInPlace: UTType[];
        /**
         * The rectangle (in screen coordinates) occupied by the item in the host app’s source window.
         */
        sourceFrame: NSRect;
        /**
         * The rectangle (in screen coordinates) of the item’s visible content.
         */
        containerFrame: NSRect;
        /**
         * Provides data backed by the contents of an existing file. The system uses the URL’s filename extension to select an appropriate UTI.
         */
        constructor (fileURL: URL!);
        constructor (fileURL: URL, contentType: UTType | null, openInPlace: boolean, coordinated: boolean, visibility: NSItemProviderRepresentationVisibility);
        /**
         * Initializes an item provider with an object, according to the 
         *  type coercion policy.
         */
        constructor (item: NSSecureCoding | null, typeIdentifier: string);
        /**
         * Instantiates an empty item provider to which you can later register a data or file representation.
         */
        constructor ();
        /**
         * Initializes a new item provider, employing a specified object’s type identifiers to specify the data representations eligible to be loaded by the provider.
         */
        constructor (object: NSItemProviderWriting);
        /**
         * Returns a Boolean value indicating whether an item provider can load objects of a given class.
         */
        canLoadObject(aClass: NSItemProviderReading.Type):boolean;
        /**
         * A convenience method equivalent to the 
         *  method, but with the 
         *  parameter set to a value of 
         * .
         */
        hasItemConformingToTypeIdentifier(typeIdentifier: string):boolean;
        /**
         * Returns a Boolean value indicating whether an item provider contains a data representation conforming to a specified uniform type identifier (UTI) and to specified open-in-place behavior.
         */
        hasRepresentationConforming(typeIdentifier: string, fileOptions: NSItemProviderFileOptions):boolean;
        /**
         * Loads the item’s data and coerces it (as needed) to the specified type.
         */
        loadItem(typeIdentifier: string, options: Record<AnyHashable, any> | null, completionHandler: NSItemProvider.CompletionHandler | null):void;
        /**
         * Asynchronously copies the provided, typed data into a 
         *  object, returning a 
         *  object.
         */
        loadDataRepresentation(typeIdentifier: string, completionHandler: ()=>any):Progress;
        /**
         * Asynchronously writes a copy of the provided, typed data to a temporary file, returning a 
         *  object.
         */
        loadFileRepresentation(typeIdentifier: string, completionHandler: ()=>any):Progress;
        /**
         * Asynchronously opens a file in place, if doing so is possible, returning a 
         *  object.
         */
        loadInPlaceFileRepresentation(typeIdentifier: string, completionHandler: ()=>any):Progress;
        /**
         * Asynchronously loads an object of a specified class to an item provider, returning a 
         *  object.
         */
        loadObject(aClass: NSItemProviderReading.Type, completionHandler: ()=>any):Progress;
        /**
         * Loads the preview image for the item that is represented by the item provider.
         */
        loadPreviewImage(options: Record<AnyHashable, any>, completionHandler: NSItemProvider.CompletionHandler!):void;
        /**
         * Registers a CloudKit share for the user to modify.
         */
        registerCloudKitShare(share: CKShare, container: CKContainer):void;
        registerCKShare(share: CKShare, container: CKContainer, allowedSharingOptions: CKAllowedSharingOptions):void;
        /**
         * Registers a data-backed representation for an item, specifiying item visibility and a load handler.
         */
        registerDataRepresentation(typeIdentifier: string, visibility: NSItemProviderRepresentationVisibility, loadHandler: ()=>any | null):void;
        /**
         * Lazily registers an item, according to the 
         *  type coercion policy.
         */
        registerItem(typeIdentifier: string, loadHandler: NSItemProvider.LoadHandler):void;
        /**
         * Registers a file-backed representation for an item, specifying file options, item visibility, and a load handler.
         */
        registerFileRepresentation(typeIdentifier: string, fileOptions: NSItemProviderFileOptions, visibility: NSItemProviderRepresentationVisibility, loadHandler: ()=>any | null):void;
        /**
         * Adds representations of a specified object to an item provider, based on the object’s implementation of the 
         *  protocol and adhering to a visibility specification.
         */
        registerObject(object: NSItemProviderWriting, visibility: NSItemProviderRepresentationVisibility):void;
    }
    /**
     * the same name namespace of class NSItemProvider
     */
    export namespace NSItemProvider {
        export enum PreferredPresentationStyle {
            unspecified = 0,
            inline = 1,
            attachment = 2,
        }
        export enum ErrorCode {
            itemUnavailableError = -1000,
            unavailableCoercionError = -1200,
            unexpectedValueClassError = -1100,
            unknownError = -1,
        }
    }
    export class NSItemProviderFileOptions {
        /**
         * A data-access specification declaring that items should open in place, rather than being copied.
         */
        static openInPlace: NSItemProviderFileOptions;
        constructor (rawValue: number);
    }
    export interface NSItemProviderReading extends NSObjectProtocol {
        /**
         * Creates a new instance of a class using the given data and UTI string.
         */
        static object(data: Data, typeIdentifier: string):Self;
        /**
         * An array of UTI strings representing the data types supported by the class.
         */
        static readableTypeIdentifiersForItemProvider: string[];
    }
    export interface NSItemProviderWriting extends NSObjectProtocol {
        /**
         * Loads data of a particular type, identified by the given UTI.
         */
        loadData(typeIdentifier: string, completionHandler: ()=>any):Progress | null;
        /**
         * An array of UTI strings representing the types of data that can be loaded for an item provider.
         */
        static writableTypeIdentifiersForItemProvider: string[];
        /**
         * Asks the item provider for the default representation visibility specification for the given UTI.
         */
        static itemProviderVisibilityForRepresentation(typeIdentifier: string):NSItemProviderRepresentationVisibility;
    }
    export enum NSItemProviderRepresentationVisibility {
        all = 0,
        group = 2,
        ownProcess = 3,
        team = 1,
    }
    export class NSExtensionItem extends NSObject {
        /**
         * An optional title for the item.
         */
        attributedTitle: NSAttributedString | null;
        /**
         * An optional dictionary of keys and values corresponding to the extension item’s properties.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * An optional array of media data associated with the extension item.
         */
        attachments: NSItemProvider[] | null;
        /**
         * An optional string describing the extension item content.
         */
        attributedContentText: NSAttributedString | null;
    }
    export class NSError extends NSObject {
        /**
         * The error code.
         */
        code: number;
        /**
         * A string containing the error domain.
         */
        domain: string;
        /**
         * The user info dictionary. 
         */
        userInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        /**
         * An array containing the localized titles of buttons appropriate for displaying in an alert panel.
         */
        localizedRecoveryOptions: string[] | null;
        /**
         * A string containing the localized recovery suggestion for the error.
         */
        localizedRecoverySuggestion: string;
        /**
         * A string containing the localized explanation of the reason for the error.
         */
        localizedFailureReason: string;
        /**
         * The object in the user info dictionary corresponding to the 
         *  key.
         */
        recoveryAttempter: any;
        /**
         * A string to display in response to an alert panel help anchor button being pressed.
         */
        helpAnchor: string;
        underlyingErrors: Error[];
        /**
         * Returns an 
         *  object initialized for a given domain and code with a given 
         *  dictionary. 
         */
        constructor (domain: string, code: number, dict: Record<string, any> | null);
        /**
         * Specifies a block to call when the corresponding property is not present in the user info dictionary.
         */
        static setUserInfoValueProvider(errorDomain: string, provider: ()=>any | null):void;
        /**
         * Returns any user info provider specified for a given error domain.
         */
        static userInfoValueProvider(errorDomain: string):()=>any | null;
        /**
         * Returns a properly formatted error object with a 
         *  error code.
         */
        static fileProviderErrorForCollision(existingItem: NSFileProviderItem):Self;
        static fileProviderErrorForNonExistentItem(itemIdentifier: NSFileProviderItemIdentifier):Self;
        static fileProviderErrorForRejectedDeletion(updatedVersion: NSFileProviderItem):Self;
    }
    export class UserInfoKey {
        static NSURLErrorKey: ErrorUserInfoKey;
        static filePathErrorKey: ErrorUserInfoKey;
        static helpAnchorErrorKey: ErrorUserInfoKey;
        static localizedDescriptionKey: ErrorUserInfoKey;
        static localizedFailureReasonErrorKey: ErrorUserInfoKey;
        static localizedRecoveryOptionsErrorKey: ErrorUserInfoKey;
        static localizedRecoverySuggestionErrorKey: ErrorUserInfoKey;
        static recoveryAttempterErrorKey: ErrorUserInfoKey;
        static stringEncodingErrorKey: ErrorUserInfoKey;
        static underlyingErrorKey: ErrorUserInfoKey;
        hashValue: number;
        rawValue: string;
        constructor (rawValue: string);
        hash(hasher: Hasher):void;
    }
    export class CocoaError {
        static ServiceApplicationLaunchFailedError: CocoaError.Code;
        static ServiceApplicationNotFoundError: CocoaError.Code;
        static ServiceInvalidPasteboardDataError: CocoaError.Code;
        static ServiceMalformedServiceDictionaryError: CocoaError.Code;
        static ServiceMiscellaneousError: CocoaError.Code;
        static ServiceRequestTimedOutError: CocoaError.Code;
        static SharingServiceNotConfiguredError: CocoaError.Code;
        static TextReadInapplicableDocumentTypeError: CocoaError.Code;
        static TextWriteInapplicableDocumentTypeError: CocoaError.Code;
        static coderInvalidValue: CocoaError.Code;
        static coderReadCorrupt: CocoaError.Code;
        static coderReadCorruptError: CocoaError.Code;
        static coderValueNotFound: CocoaError.Code;
        static coderValueNotFoundError: CocoaError.Code;
        static coreData: CocoaError.Code;
        static coreDataError: CocoaError.Code;
        static entityMigrationPolicy: CocoaError.Code;
        static entityMigrationPolicyError: CocoaError.Code;
        static errorDomain: string;
        static executableArchitectureMismatch: CocoaError.Code;
        static executableArchitectureMismatchError: CocoaError.Code;
        static executableLink: CocoaError.Code;
        static executableLinkError: CocoaError.Code;
        static executableLoad: CocoaError.Code;
        static executableLoadError: CocoaError.Code;
        static executableNotLoadable: CocoaError.Code;
        static executableNotLoadableError: CocoaError.Code;
        static executableRuntimeMismatch: CocoaError.Code;
        static executableRuntimeMismatchError: CocoaError.Code;
        static externalRecordImport: CocoaError.Code;
        static externalRecordImportError: CocoaError.Code;
        static featureUnsupported: CocoaError.Code;
        static featureUnsupportedError: CocoaError.Code;
        static fileLocking: CocoaError.Code;
        static fileLockingError: CocoaError.Code;
        static fileManagerUnmountBusy: CocoaError.Code;
        static fileManagerUnmountBusyError: CocoaError.Code;
        static fileManagerUnmountUnknown: CocoaError.Code;
        static fileManagerUnmountUnknownError: CocoaError.Code;
        static fileNoSuchFile: CocoaError.Code;
        static fileNoSuchFileError: CocoaError.Code;
        static fileReadCorruptFile: CocoaError.Code;
        static fileReadCorruptFileError: CocoaError.Code;
        static fileReadInapplicableStringEncoding: CocoaError.Code;
        static fileReadInapplicableStringEncodingError: CocoaError.Code;
        static fileReadInvalidFileName: CocoaError.Code;
        static fileReadInvalidFileNameError: CocoaError.Code;
        static fileReadNoPermission: CocoaError.Code;
        static fileReadNoPermissionError: CocoaError.Code;
        static fileReadNoSuchFile: CocoaError.Code;
        static fileReadNoSuchFileError: CocoaError.Code;
        static fileReadTooLarge: CocoaError.Code;
        static fileReadTooLargeError: CocoaError.Code;
        static fileReadUnknown: CocoaError.Code;
        static fileReadUnknownError: CocoaError.Code;
        static fileReadUnknownStringEncoding: CocoaError.Code;
        static fileReadUnknownStringEncodingError: CocoaError.Code;
        static fileReadUnsupportedScheme: CocoaError.Code;
        static fileReadUnsupportedSchemeError: CocoaError.Code;
        static fileWriteFileExists: CocoaError.Code;
        static fileWriteFileExistsError: CocoaError.Code;
        static fileWriteInapplicableStringEncoding: CocoaError.Code;
        static fileWriteInapplicableStringEncodingError: CocoaError.Code;
        static fileWriteInvalidFileName: CocoaError.Code;
        static fileWriteInvalidFileNameError: CocoaError.Code;
        static fileWriteNoPermission: CocoaError.Code;
        static fileWriteNoPermissionError: CocoaError.Code;
        static fileWriteOutOfSpace: CocoaError.Code;
        static fileWriteOutOfSpaceError: CocoaError.Code;
        static fileWriteUnknown: CocoaError.Code;
        static fileWriteUnknownError: CocoaError.Code;
        static fileWriteUnsupportedScheme: CocoaError.Code;
        static fileWriteUnsupportedSchemeError: CocoaError.Code;
        static fileWriteVolumeReadOnly: CocoaError.Code;
        static fileWriteVolumeReadOnlyError: CocoaError.Code;
        static fontAssetDownloadError: CocoaError.Code;
        static formatting: CocoaError.Code;
        static formattingError: CocoaError.Code;
        static inferredMappingModel: CocoaError.Code;
        static inferredMappingModelError: CocoaError.Code;
        static keyValueValidation: CocoaError.Code;
        static keyValueValidationError: CocoaError.Code;
        static managedObjectConstraintMerge: CocoaError.Code;
        static managedObjectConstraintMergeError: CocoaError.Code;
        static managedObjectContextLocking: CocoaError.Code;
        static managedObjectContextLockingError: CocoaError.Code;
        static managedObjectExternalRelationship: CocoaError.Code;
        static managedObjectExternalRelationshipError: CocoaError.Code;
        static managedObjectMerge: CocoaError.Code;
        static managedObjectMergeError: CocoaError.Code;
        static managedObjectReferentialIntegrity: CocoaError.Code;
        static managedObjectReferentialIntegrityError: CocoaError.Code;
        static managedObjectValidation: CocoaError.Code;
        static managedObjectValidationError: CocoaError.Code;
        static migration: CocoaError.Code;
        static migrationCancelled: CocoaError.Code;
        static migrationCancelledError: CocoaError.Code;
        static migrationError: CocoaError.Code;
        static migrationManagerDestinationStore: CocoaError.Code;
        static migrationManagerDestinationStoreError: CocoaError.Code;
        static migrationManagerSourceStore: CocoaError.Code;
        static migrationManagerSourceStoreError: CocoaError.Code;
        static migrationMissingMappingModel: CocoaError.Code;
        static migrationMissingMappingModelError: CocoaError.Code;
        static migrationMissingSourceModel: CocoaError.Code;
        static migrationMissingSourceModelError: CocoaError.Code;
        static persistentStoreCoordinatorLocking: CocoaError.Code;
        static persistentStoreCoordinatorLockingError: CocoaError.Code;
        static persistentStoreIncompatibleSchema: CocoaError.Code;
        static persistentStoreIncompatibleSchemaError: CocoaError.Code;
        static persistentStoreIncompatibleVersionHash: CocoaError.Code;
        static persistentStoreIncompatibleVersionHashError: CocoaError.Code;
        static persistentStoreIncompleteSave: CocoaError.Code;
        static persistentStoreIncompleteSaveError: CocoaError.Code;
        static persistentStoreInvalidType: CocoaError.Code;
        static persistentStoreInvalidTypeError: CocoaError.Code;
        static persistentStoreOpen: CocoaError.Code;
        static persistentStoreOpenError: CocoaError.Code;
        static persistentStoreOperation: CocoaError.Code;
        static persistentStoreOperationError: CocoaError.Code;
        static persistentStoreSave: CocoaError.Code;
        static persistentStoreSaveConflictsError: CocoaError.Code;
        static persistentStoreSaveError: CocoaError.Code;
        static persistentStoreTimeout: CocoaError.Code;
        static persistentStoreTimeoutError: CocoaError.Code;
        static persistentStoreTypeMismatch: CocoaError.Code;
        static persistentStoreTypeMismatchError: CocoaError.Code;
        static persistentStoreUnsupportedRequestType: CocoaError.Code;
        static persistentStoreUnsupportedRequestTypeError: CocoaError.Code;
        static propertyListReadCorrupt: CocoaError.Code;
        static propertyListReadCorruptError: CocoaError.Code;
        static propertyListReadStream: CocoaError.Code;
        static propertyListReadStreamError: CocoaError.Code;
        static propertyListReadUnknownVersion: CocoaError.Code;
        static propertyListReadUnknownVersionError: CocoaError.Code;
        static propertyListWriteInvalid: CocoaError.Code;
        static propertyListWriteInvalidError: CocoaError.Code;
        static propertyListWriteStream: CocoaError.Code;
        static propertyListWriteStreamError: CocoaError.Code;
        static serviceApplicationLaunchFailed: CocoaError.Code;
        static serviceApplicationLaunchFailedError: CocoaError.Code;
        static serviceApplicationNotFound: CocoaError.Code;
        static serviceApplicationNotFoundError: CocoaError.Code;
        static serviceInvalidPasteboardData: CocoaError.Code;
        static serviceInvalidPasteboardDataError: CocoaError.Code;
        static serviceMalformedServiceDictionary: CocoaError.Code;
        static serviceMalformedServiceDictionaryError: CocoaError.Code;
        static serviceMiscellaneous: CocoaError.Code;
        static serviceMiscellaneousError: CocoaError.Code;
        static serviceRequestTimedOut: CocoaError.Code;
        static serviceRequestTimedOutError: CocoaError.Code;
        static sharingServiceNotConfigured: CocoaError.Code;
        static sharingServiceNotConfiguredError: CocoaError.Code;
        static sqlite: CocoaError.Code;
        static sqliteError: CocoaError.Code;
        static textReadInapplicableDocumentType: CocoaError.Code;
        static textReadInapplicableDocumentTypeError: CocoaError.Code;
        static textWriteInapplicableDocumentType: CocoaError.Code;
        static textWriteInapplicableDocumentTypeError: CocoaError.Code;
        static ubiquitousFileNotUploadedDueToQuota: CocoaError.Code;
        static ubiquitousFileNotUploadedDueToQuotaError: CocoaError.Code;
        static ubiquitousFileUbiquityServerNotAvailable: CocoaError.Code;
        static ubiquitousFileUnavailable: CocoaError.Code;
        static ubiquitousFileUnavailableError: CocoaError.Code;
        static userActivityConnectionUnavailable: CocoaError.Code;
        static userActivityConnectionUnavailableError: CocoaError.Code;
        static userActivityHandoffFailed: CocoaError.Code;
        static userActivityHandoffFailedError: CocoaError.Code;
        static userActivityHandoffUserInfoTooLarge: CocoaError.Code;
        static userActivityHandoffUserInfoTooLargeError: CocoaError.Code;
        static userActivityRemoteApplicationTimedOut: CocoaError.Code;
        static userActivityRemoteApplicationTimedOutError: CocoaError.Code;
        static userCancelled: CocoaError.Code;
        static userCancelledError: CocoaError.Code;
        static validationDateTooLate: CocoaError.Code;
        static validationDateTooLateError: CocoaError.Code;
        static validationDateTooSoon: CocoaError.Code;
        static validationDateTooSoonError: CocoaError.Code;
        static validationInvalidDate: CocoaError.Code;
        static validationInvalidDateError: CocoaError.Code;
        static validationMissingMandatoryProperty: CocoaError.Code;
        static validationMissingMandatoryPropertyError: CocoaError.Code;
        static validationMultipleErrors: CocoaError.Code;
        static validationMultipleErrorsError: CocoaError.Code;
        static validationNumberTooLarge: CocoaError.Code;
        static validationNumberTooLargeError: CocoaError.Code;
        static validationNumberTooSmall: CocoaError.Code;
        static validationNumberTooSmallError: CocoaError.Code;
        static validationRelationshipDeniedDelete: CocoaError.Code;
        static validationRelationshipDeniedDeleteError: CocoaError.Code;
        static validationRelationshipExceedsMaximumCount: CocoaError.Code;
        static validationRelationshipExceedsMaximumCountError: CocoaError.Code;
        static validationRelationshipLacksMinimumCount: CocoaError.Code;
        static validationRelationshipLacksMinimumCountError: CocoaError.Code;
        static validationStringPatternMatching: CocoaError.Code;
        static validationStringPatternMatchingError: CocoaError.Code;
        static validationStringTooLong: CocoaError.Code;
        static validationStringTooLongError: CocoaError.Code;
        static validationStringTooShort: CocoaError.Code;
        static validationStringTooShortError: CocoaError.Code;
        static xpcConnectionInterrupted: CocoaError.Code;
        static xpcConnectionInvalid: CocoaError.Code;
        static xpcConnectionReplyInvalid: CocoaError.Code;
        affectedObjects: AnyObject[] | null;
        affectedStores: AnyObject[] | null;
        code: Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        /**
         * The file path associated with the error, if any.
         */
        filePath: string;
        hashValue: number;
        isCoderError: boolean;
        isExecutableError: boolean;
        isFileError: boolean;
        isFontError: boolean;
        isFormattingError: boolean;
        isPropertyListError: boolean;
        isServiceError: boolean;
        isSharingServiceError: boolean;
        isTextReadWriteError: boolean;
        isUbiquitousFileError: boolean;
        isUserActivityError: boolean;
        isValidationError: boolean;
        isXPCConnectionError: boolean;
        localizedDescription: string;
        persistentStoreSaveConflicts: NSMergeConflict[] | null;
        /**
         * The string encoding associated with this error, if any.
         */
        stringEncoding: String.Encoding | null;
        /**
         * The underlying error behind this error, if any.
         */
        underlying: Error | null;
        underlyingErrors: Error[];
        /**
         * The URL associated with this error, if any.
         */
        url: URL | null;
        userInfo: Record<string, any>;
        validationKey: string;
        validationObject: any;
        validationPredicate: NSPredicate | null;
        validationValue: any;
        constructor (code: Code, userInfo: Record<string, any>);
        static error(code: CocoaError.Code, userInfo: Record<AnyHashable, any> | null, url: URL | null):Error;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CocoaError
     */
    export namespace CocoaError {
        export class Code {
            static ServiceApplicationLaunchFailedError: CocoaError.Code;
            static ServiceApplicationNotFoundError: CocoaError.Code;
            static ServiceInvalidPasteboardDataError: CocoaError.Code;
            static ServiceMalformedServiceDictionaryError: CocoaError.Code;
            static ServiceMiscellaneousError: CocoaError.Code;
            static ServiceRequestTimedOutError: CocoaError.Code;
            static SharingServiceNotConfiguredError: CocoaError.Code;
            static TextReadInapplicableDocumentTypeError: CocoaError.Code;
            static TextWriteInapplicableDocumentTypeError: CocoaError.Code;
            static coderInvalidValue: CocoaError.Code;
            static coderReadCorrupt: CocoaError.Code;
            static coderReadCorruptError: CocoaError.Code;
            static coderValueNotFound: CocoaError.Code;
            static coderValueNotFoundError: CocoaError.Code;
            static coreData: CocoaError.Code;
            static coreDataError: CocoaError.Code;
            static entityMigrationPolicy: CocoaError.Code;
            static entityMigrationPolicyError: CocoaError.Code;
            static executableArchitectureMismatch: CocoaError.Code;
            static executableArchitectureMismatchError: CocoaError.Code;
            static executableLink: CocoaError.Code;
            static executableLinkError: CocoaError.Code;
            static executableLoad: CocoaError.Code;
            static executableLoadError: CocoaError.Code;
            static executableNotLoadable: CocoaError.Code;
            static executableNotLoadableError: CocoaError.Code;
            static executableRuntimeMismatch: CocoaError.Code;
            static executableRuntimeMismatchError: CocoaError.Code;
            static externalRecordImport: CocoaError.Code;
            static externalRecordImportError: CocoaError.Code;
            static featureUnsupported: CocoaError.Code;
            static featureUnsupportedError: CocoaError.Code;
            static fileLocking: CocoaError.Code;
            static fileLockingError: CocoaError.Code;
            static fileManagerUnmountBusy: CocoaError.Code;
            static fileManagerUnmountBusyError: CocoaError.Code;
            static fileManagerUnmountUnknown: CocoaError.Code;
            static fileManagerUnmountUnknownError: CocoaError.Code;
            static fileNoSuchFile: CocoaError.Code;
            static fileNoSuchFileError: CocoaError.Code;
            static fileReadCorruptFile: CocoaError.Code;
            static fileReadCorruptFileError: CocoaError.Code;
            static fileReadInapplicableStringEncoding: CocoaError.Code;
            static fileReadInapplicableStringEncodingError: CocoaError.Code;
            static fileReadInvalidFileName: CocoaError.Code;
            static fileReadInvalidFileNameError: CocoaError.Code;
            static fileReadNoPermission: CocoaError.Code;
            static fileReadNoPermissionError: CocoaError.Code;
            static fileReadNoSuchFile: CocoaError.Code;
            static fileReadNoSuchFileError: CocoaError.Code;
            static fileReadTooLarge: CocoaError.Code;
            static fileReadTooLargeError: CocoaError.Code;
            static fileReadUnknown: CocoaError.Code;
            static fileReadUnknownError: CocoaError.Code;
            static fileReadUnknownStringEncoding: CocoaError.Code;
            static fileReadUnknownStringEncodingError: CocoaError.Code;
            static fileReadUnsupportedScheme: CocoaError.Code;
            static fileReadUnsupportedSchemeError: CocoaError.Code;
            static fileWriteFileExists: CocoaError.Code;
            static fileWriteFileExistsError: CocoaError.Code;
            static fileWriteInapplicableStringEncoding: CocoaError.Code;
            static fileWriteInapplicableStringEncodingError: CocoaError.Code;
            static fileWriteInvalidFileName: CocoaError.Code;
            static fileWriteInvalidFileNameError: CocoaError.Code;
            static fileWriteNoPermission: CocoaError.Code;
            static fileWriteNoPermissionError: CocoaError.Code;
            static fileWriteOutOfSpace: CocoaError.Code;
            static fileWriteOutOfSpaceError: CocoaError.Code;
            static fileWriteUnknown: CocoaError.Code;
            static fileWriteUnknownError: CocoaError.Code;
            static fileWriteUnsupportedScheme: CocoaError.Code;
            static fileWriteUnsupportedSchemeError: CocoaError.Code;
            static fileWriteVolumeReadOnly: CocoaError.Code;
            static fileWriteVolumeReadOnlyError: CocoaError.Code;
            static fontAssetDownloadError: CocoaError.Code;
            static formatting: CocoaError.Code;
            static formattingError: CocoaError.Code;
            static inferredMappingModel: CocoaError.Code;
            static inferredMappingModelError: CocoaError.Code;
            static keyValueValidation: CocoaError.Code;
            static keyValueValidationError: CocoaError.Code;
            static managedObjectConstraintMerge: CocoaError.Code;
            static managedObjectConstraintMergeError: CocoaError.Code;
            static managedObjectContextLocking: CocoaError.Code;
            static managedObjectContextLockingError: CocoaError.Code;
            static managedObjectExternalRelationship: CocoaError.Code;
            static managedObjectExternalRelationshipError: CocoaError.Code;
            static managedObjectMerge: CocoaError.Code;
            static managedObjectMergeError: CocoaError.Code;
            static managedObjectReferentialIntegrity: CocoaError.Code;
            static managedObjectReferentialIntegrityError: CocoaError.Code;
            static managedObjectValidation: CocoaError.Code;
            static managedObjectValidationError: CocoaError.Code;
            static migration: CocoaError.Code;
            static migrationCancelled: CocoaError.Code;
            static migrationCancelledError: CocoaError.Code;
            static migrationError: CocoaError.Code;
            static migrationManagerDestinationStore: CocoaError.Code;
            static migrationManagerDestinationStoreError: CocoaError.Code;
            static migrationManagerSourceStore: CocoaError.Code;
            static migrationManagerSourceStoreError: CocoaError.Code;
            static migrationMissingMappingModel: CocoaError.Code;
            static migrationMissingMappingModelError: CocoaError.Code;
            static migrationMissingSourceModel: CocoaError.Code;
            static migrationMissingSourceModelError: CocoaError.Code;
            static persistentStoreCoordinatorLocking: CocoaError.Code;
            static persistentStoreCoordinatorLockingError: CocoaError.Code;
            static persistentStoreIncompatibleSchema: CocoaError.Code;
            static persistentStoreIncompatibleSchemaError: CocoaError.Code;
            static persistentStoreIncompatibleVersionHash: CocoaError.Code;
            static persistentStoreIncompatibleVersionHashError: CocoaError.Code;
            static persistentStoreIncompleteSave: CocoaError.Code;
            static persistentStoreIncompleteSaveError: CocoaError.Code;
            static persistentStoreInvalidType: CocoaError.Code;
            static persistentStoreInvalidTypeError: CocoaError.Code;
            static persistentStoreOpen: CocoaError.Code;
            static persistentStoreOpenError: CocoaError.Code;
            static persistentStoreOperation: CocoaError.Code;
            static persistentStoreOperationError: CocoaError.Code;
            static persistentStoreSave: CocoaError.Code;
            static persistentStoreSaveConflicts: CocoaError.Code;
            static persistentStoreSaveConflictsError: CocoaError.Code;
            static persistentStoreSaveError: CocoaError.Code;
            static persistentStoreTimeout: CocoaError.Code;
            static persistentStoreTimeoutError: CocoaError.Code;
            static persistentStoreTypeMismatch: CocoaError.Code;
            static persistentStoreTypeMismatchError: CocoaError.Code;
            static persistentStoreUnsupportedRequestType: CocoaError.Code;
            static persistentStoreUnsupportedRequestTypeError: CocoaError.Code;
            static propertyListReadCorrupt: CocoaError.Code;
            static propertyListReadCorruptError: CocoaError.Code;
            static propertyListReadStream: CocoaError.Code;
            static propertyListReadStreamError: CocoaError.Code;
            static propertyListReadUnknownVersion: CocoaError.Code;
            static propertyListReadUnknownVersionError: CocoaError.Code;
            static propertyListWriteInvalid: CocoaError.Code;
            static propertyListWriteInvalidError: CocoaError.Code;
            static propertyListWriteStream: CocoaError.Code;
            static propertyListWriteStreamError: CocoaError.Code;
            static serviceApplicationLaunchFailed: CocoaError.Code;
            static serviceApplicationLaunchFailedError: CocoaError.Code;
            static serviceApplicationNotFound: CocoaError.Code;
            static serviceApplicationNotFoundError: CocoaError.Code;
            static serviceInvalidPasteboardData: CocoaError.Code;
            static serviceInvalidPasteboardDataError: CocoaError.Code;
            static serviceMalformedServiceDictionary: CocoaError.Code;
            static serviceMalformedServiceDictionaryError: CocoaError.Code;
            static serviceMiscellaneous: CocoaError.Code;
            static serviceMiscellaneousError: CocoaError.Code;
            static serviceRequestTimedOut: CocoaError.Code;
            static serviceRequestTimedOutError: CocoaError.Code;
            static sharingServiceNotConfigured: CocoaError.Code;
            static sharingServiceNotConfiguredError: CocoaError.Code;
            static sqlite: CocoaError.Code;
            static sqliteError: CocoaError.Code;
            static textReadInapplicableDocumentType: CocoaError.Code;
            static textReadInapplicableDocumentTypeError: CocoaError.Code;
            static textWriteInapplicableDocumentType: CocoaError.Code;
            static textWriteInapplicableDocumentTypeError: CocoaError.Code;
            static ubiquitousFileNotUploadedDueToQuota: CocoaError.Code;
            static ubiquitousFileNotUploadedDueToQuotaError: CocoaError.Code;
            static ubiquitousFileUbiquityServerNotAvailable: CocoaError.Code;
            static ubiquitousFileUnavailable: CocoaError.Code;
            static ubiquitousFileUnavailableError: CocoaError.Code;
            static userActivityConnectionUnavailable: CocoaError.Code;
            static userActivityConnectionUnavailableError: CocoaError.Code;
            static userActivityHandoffFailed: CocoaError.Code;
            static userActivityHandoffFailedError: CocoaError.Code;
            static userActivityHandoffUserInfoTooLarge: CocoaError.Code;
            static userActivityHandoffUserInfoTooLargeError: CocoaError.Code;
            static userActivityRemoteApplicationTimedOut: CocoaError.Code;
            static userActivityRemoteApplicationTimedOutError: CocoaError.Code;
            static userCancelled: CocoaError.Code;
            static userCancelledError: CocoaError.Code;
            static validationDateTooLate: CocoaError.Code;
            static validationDateTooLateError: CocoaError.Code;
            static validationDateTooSoon: CocoaError.Code;
            static validationDateTooSoonError: CocoaError.Code;
            static validationInvalidDate: CocoaError.Code;
            static validationInvalidDateError: CocoaError.Code;
            static validationMissingMandatoryProperty: CocoaError.Code;
            static validationMissingMandatoryPropertyError: CocoaError.Code;
            static validationMultipleErrors: CocoaError.Code;
            static validationMultipleErrorsError: CocoaError.Code;
            static validationNumberTooLarge: CocoaError.Code;
            static validationNumberTooLargeError: CocoaError.Code;
            static validationNumberTooSmall: CocoaError.Code;
            static validationNumberTooSmallError: CocoaError.Code;
            static validationRelationshipDeniedDelete: CocoaError.Code;
            static validationRelationshipDeniedDeleteError: CocoaError.Code;
            static validationRelationshipExceedsMaximumCount: CocoaError.Code;
            static validationRelationshipExceedsMaximumCountError: CocoaError.Code;
            static validationRelationshipLacksMinimumCount: CocoaError.Code;
            static validationRelationshipLacksMinimumCountError: CocoaError.Code;
            static validationStringPatternMatching: CocoaError.Code;
            static validationStringPatternMatchingError: CocoaError.Code;
            static validationStringTooLong: CocoaError.Code;
            static validationStringTooLongError: CocoaError.Code;
            static validationStringTooShort: CocoaError.Code;
            static validationStringTooShortError: CocoaError.Code;
            static xpcConnectionInterrupted: CocoaError.Code;
            static xpcConnectionInvalid: CocoaError.Code;
            static xpcConnectionReplyInvalid: CocoaError.Code;
            hashValue: number;
            rawValue: number;
            constructor (rawValue: number);
            hash(hasher: Hasher):void;
        }
    }
    export class MachError {
        /**
         * The operation was aborted.  Ipc code will catch this and reflect it as a message error.
         */
        static aborted: MachError.Code;
        /**
         * The receive right is already a member of the portset.
         */
        static alreadyInSet: MachError.Code;
        /**
         * A thread is attempting to wait for an event for which there is already a waiting thread.
         */
        static alreadyWaiting: MachError.Code;
        /**
         * During a page fault, indicates that the page was rejected as a result of a signature check.
         */
        static codesignError: MachError.Code;
        /**
         * An attempt was made to destroy the default processor set.
         */
        static defaultSet: MachError.Code;
        static errorDomain: string;
        /**
         * An attempt was made to fetch an exception port that is protected, or to abort a thread while processing a protected exception.
         */
        static exceptionProtected: MachError.Code;
        /**
         * The function could not be performed.  A catch-all.
         */
        static failure: MachError.Code;
        /**
         * Specified address is not currently valid.
         */
        static invalidAddress: MachError.Code;
        /**
         * The function requested was not applicable to this type of argument, or an argument is invalid.
         */
        static invalidArgument: MachError.Code;
        /**
         * The supplied (port) capability is improper.
         */
        static invalidCapability: MachError.Code;
        /**
         * Target host isn’t actually a host.
         */
        static invalidHost: MachError.Code;
        /**
         * A ledger was required but not supplied.
         */
        static invalidLedger: MachError.Code;
        /**
         * The port was not a memory cache control port.
         */
        static invalidMemoryControl: MachError.Code;
        /**
         * The name doesn’t denote a right in the task.
         */
        static invalidName: MachError.Code;
        /**
         * The external memory manager failed to initialize the memory object.
         */
        static invalidObject: MachError.Code;
        /**
         * The specified scheduling policy is not currently enabled for the processor set.
         */
        static invalidPolicy: MachError.Code;
        /**
         * An argument applied to assert processor set privilege was not a processor set control port.
         */
        static invalidProcessorSet: MachError.Code;
        /**
         * The name denotes a right, but not an appropriate right.
         */
        static invalidRight: MachError.Code;
        /**
         * An argument supplied to assert security privilege was not a host security port.
         */
        static invalidSecurity: MachError.Code;
        /**
         * Target task isn’t an active task.
         */
        static invalidTask: MachError.Code;
        /**
         * A blatant range error.
         */
        static invalidValue: MachError.Code;
        /**
         * The lock is already owned by another thread.
         */
        static lockOwned: MachError.Code;
        /**
         * The lock is already owned by the calling thread.
         */
        static lockOwnedSelf: MachError.Code;
        /**
         * Lock set has been destroyed and is no longer available.
         */
        static lockSetDestroyed: MachError.Code;
        /**
         * The thread holding the lock terminated before releasing the lock.
         */
        static lockUnstable: MachError.Code;
        /**
         * A page was requested of a memory manager via memory_object_data_request for an object using a MEMORY_OBJECT_COPY_CALL strategy, with the VM_PROT_WANTS_COPY flag being used to specify that the page desired is for a copy of the object, and the memory manager has detected the page was pushed into a copy of the object while the kernel was walking the shadow chain from the copy to the object. This error code is delivered via memory_object_data_error and is handled by the kernel (it forces the kernel to restart the fault). It will not be seen by users.
         */
        static memoryDataMoved: MachError.Code;
        /**
         * During a page fault, the memory object indicated that the data could not be returned.  This failure may be temporary; future attempts to access this same data may succeed, as defined by the memory object.
         */
        static memoryError: MachError.Code;
        /**
         * During a page fault, the target address refers to a memory object that has been destroyed.  This failure is permanent.
         */
        static memoryFailure: MachError.Code;
        /**
         * An attempt was made to supply “precious” data for memory that is already present in a memory object.
         */
        static memoryPresent: MachError.Code;
        /**
         * A strategic copy was attempted of an object upon which a quicker copy is now possible.  The caller should retry the copy using vm_object_copy_quickly. This error code is seen only by the kernel.
         */
        static memoryRestartCopy: MachError.Code;
        /**
         * The name already denotes a right in the task.
         */
        static nameExists: MachError.Code;
        /**
         * Bogus access restriction.
         */
        static noAccess: MachError.Code;
        /**
         * The address range specified is already in use, or no address range of the size specified could be found.
         */
        static noSpace: MachError.Code;
        /**
         * Remote node down or inaccessible.
         */
        static nodeDown: MachError.Code;
        /**
         * thread_depress_abort was called on a thread which was not currently depressed.
         */
        static notDepressed: MachError.Code;
        /**
         * The receive right is not a member of a port set.
         */
        static notInSet: MachError.Code;
        /**
         * The task in question does not hold receive rights for the port argument.
         */
        static notReceiver: MachError.Code;
        /**
         * Empty thread activation (No thread linked to it).
         */
        static notSupported: MachError.Code;
        /**
         * A signalled thread was not actually waiting.
         */
        static notWaiting: MachError.Code;
        /**
         * Some thread-oriented operation (semaphore_wait) timed out.
         */
        static operationTimedOut: MachError.Code;
        /**
         * The specified scheduling attributes exceed the thread’s limits.
         */
        static policyLimit: MachError.Code;
        /**
         * The requested property cannot be changed at this time.
         */
        static policyStatic: MachError.Code;
        /**
         * Specified memory is valid, but does not permit the required forms of access.
         */
        static protectionFailure: MachError.Code;
        /**
         * A system resource could not be allocated to fulfill this request.  This failure may not be permanent.
         */
        static resourceShortage: MachError.Code;
        /**
         * The task already has send or receive rights for the port under another name.
         */
        static rightExists: MachError.Code;
        /**
         * Allow an orphaned activation to continue executing.
         */
        static rpcContinueOrphan: MachError.Code;
        /**
         * Return from RPC indicating the target server was terminated before it successfully replied.
         */
        static rpcServerTerminated: MachError.Code;
        /**
         * Terminate an orphaned activation.
         */
        static rpcTerminateOrphan: MachError.Code;
        /**
         * Semaphore has been destroyed and is no longer available.
         */
        static semaphoreDestroyed: MachError.Code;
        static success: MachError.Code;
        /**
         * Object has been terminated and is no longer available.
         */
        static terminated: MachError.Code;
        /**
         * Operation would overflow limit on user-references.
         */
        static userReferencesOverflow: MachError.Code;
        code: MachErrorCode;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        hashValue: number;
        localizedDescription: string;
        userInfo: Record<string, any>;
        constructor (code: MachErrorCode, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    export class POSIXError {
        /**
         * Argument list too long.
         */
        static E2BIG: POSIXErrorCode;
        /**
         * Permission denied.
         */
        static EACCES: POSIXErrorCode;
        /**
         * Address already in use.
         */
        static EADDRINUSE: POSIXErrorCode;
        /**
         * Can’t assign requested address.
         */
        static EADDRNOTAVAIL: POSIXErrorCode;
        /**
         * Address family not supported by protocol family.
         */
        static EAFNOSUPPORT: POSIXErrorCode;
        /**
         * non-blocking and interrupt i/o. Resource temporarily unavailable.
         */
        static EAGAIN: POSIXErrorCode;
        /**
         * Operation already in progress.
         */
        static EALREADY: POSIXErrorCode;
        /**
         * Authentication error.
         */
        static EAUTH: POSIXErrorCode;
        /**
         * Bad CPU type in executable.
         */
        static EBADARCH: POSIXErrorCode;
        /**
         * Program loading errors. Bad executable.
         */
        static EBADEXEC: POSIXErrorCode;
        /**
         * Bad file descriptor.
         */
        static EBADF: POSIXErrorCode;
        /**
         * Malformed Macho file.
         */
        static EBADMACHO: POSIXErrorCode;
        /**
         * Bad message.
         */
        static EBADMSG: POSIXErrorCode;
        /**
         * RPC struct is bad.
         */
        static EBADRPC: POSIXErrorCode;
        /**
         * Device / Resource busy.
         */
        static EBUSY: POSIXErrorCode;
        /**
         * Operation canceled.
         */
        static ECANCELED: POSIXErrorCode;
        /**
         * No child processes.
         */
        static ECHILD: POSIXErrorCode;
        /**
         * Software caused connection abort.
         */
        static ECONNABORTED: POSIXErrorCode;
        /**
         * Connection refused.
         */
        static ECONNREFUSED: POSIXErrorCode;
        /**
         * Connection reset by peer.
         */
        static ECONNRESET: POSIXErrorCode;
        /**
         * Resource deadlock avoided.
         */
        static EDEADLK: POSIXErrorCode;
        /**
         * Destination address required.
         */
        static EDESTADDRREQ: POSIXErrorCode;
        /**
         * Device error, for example paper out.
         */
        static EDEVERR: POSIXErrorCode;
        /**
         * math software. Numerical argument out of domain.
         */
        static EDOM: POSIXErrorCode;
        /**
         * Disc quota exceeded.
         */
        static EDQUOT: POSIXErrorCode;
        /**
         * File exists.
         */
        static EEXIST: POSIXErrorCode;
        /**
         * Bad address.
         */
        static EFAULT: POSIXErrorCode;
        /**
         * File too large.
         */
        static EFBIG: POSIXErrorCode;
        /**
         * Inappropriate file type or format.
         */
        static EFTYPE: POSIXErrorCode;
        /**
         * Host is down.
         */
        static EHOSTDOWN: POSIXErrorCode;
        /**
         * No route to host.
         */
        static EHOSTUNREACH: POSIXErrorCode;
        /**
         * Identifier removed.
         */
        static EIDRM: POSIXErrorCode;
        /**
         * Illegal byte sequence.
         */
        static EILSEQ: POSIXErrorCode;
        /**
         * Operation now in progress.
         */
        static EINPROGRESS: POSIXErrorCode;
        /**
         * Interrupted system call.
         */
        static EINTR: POSIXErrorCode;
        /**
         * Invalid argument.
         */
        static EINVAL: POSIXErrorCode;
        /**
         * Input/output error.
         */
        static EIO: POSIXErrorCode;
        /**
         * Socket is already connected.
         */
        static EISCONN: POSIXErrorCode;
        /**
         * Is a directory.
         */
        static EISDIR: POSIXErrorCode;
        /**
         * Too many levels of symbolic links.
         */
        static ELOOP: POSIXErrorCode;
        /**
         * Too many open files.
         */
        static EMFILE: POSIXErrorCode;
        /**
         * Too many links.
         */
        static EMLINK: POSIXErrorCode;
        /**
         * Message too long.
         */
        static EMSGSIZE: POSIXErrorCode;
        /**
         * Reserved.
         */
        static EMULTIHOP: POSIXErrorCode;
        /**
         * File name too long.
         */
        static ENAMETOOLONG: POSIXErrorCode;
        /**
         * Need authenticator.
         */
        static ENEEDAUTH: POSIXErrorCode;
        /**
         * ipc/network software – operational errors Network is down.
         */
        static ENETDOWN: POSIXErrorCode;
        /**
         * Network dropped connection on reset.
         */
        static ENETRESET: POSIXErrorCode;
        /**
         * Network is unreachable.
         */
        static ENETUNREACH: POSIXErrorCode;
        /**
         * Too many open files in system.
         */
        static ENFILE: POSIXErrorCode;
        /**
         * Attribute not found.
         */
        static ENOATTR: POSIXErrorCode;
        /**
         * No buffer space available.
         */
        static ENOBUFS: POSIXErrorCode;
        /**
         * No message available on STREAM.
         */
        static ENODATA: POSIXErrorCode;
        /**
         * Operation not supported by device.
         */
        static ENODEV: POSIXErrorCode;
        /**
         * No such file or directory.
         */
        static ENOENT: POSIXErrorCode;
        /**
         * Exec format error.
         */
        static ENOEXEC: POSIXErrorCode;
        /**
         * No locks available.
         */
        static ENOLCK: POSIXErrorCode;
        /**
         * Reserved.
         */
        static ENOLINK: POSIXErrorCode;
        /**
         * Cannot allocate memory.
         */
        static ENOMEM: POSIXErrorCode;
        /**
         * No message of desired type.
         */
        static ENOMSG: POSIXErrorCode;
        /**
         * No such policy registered.
         */
        static ENOPOLICY: POSIXErrorCode;
        /**
         * Protocol not available.
         */
        static ENOPROTOOPT: POSIXErrorCode;
        /**
         * No space left on device.
         */
        static ENOSPC: POSIXErrorCode;
        /**
         * No STREAM resources.
         */
        static ENOSR: POSIXErrorCode;
        /**
         * Not a STREAM.
         */
        static ENOSTR: POSIXErrorCode;
        /**
         * Function not implemented.
         */
        static ENOSYS: POSIXErrorCode;
        /**
         * Block device required.
         */
        static ENOTBLK: POSIXErrorCode;
        /**
         * Socket is not connected.
         */
        static ENOTCONN: POSIXErrorCode;
        /**
         * Not a directory.
         */
        static ENOTDIR: POSIXErrorCode;
        /**
         * Directory not empty.
         */
        static ENOTEMPTY: POSIXErrorCode;
        /**
         * State not recoverable.
         */
        static ENOTRECOVERABLE: POSIXErrorCode;
        /**
         * ipc/network software – argument errors. Socket operation on non-socket.
         */
        static ENOTSOCK: POSIXErrorCode;
        /**
         * Operation not supported.
         */
        static ENOTSUP: POSIXErrorCode;
        /**
         * Inappropriate ioctl for device.
         */
        static ENOTTY: POSIXErrorCode;
        /**
         * Device not configured.
         */
        static ENXIO: POSIXErrorCode;
        /**
         * Value too large to be stored in data type.
         */
        static EOVERFLOW: POSIXErrorCode;
        /**
         * Previous owner died.
         */
        static EOWNERDEAD: POSIXErrorCode;
        static EPERM: POSIXErrorCode;
        /**
         * Protocol family not supported.
         */
        static EPFNOSUPPORT: POSIXErrorCode;
        /**
         * Broken pipe.
         */
        static EPIPE: POSIXErrorCode;
        /**
         * quotas & mush. Too many processes.
         */
        static EPROCLIM: POSIXErrorCode;
        /**
         * Bad procedure for program.
         */
        static EPROCUNAVAIL: POSIXErrorCode;
        /**
         * Program version wrong.
         */
        static EPROGMISMATCH: POSIXErrorCode;
        /**
         * RPC prog. not avail.
         */
        static EPROGUNAVAIL: POSIXErrorCode;
        /**
         * Protocol error.
         */
        static EPROTO: POSIXErrorCode;
        /**
         * Protocol not supported.
         */
        static EPROTONOSUPPORT: POSIXErrorCode;
        /**
         * Protocol wrong type for socket.
         */
        static EPROTOTYPE: POSIXErrorCode;
        /**
         * Intelligent device errors. Device power is off.
         */
        static EPWROFF: POSIXErrorCode;
        /**
         * Interface output queue is full.
         */
        static EQFULL: POSIXErrorCode;
        /**
         * Result too large.
         */
        static ERANGE: POSIXErrorCode;
        /**
         * Too many levels of remote in path.
         */
        static EREMOTE: POSIXErrorCode;
        /**
         * Read-only file system.
         */
        static EROFS: POSIXErrorCode;
        /**
         * RPC version wrong.
         */
        static ERPCMISMATCH: POSIXErrorCode;
        /**
         * Shared library version mismatch.
         */
        static ESHLIBVERS: POSIXErrorCode;
        /**
         * Can’t send after socket shutdown.
         */
        static ESHUTDOWN: POSIXErrorCode;
        /**
         * Socket type not supported.
         */
        static ESOCKTNOSUPPORT: POSIXErrorCode;
        /**
         * Illegal seek.
         */
        static ESPIPE: POSIXErrorCode;
        /**
         * No such process.
         */
        static ESRCH: POSIXErrorCode;
        /**
         * Network File System. Stale NFS file handle.
         */
        static ESTALE: POSIXErrorCode;
        /**
         * STREAM ioctl timeout.
         */
        static ETIME: POSIXErrorCode;
        /**
         * Operation timed out.
         */
        static ETIMEDOUT: POSIXErrorCode;
        /**
         * Too many references: can’t splice.
         */
        static ETOOMANYREFS: POSIXErrorCode;
        /**
         * Text file busy.
         */
        static ETXTBSY: POSIXErrorCode;
        /**
         * Too many users.
         */
        static EUSERS: POSIXErrorCode;
        /**
         * Operation would block.
         */
        static EWOULDBLOCK: POSIXErrorCode;
        /**
         * Cross-device link.
         */
        static EXDEV: POSIXErrorCode;
        static errorDomain: string;
        code: POSIXErrorCode;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        hashValue: number;
        localizedDescription: string;
        userInfo: Record<string, any>;
        constructor (code: POSIXErrorCode, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    export interface LocalizedError extends Error {
        errorDescription: string;
        failureReason: string;
        helpAnchor: string;
        recoverySuggestion: string;
    }
    export interface RecoverableError extends Error {
        /**
         * Provides a set of possible recovery options to present to the user.
         */
        recoveryOptions: string[];
        /**
         * Attempt to recover from this error when the user selected the option at the given index. Returns true to indicate successful recovery, and false otherwise.
         */
        attemptRecovery(recoveryOptionIndex: number):boolean;
    }
    export interface CustomNSError extends Error {
        errorCode: number;
        errorUserInfo: Record<string, any>;
        static errorDomain: string;
    }
    export class NSAssertionHandler extends NSObject {
        /**
         * Returns the 
         *  object associated with the current thread.
         */
        static current: NSAssertionHandler;
    }
    export class NSException extends NSObject {
        /**
         * A string used to uniquely identify the receiver.
         */
        name: NSExceptionName;
        /**
         * A string containing a “human-readable” reason for the receiver.
         */
        reason: string;
        /**
         * A dictionary containing application-specific data pertaining to the receiver.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * The call return addresses related to a raised exception.
         */
        callStackReturnAddresses: NSNumber[];
        /**
         * An array containing the current call stack symbols.
         */
        callStackSymbols: string[];
        /**
         * Initializes and returns a newly allocated exception object.
         */
        constructor (aName: NSExceptionName, aReason: string, aUserInfo: Record<AnyHashable, any> | null);
        /**
         * Creates and raises an exception with the specified name, reason, and arguments.
         */
        static raise(name: NSExceptionName, format: string, argList: CVaListPointer):void;
    }
    export class NSExceptionName {
        /**
         * 
         *  raises an 
         *  if a string cannot be represented in a file-system or string encoding.
         */
        static characterConversionException: NSExceptionName;
        /**
         * The exception raised on divide by zero.
         */
        static decimalNumberDivideByZeroException: NSExceptionName;
        /**
         * The exception raised if there is an exactness error.
         */
        static decimalNumberExactnessException: NSExceptionName;
        /**
         * The exception raised on overflow.
         */
        static decimalNumberOverflowException: NSExceptionName;
        /**
         * The exception raised on underflow.
         */
        static decimalNumberUnderflowException: NSExceptionName;
        /**
         * Name of an exception that occurs when an internal assertion fails and implies an unexpected condition within the distributed objects.
         */
        static destinationInvalidException: NSExceptionName;
        /**
         * Raised by 
         *  if attempts to determine file-handle type fail or if attempts to read from a file or channel fail.
         */
        static fileHandleOperationException: NSExceptionName;
        /**
         * A generic name for an exception.
         */
        static genericException: NSExceptionName;
        /**
         * Name of an exception that occurs when an internal assertion fails and implies an unexpected condition within the called code.
         */
        static internalInconsistencyException: NSExceptionName;
        /**
         * The name of the exception raised by 
         *  if there is a problem creating an archive.
         */
        static invalidArchiveOperationException: NSExceptionName;
        /**
         * Name of an exception that occurs when you pass an invalid argument to a method, such as a 
         *  pointer where a non-
         *  object is required.
         */
        static invalidArgumentException: NSExceptionName;
        /**
         * Name of an exception that occurs when the receive port of an 
         *  has become invalid. 
         */
        static invalidReceivePortException: NSExceptionName;
        /**
         * Name of an exception that occurs when the send port of an 
         *  has become invalid.
         */
        static invalidSendPortException: NSExceptionName;
        /**
         * The name of the exception raised by 
         *  if there is a problem extracting an archive.
         */
        static invalidUnarchiveOperationException: NSExceptionName;
        /**
         * The name of the exception raised if the 
         *  method is called after the operation was cancelled. 
         */
        static invocationOperationCancelledException: NSExceptionName;
        /**
         * The name of the exception raised if the 
         *  method is called for an invocation method with a 
         *  return type. 
         */
        static invocationOperationVoidResultException: NSExceptionName;
        /**
         * Obsolete; not currently used.
         */
        static mallocException: NSExceptionName;
        /**
         * Name of an exception that occurs when a remote object is accessed from a thread that should not access it. 
         */
        static objectInaccessibleException: NSExceptionName;
        /**
         * Name of an exception that occurs when the remote side of the 
         *  refused to send the message to the object because the object has never been vended.
         */
        static objectNotAvailableException: NSExceptionName;
        /**
         * No longer used.
         */
        static oldStyleException: NSExceptionName;
        /**
         * 
         *  raises an 
         *  if a string cannot be parsed as a property list.
         */
        static parseErrorException: NSExceptionName;
        /**
         * Generic error occurred on receive. 
         */
        static portReceiveException: NSExceptionName;
        /**
         * Generic error occurred on send. 
         */
        static portSendException: NSExceptionName;
        /**
         * Name of an exception that occurs when a timeout set on a port expires during a send or receive operation. 
         */
        static portTimeoutException: NSExceptionName;
        /**
         * Name of an exception that occurs when attempting to access outside the bounds of some data, such as beyond the end of a string.
         */
        static rangeException: NSExceptionName;
        /**
         * Raised when a key value coding operation fails. 
         *  keys are described in 
         */
        static undefinedKeyException: NSExceptionName;
        /**
         * The name of an exception raised by 
         *  if there are problems initializing or encoding.
         */
        static inconsistentArchiveException: NSExceptionName;
        static NSPPDIncludeNotFoundException: NSExceptionName;
        static NSPPDIncludeStackOverflowException: NSExceptionName;
        static NSPPDIncludeStackUnderflowException: NSExceptionName;
        static NSPPDParseException: NSExceptionName;
        static NSRTFPropertyStackOverflowException: NSExceptionName;
        static NSTIFFException: NSExceptionName;
        static abortModalException: NSExceptionName;
        static abortPrintingException: NSExceptionName;
        static accessibilityException: NSExceptionName;
        static appKitIgnoredException: NSExceptionName;
        static appKitVirtualMemoryException: NSExceptionName;
        static badBitmapParametersException: NSExceptionName;
        static badComparisonException: NSExceptionName;
        static badRTFColorTableException: NSExceptionName;
        static badRTFDirectiveException: NSExceptionName;
        static badRTFFontTableException: NSExceptionName;
        static badRTFStyleSheetException: NSExceptionName;
        static browserIllegalDelegateException: NSExceptionName;
        static colorListIOException: NSExceptionName;
        static colorListNotEditableException: NSExceptionName;
        static draggingException: NSExceptionName;
        static fontUnavailableException: NSExceptionName;
        static illegalSelectorException: NSExceptionName;
        static imageCacheException: NSExceptionName;
        static nibLoadingException: NSExceptionName;
        static pasteboardCommunicationException: NSExceptionName;
        /**
         * The name of an exception raised when there is already a print operation in process.
         */
        static printOperationExistsException: NSExceptionName;
        static printPackageException: NSExceptionName;
        static printingCommunicationException: NSExceptionName;
        /**
         * Exception generated if a line is too long in a 
         *  object.
         */
        static textLineTooLongException: NSExceptionName;
        static textNoSelectionException: NSExceptionName;
        static textReadException: NSExceptionName;
        static textWriteException: NSExceptionName;
        static typedStreamVersionException: NSExceptionName;
        static windowServerCommunicationException: NSExceptionName;
        static wordTablesReadException: NSExceptionName;
        static wordTablesWriteException: NSExceptionName;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export class NSAppleScript extends NSObject {
        /**
         * An 
         *  that supplies a detailed description of the error condition.
         */
        static errorMessage: string;
        /**
         * An 
         *  that specifies the error number.
         */
        static errorNumber: string;
        /**
         * An 
         *  that specifies the name of the application that generated the error.
         */
        static errorAppName: string;
        /**
         * An 
         *  that provides a brief description of the error.
         */
        static errorBriefMessage: string;
        /**
         * An 
         *  that specifies a range.
         */
        static errorRange: string;
        /**
         * A Boolean value that indicates whether the receiver's script has been compiled.
         */
        isCompiled: boolean;
        /**
         * The script source for the receiver.
         */
        source: string;
        /**
         * Initializes a newly allocated script instance from the source identified by the passed URL.
         */
        constructor (url: URL, errorInfo: AutoreleasingUnsafeMutablePointer<NSDictionary?> | null);
        /**
         * Initializes a newly allocated script instance from the passed source.
         */
        constructor (source: string);
        /**
         * Compiles the receiver, if it is not already compiled.
         */
        compileAndReturnError(errorInfo: AutoreleasingUnsafeMutablePointer<NSDictionary?> | null):boolean;
        /**
         * Executes the receiver, compiling it first if it is not already compiled.
         */
        executeAndReturnError(errorInfo: AutoreleasingUnsafeMutablePointer<NSDictionary?> | null):NSAppleEventDescriptor;
        /**
         * Executes an Apple event in the context of the receiver, as a means of allowing the application to invoke a handler in the script.
         */
        executeAppleEvent(event: NSAppleEventDescriptor, errorInfo: AutoreleasingUnsafeMutablePointer<NSDictionary?> | null):NSAppleEventDescriptor;
    }
    export class NSAppleEventDescriptor extends NSObject {
        /**
         * The 
         *  structure encapsulated by the receiver, if it has one.
         */
        aeDesc: UnsafePointer<AEDesc> | null;
        /**
         * The contents of the receiver as a Boolean value, coercing (to 
         * ) if necessary.
         */
        booleanValue: boolean;
        /**
         * The receiver’s data.
         */
        data: Data;
        /**
         * The descriptor type of the receiver.
         */
        descriptorType: DescType;
        /**
         * The contents of the receiver as an enumeration type, coercing to 
         *  if necessary.
         */
        enumCodeValue: OSType;
        /**
         * The contents of the receiver as an integer, coercing (to 
         * ) if necessary.
         */
        int32Value: Int32;
        /**
         * The number of descriptors in the receiver’s descriptor list.
         */
        numberOfItems: number;
        /**
         * The contents of the receiver as a Unicode text string, coercing to 
         *  if necessary.
         */
        stringValue: string;
        /**
         * The contents of the receiver as a type, coercing to 
         *  if necessary.
         */
        typeCodeValue: OSType;
        /**
         * The event class for the receiver.
         */
        eventClass: AEEventClass;
        /**
         * The event ID for the receiver.
         */
        eventID: AEEventID;
        /**
         * The receiver’s return ID (the ID for a reply Apple event).
         */
        returnID: AEReturnID;
        /**
         * The receiver’s transaction ID, if any.
         */
        transactionID: AETransactionID;
        dateValue: Date | null;
        doubleValue: number;
        fileURLValue: URL | null;
        isRecordDescriptor: boolean;
        /**
         * Creates a descriptor initialized with type 
         *  that stores the specified Boolean value.
         */
        constructor (_boolean: boolean);
        /**
         * Creates a descriptor initialized with type 
         *  that stores the specified enumerator data type value.
         */
        constructor (enumerator: OSType);
        /**
         * Creates a descriptor initialized with Apple event type 
         *  that stores the specified integer value.
         */
        constructor (signedInt: Int32);
        /**
         * Creates a descriptor initialized with type 
         *  that stores the text from the specified string.
         */
        constructor (_string: string);
        /**
         * Creates a descriptor initialized with type 
         *  that stores the specified type value.
         */
        constructor (typeCode: OSType);
        /**
         * Initializes a newly allocated instance as an empty list descriptor.
         */
        constructor (listDescriptor: any);
        /**
         * Initializes a newly allocated instance as a descriptor that is an Apple event record.
         */
        constructor (recordDescriptor: any);
        /**
         * Initializes a newly allocated instance as a descriptor for the specified Carbon 
         *  structure.
         */
        constructor (aeDesc: UnsafePointer<AEDesc>);
        /**
         * Initializes a newly allocated instance as a descriptor with the specified descriptor type and data (from an arbitrary sequence of bytes and a length count).
         */
        constructor (descriptorType: DescType, bytes: UnsafeRawPointer | null, byteCount: number);
        /**
         * Initializes a newly allocated instance as a descriptor with the specified descriptor type and data (from an instance of 
         * ).
         */
        constructor (descriptorType: DescType, data: Data | null);
        /**
         * Initializes a newly allocated instance as a descriptor for an Apple event, initialized with the specified values.
         */
        constructor (eventClass: AEEventClass, eventID: AEEventID, targetDescriptor: NSAppleEventDescriptor | null, returnID: AEReturnID, transactionID: AETransactionID);
        constructor (applicationURL: URL);
        constructor (bundleIdentifier: string);
        constructor (date: Date);
        constructor (doubleValue: number);
        constructor (fileURL: URL);
        constructor (processIdentifier: pid_t);
        /**
         * Creates a descriptor that represents an Apple event, initialized according to the specified information.
         */
        static appleEvent(eventClass: AEEventClass, eventID: AEEventID, targetDescriptor: NSAppleEventDescriptor | null, returnID: AEReturnID, transactionID: AETransactionID):NSAppleEventDescriptor;
        /**
         * Creates and initializes an empty list descriptor.
         */
        static list():NSAppleEventDescriptor;
        /**
         * Creates and initializes a descriptor with no parameter or attribute values set.
         */
        static null():NSAppleEventDescriptor;
        /**
         * Creates and initializes a descriptor for an Apple event record whose data has yet to be set.
         */
        static record():NSAppleEventDescriptor;
        static currentProcess():NSAppleEventDescriptor;
        /**
         * Returns a descriptor obtained by coercing the receiver to the specified type.
         */
        coerce(descriptorType: DescType):NSAppleEventDescriptor | null;
        /**
         * Returns the descriptor at the specified (one-based) position in the receiving descriptor list.
         */
        atIndex(index: number):NSAppleEventDescriptor | null;
        /**
         * Inserts a descriptor at the specified (one-based) position in the receiving descriptor list, replacing the existing descriptor, if any, at that position.
         */
        insert(descriptor: NSAppleEventDescriptor, index: number):void;
        /**
         * Removes the descriptor at the specified (one-based) position in the receiving descriptor list.
         */
        remove(index: number):void;
        /**
         * Returns the receiver’s descriptor for the specified keyword.
         */
        forKeyword(keyword: AEKeyword):NSAppleEventDescriptor | null;
        /**
         * Returns the keyword for the descriptor at the specified (one-based) position in the receiver.
         */
        keywordForDescriptor(index: number):AEKeyword;
        /**
         * Adds a descriptor, identified by a keyword, to the receiver.
         */
        setDescriptor(descriptor: NSAppleEventDescriptor, keyword: AEKeyword):void;
        /**
         * Returns a descriptor for the receiver’s Apple event attribute identified by the specified keyword.
         */
        attributeDescriptor(keyword: AEKeyword):NSAppleEventDescriptor | null;
        /**
         * Returns a descriptor for the receiver’s Apple event parameter identified by the specified keyword.
         */
        paramDescriptor(keyword: AEKeyword):NSAppleEventDescriptor | null;
        /**
         * Removes the receiver’s parameter descriptor identified by the specified keyword.
         */
        removeParamDescriptor(keyword: AEKeyword):void;
        /**
         * Adds a descriptor to the receiver as an attribute identified by the specified keyword.
         */
        setAttribute(descriptor: NSAppleEventDescriptor, keyword: AEKeyword):void;
        /**
         * Adds a descriptor to the receiver as an Apple event parameter identified by the specified keyword.
         */
        setParam(descriptor: NSAppleEventDescriptor, keyword: AEKeyword):void;
        sendEvent(sendOptions: NSAppleEventDescriptor.SendOptions, timeoutInSeconds: TimeInterval):NSAppleEventDescriptor;
    }
    /**
     * the same name namespace of class NSAppleEventDescriptor
     */
    export namespace NSAppleEventDescriptor {
        export class SendOptions {
            static alwaysInteract: NSAppleEventDescriptor.SendOptions;
            static canInteract: NSAppleEventDescriptor.SendOptions;
            static canSwitchLayer: NSAppleEventDescriptor.SendOptions;
            static defaultOptions: NSAppleEventDescriptor.SendOptions;
            static dontAnnotate: NSAppleEventDescriptor.SendOptions;
            static dontExecute: NSAppleEventDescriptor.SendOptions;
            static dontRecord: NSAppleEventDescriptor.SendOptions;
            static neverInteract: NSAppleEventDescriptor.SendOptions;
            static noReply: NSAppleEventDescriptor.SendOptions;
            static queueReply: NSAppleEventDescriptor.SendOptions;
            static waitForReply: NSAppleEventDescriptor.SendOptions;
            constructor (rawValue: number);
        }
    }
    export class NSAppleEventManager extends NSObject {
        /**
         * Returns the descriptor for 
         *  if an Apple event is being handled on the current thread.
         */
        currentAppleEvent: NSAppleEventDescriptor | null;
        /**
         * Returns the corresponding reply event descriptor if an Apple event is being handled on the current thread.
         */
        currentReplyAppleEvent: NSAppleEventDescriptor | null;
        /**
         * Returns the single instance of 
         * , creating it first if it doesn’t exist.
         */
        static shared():NSAppleEventManager;
        /**
         * If an Apple event handler has been registered for the event specified by 
         *  and 
         * , removes it.
         */
        removeEventHandler(eventClass: AEEventClass, eventID: AEEventID):void;
        /**
         * Registers the Apple event handler specified by 
         *  for the event specified by 
         *  and 
         * .
         */
        setEventHandler(handler: any, handleEventSelector: Selector, eventClass: AEEventClass, eventID: AEEventID):void;
        /**
         * Causes the Apple event specified by 
         *  to be dispatched to the appropriate Apple event handler, if one has been registered by calling 
         * .
         */
        dispatchRawAppleEvent(theAppleEvent: UnsafePointer<AppleEvent>, theReply: UnsafeMutablePointer<AppleEvent>, handlerRefCon: SRefCon):OSErr;
        /**
         * Given a nonzero 
         *  returned by an invocation of 
         * , returns the descriptor for the event whose handling was suspended.
         */
        appleEvent(suspensionID: NSAppleEventManager.SuspensionID):NSAppleEventDescriptor;
        /**
         * Given a nonzero 
         *  returned by an invocation of 
         * , returns the corresponding reply event descriptor.
         */
        replyAppleEvent(suspensionID: NSAppleEventManager.SuspensionID):NSAppleEventDescriptor;
        /**
         * Given a nonzero 
         *  returned by an invocation of 
         * , signal that handling of the suspended event may now continue.
         */
        resume(suspensionID: NSAppleEventManager.SuspensionID):void;
        /**
         * Given a nonzero 
         *  returned by an invocation of 
         * , sets the values that will be returned by subsequent invocations of 
         *  and 
         *  to be the event whose handling was suspended and its corresponding reply event, respectively.
         */
        setCurrentAppleEventAndReplyEventWithSuspensionID(suspensionID: NSAppleEventManager.SuspensionID):void;
        /**
         * Suspends the handling of the current event and returns an ID that must be used to resume the handling of the event if an Apple event is being handled on the current thread.
         */
        suspendCurrentAppleEvent():NSAppleEventManager.SuspensionID | null;
    }
    export class NSScriptCommand extends NSObject {
        /**
         * If the receiver was constructed by Cocoa scripting's built-in Apple event handling, returns the Apple event descriptor from which it was constructed.
         */
        appleEvent: NSAppleEventDescriptor | null;
        /**
         * Returns the object or objects to which the command is to be sent (called both the “receivers” or “targets” of script commands).
         */
        evaluatedReceivers: any;
        /**
         * Sets the object specifier to 
         *  that, when evaluated, indicates the receiver or receivers of the command.
         */
        receiversSpecifier: NSScriptObjectSpecifier | null;
        /**
         * Sets the arguments of the command to 
         * .
         */
        arguments: Record<string, any> | null;
        /**
         * Returns a dictionary containing the arguments of the command, evaluated from object specifiers to objects if necessary. The keys in the dictionary are the argument names.
         */
        evaluatedArguments: Record<string, any> | null;
        /**
         * Sets the object that corresponds to the direct parameter of the Apple event from which the receiver derives.
         */
        directParameter: any;
        /**
         * Returns the command description for the command.
         */
        commandDescription: NSScriptCommandDescription;
        /**
         * Sets a descriptor for the expected type that will be put in the reply Apple event if the sender requested a reply, execution of the receiver completes, and an error number was set.
         */
        scriptErrorExpectedTypeDescriptor: NSAppleEventDescriptor | null;
        /**
         * Sets a script error number that is associated with the execution of the command and is returned in the reply Apple event, if a reply was requested by the sender.
         */
        scriptErrorNumber: number;
        /**
         * Sets a descriptor for an object that will be put in the reply Apple event if the sender requested a reply, execution of the receiver completes, and an error number was set.
         */
        scriptErrorOffendingObjectDescriptor: NSAppleEventDescriptor | null;
        /**
         * Sets a script error string that is associated with execution of the command.
         */
        scriptErrorString: string;
        isWellFormed: boolean;
        /**
         * Returns an a script command object initialized from the passed command description.
         */
        constructor (commandDef: NSScriptCommandDescription);
        constructor (inCoder: NSCoder);
        /**
         * If a command is being executed in the current thread by Cocoa scripting's built-in Apple event handling, return the command.
         */
        static current():NSScriptCommand | null;
        /**
         * Executes the command if it is valid and returns the result, if any.
         */
        execute():any;
        /**
         * Overridden by subclasses to provide a default implementation for the command represented by the receiver.
         */
        performDefaultImplementation():any;
        /**
         * Suspends the execution of the receiver.
         */
        suspendExecution():void;
        /**
         * If a successful, unmatched, invocation of 
         *  has been made, resume the execution of the command.
         */
        resumeExecution(result: any):void;
    }
    export class NSQuitCommand extends NSScriptCommand {
        /**
         * Returns a constant indicating how to deal with closing any modified documents.
         */
        saveOptions: NSSaveOptions;
    }
    export class NSSetCommand extends NSScriptCommand {
        /**
         * Returns a specifier that identifies the attribute or relationship that is to be set for the receiver of the 
         *  AppleScript command.
         */
        keySpecifier: NSScriptObjectSpecifier;
        /**
         * Sets the receiver’s object specifier.
         */
        setReceiversSpecifier(receiversRef: NSScriptObjectSpecifier | null):void;
    }
    export class NSMoveCommand extends NSScriptCommand {
        /**
         * Returns a specifier for the object or objects to be moved.
         */
        keySpecifier: NSScriptObjectSpecifier;
        /**
         * Sets the receiver’s object specifier.
         */
        setReceiversSpecifier(receiversRef: NSScriptObjectSpecifier | null):void;
    }
    export class NSCreateCommand extends NSScriptCommand {
        /**
         * Returns the class description for the class that is to be created.
         */
        createClassDescription: NSScriptClassDescription;
        /**
         * Returns a dictionary that contains the properties that were specified in the 
         *  Apple event command that has been converted to this 
         *  object.
         */
        resolvedKeyDictionary: Record<string, any>;
    }
    export class NSDeleteCommand extends NSScriptCommand {
        /**
         * Returns a specifier for the object or objects to be deleted.
         */
        keySpecifier: NSScriptObjectSpecifier;
        /**
         * Sets the receiver’s object specifier.
         */
        setReceiversSpecifier(receiversRef: NSScriptObjectSpecifier | null):void;
    }
    export class NSExistsCommand extends NSScriptCommand {}
    export class NSGetCommand extends NSScriptCommand {}
    export class NSCloneCommand extends NSScriptCommand {
        /**
         * Returns a specifier for the object or objects to be cloned.
         */
        keySpecifier: NSScriptObjectSpecifier;
        /**
         * Sets the receiver’s object specifier;.
         */
        setReceiversSpecifier(receiversRef: NSScriptObjectSpecifier | null):void;
    }
    export class NSCountCommand extends NSScriptCommand {}
    export class NSCloseCommand extends NSScriptCommand {
        /**
         * Returns a constant indicating how to deal with closing any modified documents.
         */
        saveOptions: NSSaveOptions;
    }
    export enum NSSaveOptions {
        yes = 0,
        no = 1,
        ask = 2,
    }
    export class NSScriptObjectSpecifier extends NSObject {
        /**
         * Returns the actual object represented by the nested series of object specifiers.
         */
        objectsByEvaluatingSpecifier: any;
        /**
         * Sets the class description of the receiver’s container specifier to a given specifier.
         */
        containerClassDescription: NSScriptClassDescription | null;
        /**
         * Sets whether the receiver’s container should be an object involved in a filter reference or the top-level object.
         */
        containerIsObjectBeingTested: boolean;
        /**
         * Sets whether the receiver’s container is to be the container for a range specifier or a top-level object.
         */
        containerIsRangeContainerObject: boolean;
        /**
         * Sets the container specifier of the receiver.
         */
        container: NSScriptObjectSpecifier | null;
        /**
         * Sets the receiver’s child reference.
         */
        child: NSScriptObjectSpecifier | null;
        /**
         * Sets the key of the receiver.
         */
        key: string;
        /**
         * Returns the class description of the objects specified by the receiver.
         */
        keyClassDescription: NSScriptClassDescription | null;
        /**
         * Returns the object specifier in which an evaluation error occurred.
         */
        evaluationError: NSScriptObjectSpecifier | null;
        /**
         * Sets the value of the evaluation error.
         */
        evaluationErrorNumber: number;
        /**
         * Returns an Apple event descriptor that represents the receiver.
         */
        descriptor: NSAppleEventDescriptor | null;
        /**
         * Returns a new object specifier for an Apple event descriptor.
         */
        constructor (descriptor: NSAppleEventDescriptor);
        /**
         * Returns an 
         *  object initialized with the given attributes.
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string);
        /**
         * Returns an 
         *  object initialized with a given container specifier  and key.
         */
        constructor (container: NSScriptObjectSpecifier, property: string);
        constructor (inCoder: NSCoder);
        /**
         * This primitive method must be overridden by subclasses to return a pointer to an array of indices identifying objects in the key of a given container that are identified by the receiver of the message. 
         */
        indicesOfObjectsByEvaluating(container: any, count: UnsafeMutablePointer<Int>):UnsafeMutablePointer<Int> | null;
        /**
         * Returns the actual object or objects specified by the receiver as evaluated in the context of given container object. 
         */
        objectsByEvaluating(containers: any):any;
    }
    export class NSPropertySpecifier extends NSScriptObjectSpecifier {}
    export class NSPositionalSpecifier extends NSObject {
        /**
         * Returns the container in which the new or copied object or objects should be placed.
         */
        insertionContainer: any;
        /**
         * Returns an insertion index that indicates where the new or copied object or objects should be placed.
         */
        insertionIndex: number;
        /**
         * Returns the key that identifies the relationship into which the new or copied object or objects should be inserted.
         */
        insertionKey: string;
        /**
         * Returns a Boolean value that indicates whether evaluation has been successful and the object to be inserted should actually replace the keyed, indexed object in the insertion container.
         */
        insertionReplaces: boolean;
        /**
         * Returns the object specifier specified at initialization time.
         */
        objectSpecifier: NSScriptObjectSpecifier;
        /**
         * Returns the insertion position specified at initialization time.
         */
        position: NSPositionalSpecifier.InsertionPosition;
        /**
         * Initializes a positional specifier with a given position relative to another given specifier.
         */
        constructor (position: NSPositionalSpecifier.InsertionPosition, specifier: NSScriptObjectSpecifier);
        /**
         * Sets the class description for the object or objects to be inserted.
         */
        setInsertionClassDescription(classDescription: NSScriptClassDescription):void;
        /**
         * Causes the receiver to evaluate its position.
         */
        evaluate():void;
    }
    /**
     * the same name namespace of class NSPositionalSpecifier
     */
    export namespace NSPositionalSpecifier {
        export enum InsertionPosition {
            after = 0,
            before = 1,
            beginning = 2,
            end = 3,
            replace = 4,
        }
    }
    export class NSRandomSpecifier extends NSScriptObjectSpecifier {}
    export class NSRangeSpecifier extends NSScriptObjectSpecifier {
        /**
         * Sets the object specifier representing the last object of the range to a given object.
         */
        endSpecifier: NSScriptObjectSpecifier | null;
        /**
         * Returns the object specifier representing the first object of the range.
         */
        startSpecifier: NSScriptObjectSpecifier | null;
        /**
         * Returns a range specifier initialized with the given properties.
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string, startSpec: NSScriptObjectSpecifier | null, endSpec: NSScriptObjectSpecifier | null);
        constructor (inCoder: NSCoder);
    }
    export class NSUniqueIDSpecifier extends NSScriptObjectSpecifier {
        /**
         * Returns the ID encapsulated by the receiver.
         */
        uniqueID: any;
        /**
         * Returns an 
         *  object, initialized with the given arguments.
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string, uniqueID: any);
        constructor (inCoder: NSCoder);
    }
    export class NSWhoseSpecifier extends NSScriptObjectSpecifier {
        /**
         * Sets the end sub-element identifier for the specifier to the value of a given sub-element.
         */
        endSubelementIdentifier: NSWhoseSpecifier.SubelementIdentifier;
        /**
         * Sets the index position of the last sub-element within the range of objects being tested that pass the specifier’s test.
         */
        endSubelementIndex: number;
        /**
         * Returns the start sub-element identifier for the receiver.
         */
        startSubelementIdentifier: NSWhoseSpecifier.SubelementIdentifier;
        /**
         * Returns the index position of the first sub-element within the range of objects being tested that pass the receiver's test.
         */
        startSubelementIndex: number;
        /**
         * Returns the test object encapsulated by the receiver.
         */
        test: NSScriptWhoseTest;
        /**
         * Returns an 
         *  object initialized with the given attributes.
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string, test: NSScriptWhoseTest);
        constructor (inCoder: NSCoder);
    }
    /**
     * the same name namespace of class NSWhoseSpecifier
     */
    export namespace NSWhoseSpecifier {
        export enum SubelementIdentifier {
            indexSubelement = 0,
            everySubelement = 1,
            middleSubelement = 2,
            randomSubelement = 3,
            noSubelement = 4,
        }
    }
    export class NSNameSpecifier extends NSScriptObjectSpecifier {
        /**
         * Sets the name encapsulated with the receiver for the specified object in the container.
         */
        name: string;
        /**
         * Invokes the super class’s 
         *  method and then sets the name instance variable to 
         * .
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string, name: string);
        constructor (inCoder: NSCoder);
    }
    export class NSMiddleSpecifier extends NSScriptObjectSpecifier {}
    export class NSIndexSpecifier extends NSScriptObjectSpecifier {
        /**
         * Sets the value of the receiver’s 
         *  property.
         */
        index: number;
        /**
         * Initializes an allocated 
         *  object with a class description, container specifier, collection key, and object index.
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string, index: number);
    }
    export class NSRelativeSpecifier extends NSScriptObjectSpecifier {
        /**
         * Sets the specifier for the base object.
         */
        baseSpecifier: NSScriptObjectSpecifier | null;
        /**
         * Sets the relative position encapsulated by the receiver.
         */
        relativePosition: NSRelativeSpecifier.RelativePosition;
        /**
         * Invokes the super class’s 
         *  method and initializes the relative position and base specifier to 
         *  and 
         * .
         */
        constructor (classDesc: NSScriptClassDescription, container: NSScriptObjectSpecifier | null, property: string, relPos: NSRelativeSpecifier.RelativePosition, baseSpecifier: NSScriptObjectSpecifier | null);
        constructor (inCoder: NSCoder);
    }
    /**
     * the same name namespace of class NSRelativeSpecifier
     */
    export namespace NSRelativeSpecifier {
        export enum RelativePosition {
            after = 0,
            before = 1,
        }
    }
    export class NSScriptSuiteRegistry extends NSObject {
        /**
         * Returns the names of the suite definitions currently loaded by the application.
         */
        suiteNames: string[];
        /**
         * Sets the single, shared instance of 
         *  to 
         * .
         */
        static setShared(registry: NSScriptSuiteRegistry):void;
        /**
         * Returns the single, shared instance of 
         * , creating it first if it doesn’t exist.
         */
        static shared():NSScriptSuiteRegistry;
        /**
         * Returns the name of the suite definition associated with the given four-character Apple event code, 
         * .
         */
        suite(appleEventCode: FourCharCode):string;
        /**
         * Returns the class descriptions contained in the suite identified by 
         * .
         */
        classDescriptions(suiteName: string):Record<string, NSScriptClassDescription> | null;
        /**
         * Returns the class description associated with the given four-character Apple event code, 
         * .
         */
        classDescription(appleEventCode: FourCharCode):NSScriptClassDescription | null;
        /**
         * Registers class description 
         *  for use by Cocoa’s built-in scripting support by storing it in a per-suite internal dictionary under the class name.
         */
        register(classDescription: NSScriptClassDescription):void;
        /**
         * Returns the command descriptions contained in the suite identified by 
         * .
         */
        commandDescriptions(suiteName: string):Record<string, NSScriptCommandDescription> | null;
        /**
         * Returns the command description identified by a suite’s four-character Apple event code of the class (
         * ) and the four-character Apple event code of the command (
         * ).
         */
        commandDescription(appleEventClassCode: FourCharCode, appleEventIDCode: FourCharCode):NSScriptCommandDescription | null;
        /**
         * Returns an 
         *  object that contains data in 
         *  resource format describing the scriptability information currently known to the application.
         */
        aeteResource(languageName: string):Data | null;
        /**
         * Returns the Apple event code associated with the suite named 
         * , such as 
         *  for the Core suite.
         */
        appleEventCode(suiteName: string):FourCharCode;
        /**
         * Returns the bundle containing the suite-definition property list (extension 
         * ) identified by 
         * .
         */
        bundle(suiteName: string):Bundle | null;
        /**
         * Loads the suite definition encapsulated in 
         * ; previously, this suite definition was parsed from a 
         *  property list contained in a framework or in 
         * .
         */
        loadSuite(suiteDeclaration: Record<AnyHashable, any>, bundle: Bundle):void;
        /**
         * Loads the suite definitions in bundle 
         * , invoking 
         *  for each suite found.
         */
        loadSuites(bundle: Bundle):void;
    }
    export class NSScriptClassDescription extends NSClassDescription {
        /**
         * Returns the class description instance for the superclass of the receiver’s class.
         */
        superclass: NSScriptClassDescription | null;
        /**
         * Returns the name of the class the receiver describes, as provided at initialization time.
         */
        className: string;
        /**
         * Returns the value of the 
         *  entry of the class dictionary from which the receiver was instantiated.
         */
        defaultSubcontainerAttributeKey: string;
        /**
         * Returns the name of the Objective-C class instantiated to implement the scripting class.
         */
        implementationClassName: string;
        /**
         * Returns the name of the receiver’s suite.
         */
        suiteName: string;
        /**
         * Returns the Apple event code associated with the receiver’s class.
         */
        appleEventCode: FourCharCode;
        /**
         * Initializes and returns a newly allocated instance of 
         * .
         */
        constructor (suiteName: string, className: string, classDeclaration: Record<AnyHashable, any> | null);
        /**
         * Returns the class description for the specified class or, if it is not scriptable, for the first superclass that is.
         */
        constructor (aClass: AnyClass);
        /**
         * Returns the class description instance for the class type of the specified attribute or relationship.
         */
        forKey(key: string):NSScriptClassDescription | null;
        /**
         * Returns a Boolean value indicating whether an insertion location must be specified when creating a new object in the specified to-many relationship of the receiver.
         */
        isLocationRequiredToCreate(toManyRelationshipKey: string):boolean;
        /**
         * Returns a Boolean value indicating whether a primary or secondary Apple event code in the receiver matches the passed code.
         */
        matchesAppleEventCode(appleEventCode: FourCharCode):boolean;
        /**
         * Returns a Boolean value indicating whether the described class has an ordered to-many relationship identified by the specified key.
         */
        hasOrderedToManyRelationship(key: string):boolean;
        /**
         * Returns a Boolean value indicating whether the described class has a property identified by the specified key.
         */
        hasProperty(key: string):boolean;
        /**
         * Returns a Boolean value indicating whether the described class has a readable property identified by the specified key.
         */
        hasReadableProperty(key: string):boolean;
        /**
         * Returns a Boolean value indicating whether the described class has a writable property identified by the specified key.
         */
        hasWritableProperty(key: string):boolean;
        /**
         * Given an Apple event code that identifies a property or element class, returns the key for the corresponding attribute, one-to-one relationship, or one-to-many relationship.
         */
        key(appleEventCode: FourCharCode):string;
        /**
         * Returns the name of the declared type of the attribute or relationship identified by the passed key.
         */
        type(key: string):string;
        /**
         * Returns the selector associated with the receiver for the specified command description.
         */
        selector(commandDescription: NSScriptCommandDescription):Selector | null;
        /**
         * Returns a Boolean value indicating whether the receiver or any superclass supports the specified command.
         */
        supportsCommand(commandDescription: NSScriptCommandDescription):boolean;
    }
    export class NSClassDescription extends NSObject {
        /**
         * Overridden by subclasses to return the names of attributes of instances of the described class.
         */
        attributeKeys: string[];
        /**
         * Overridden by subclasses to return the keys for the to-many relationship properties of instances of the described class.
         */
        toManyRelationshipKeys: string[];
        /**
         * Overridden by subclasses to return the keys for the to-one relationship properties of instances of the described class.
         */
        toOneRelationshipKeys: string[];
        /**
         * Returns the class description for a given class.
         */
        constructor (aClass: AnyClass);
        /**
         * Removes all 
         *  objects from the cache.
         */
        static invalidateClassDescriptionCache():void;
        /**
         * Registers an 
         *  object for a given class in the 
         *  cache.
         */
        static register(description: NSClassDescription, aClass: AnyClass):void;
        /**
         * Overridden by subclasses to return the name of the inverse relationship from a relationship specified by a given key. 
         */
        inverse(relationshipKey: string):string;
    }
    export class NSScriptCommandDescription extends NSObject {
        /**
         * Returns the four-character code for the Apple event class of the receiver’s command.
         */
        appleEventClassCode: FourCharCode;
        /**
         * Returns the four-character code for the Apple event ID of the receiver’s command.
         */
        appleEventCode: FourCharCode;
        /**
         * Returns the name of the class that will be instantiated to handle the command.
         */
        commandClassName: string;
        /**
         * Returns the name of the command.
         */
        commandName: string;
        /**
         * Returns the name of the suite that contains the command described by the receiver.
         */
        suiteName: string;
        /**
         * Returns the names (or keys) for all arguments of the receiver’s command.
         */
        argumentNames: string[];
        /**
         * Returns the Apple event code that identifies the command’s return type.
         */
        appleEventCodeForReturnType: FourCharCode;
        /**
         * Returns the return type of the command.
         */
        returnType: string;
        /**
         * Initializes and returns a newly allocated instance of 
         * .
         */
        constructor (suiteName: string, commandName: string, commandDeclaration: Record<AnyHashable, any> | null);
        constructor (inCoder: NSCoder);
        /**
         * Returns the Apple event code for the specified command argument of the receiver.
         */
        appleEventCodeForArgument(argumentName: string):FourCharCode;
        /**
         * Returns a Boolean value that indicates whether the command argument identified by the specified argument key is an optional argument.
         */
        isOptionalArgument(argumentName: string):boolean;
        /**
         * Returns the type of the command argument identified by the specified key. 
         */
        typeForArgument(argumentName: string):string;
        /**
         * Creates and returns an instance of the command object described by the receiver.
         */
        createCommandInstance():NSScriptCommand;
    }
    export class NSScriptWhoseTest extends NSObject {
        constructor ();
        constructor (inCoder: NSCoder);
        /**
         * Returns a Boolean value that indicates whether the test represented by the receiver evaluates to 
         * .
         */
        isTrue():boolean;
    }
    export class NSSpecifierTest extends NSScriptWhoseTest {
        /**
         * Returns a specifier test initialized to evaluate a test object against an object specified by an object specifier using a given comparison operation.
         */
        constructor (obj1: NSScriptObjectSpecifier | null, compOp: NSSpecifierTest.TestComparisonOperation, obj2: any);
        constructor (inCoder: NSCoder);
    }
    /**
     * the same name namespace of class NSSpecifierTest
     */
    export namespace NSSpecifierTest {
        export enum TestComparisonOperation {
            equal = 0,
            lessThanOrEqual = 1,
            lessThan = 2,
            greaterThanOrEqual = 3,
            greaterThan = 4,
            beginsWith = 5,
            endsWith = 6,
            contains = 7,
        }
    }
    export class NSLogicalTest extends NSScriptWhoseTest {
        /**
         * Returns an 
         *  object initialized to perform an 
         *  operation with the 
         *  objects in a given array.
         */
        constructor (subTests: NSSpecifierTest[]);
        /**
         * Returns an 
         *  object initialized to perform a 
         *  operation on the given 
         *  object.
         */
        constructor (subTest: NSScriptWhoseTest);
        /**
         * Returns an 
         *  object initialized to perform an 
         *  operation with the 
         *  objects in a given array.
         */
        constructor (subTests: NSSpecifierTest[]);
    }
    export class NSScriptCoercionHandler extends NSObject {
        /**
         * Returns the shared 
         *  for the application.
         */
        static shared():NSScriptCoercionHandler;
        /**
         * Returns an object of a given class representing a given value. 
         */
        coerceValue(value: any, toClass: AnyClass):any;
        /**
         * Registers a given object (typically a class) to handle coercions (conversions) from one given class to another.
         */
        registerCoercer(coercer: any, selector: Selector, fromClass: AnyClass, toClass: AnyClass):void;
    }
    export class NSScriptExecutionContext extends NSObject {
        /**
         * Sets the top-level object for an object-specifier evaluation.
         */
        topLevelObject: any;
        /**
         * Sets the top-level container object currently being tested in a “whose” qualifier to a given object.
         */
        objectBeingTested: any;
        /**
         * Sets the top-level container object for a range-specifier evaluation to a give object.
         */
        rangeContainerObject: any;
        /**
         * Returns the shared 
         *  instance.
         */
        static shared():NSScriptExecutionContext;
    }
    export class FileManager extends NSObject {
        /**
         * The shared file manager object for the process.
         */
        static default: FileManager;
        /**
         * The home directory for the current user.
         */
        homeDirectoryForCurrentUser: URL;
        /**
         * The temporary directory for the current user.
         */
        temporaryDirectory: URL;
        /**
         * An opaque token that represents the current user’s iCloud Drive Documents identity.
         */
        ubiquityIdentityToken: ((NSCoding & NSCopying & NSObjectProtocol));
        /**
         * The delegate of the file manager object.
         */
        delegate: FileManagerDelegate | null;
        /**
         * The path to the program’s current directory.
         */
        currentDirectoryPath: string;
        /**
         * Initializes a file manager object that is authorized to perform privileged file system operations.
         */
        constructor (authorization: NSWorkspace.Authorization);
        /**
         * Returns the home directory for the specified user.
         */
        homeDirectory(userName: string):URL | null;
        /**
         * Locates and optionally creates the specified common directory in a domain.
         */
        url(directory: FileManager.SearchPathDirectory, domain: FileManager.SearchPathDomainMask, url: URL | null, shouldCreate: boolean):URL;
        /**
         * Returns an array of URLs for the specified common directory in the requested domains.
         */
        urls(directory: FileManager.SearchPathDirectory, domainMask: FileManager.SearchPathDomainMask):URL[];
        /**
         * Returns the container directory associated with the specified security application group identifier.
         */
        containerURL(groupIdentifier: string):URL | null;
        /**
         * Performs a shallow search of the specified directory and returns URLs for the contained items. 
         */
        contentsOfDirectory(url: URL, keys: URLResourceKey[] | null, mask: FileManager.DirectoryEnumerationOptions):URL[];
        /**
         * Returns a directory enumerator object that can be used to perform a deep enumeration of the directory at the specified URL.
         */
        enumerator(url: URL, keys: URLResourceKey[] | null, mask: FileManager.DirectoryEnumerationOptions, handler: ()=>any | null):FileManager.DirectoryEnumerator | null;
        /**
         * Returns an array of URLs that identify the mounted volumes available on the device.
         */
        mountedVolumeURLs(propertyKeys: URLResourceKey[] | null, options: FileManager.VolumeEnumerationOptions):URL[] | null;
        /**
         * Performs a deep enumeration of the specified directory and returns the paths of all of the contained subdirectories. 
         */
        subpathsOfDirectory(path: string):string[];
        /**
         * Returns an array of strings identifying the paths for all items in the specified directory. 
         */
        subpaths(path: string):string[] | null;
        /**
         * Creates a directory with the given attributes at the specified URL.
         */
        createDirectory(url: URL, createIntermediates: boolean, attributes: Record<FileAttributeKey, any> | null):void;
        /**
         * Creates a file with the specified content and attributes at the given location.
         */
        createFile(path: string, data: Data | null, attr: Record<FileAttributeKey, any> | null):boolean;
        /**
         * Removes the file or directory at the specified URL.
         */
        removeItem(URL: URL):void;
        /**
         * Moves an item to the trash.
         */
        trashItem(url: URL, outResultingURL: AutoreleasingUnsafeMutablePointer<NSURL?> | null):void;
        /**
         * Replaces the contents of the item at the specified URL in a manner that ensures no data loss occurs.
         */
        replaceItemAt(originalItemURL: URL, newItemURL: URL, backupItemName: string, options: FileManager.ItemReplacementOptions):URL | null;
        /**
         * Replaces the contents of the item at the specified URL in a manner that ensures no data loss occurs.
         */
        replaceItem(originalItemURL: URL, newItemURL: URL, backupItemName: string, options: FileManager.ItemReplacementOptions, resultingURL: AutoreleasingUnsafeMutablePointer<NSURL?> | null):void;
        /**
         * Copies the file at the specified URL to a new location synchronously.
         */
        copyItem(srcURL: URL, dstURL: URL):void;
        /**
         * Moves the file or directory at the specified URL to a new location synchronously.
         */
        moveItem(srcURL: URL, dstURL: URL):void;
        /**
         * Returns a Boolean indicating whether the item is targeted for storage in iCloud.
         */
        isUbiquitousItem(url: URL):boolean;
        /**
         * Indicates whether the item at the specified URL should be stored in iCloud.
         */
        setUbiquitous(flag: boolean, url: URL, destinationURL: URL):void;
        /**
         * Starts downloading (if necessary) the specified item to the local system.
         */
        startDownloadingUbiquitousItem(url: URL):void;
        /**
         * Removes the local copy of the specified item that’s stored in iCloud.
         */
        evictUbiquitousItem(url: URL):void;
        /**
         * Returns the services provided by the File Provider extension that manages the item at the given URL.
         */
        getFileProviderServicesForItem(url: URL, completionHandler: ()=>any):void;
        /**
         * Creates a symbolic link at the specified URL that points to an item at the given URL. 
         */
        createSymbolicLink(url: URL, destURL: URL):void;
        /**
         * Creates a hard link between the items at the specified URLs.
         */
        linkItem(srcURL: URL, dstURL: URL):void;
        /**
         * Returns the path of the item pointed to by a symbolic link.
         */
        destinationOfSymbolicLink(path: string):string;
        /**
         * Returns a Boolean value that indicates whether a file or directory exists at a specified path.
         */
        fileExists(path: string):boolean;
        /**
         * Returns a Boolean value that indicates whether the invoking object appears able to read a specified file. 
         */
        isReadableFile(path: string):boolean;
        /**
         * Returns a Boolean value that indicates whether the invoking object appears able to write to a specified file.
         */
        isWritableFile(path: string):boolean;
        /**
         * Returns a Boolean value that indicates whether the operating system appears able to execute a specified file.
         */
        isExecutableFile(path: string):boolean;
        /**
         * Returns a Boolean value that indicates whether the invoking object appears able to delete a specified file.
         */
        isDeletableFile(path: string):boolean;
        /**
         * Returns an array of strings representing the user-visible components of a given path.
         */
        componentsToDisplay(path: string):string[] | null;
        /**
         * Returns the display name of the file or directory at a specified path.
         */
        displayName(path: string):string;
        /**
         * Returns the attributes of the item at a given path.
         */
        attributesOfItem(path: string):Record<FileAttributeKey, any>;
        /**
         * Returns a dictionary that describes the attributes of the mounted file system on which a given path resides.
         */
        attributesOfFileSystem(path: string):Record<FileAttributeKey, any>;
        /**
         * Sets the attributes of the specified file or directory.
         */
        setAttributes(attributes: Record<FileAttributeKey, any>, path: string):void;
        /**
         * Returns the contents of the file at the specified path.
         */
        contents(path: string):Data | null;
        /**
         * Returns a Boolean value that indicates whether the files or directories in specified paths have the same contents.
         */
        contentsEqual(path1: string, path2: string):boolean;
        /**
         * Determines the type of relationship that exists between a directory and an item.
         */
        getRelationship(outRelationship: UnsafeMutablePointer<FileManager.URLRelationship>, directoryURL: URL, otherURL: URL):void;
        /**
         * Returns a C-string representation of a given path that properly encodes Unicode strings for use by the file system.
         */
        fileSystemRepresentation(path: string):UnsafePointer<CChar>;
        /**
         * Returns an 
         *  object whose contents are derived from the specified C-string path.
         */
        string(str: UnsafePointer<CChar>, len: number):string;
        /**
         * Changes the path of the current working directory to the specified path. 
         */
        changeCurrentDirectoryPath(path: string):boolean;
        /**
         * Starts the process of unmounting the specified volume.
         */
        unmountVolume(url: URL, mask: FileManager.UnmountOptions, completionHandler: ()=>any):void;
        /**
         * Changes the attributes of a given file or directory. 
         */
        changeFileAttributes(attributes: Record<AnyHashable, any>, path: string):boolean;
        /**
         * Returns a dictionary that describes the POSIX attributes of the file specified at a given.
         */
        fileAttributes(path: string, yorn: boolean):Record<AnyHashable, any> | null;
        /**
         * Returns a dictionary that describes the attributes of the mounted file system on which a given path resides.
         */
        fileSystemAttributes(path: string):Record<AnyHashable, any> | null;
        /**
         * Returns the directories and files (including symbolic links) contained in a given directory.
         */
        directoryContents(path: string):any[] | null;
        /**
         * Returns the path of the directory or file that a symbolic link at a given path refers to.
         */
        pathContentOfSymbolicLink(path: string):string;
        /**
         * Replaces the contents of the item at the specified URL in a manner that ensures no data loss occurs.
         */
        replaceItemAtURL(originalItemURL: NSURL, newItemURL: NSURL, backupItemName: string, options: FileManager.ItemReplacementOptions):NSURL | null;
    }
    /**
     * the same name namespace of class FileManager
     */
    export namespace FileManager {
        export class DirectoryEnumerator extends NSEnumerator {
            /**
             * A dictionary with the attributes of the directory at which enumeration started.
             */
            directoryAttributes: Record<FileAttributeKey, any> | null;
            /**
             * A dictionary with the attributes of the most recently returned file or subdirectory (as referenced by the pathname).
             */
            fileAttributes: Record<FileAttributeKey, any> | null;
            /**
             * The number of levels deep the current object is in the directory hierarchy being enumerated.
             */
            level: number;
            isEnumeratingDirectoryPostOrder: boolean;
            /**
             * Causes the receiver to skip recursion into the most recently obtained subdirectory.
             */
            skipDescendents():void;
            /**
             * Causes the receiver to skip recursion into the most recently obtained subdirectory.
             */
            skipDescendants():void;
        }
        export class VolumeEnumerationOptions {
            /**
             * The enumeration skips hidden volumes.
             */
            static skipHiddenVolumes: FileManager.VolumeEnumerationOptions;
            /**
             * The enumeration produces file reference URLs rather than path-based URLs.
             */
            static produceFileReferenceURLs: FileManager.VolumeEnumerationOptions;
            /**
             * Create a volume enumeration options value.
             */
            constructor (rawValue: number);
        }
        export class ItemReplacementOptions {
            /**
             * Only metadata from the new item is used, and metadata from the original item isn’t preserved (default).
             */
            static usingNewMetadataOnly: FileManager.ItemReplacementOptions;
            /**
             * The backup item remains in place after a successful replacement.
             */
            static withoutDeletingBackupItem: FileManager.ItemReplacementOptions;
            /**
             * Creates a value for a file replacement operation.
             */
            constructor (rawValue: number);
        }
        export enum URLRelationship {
            contains = 0,
            same = 1,
            other = 2,
        }
        export class UnmountOptions {
            /**
             * Specifies that all partitions on an unmountable disk should be unmounted.
             */
            static allPartitionsAndEjectDisk: FileManager.UnmountOptions;
            /**
             * Specifies that no UI should accompany the unmount operation.
             */
            static withoutUI: FileManager.UnmountOptions;
            /**
             * Creates an unmount option set from the given raw value.
             */
            constructor (rawValue: number);
        }
        export class DirectoryEnumerationOptions {
            /**
             * An option to perform a shallow enumeration that doesn’t descend into directories.
             */
            static skipsSubdirectoryDescendants: FileManager.DirectoryEnumerationOptions;
            /**
             * An option to treat packages like files and not descend into their contents.
             */
            static skipsPackageDescendants: FileManager.DirectoryEnumerationOptions;
            /**
             * An option to skip hidden files.
             */
            static skipsHiddenFiles: FileManager.DirectoryEnumerationOptions;
            static includesDirectoriesPostOrder: FileManager.DirectoryEnumerationOptions;
            static producesRelativePathURLs: FileManager.DirectoryEnumerationOptions;
            /**
             * Creates a directory enumeration options value.
             */
            constructor (rawValue: number);
        }
        export enum SearchPathDirectory {
            applicationDirectory = 1,
            demoApplicationDirectory = 2,
            developerApplicationDirectory = 3,
            adminApplicationDirectory = 4,
            libraryDirectory = 5,
            developerDirectory = 6,
            userDirectory = 7,
            documentationDirectory = 8,
            documentDirectory = 9,
            coreServiceDirectory = 10,
            autosavedInformationDirectory = 11,
            desktopDirectory = 12,
            cachesDirectory = 13,
            applicationSupportDirectory = 14,
            downloadsDirectory = 15,
            inputMethodsDirectory = 16,
            moviesDirectory = 17,
            musicDirectory = 18,
            picturesDirectory = 19,
            printerDescriptionDirectory = 20,
            sharedPublicDirectory = 21,
            preferencePanesDirectory = 22,
            applicationScriptsDirectory = 23,
            itemReplacementDirectory = 99,
            allApplicationsDirectory = 100,
            allLibrariesDirectory = 101,
            trashDirectory = 102,
        }
        export class SearchPathDomainMask {
            /**
             * The user’s home directory—the place to install user’s personal items (
             * ).
             */
            static userDomainMask: FileManager.SearchPathDomainMask;
            /**
             * The place to install items available to everyone on this machine.
             */
            static localDomainMask: FileManager.SearchPathDomainMask;
            /**
             * The place to install items available on the network (
             * ).
             */
            static networkDomainMask: FileManager.SearchPathDomainMask;
            /**
             * A directory for system files provided by Apple (
             * ) .
             */
            static systemDomainMask: FileManager.SearchPathDomainMask;
            /**
             * All domains. 
             */
            static allDomainsMask: FileManager.SearchPathDomainMask;
            /**
             * Creates a search path domain mask.
             */
            constructor (rawValue: number);
        }
    }
    export class NSFileProviderService extends NSObject {
        /**
         * The File Provider service’s name.
         */
        name: NSFileProviderServiceName;
        /**
         * Asynchronously returns the service’s connection object.
         */
        getFileProviderConnection(completionHandler: ()=>any):void;
    }
    export class NSFileProviderServiceName {
        /**
         * Instantiates a new service name from the provided string.
         */
        constructor (rawValue: string);
        /**
         * Instantiates a new service name from the provided string.
         */
        constructor (rawValue: string);
    }
    export class FileAttributeKey {
        /**
         * The key in a file attribute dictionary whose value indicates whether the file is read-only.
         */
        static appendOnly: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates whether the file is busy.
         */
        static busy: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file's creation date.
         */
        static creationDate: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the identifier for the device on which the file resides.
         */
        static deviceIdentifier: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates whether the file’s extension is hidden.
         */
        static extensionHidden: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s group ID.
         */
        static groupOwnerAccountID: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the group name of the file’s owner.
         */
        static groupOwnerAccountName: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s HFS creator code.
         */
        static hfsCreatorCode: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s HFS type code.
         */
        static hfsTypeCode: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates whether the file is mutable. 
         */
        static immutable: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s last modified date.
         */
        static modificationDate: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s owner's account ID.
         */
        static ownerAccountID: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the name of the file’s owner.
         */
        static ownerAccountName: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s Posix permissions.
         */
        static posixPermissions: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value identifies the protection level for this file.
         */
        static protectionKey: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s reference count.
         */
        static referenceCount: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s size in bytes.
         */
        static size: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s filesystem file number. 
         */
        static systemFileNumber: FileAttributeKey;
        /**
         * The key in a file system attribute dictionary whose value indicates the number of free nodes in the file system.
         */
        static systemFreeNodes: FileAttributeKey;
        /**
         * The key in a file system attribute dictionary whose value indicates the amount of free space on the file system.
         */
        static systemFreeSize: FileAttributeKey;
        /**
         * The key in a file system attribute dictionary whose value indicates the number of nodes in the file system.
         */
        static systemNodes: FileAttributeKey;
        /**
         * The key in a file system attribute dictionary whose value indicates the filesystem number of the file system.
         */
        static systemNumber: FileAttributeKey;
        /**
         * The key in a file system attribute dictionary whose value indicates the size of the file system.
         */
        static systemSize: FileAttributeKey;
        /**
         * The key in a file attribute dictionary whose value indicates the file’s type. 
         */
        static type: FileAttributeKey;
        /**
         * Creates a file attribute key from a string.
         */
        constructor (rawValue: string);
        /**
         * Creates a file attribute key from a raw value string.
         */
        constructor (rawValue: string);
    }
    export class FileAttributeType {
        /**
         * A block special file.
         */
        static typeBlockSpecial: FileAttributeType;
        /**
         * A character special file.
         */
        static typeCharacterSpecial: FileAttributeType;
        /**
         * A directory.
         */
        static typeDirectory: FileAttributeType;
        /**
         * A regular file.
         */
        static typeRegular: FileAttributeType;
        /**
         * A socket.
         */
        static typeSocket: FileAttributeType;
        /**
         * A symbolic link.
         */
        static typeSymbolicLink: FileAttributeType;
        /**
         * A file whose type is unknown.
         */
        static typeUnknown: FileAttributeType;
        /**
         * Creates a file attribute type value.
         */
        constructor (rawValue: string);
    }
    export class FileProtectionType {
        /**
         * The file is stored in an encrypted format on disk and cannot be read from or written to while the device is locked or booting.
         */
        static complete: FileProtectionType;
        /**
         * The file is stored in an encrypted format on disk after it is closed.
         */
        static completeUnlessOpen: FileProtectionType;
        /**
         * The file is stored in an encrypted format on disk and cannot be accessed until after the device has booted.
         */
        static completeUntilFirstUserAuthentication: FileProtectionType;
        /**
         * The file has no special protections associated with it.
         */
        static none: FileProtectionType;
        /**
         * Creates a file protection type value.
         */
        constructor (rawValue: string);
    }
    export interface FileManagerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if the file manager should move the specified item to the new URL. 
         */
        fileManager(fileManager: FileManager, srcURL: URL, dstURL: URL):boolean;
    }
    export class FileHandle extends NSObject {
        /**
         * The file handle associated with the standard error file.
         */
        static standardError: FileHandle;
        /**
         * The file handle associated with the standard input file.
         */
        static standardInput: FileHandle;
        /**
         * The file handle associated with the standard output file.
         */
        static standardOutput: FileHandle;
        /**
         * The file handle associated with a null device.
         */
        static nullDevice: FileHandle;
        /**
         * Posted when the file handle reads the data currently available in a file or at a communications channel.
         */
        static readCompletionNotification: NSNotification.Name;
        /**
         * The POSIX file descriptor associated with the receiver.
         */
        fileDescriptor: Int32;
        /**
         * The file’s contents, as an asynchronous sequence of bytes.
         */
        bytes: FileHandle.AsyncBytes;
        /**
         * The data currently available in the receiver.
         */
        availableData: Data;
        /**
         * The block to use for reading the contents of the file handle asynchronously.
         */
        readabilityHandler: ()=>any | null;
        /**
         * The block to use for writing the contents of the file handle asynchronously.
         */
        writeabilityHandler: ()=>any | null;
        /**
         * The position of the file pointer within the file represented by the file handle.
         */
        offsetInFile: UInt64;
        /**
         * Creates and returns a file handle object associated with the specified file descriptor.
         */
        constructor (fd: Int32);
        /**
         * Creates and returns a file handle object associated with the specified file descriptor and deallocation policy.
         */
        constructor (fd: Int32, closeopt: boolean);
        /**
         * Returns a file handle initialized for reading the file, device, or named socket at the specified path.
         */
        constructor (path: string);
        /**
         * Returns a file handle initialized for reading the file, device, or named socket at the specified URL.
         */
        constructor (url: URL);
        /**
         * Returns a file handle initialized for writing to the file, device, or named socket at the specified path.
         */
        constructor (path: string);
        /**
         * Returns a file handle initialized for writing to the file, device, or named socket at the specified URL.
         */
        constructor (url: URL);
        /**
         * Returns a file handle initialized for reading and writing to the file, device, or named socket at the specified path.
         */
        constructor (path: string);
        /**
         * Returns a file handle initialized for reading and writing to the file, device, or named socket at the specified URL.
         */
        constructor (url: URL);
        /**
         * Returns a file handle initialized from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Reads the available data synchronously up to the end of file or maximum number of bytes.
         */
        readToEnd():Data | null;
        /**
         * Reads data synchronously up to the specified number of bytes.
         */
        read(count: number):Data | null;
        /**
         * Accepts a socket connection (for stream-type sockets only) in the background and creates a file handle for the “near” (client) end of the communications channel.
         */
        acceptConnectionInBackgroundAndNotify():void;
        /**
         * Reads from the file or communications channel in the background and posts a notification when finished.
         */
        readInBackgroundAndNotify():void;
        /**
         * Reads to the end of file from the file or communications channel in the background and posts a notification when finished.
         */
        readToEndOfFileInBackgroundAndNotify():void;
        /**
         * Asynchronously checks to see if data is available.
         */
        waitForDataInBackgroundAndNotify():void;
        /**
         * Gets the position of the file pointer within the file.
         */
        offset():UInt64;
        /**
         * Places the file pointer at the end of the file referenced by the file handle and returns the new file offset.
         */
        seekToEnd():UInt64;
        /**
         * Moves the file pointer to the specified offset within the file.
         */
        seek(offset: UInt64):void;
        /**
         * Disallows further access to the represented file or communications channel and signals end of file on communications channels that permit writing.
         */
        close():void;
        /**
         * Causes all in-memory data and attributes of the file represented by the file handle to write to permanent storage.
         */
        synchronize():void;
        /**
         * Truncates or extends the file represented by the file handle to a specified offset within the file and puts the file pointer at that position.
         */
        truncate(offset: UInt64):void;
        /**
         * Reads the available data synchronously up to the end of file or maximum number of bytes.
         */
        readDataToEndOfFile():Data;
        /**
         * Reads data synchronously up to the specified number of bytes.
         */
        readData(length: number):Data;
        /**
         * Writes the specified data synchronously to the file handle.
         */
        write(data: Data):void;
        /**
         * Places the file pointer at the end of the file referenced by the file handle and returns the new file offset.
         */
        seekToEndOfFile():UInt64;
        /**
         * Disallows further access to the represented file or communications channel and signals end of file on communications channels that permit writing.
         */
        closeFile():void;
        /**
         * Causes all in-memory data and attributes of the file represented by the handle to write to permanent storage.
         */
        synchronizeFile():void;
        /**
         * Truncates or extends the file represented by the file handle to a specified offset within the file and puts the file pointer at that position.
         */
        truncateFile(offset: UInt64):void;
    }
    /**
     * the same name namespace of class FileHandle
     */
    export namespace FileHandle {
        export class AsyncBytes {
            /**
             * The file bytes as an asynchronous sequence of characters.
             */
            characters: AsyncCharacterSequence<FileHandle.AsyncBytes>;
            /**
             * The file bytes as an asynchronous sequence of Unicode scalar values.
             */
            unicodeScalars: AsyncUnicodeScalarSequence<FileHandle.AsyncBytes>;
            /**
             * The file bytes as an asynchronous sequence of lines of text.
             */
            lines: AsyncLineSequence<FileHandle.AsyncBytes>;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: UInt8):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UInt8 | null;
            /**
             * Returns the minimum element in an asynchronous sequence of comparable elements.
             */
            min():UInt8 | null;
            /**
             * Returns the maximum element in an asynchronous sequence of comparable elements.
             */
            max():UInt8 | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<FileHandle.AsyncBytes>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<FileHandle.AsyncBytes>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<FileHandle.AsyncBytes>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<FileHandle.AsyncBytes>;
            /**
             * Creates the asynchronous iterator that produces elements of this asynchronous sequence.
             */
            makeAsyncIterator():FileHandle.AsyncBytes.Iterator;
        }
        /**
         * the same name namespace of class AsyncBytes
         */
        export namespace AsyncBytes {
            export class Iterator {
                next():UInt8 | null;
            }
        }
    }
    export class NSFileSecurity extends NSObject {
        constructor (coder: NSCoder);
    }
    export class NSFileVersion extends NSObject {
        /**
         * The URL identifying the location of the file associated with the file version object.
         */
        url: URL;
        /**
         * The string containing the user-presentable name of the file version.
         */
        localizedName: string;
        /**
         * The user-presentable name of the computer on which the revision was saved.
         */
        localizedNameOfSavingComputer: string;
        /**
         * The modification date of the version.
         */
        modificationDate: Date | null;
        /**
         * The identifier for this version of the file. 
         */
        persistentIdentifier: NSCoding;
        /**
         * A Boolean value that specifies whether the system can delete the associated file at some future time.
         */
        isDiscardable: boolean;
        /**
         * A Boolean value indicating whether the contents of the version are in conflict with the contents of another version.
         */
        isConflict: boolean;
        /**
         * A Boolean value that indicates the version object is not in conflict (
         * ) or is in conflict (
         * ).
         */
        isResolved: boolean;
        hasLocalContents: boolean;
        hasThumbnail: boolean;
        originatorNameComponents: PersonNameComponents | null;
        /**
         * Returns the most recent version object for the file at the specified URL.
         */
        static currentVersionOfItem(url: URL):NSFileVersion | null;
        /**
         * Returns all versions of the specified file except the current version. 
         */
        static otherVersionsOfItem(url: URL):NSFileVersion[] | null;
        /**
         * Returns the version of the file that has the specified persistent ID.
         */
        static version(url: URL, persistentIdentifier: any):NSFileVersion | null;
        /**
         * Creates and returns a temporary directory to use for saving the contents of the file. 
         */
        static temporaryDirectoryURLForNewVersionOfItem(url: URL):URL;
        /**
         * Creates a version of the file at the specified location. 
         */
        static addOfItem(url: URL, contentsURL: URL, options: NSFileVersion.AddingOptions):NSFileVersion;
        /**
         * Returns an array of version objects that are currently in conflict for the specified URL.
         */
        static unresolvedConflictVersionsOfItem(url: URL):NSFileVersion[] | null;
        /**
         * Removes all versions of a file, except the current one, from the version store.
         */
        static removeOtherVersionsOfItem(url: URL):void;
        static getNonlocalVersionsOfItem(url: URL, completionHandler: ()=>any):void;
        /**
         * Replace the contents of the specified file with the contents of the current version’s file. 
         */
        replaceItem(url: URL, options: NSFileVersion.ReplacingOptions):URL;
        /**
         * Remove this version object and its associated file from the version store. 
         */
        remove():void;
    }
    /**
     * the same name namespace of class NSFileVersion
     */
    export namespace NSFileVersion {
        export class AddingOptions {
            static byMoving: NSFileVersion.AddingOptions;
            constructor (rawValue: number);
        }
        export class ReplacingOptions {
            static byMoving: NSFileVersion.ReplacingOptions;
            constructor (rawValue: number);
        }
    }
    export class FileWrapper extends NSObject {
        /**
         * This property contains a boolean value that indicates whether the file wrapper object is a regular-file.
         */
        isRegularFile: boolean;
        /**
         * This property contains a boolean value indicating whether the file wrapper is a directory file wrapper.
         */
        isDirectory: boolean;
        /**
         * A boolean that indicates whether the file wrapper object is a symbolic-link file wrapper.
         */
        isSymbolicLink: boolean;
        /**
         * The file wrappers contained by a directory file wrapper.
         */
        fileWrappers: Record<string, FileWrapper> | null;
        /**
         * The URL referenced by the file wrapper object, which must be a symbolic-link file wrapper.
         */
        symbolicLinkDestinationURL: URL | null;
        /**
         * The contents of the file wrapper as an opaque data object.
         */
        serializedRepresentation: Data | null;
        /**
         * The filename of the file wrapper object
         */
        filename: string;
        /**
         * The preferred filename for the file wrapper object.
         */
        preferredFilename: string;
        /**
         * A dictionary of file attributes.
         */
        fileAttributes: Record<string, any>;
        /**
         * The contents of the file-system node associated with a regular-file file wrapper.
         */
        regularFileContents: Data | null;
        /**
         * The icon that represents the file wrapper.
         */
        icon: NSImage | null;
        /**
         * Initializes a file wrapper instance whose kind is determined by the type of file-system node located by the URL.
         */
        constructor (url: URL, options: FileWrapper.ReadingOptions);
        /**
         * Initializes a file wrapper instance whose kind is determined by the type of file-system node located by the path.
         */
        constructor (path: string);
        /**
         * Initializes the receiver as a directory file wrapper, with a given file-wrapper list.
         */
        constructor (childrenByPreferredName: Record<string, FileWrapper>);
        /**
         * Initializes the receiver as a regular-file file wrapper.
         */
        constructor (contents: Data);
        /**
         * Initializes the receiver as a symbolic-link file wrapper.
         */
        constructor (path: string);
        /**
         * Initializes the receiver as a symbolic-link file wrapper that links to a specified file.
         */
        constructor (url: URL);
        /**
         * Initializes the receiver as a regular-file file wrapper from given serialized data.
         */
        constructor (serializeRepresentation: Data);
        constructor (inCoder: NSCoder);
        /**
         * Adds a child file wrapper to the receiver, which must be a directory file wrapper.
         */
        addFileWrapper(child: FileWrapper):string;
        /**
         * Removes a child file wrapper from the receiver, which must be a directory file wrapper.
         */
        removeFileWrapper(child: FileWrapper):void;
        /**
         * Creates a file wrapper from a given file-system node and adds it to the receiver, which must be a directory file wrapper.
         */
        addFile(path: string):string;
        /**
         * Creates a regular-file file wrapper with the given contents and adds it to the receiver, which must be a directory file wrapper.
         */
        addRegularFile(data: Data, fileName: string):string;
        /**
         * Creates a symbolic-link file wrapper pointing to a given file-system node and adds it to the receiver, which must be a directory file wrapper.
         */
        addSymbolicLink(path: string, filename: string):string;
        /**
         * Returns the dictionary key used by a directory to identify a given file wrapper.
         */
        keyForChildFileWrapper(child: FileWrapper):string;
        /**
         * Provides the pathname referenced by the file wrapper object, which must be a symbolic-link file wrapper.
         */
        symbolicLinkDestination():string;
        /**
         * Indicates whether the file wrapper needs to be updated to match a given file-system node.
         */
        needsToBeUpdated(path: string):boolean;
        /**
         * Indicates whether the contents of a file wrapper matches a directory, regular file, or symbolic link on disk.
         */
        matchesContents(url: URL):boolean;
        /**
         * Updates the file wrapper to match a given file-system node.
         */
        update(path: string):boolean;
        /**
         * Recursively rereads the entire contents of a file wrapper from the specified location on disk.
         */
        read(url: URL, options: FileWrapper.ReadingOptions):void;
        /**
         * Writes a file wrapper’s contents to a given file-system node.
         */
        write(path: string, atomicFlag: boolean, updateFilenamesFlag: boolean):boolean;
    }
    /**
     * the same name namespace of class FileWrapper
     */
    export namespace FileWrapper {
        export class ReadingOptions {
            /**
             * The option to read files immediately after creating a file wrapper.
             */
            static immediate: FileWrapper.ReadingOptions;
            /**
             * Whether file mapping for regular file wrappers is disallowed.
             */
            static withoutMapping: FileWrapper.ReadingOptions;
            constructor (rawValue: number);
        }
        export class WritingOptions {
            /**
             * Whether writing is done atomically.
             */
            static atomic: FileWrapper.WritingOptions;
            /**
             * Whether descendant file wrappers’
             *  properties are set if the writing succeeds.
             */
            static withNameUpdating: FileWrapper.WritingOptions;
            constructor (rawValue: number);
        }
    }
    export interface NSFilePresenter extends NSObjectProtocol {
        /**
         * The URL of the presented file or directory.
         */
        presentedItemURL: URL | null;
        /**
         * The operation queue in which to execute presenter-related messages. 
         */
        presentedItemOperationQueue: OperationQueue;
        /**
         * The URL of a secondary item’s primary presented file or directory.
         */
        primaryPresentedItemURL: URL | null;
        /**
         * Notifies your object that another object or process wants to read the presented file or directory. 
         */
        relinquishPresentedItem(reader: ()=>any):void;
        /**
         * Tells your object to save any unsaved changes for the presented item.
         */
        savePresentedItemChanges(completionHandler: ()=>any):void;
        /**
         * Tells your object that its presented item is about to be deleted.
         */
        accommodatePresentedItemDeletion(completionHandler: ()=>any):void;
        /**
         * Tells your object that the presented item moved or was renamed.
         */
        presentedItemDidMove(newURL: URL):void;
        /**
         * Tells your object that the presented item’s contents or attributes changed.
         */
        presentedItemDidChange():void;
        /**
         * Tells the delegate that a new version of the file or file package was added. 
         */
        presentedItemDidGain(version: NSFileVersion):void;
        /**
         * Tells the delegate that a version of the file or file package was removed.
         */
        presentedItemDidLose(version: NSFileVersion):void;
        /**
         * Tells the delegate that some other entity resolved a version conflict for the presenter’s file or file package. 
         */
        presentedItemDidResolveConflict(version: NSFileVersion):void;
        /**
         * Tells the delegate that the item inside the presented directory gained a new version.
         */
        presentedSubitem(url: URL, version: NSFileVersion):void;
        /**
         * Tells the delegate that some entity wants to delete an item that is inside of a presented directory. 
         */
        accommodatePresentedSubitemDeletion(url: URL, completionHandler: ()=>any):void;
        /**
         * Tells the delegate that an item was added to the presented directory.
         */
        presentedSubitemDidAppear(url: URL):void;
        /**
         * Tells the delegate that the contents or attributes of the specified item changed.
         */
        presentedSubitemDidChange(url: URL):void;
        /**
         * A list of ubiquity attributes used to generate and send notifications whenever an attribute in the list changes.
         */
        observedPresentedItemUbiquityAttributes: Set<URLResourceKey>;
        /**
         * Tells your object that the file or file package's ubiquity attributes have changed.
         */
        presentedItemDidChangeUbiquityAttributes(attributes: Set<URLResourceKey>):void;
    }
    export class NSFileAccessIntent extends NSObject {
        /**
         * The current URL for the item managed by the file access intent instance. (read-only)
         */
        url: URL;
        /**
         * Returns a file access intent object for reading the given URL with the provided options.
         */
        static readingIntent(url: URL, options: NSFileCoordinator.ReadingOptions):Self;
        /**
         * Returns a file access intent object for writing to the given URL with the provided options.
         */
        static writingIntent(url: URL, options: NSFileCoordinator.WritingOptions):Self;
    }
    export class NSFileCoordinator extends NSObject {
        /**
         * Returns an array containing the currently registered file presenter objects. 
         */
        static filePresenters: NSFilePresenter[];
        /**
         * A string that uniquely identifies the file access that was performed by this file coordinator.
         */
        purposeIdentifier: string;
        /**
         * Initializes and returns a file coordinator object using the specified file presenter.
         */
        constructor (filePresenterOrNil: NSFilePresenter | null);
        /**
         * Registers the specified file presenter object so that it can receive notifications.
         */
        static addFilePresenter(filePresenter: NSFilePresenter):void;
        /**
         * Unregisters the specified file presenter object.
         */
        static removeFilePresenter(filePresenter: NSFilePresenter):void;
        /**
         * Performs a number of coordinated-read or -write operations asynchronously.
         */
        coordinate(intents: NSFileAccessIntent[], queue: OperationQueue, accessor: ()=>any):void;
        /**
         * Prepare to read or write from multiple files in a single batch operation.
         */
        prepare(readingURLs: URL[], readingOptions: NSFileCoordinator.ReadingOptions, writingURLs: URL[], writingOptions: NSFileCoordinator.WritingOptions, outError: NSErrorPointer, batchAccessor: ()=>any):void;
        /**
         * Announces that your app is moving a file to a new URL.
         */
        item(oldURL: URL, newURL: URL):void;
        /**
         * Cancels any active file coordination calls.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class NSFileCoordinator
     */
    export namespace NSFileCoordinator {
        export class ReadingOptions {
            static withoutChanges: NSFileCoordinator.ReadingOptions;
            static resolvesSymbolicLink: NSFileCoordinator.ReadingOptions;
            /**
             * Specify this constant if you want to read an item’s metadata without triggering a download.
             */
            static immediatelyAvailableMetadataOnly: NSFileCoordinator.ReadingOptions;
            /**
             * Specify this content when reading an item for the purpose of uploading its contents. 
             */
            static forUploading: NSFileCoordinator.ReadingOptions;
            /**
             * Instantiates a reading option using an unsigned integer.
             */
            constructor (rawValue: number);
        }
        export class WritingOptions {
            static forDeleting: NSFileCoordinator.WritingOptions;
            static forMoving: NSFileCoordinator.WritingOptions;
            static forMerging: NSFileCoordinator.WritingOptions;
            static forReplacing: NSFileCoordinator.WritingOptions;
            /**
             * Select this option when writing to change the file’s metadata only and not its contents.
             */
            static contentIndependentMetadataOnly: NSFileCoordinator.WritingOptions;
            /**
             * Instantiates a writing option using an unsigned integer.
             */
            constructor (rawValue: number);
        }
    }
    export interface NSCoding {
        /**
         * Returns an object initialized from data in a given unarchiver.
         */
         (coder: NSCoder);
        /**
         * Encodes the receiver using a given archiver.
         */
        encode(coder: NSCoder):void;
    }
    export interface NSSecureCoding extends NSCoding {
        /**
         * A Boolean value that indicates whether or not the class supports secure coding.
         */
        static supportsSecureCoding: boolean;
    }
    export interface DecodableWithConfiguration {
        /**
         * Creates a new instance by retrieving the instance’s data from the specified decoder with help from the provided configuration.
         */
         (decoder: Decoder, configuration: Self.DecodingConfiguration);
    }
    export interface DecodingConfigurationProviding {
        /**
         * The configuration instance that assists in decoding another type.
         */
        static decodingConfiguration: Self.DecodingConfiguration;
    }
    export interface EncodableWithConfiguration {
        /**
         * Encodes the value into the specified encoder with help from the provided configuration.
         */
        encode(encoder: Encoder, configuration: Self.EncodingConfiguration):void;
    }
    export interface EncodingConfigurationProviding {
        /**
         * The configuration instance that assists in encoding another type.
         */
        static encodingConfiguration: Self.EncodingConfiguration;
    }
    export class JSONEncoder {
        /**
         * A value that determines the readability, size, and element order of the encoded JSON object.
         */
        outputFormatting: JSONEncoder.OutputFormatting;
        /**
         * A value that determines how to encode a  type’s coding keys as JSON keys.
         */
        keyEncodingStrategy: JSONEncoder.KeyEncodingStrategy;
        /**
         * A dictionary you use to customize the encoding process by providing contextual information.
         */
        userInfo: Record<CodingUserInfoKey, any>;
        /**
         * The strategy used when encoding dates as part of a JSON object.
         */
        dateEncodingStrategy: JSONEncoder.DateEncodingStrategy;
        /**
         * The strategy that an encoder uses to encode raw data.
         */
        dataEncodingStrategy: JSONEncoder.DataEncodingStrategy;
        /**
         * The strategy used by an encoder when it encounters exceptional floating-point values.
         */
        nonConformingFloatEncodingStrategy: JSONEncoder.NonConformingFloatEncodingStrategy;
        /**
         * Creates a new, reusable JSON encoder with the default formatting settings and encoding strategies.
         */
        constructor ();
    }
    /**
     * the same name namespace of class JSONEncoder
     */
    export namespace JSONEncoder {
        export class OutputFormatting {
            /**
             * The output formatting option that uses ample white space and indentation to make output easy to read.
             */
            static prettyPrinted: JSONEncoder.OutputFormatting;
            /**
             * The output formatting option that sorts keys in lexicographic order.
             */
            static sortedKeys: JSONEncoder.OutputFormatting;
            /**
             * The output formatting option specifies that the output doesn’t prefix slash characters with escape characters.
             */
            static withoutEscapingSlashes: JSONEncoder.OutputFormatting;
            /**
             * A raw value representing a set of output formatting options.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates a new set of output formatting options from the given raw value.
             */
            constructor (rawValue: number);
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: JSONEncoder.OutputFormatting);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: JSONEncoder.OutputFormatting):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: JSONEncoder.OutputFormatting):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: JSONEncoder.OutputFormatting):JSONEncoder.OutputFormatting | null;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: JSONEncoder.OutputFormatting):JSONEncoder.OutputFormatting | null;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: JSONEncoder.OutputFormatting):JSONEncoder.OutputFormatting;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: JSONEncoder.OutputFormatting):void;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: JSONEncoder.OutputFormatting):JSONEncoder.OutputFormatting;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: JSONEncoder.OutputFormatting):void;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: JSONEncoder.OutputFormatting):JSONEncoder.OutputFormatting;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: JSONEncoder.OutputFormatting):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: JSONEncoder.OutputFormatting):JSONEncoder.OutputFormatting;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: JSONEncoder.OutputFormatting):void;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: JSONEncoder.OutputFormatting):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: JSONEncoder.OutputFormatting):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: JSONEncoder.OutputFormatting):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: JSONEncoder.OutputFormatting):boolean;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: JSONEncoder.OutputFormatting):boolean;
        }
        export enum KeyEncodingStrategy {
            convertToSnakeCase,
            useDefaultKeys,
            custom,
        }
        export enum DateEncodingStrategy {
            deferredToDate,
            iso8601,
            formatted,
            custom,
            millisecondsSince1970,
            secondsSince1970,
        }
        export enum DataEncodingStrategy {
            base64,
            custom,
            deferredToData,
        }
        export enum NonConformingFloatEncodingStrategy {
            convertToString,
            throw,
        }
    }
    export class JSONDecoder {
        /**
         * A value that determines how to decode a type’s coding keys from JSON keys.
         */
        keyDecodingStrategy: JSONDecoder.KeyDecodingStrategy;
        /**
         * A dictionary you use to customize the decoding process by providing contextual information.
         */
        userInfo: Record<CodingUserInfoKey, any>;
        /**
         * Specifies that decoding supports the JSON5 syntax.
         */
        allowsJSON5: boolean;
        /**
         * Specifies that decoding assumes the top level of the JSON data is a dictionary, even if it doesn’t begin and end with braces.
         */
        assumesTopLevelDictionary: boolean;
        /**
         * The strategy used when decoding dates from part of a JSON object.
         */
        dateDecodingStrategy: JSONDecoder.DateDecodingStrategy;
        /**
         * The strategy that a decoder uses to decode raw data.
         */
        dataDecodingStrategy: JSONDecoder.DataDecodingStrategy;
        /**
         * The strategy used by a decoder when it encounters exceptional floating-point values.
         */
        nonConformingFloatDecodingStrategy: JSONDecoder.NonConformingFloatDecodingStrategy;
        /**
         * Creates a new, reusable JSON decoder with the default formatting settings and decoding strategies.
         */
        constructor ();
    }
    /**
     * the same name namespace of class JSONDecoder
     */
    export namespace JSONDecoder {
        export enum KeyDecodingStrategy {
            convertFromSnakeCase,
            useDefaultKeys,
            custom,
        }
        export enum DateDecodingStrategy {
            deferredToDate,
            iso8601,
            formatted,
            custom,
            millisecondsSince1970,
            secondsSince1970,
        }
        export enum DataDecodingStrategy {
            base64,
            custom,
            deferredToData,
        }
        export enum NonConformingFloatDecodingStrategy {
            convertFromString,
            throw,
        }
    }
    export class NSString extends NSObject {
        /**
         * Returns a zero-terminated list of the encodings string objects support in the application’s environment.
         */
        static availableStringEncodings: UnsafePointer<UInt>;
        /**
         * Returns the C-string encoding assumed for any method accepting a C string as an argument.
         */
        static defaultCStringEncoding: number;
        /**
         * The number of UTF-16 code units in the receiver.
         */
        length: number;
        /**
         * A null-terminated UTF8 representation of the string.
         */
        utf8String: UnsafePointer<CChar> | null;
        /**
         * An unsigned integer that can be used as a hash table address.
         */
        hash: number;
        /**
         * A lowercase representation of the string.
         */
        lowercased: string;
        /**
         * Returns a version of the string with all letters converted to lowercase, taking into account the current locale.
         */
        localizedLowercase: string;
        /**
         * An uppercase representation of the string.
         */
        uppercased: string;
        /**
         * Returns a version of the string with all letters converted to uppercase, taking into account the current locale.
         */
        localizedUppercase: string;
        /**
         * A capitalized representation of the string.
         */
        capitalized: string;
        /**
         * Returns a capitalized representation of the receiver using the current locale.
         */
        localizedCapitalized: string;
        /**
         * A string made by normalizing the string’s contents using the Unicode Normalization Form D.
         */
        decomposedStringWithCanonicalMapping: string;
        /**
         * A string made by normalizing the receiver’s contents using the Unicode Normalization Form KD.
         */
        decomposedStringWithCompatibilityMapping: string;
        /**
         * A string made by normalizing the string’s contents using the Unicode Normalization Form C.
         */
        precomposedStringWithCanonicalMapping: string;
        /**
         * A string made by normalizing the receiver’s contents using the Unicode Normalization Form KC.
         */
        precomposedStringWithCompatibilityMapping: string;
        /**
         * The floating-point value of the string as a 
         * .
         */
        doubleValue: number;
        /**
         * The floating-point value of the string as a 
         * .
         */
        floatValue: Float;
        /**
         * The integer value of the string.
         */
        intValue: Int32;
        /**
         * The 
         *  value of the string.
         */
        integerValue: number;
        /**
         * The 
         *  value of the string.
         */
        longLongValue: Int64;
        /**
         * The Boolean value of the string.
         */
        boolValue: boolean;
        /**
         * This 
         *  object.
         */
        description: string;
        /**
         * The fastest encoding to which the receiver may be converted without loss of information.
         */
        fastestEncoding: number;
        /**
         * The smallest encoding to which the receiver can be converted without loss of information.
         */
        smallestEncoding: number;
        /**
         * The file-system path components of the receiver.
         */
        pathComponents: string[];
        /**
         * A file system-specific representation of the receiver. 
         */
        fileSystemRepresentation: UnsafePointer<CChar>;
        /**
         * A Boolean value that indicates whether the receiver represents an absolute path.
         */
        isAbsolutePath: boolean;
        /**
         * The last path component of the receiver.
         */
        lastPathComponent: string;
        /**
         * The path extension, if any, of the string as interpreted as a path.
         */
        pathExtension: string;
        /**
         * A new string that replaces the current home directory portion of the current path with a tilde (
         * ) character.
         */
        abbreviatingWithTildeInPath: string;
        /**
         * A new string made by deleting the last path component from the receiver, along with any final path separator.
         */
        deletingLastPathComponent: string;
        /**
         * A new string made by deleting the extension (if any, and only the last) from the receiver.
         */
        deletingPathExtension: string;
        /**
         * A new string made by expanding the initial component of the receiver to its full path value.
         */
        expandingTildeInPath: string;
        /**
         * A new string made from the receiver by resolving all symbolic links and standardizing path. 
         */
        resolvingSymlinksInPath: string;
        /**
         * A new string made by removing extraneous path components from the receiver.
         */
        standardizingPath: string;
        /**
         * Returns a new string made from the receiver by replacing all percent encoded sequences with the matching UTF-8 characters.
         */
        removingPercentEncoding: string;
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Returns an initialized 
         *  object that contains no characters.
         */
        constructor ();
        /**
         * Returns an initialized 
         *  object containing a given number of bytes from a given buffer of bytes interpreted in a given encoding.
         */
        constructor (bytes: UnsafeRawPointer, len: number, encoding: number);
        /**
         * Returns an initialized 
         *  object that contains a given number of bytes from a given buffer of bytes interpreted in a given encoding, and optionally frees the buffer.
         */
        constructor (bytes: UnsafeMutableRawPointer, len: number, encoding: number, freeBuffer: boolean);
        /**
         * Returns an initialized 
         *  object that contains a given number of characters from a given C array of UTF-16 code units.
         */
        constructor (characters: UnsafePointer<unichar>, length: number);
        /**
         * Returns an initialized 
         *  object that contains a given number of characters from a given C array of UTF-16 code units.
         */
        constructor (characters: UnsafeMutablePointer<unichar>, length: number, freeBuffer: boolean);
        /**
         * Returns an 
         *  object initialized by copying the characters from another given string.
         */
        constructor (aString: string);
        /**
         * Returns an 
         *  object initialized using the characters in a given C array, interpreted according to a given encoding. 
         */
        constructor (nullTerminatedCString: UnsafePointer<CChar>, encoding: number);
        /**
         * Returns an 
         *  object initialized by copying the characters from a given C array of UTF8-encoded bytes.
         */
        constructor (nullTerminatedCString: UnsafePointer<CChar>);
        /**
         * Returns an 
         *  object initialized by using a given format string as a template into which the remaining argument values are substituted without any localization.
         */
        constructor (format: string, argList: CVaListPointer);
        /**
         * Returns an 
         *  object initialized by using a given format string as a template into which the remaining argument values are substituted according to given locale information. This method is meant to be called from within a variadic function, where the argument list will be available.
         */
        constructor (format: string, locale: any, argList: CVaListPointer);
        /**
         * Returns an 
         *  object initialized by converting given data into UTF-16 code units using a given encoding.
         */
        constructor (data: Data, encoding: number);
        /**
         * Returns an 
         *  object initialized by reading data from the file at a given path using a given encoding.
         */
        constructor (path: string, enc: number);
        /**
         * Returns an 
         *  object initialized by reading data from the file at a given path and returns by reference the encoding used to interpret the characters. 
         */
        constructor (path: string, enc: UnsafeMutablePointer<UInt> | null);
        /**
         * Returns an 
         *  object initialized by reading data from a given URL interpreted using a given encoding. 
         */
        constructor (url: URL, enc: number);
        /**
         * Returns an 
         *  object initialized by reading data from a given URL and returns by reference the encoding used to interpret the data. 
         */
        constructor (url: URL, enc: UnsafeMutablePointer<UInt> | null);
        /**
         * Initializes the receiver, a newly allocated 
         *  object, by converting the data in a given C-string from the default C-string encoding into the Unicode character encoding.
         */
        constructor (bytes: UnsafePointer<CChar>);
        /**
         * Initializes the receiver, a newly allocated 
         *  object, by converting the data in a given C-string from the default C-string encoding into the Unicode character encoding.
         */
        constructor (bytes: UnsafePointer<CChar>, length: number);
        /**
         * Initializes the receiver, a newly allocated 
         *  object, by converting the data in a given C-string from the default C-string encoding into the Unicode character encoding.
         */
        constructor (bytes: UnsafeMutablePointer<CChar>, length: number, freeBuffer: boolean);
        /**
         * Initializes the receiver, a newly allocated 
         *  object, by reading data from the file named by 
         * .
         */
        constructor (path: string);
        /**
         * Initializes the receiver, a newly allocated 
         *  object, by reading data from the location named by a given URL.
         */
        constructor (url: URL);
        constructor (bytes: UnsafeMutableRawPointer, len: number, encoding: number, deallocator: ()=>any | null);
        constructor (chars: UnsafeMutablePointer<unichar>, len: number, deallocator: ()=>any | null);
        constructor (coder: NSCoder);
        constructor (format: NSString, ...args: CVarArg);
        constructor (format: NSString, locale: Locale | null, ...args: CVarArg);
        /**
         * Create an instance initialized to 
         * .
         */
        constructor (value: StaticString);
        /**
         * Returns a localized string intended for display in a notification alert.
         */
        static localizedUserNotificationString(key: string, arguments: any[] | null):string;
        static localizedStringWithFormat(format: NSString, ...args: CVarArg):Self;
        /**
         * Returns the string encoding for the given data as detected by attempting to create a string according to the specified encoding options.
         */
        static stringEncoding(data: Data, opts: Record<StringEncodingDetectionOptionsKey, any> | null, _string: AutoreleasingUnsafeMutablePointer<NSString?> | null, usedLossyConversion: UnsafeMutablePointer<ObjCBool> | null):number;
        /**
         * Returns a human-readable string giving the name of a given encoding.
         */
        static localizedName(encoding: number):string;
        /**
         * Returns a string built from the strings in a given array by concatenating them with a path separator between each pair.
         */
        static path(components: string[]):string;
        /**
         * Creates a new string using a given C-string.
         */
        static string(bytes: UnsafePointer<CChar>):any;
        static deferredLocalizedIntentsString(format: string, ...args: CVarArg):NSString;
        /**
         * Returns the number of bytes required to store the receiver in a given encoding.
         */
        lengthOfBytes(enc: number):number;
        /**
         * Returns the maximum number of bytes needed to store the receiver in a given encoding.
         */
        maximumLengthOfBytes(enc: number):number;
        /**
         * Returns the character at a given UTF-16 code unit index.
         */
        character(index: number):unichar;
        /**
         * Copies characters from a given range in the receiver into a given buffer.
         */
        getCharacters(buffer: UnsafeMutablePointer<unichar>, range: NSRange):void;
        /**
         * Gets a given range of characters as bytes in a specified encoding.
         */
        getBytes(buffer: UnsafeMutableRawPointer | null, maxBufferCount: number, usedBufferCount: UnsafeMutablePointer<Int> | null, encoding: number, options: NSString.EncodingConversionOptions, range: NSRange, leftover: NSRangePointer | null):boolean;
        /**
         * Returns a representation of the string as a C string using a given encoding.
         */
        cString(encoding: number):UnsafePointer<CChar> | null;
        /**
         * Converts the string to a given encoding and stores it in a buffer.
         */
        getCString(buffer: UnsafeMutablePointer<CChar>, maxBufferCount: number, encoding: number):boolean;
        /**
         * Returns the result of invoking 
         *  with 
         *  as the only option.
         */
        caseInsensitiveCompare(_string: string):ComparisonResult;
        /**
         * Compares the string with a given string using a case-insensitive, localized, comparison. 
         */
        localizedCaseInsensitiveCompare(_string: string):ComparisonResult;
        /**
         * Returns the result of invoking 
         *  with no options and the receiver’s full extent as the range.
         */
        compare(_string: string):ComparisonResult;
        /**
         * Compares the string and a given string using a localized comparison.
         */
        localizedCompare(_string: string):ComparisonResult;
        /**
         * Compares strings as sorted by the Finder.
         */
        localizedStandardCompare(_string: string):ComparisonResult;
        /**
         * Returns a Boolean value that indicates whether a given string matches the beginning characters of the receiver.
         */
        hasPrefix(str: string):boolean;
        /**
         * Returns a Boolean value that indicates whether a given string matches the ending characters of the receiver. 
         */
        hasSuffix(str: string):boolean;
        /**
         * Returns a Boolean value that indicates whether a given string is equal to the receiver using a literal Unicode-based comparison.
         */
        isEqual(aString: string):boolean;
        appendingFormat(format: NSString, ...args: CVarArg):NSString;
        /**
         * Returns a new string made by appending a given string to the receiver.
         */
        appending(aString: string):string;
        /**
         * Returns a new string formed from the receiver by either removing characters from the end, or by appending as many occurrences as necessary of a given pad string.
         */
        padding(newLength: number, padString: string, padIndex: number):string;
        /**
         * Returns an array containing substrings from the receiver that have been divided by a given separator.
         */
        components(separator: string):string[];
        /**
         * Returns a new string made by removing from both ends of the receiver characters contained in a given character set.
         */
        trimmingCharacters(set: CharacterSet):string;
        /**
         * Returns a new string containing the characters of the receiver from the one at a given index to the end.
         */
        substring(from: number):string;
        /**
         * Creates a string suitable for comparison by removing the specified character distinctions from a string.
         */
        folding(options: NSString.CompareOptions, locale: Locale | null):string;
        /**
         * Returns a new string by applying a specified transform to the string.
         */
        applyingTransform(transform: StringTransform, reverse: boolean):string;
        /**
         * Returns a Boolean value indicating whether the string contains a given string by performing a case-sensitive, locale-unaware search.
         */
        contains(str: string):boolean;
        /**
         * Returns a Boolean value indicating whether the string contains a given string by performing a case-insensitive, locale-aware search.
         */
        localizedCaseInsensitiveContains(str: string):boolean;
        /**
         * Returns a Boolean value indicating whether the string contains a given string by performing a case and diacritic insensitive, locale-aware search.
         */
        localizedStandardContains(str: string):boolean;
        /**
         * Finds and returns the range in the string of the first character from a given character set.
         */
        rangeOfCharacter(searchSet: CharacterSet):NSRange;
        /**
         * Finds and returns the range of the first occurrence of a given string within the string.
         */
        range(searchString: string):NSRange;
        /**
         * Finds and returns the range of the first occurrence of a given string within the string by performing a case and diacritic insensitive, locale-aware search.
         */
        localizedStandardRange(str: string):NSRange;
        /**
         * Enumerates all the lines in the string.
         */
        enumerateLines(block: ()=>any):void;
        /**
         * Enumerates the substrings of the specified type in the specified range of the string.
         */
        enumerateSubstrings(range: NSRange, opts: NSString.EnumerationOptions, block: ()=>any):void;
        /**
         * Returns a new string in which all occurrences of a target string in the receiver are replaced by another given string.
         */
        replacingOccurrences(target: string, replacement: string):string;
        /**
         * Returns a new string in which the characters in a specified range of the receiver are replaced by a given string.
         */
        replacingCharacters(range: NSRange, replacement: string):string;
        /**
         * Returns a string containing characters the receiver and a given string have in common, starting from the beginning of each up to the first characters that aren’t equivalent.
         */
        commonPrefix(str: string, mask: NSString.CompareOptions):string;
        /**
         * Performs linguistic analysis on the specified string by enumerating the specific range of the string, providing the Block with the located tags.
         */
        enumerateLinguisticTags(range: NSRange, scheme: NSLinguisticTagScheme, options: NSLinguisticTagger.Options, orthography: NSOrthography | null, block: ()=>any):void;
        /**
         * Returns an array of linguistic tags for the specified range and requested tags within the receiving string.
         */
        linguisticTags(range: NSRange, scheme: NSLinguisticTagScheme, options: NSLinguisticTagger.Options, orthography: NSOrthography | null, tokenRanges: AutoreleasingUnsafeMutablePointer<NSArray?> | null):NSLinguisticTag[];
        /**
         * Returns by reference the beginning of the first line and the end of the last line touched by the given range.
         */
        getLineStart(startPtr: UnsafeMutablePointer<Int> | null, lineEndPtr: UnsafeMutablePointer<Int> | null, contentsEndPtr: UnsafeMutablePointer<Int> | null, range: NSRange):void;
        /**
         * Returns the range of characters representing the line or lines containing a given range.
         */
        lineRange(range: NSRange):NSRange;
        /**
         * Returns by reference the beginning of the first paragraph and the end of the last paragraph touched by the given range.
         */
        getParagraphStart(startPtr: UnsafeMutablePointer<Int> | null, parEndPtr: UnsafeMutablePointer<Int> | null, contentsEndPtr: UnsafeMutablePointer<Int> | null, range: NSRange):void;
        /**
         * Returns the range of characters representing the paragraph or paragraphs containing a given range.
         */
        paragraphRange(range: NSRange):NSRange;
        /**
         * Returns the range in the receiver of the composed character sequence located at a given index.
         */
        rangeOfComposedCharacterSequence(index: number):NSRange;
        /**
         * Returns the range in the string of the composed character sequences for a given range.
         */
        rangeOfComposedCharacterSequences(range: NSRange):NSRange;
        /**
         * Writes the contents of the receiver to a file at a given path using a given encoding. 
         */
        write(path: string, useAuxiliaryFile: boolean, enc: number):void;
        /**
         * Parses the receiver as a text representation of a property list, returning an 
         * , 
         * , 
         * , or 
         *  object, according to the topmost element.
         */
        propertyList():any;
        /**
         * Returns a dictionary object initialized with the keys and values found in the receiver.
         */
        propertyListFromStringsFileFormat():Record<AnyHashable, any> | null;
        /**
         * Draws the receiver with the font and other display characteristics of the given attributes, at the specified point in the current graphics context.
         */
        draw(point: CGPoint, attrs: Record<NSAttributedString.Key, any> | null):void;
        /**
         * Calculates and returns the bounding rect for the receiver drawn using the given options and display characteristics, within the specified rectangle in the current graphics context.
         */
        boundingRect(size: CGSize, options: NSStringDrawingOptions, attributes: Record<NSAttributedString.Key, any> | null, context: NSStringDrawingContext | null):CGRect;
        /**
         * Returns the bounding box size the receiver occupies when drawn with the given attributes.
         */
        size(attrs: Record<NSAttributedString.Key, any> | null):CGSize;
        /**
         * Returns a string variation suitable for the specified presentation width. 
         */
        variantFittingPresentationWidth(width: number):string;
        /**
         * Returns a Boolean value that indicates whether the receiver can be converted to a given encoding without loss of information. 
         */
        canBeConverted(encoding: number):boolean;
        /**
         * Returns an 
         *  object containing a representation of the receiver encoded using a given encoding.
         */
        data(encoding: number):Data | null;
        /**
         * Interprets the receiver as a path in the file system and attempts to perform filename completion, returning a numeric value that indicates whether a match was possible, and by reference the longest path that matches the receiver. 
         */
        completePath(outputName: AutoreleasingUnsafeMutablePointer<NSString?> | null, flag: boolean, outputArray: AutoreleasingUnsafeMutablePointer<NSArray?> | null, filterTypes: string[] | null):number;
        /**
         * Interprets the receiver as a system-independent path and fills a buffer with a C-string in a format and encoding suitable for use with file-system calls.
         */
        getFileSystemRepresentation(cname: UnsafeMutablePointer<CChar>, max: number):boolean;
        /**
         * Returns a new string made by appending to the receiver a given string.
         */
        appendingPathComponent(str: string):string;
        /**
         * Returns a new string made by appending to the receiver an extension separator followed by a given extension.
         */
        appendingPathExtension(str: string):string;
        /**
         * Returns an array of strings made by separately appending to the receiver each string in a given array.
         */
        strings(paths: string[]):string[];
        /**
         * Returns a new string made from the receiver by replacing all characters not in the specified set with percent-encoded characters.
         */
        addingPercentEncoding(allowedCharacters: CharacterSet):string;
        /**
         * Returns a representation of the receiver as a C string in the default C-string encoding, possibly losing information in converting to that encoding.
         */
        lossyCString():UnsafePointer<CChar> | null;
        /**
         * Returns the length in char-sized units of the receiver’s C-string representation in the default C-string encoding.
         */
        cStringLength():number;
        /**
         * Returns a representation of the receiver using a given encoding to determine the percent escapes necessary to convert the receiver into a legal URL string.
         */
        addingPercentEscapes(enc: number):string;
        /**
         * Returns a new string made by replacing in the receiver all percent escapes with the matching characters as determined by a given encoding.
         */
        replacingPercentEscapes(enc: number):string;
    }
    /**
     * the same name namespace of class NSString
     */
    export namespace NSString {
        export class CompareOptions {
            /**
             * A case-insensitive search.
             */
            static caseInsensitive: NSString.CompareOptions;
            /**
             * Exact character-by-character equivalence.
             */
            static literal: NSString.CompareOptions;
            /**
             * Search from end of source string.
             */
            static backwards: NSString.CompareOptions;
            /**
             * Search is limited to start (or end, if 
             * ) of source string.
             */
            static anchored: NSString.CompareOptions;
            /**
             * Numbers within strings are compared using numeric value, that is, 
             *  < 
             *  < 
             * . 
             */
            static numeric: NSString.CompareOptions;
            /**
             * Search ignores diacritic marks.
             */
            static diacriticInsensitive: NSString.CompareOptions;
            /**
             * Search ignores width differences in characters that have full-width and half-width forms, as occurs in East Asian character sets.
             */
            static widthInsensitive: NSString.CompareOptions;
            /**
             * Comparisons are forced to return either 
             *  or 
             *  if the strings are equivalent but not strictly equal.
             */
            static forcedOrdering: NSString.CompareOptions;
            /**
             * The search string is treated as an ICU-compatible regular expression. If set, no other options can apply except 
             *  and 
             * . You can use this option only with the 
             * … methods and 
             * .
             */
            static regularExpression: NSString.CompareOptions;
            constructor (rawValue: number);
        }
        export class EncodingConversionOptions {
            /**
             * Allows lossy conversion.
             */
            static allowLossy: NSString.EncodingConversionOptions;
            /**
             * Specifies an external representation (with a byte-order mark, if necessary, to indicate endianness).
             */
            static externalRepresentation: NSString.EncodingConversionOptions;
            constructor (rawValue: number);
        }
        export class EnumerationOptions {
            static byLines: NSString.EnumerationOptions;
            static byParagraphs: NSString.EnumerationOptions;
            static byComposedCharacterSequences: NSString.EnumerationOptions;
            static byWords: NSString.EnumerationOptions;
            static bySentences: NSString.EnumerationOptions;
            static reverse: NSString.EnumerationOptions;
            static substringNotRequired: NSString.EnumerationOptions;
            static localized: NSString.EnumerationOptions;
            static byCaretPositions: NSString.EnumerationOptions;
            static byDeletionClusters: NSString.EnumerationOptions;
            constructor (rawValue: number);
        }
    }
    export class JSONSerialization extends NSObject {
        /**
         * Returns a Foundation object from given JSON data.
         */
        static jsonObject(data: Data, opt: JSONSerialization.ReadingOptions):any;
        /**
         * Returns JSON data from a Foundation object.
         */
        static data(obj: any, opt: JSONSerialization.WritingOptions):Data;
        /**
         * Writes a given JSON object to a stream.
         */
        static writeJSONObject(obj: any, stream: OutputStream, opt: JSONSerialization.WritingOptions, error: NSErrorPointer):number;
        /**
         * Returns a Boolean value that indicates whether the serializer can convert a given object to JSON data.
         */
        static isValidJSONObject(obj: any):boolean;
    }
    /**
     * the same name namespace of class JSONSerialization
     */
    export namespace JSONSerialization {
        export class ReadingOptions {
            /**
             * Specifies that arrays and dictionaries in the returned object are mutable.
             */
            static mutableContainers: JSONSerialization.ReadingOptions;
            /**
             * Specifies that leaf strings in the JSON object graph are mutable.
             */
            static mutableLeaves: JSONSerialization.ReadingOptions;
            /**
             * Specifies that the parser allows top-level objects that aren’t arrays or dictionaries.
             */
            static fragmentsAllowed: JSONSerialization.ReadingOptions;
            /**
             * Specifies that reading serialized JSON data supports the JSON5 syntax.
             */
            static json5Allowed: JSONSerialization.ReadingOptions;
            /**
             * Specifies that the parser assumes the top level of the JSON data is a dictionary, even if it doesn’t begin and end with curly braces.
             */
            static topLevelDictionaryAssumed: JSONSerialization.ReadingOptions;
            /**
             * A deprecated option that specifies that the parser should allow top-level objects that aren’t arrays or dictionaries.
             */
            static allowFragments: JSONSerialization.ReadingOptions;
            /**
             * Creates a set of JSON formatting options from an integer that represents those options.
             */
            constructor (rawValue: number);
        }
        export class WritingOptions {
            /**
             * Specifies that the parser should allow top-level objects that aren’t arrays or dictionaries.
             */
            static fragmentsAllowed: JSONSerialization.WritingOptions;
            /**
             * Specifies that the output uses white space and indentation to make the resulting data more readable.
             */
            static prettyPrinted: JSONSerialization.WritingOptions;
            /**
             * Specifies that the output sorts keys in lexicographic order.
             */
            static sortedKeys: JSONSerialization.WritingOptions;
            /**
             * Specifies that the output doesn’t prefix slash characters with escape characters.
             */
            static withoutEscapingSlashes: JSONSerialization.WritingOptions;
            /**
             * Creates a set of JSON formatting options from an integer that represents those options.
             */
            constructor (rawValue: number);
        }
    }
    export class PropertyListEncoder {
        /**
         * A value that determines which property list format is used during encoding.
         */
        outputFormat: PropertyListSerialization.PropertyListFormat;
        /**
         * A dictionary you use to customize the encoding process by providing contextual information.
         */
        userInfo: Record<CodingUserInfoKey, any>;
        /**
         * Creates a new, reusable property list encoder with the default formatting settings.
         */
        constructor ();
    }
    export class PropertyListDecoder {
        /**
         * A dictionary you use to customize decoding by providing contextual information.
         */
        userInfo: Record<CodingUserInfoKey, any>;
        /**
         * Creates a new, reusable property list decoder.
         */
        constructor ();
    }
    export class PropertyListSerialization extends NSObject {
        /**
         * Returns an 
         *  object containing a given property list in a specified format.
         */
        static data(plist: any, format: PropertyListSerialization.PropertyListFormat, opt: PropertyListSerialization.WriteOptions):Data;
        /**
         * Writes a property list to the specified stream.
         */
        static writePropertyList(plist: any, stream: OutputStream, format: PropertyListSerialization.PropertyListFormat, opt: PropertyListSerialization.WriteOptions, error: NSErrorPointer):number;
        /**
         * Creates and returns a property list from the specified data.
         */
        static propertyList(data: Data, opt: PropertyListSerialization.ReadOptions, format: UnsafeMutablePointer<PropertyListSerialization.PropertyListFormat> | null):any;
        /**
         * This method is obsolete and will be deprecated soon.
         */
        static dataFromPropertyList(plist: any, format: PropertyListSerialization.PropertyListFormat, errorString: UnsafeMutablePointer<NSString?> | null):Data | null;
        /**
         * This method is deprecated. Use 
         *  instead.
         */
        static propertyListFromData(data: Data, opt: PropertyListSerialization.MutabilityOptions, format: UnsafeMutablePointer<PropertyListSerialization.PropertyListFormat> | null, errorString: UnsafeMutablePointer<NSString?> | null):any;
    }
    /**
     * the same name namespace of class PropertyListSerialization
     */
    export namespace PropertyListSerialization {
        export class MutabilityOptions {
            /**
             * Causes the returned property list to have mutable containers but immutable leaves.
             */
            static mutableContainers: PropertyListSerialization.MutabilityOptions;
            /**
             * Causes the returned property list to have mutable containers and leaves.
             */
            static mutableContainersAndLeaves: PropertyListSerialization.MutabilityOptions;
            constructor (rawValue: number);
        }
        export enum PropertyListFormat {
            openStep = 1,
            xml = 100,
            binary = 200,
        }
    }
    export class XMLDTD extends XMLNode {
        /**
         * Returns the receiver’s public identifier.
         */
        publicID: string;
        /**
         * Returns the receiver’s system identifier.
         */
        systemID: string;
        /**
         * Initializes and returns an 
         *  object created from the DTD declarations in a URL-referenced source.
         */
        constructor (url: URL, mask: XMLNode.Options);
        /**
         * Initializes and returns an 
         *  object created from the DTD declarations encapsulated in an 
         *  object 
         */
        constructor (data: Data, mask: XMLNode.Options);
        constructor ();
        /**
         * Returns a DTD node representing the predefined entity declaration with the specified name.
         */
        static predefinedEntityDeclaration(name: string):XMLDTDNode | null;
        /**
         * Adds a child node to the end of the list of existing children.
         */
        addChild(child: XMLNode):void;
        /**
         * Inserts a child node in the receiver’s list of children at a specific location in the list.
         */
        insertChild(child: XMLNode, index: number):void;
        /**
         * Inserts an array of child nodes at a specified location in the receiver’s list of children.
         */
        insertChildren(children: XMLNode[], index: number):void;
        /**
         * Removes the child node at a particular location in the receiver’s list of children.
         */
        removeChild(index: number):void;
        /**
         * Replaces a child at a particular index with another child.
         */
        replaceChild(index: number, node: XMLNode):void;
        /**
         * Removes all existing children of the receiver and replaces them with an array of new child nodes.
         */
        setChildren(children: XMLNode[] | null):void;
        /**
         * Returns the DTD node representing an element declaration for a specified element.
         */
        elementDeclaration(name: string):XMLDTDNode | null;
        /**
         * Returns the DTD node representing an attribute-list declaration for a given attribute and its element.
         */
        attributeDeclaration(name: string, elementName: string):XMLDTDNode | null;
        /**
         * Returns the DTD node representing the entity declaration for a specified entity.
         */
        entityDeclaration(name: string):XMLDTDNode | null;
        /**
         * Returns the DTD node representing the notation declaration identified by the specified notation name.
         */
        notationDeclaration(name: string):XMLDTDNode | null;
    }
    export class XMLDTDNode extends XMLNode {
        /**
         * Returns the receiver’s DTD kind.
         */
        dtdKind: XMLDTDNode.DTDKind;
        /**
         * Returns the name of the notation associated with the receiver.
         */
        notationName: string;
        /**
         * Returns the public identifier associated with the receiver.
         */
        publicID: string;
        /**
         * Returns the system identifier associated with the receiver.
         */
        systemID: string;
        isExternal: boolean;
        /**
         * Returns an 
         *  object initialized with the DTD declaration in a given string.
         */
        constructor (_string: string);
        constructor ();
        constructor (kind: XMLNode.Kind, options: XMLNode.Options);
    }
    /**
     * the same name namespace of class XMLDTDNode
     */
    export namespace XMLDTDNode {
        export enum DTDKind {
            cdataAttribute = 6,
            entitiesAttribute = 11,
            entityAttribute = 10,
            enumerationAttribute = 14,
            idAttribute = 7,
            idRefAttribute = 8,
            idRefsAttribute = 9,
            nmTokenAttribute = 12,
            nmTokensAttribute = 13,
            notationAttribute = 15,
            anyDeclaration = 18,
            elementDeclaration = 20,
            emptyDeclaration = 17,
            mixedDeclaration = 19,
            undefinedDeclaration = 16,
            general = 1,
            parameter = 4,
            parsed = 2,
            predefined = 5,
            unparsed = 3,
        }
    }
    export class XMLDocument extends XMLNode {
        /**
         * Sets the character encoding of the receiver to 
         * , 
         */
        characterEncoding: string;
        /**
         * Sets the kind of output content for the receiver.
         */
        documentContentKind: XMLDocument.ContentKind;
        /**
         * Returns an 
         *  object representing the internal DTD associated with the receiver.
         */
        dtd: XMLDTD | null;
        /**
         * Sets a Boolean value that specifies whether the receiver represents a standalone XML document.
         */
        isStandalone: boolean;
        /**
         * Returns the MIME type for the receiver.
         */
        mimeType: string;
        /**
         * Sets the version of the receiver’s XML.
         */
        version: string;
        /**
         * Returns the XML string representation of the receiver—that is, the entire document—encapsulated in a data object. 
         */
        xmlData: Data;
        /**
         * Initializes and returns an NSXMLDocument object created from the XML or HTML contents of a URL-referenced source
         */
        constructor (url: URL, mask: XMLNode.Options);
        /**
         * Initializes and returns an 
         *  object created from an 
         *  object.
         */
        constructor (data: Data, mask: XMLNode.Options);
        /**
         *  Returns an 
         *  object initialized with a single child, the root element.
         */
        constructor (element: XMLElement | null);
        /**
         * Initializes and returns an 
         *  object created from a string containing XML markup text.
         */
        constructor (_string: string, mask: XMLNode.Options);
        constructor ();
        /**
         * Overridden by subclasses to substitute a custom class for an NSXML class that the parser uses to create node instances.
         */
        static replacementClass(cls: AnyClass):AnyClass;
        /**
         * Returns the root element of the receiver.
         */
        rootElement():XMLElement | null;
        /**
         * Set the root element of the receiver. 
         */
        setRootElement(root: XMLElement):void;
        /**
         * Adds a child node after the last of the receiver’s existing children.
         */
        addChild(child: XMLNode):void;
        /**
         * Inserts a node object at specified position in the receiver’s array of children.
         */
        insertChild(child: XMLNode, index: number):void;
        /**
         * Inserts an array of children at a specified position in the receiver’s array of children.
         */
        insertChildren(children: XMLNode[], index: number):void;
        /**
         * Removes the child node of the receiver located at a specified position in its array of children.
         */
        removeChild(index: number):void;
        /**
         * Replaces the child node of the receiver located at a specified position in its array of children with another node.
         */
        replaceChild(index: number, node: XMLNode):void;
        /**
         * Sets the child nodes of the receiver.
         */
        setChildren(children: XMLNode[] | null):void;
        /**
         * Applies the XSLT pattern rules and templates (specified as a data object) to the receiver and returns a document object containing transformed XML or HTML markup.
         */
        object(xslt: Data, arguments: Record<string, string> | null):any;
        /**
         * Applies the XSLT pattern rules and templates located at a specified URL to the receiver and returns a document object containing transformed XML markup or an 
         *  object containing plain text, RTF text, and so on.
         */
        objectByApplyingXSLT(xsltURL: URL, argument: Record<string, string> | null):any;
        /**
         * Validates the document against the governing schema and returns whether the document conforms to the schema.
         */
        validate():void;
    }
    /**
     * the same name namespace of class XMLDocument
     */
    export namespace XMLDocument {
        export enum ContentKind {
            html = 2,
            text = 3,
            xhtml = 1,
            xml = 0,
        }
    }
    export class XMLNode extends NSObject {}
    /**
     * the same name namespace of class XMLNode
     */
    export namespace XMLNode {
        export class Options {
            /**
             * Formats HTML into valid XHTML during processing of the document. 
             */
            static documentTidyHTML: XMLNode.Options;
            /**
             * Changes malformed XML into valid XML during processing of the document. 
             */
            static documentTidyXML: XMLNode.Options;
            /**
             * Validates this document against its DTD (internal or external) or XML Schema. 
             */
            static documentValidate: XMLNode.Options;
            /**
             * Replaces all XInclude nodes in the document with the nodes referred to.
             */
            static documentXInclude: XMLNode.Options;
            /**
             * Includes a content type declaration for HTML or XHTML in the output of the document. 
             */
            static documentIncludeContentTypeDeclaration: XMLNode.Options;
        }
    }
    export class XMLElement extends XMLNode {
        /**
         * Sets all attributes of the receiver at once, replacing any existing attribute nodes.
         */
        attributes: XMLNode[] | null;
        /**
         * Sets all of the namespace nodes of the receiver at once, replacing any existing namespace nodes.
         */
        namespaces: XMLNode[] | null;
        /**
         * Returns an 
         *  object initialized with the specified name.
         */
        constructor (name: string);
        /**
         * Returns an 
         *  object initialized with a specified name and a single text-node child containing a specified value.
         */
        constructor (name: string, _string: string);
        /**
         * Returns an 
         *  object created from a specified string containing XML markup. 
         */
        constructor (_string: string);
        /**
         * Returns an 
         *  object initialized with the specified name and URI.
         */
        constructor (name: string, URI: string);
        constructor (kind: XMLNode.Kind, options: XMLNode.Options);
        /**
         * Returns the child element nodes (as 
         *  objects) of the receiver that have a specified name.
         */
        elements(name: string):XMLElement[];
        /**
         * Adds a child node at the end of the receiver’s current list of children.
         */
        addChild(child: XMLNode):void;
        /**
         * Inserts a new child node at a specified location in the receiver’s list of child nodes.
         */
        insertChild(child: XMLNode, index: number):void;
        /**
         * Inserts an array of child nodes at a specified location in the receiver’s list of children.
         */
        insertChildren(children: XMLNode[], index: number):void;
        /**
         * Removes the child node of the receiver identified by a given index.
         */
        removeChild(index: number):void;
        /**
         * Replaces a child node at a specified location with another child node.
         */
        replaceChild(index: number, node: XMLNode):void;
        /**
         * Sets all child nodes of the receiver at once, replacing any existing children.
         */
        setChildren(children: XMLNode[] | null):void;
        /**
         * Coalesces adjacent text nodes of the receiver that you have explicitly added, optionally including CDATA sections.
         */
        normalizeAdjacentTextNodesPreservingCDATA(preserve: boolean):void;
        /**
         * Adds an attribute node to the receiver.
         */
        addAttribute(attribute: XMLNode):void;
        /**
         * Returns the attribute node of the receiver with the specified name.
         */
        attribute(name: string):XMLNode | null;
        /**
         * Removes an attribute node identified by name.
         */
        removeAttribute(name: string):void;
        /**
         * Sets the attributes of the receiver based on the key-value pairs specified in the passed dictionary.
         */
        setAttributesWith(attributes: Record<string, string>):void;
        /**
         * Sets the attributes of the receiver based on the key-value pairs specified in the passed-in dictionary.
         */
        setAttributesAs(attributes: Record<AnyHashable, any>):void;
        /**
         * Adds a namespace node to the receiver.
         */
        addNamespace(aNamespace: XMLNode):void;
        /**
         * Returns the namespace node with a specified prefix.
         */
        namespace(name: string):XMLNode | null;
        /**
         * Removes a namespace node that is identified by a given prefix.
         */
        removeNamespace(name: string):void;
        /**
         * Returns the namespace node with the prefix matching the given qualified name.
         */
        resolveNamespace(name: string):XMLNode | null;
        /**
         * Returns the prefix associated with the specified URI.
         */
        resolvePrefix(namespaceURI: string):string;
    }
    export class XMLParser extends NSObject {
        /**
         * Indicates an error in XML parsing.
         */
        static errorDomain: string;
        /**
         * A delegate object that receives messages about the parsing process.
         */
        delegate: XMLParserDelegate | null;
        /**
         * A Boolean value that determines whether the parser reports the namespaces and qualified names of elements.
         */
        shouldProcessNamespaces: boolean;
        /**
         * A Boolean value that determines whether the parser reports the prefixes indicating the scope of namespace declarations.
         */
        shouldReportNamespacePrefixes: boolean;
        /**
         * A Boolean value that determines whether the parser reports declarations of external entities.
         */
        shouldResolveExternalEntities: boolean;
        /**
         * An 
         *  object from which you can obtain information about a parsing error.
         */
        parserError: Error | null;
        /**
         * The column number of the XML document being processed by the parser.
         */
        columnNumber: number;
        /**
         * The line number of the XML document being processed by the parser.
         */
        lineNumber: number;
        /**
         * The public identifier of the external entity referenced in the XML document.
         */
        publicID: string;
        /**
         * The system identifier of the external entity referenced in the XML document.
         */
        systemID: string;
        allowedExternalEntityURLs: Set<URL> | null;
        externalEntityResolvingPolicy: XMLParser.ExternalEntityResolvingPolicy;
        /**
         * Initializes a parser with the XML content referenced by the given URL.
         */
        constructor (url: URL);
        /**
         * Initializes a parser with the XML contents encapsulated in a given data object. 
         */
        constructor (data: Data);
        /**
         * Initializes a parser with the XML contents from the specified stream and parses it.
         */
        constructor (stream: InputStream);
        /**
         * Starts the event-driven parsing operation.
         */
        parse():boolean;
        /**
         * Stops the parser object.
         */
        abortParsing():void;
    }
    /**
     * the same name namespace of class XMLParser
     */
    export namespace XMLParser {
        export enum ExternalEntityResolvingPolicy {
            always = 3,
            never = 0,
            noNetwork = 1,
            sameOriginOnly = 2,
        }
        export enum ErrorCode {
            internalError = 1,
            outOfMemoryError = 2,
            documentStartError = 3,
            emptyDocumentError = 4,
            prematureDocumentEndError = 5,
            invalidHexCharacterRefError = 6,
            invalidDecimalCharacterRefError = 7,
            invalidCharacterRefError = 8,
            invalidCharacterError = 9,
            characterRefAtEOFError = 10,
            characterRefInPrologError = 11,
            characterRefInEpilogError = 12,
            characterRefInDTDError = 13,
            entityRefAtEOFError = 14,
            entityRefInPrologError = 15,
            entityRefInEpilogError = 16,
            entityRefInDTDError = 17,
            parsedEntityRefAtEOFError = 18,
            parsedEntityRefInPrologError = 19,
            parsedEntityRefInEpilogError = 20,
            parsedEntityRefInInternalSubsetError = 21,
            entityReferenceWithoutNameError = 22,
            entityReferenceMissingSemiError = 23,
            parsedEntityRefNoNameError = 24,
            parsedEntityRefMissingSemiError = 25,
            undeclaredEntityError = 26,
            unparsedEntityError = 28,
            entityIsExternalError = 29,
            entityIsParameterError = 30,
            unknownEncodingError = 31,
            encodingNotSupportedError = 32,
            stringNotStartedError = 33,
            stringNotClosedError = 34,
            namespaceDeclarationError = 35,
            entityNotStartedError = 36,
            entityNotFinishedError = 37,
            lessThanSymbolInAttributeError = 38,
            attributeNotStartedError = 39,
            attributeNotFinishedError = 40,
            attributeHasNoValueError = 41,
            attributeRedefinedError = 42,
            literalNotStartedError = 43,
            literalNotFinishedError = 44,
            commentNotFinishedError = 45,
            processingInstructionNotStartedError = 46,
            processingInstructionNotFinishedError = 47,
            notationNotStartedError = 48,
            notationNotFinishedError = 49,
            attributeListNotStartedError = 50,
            attributeListNotFinishedError = 51,
            mixedContentDeclNotStartedError = 52,
            mixedContentDeclNotFinishedError = 53,
            elementContentDeclNotStartedError = 54,
            elementContentDeclNotFinishedError = 55,
            xmlDeclNotStartedError = 56,
            xmlDeclNotFinishedError = 57,
            conditionalSectionNotStartedError = 58,
            conditionalSectionNotFinishedError = 59,
            externalSubsetNotFinishedError = 60,
            doctypeDeclNotFinishedError = 61,
            misplacedCDATAEndStringError = 62,
            cdataNotFinishedError = 63,
            misplacedXMLDeclarationError = 64,
            spaceRequiredError = 65,
            separatorRequiredError = 66,
            nmtokenRequiredError = 67,
            nameRequiredError = 68,
            pcdataRequiredError = 69,
            uriRequiredError = 70,
            publicIdentifierRequiredError = 71,
            ltRequiredError = 72,
            gtRequiredError = 73,
            ltSlashRequiredError = 74,
            equalExpectedError = 75,
            tagNameMismatchError = 76,
            unfinishedTagError = 77,
            standaloneValueError = 78,
            invalidEncodingNameError = 79,
            commentContainsDoubleHyphenError = 80,
            invalidEncodingError = 81,
            externalStandaloneEntityError = 82,
            invalidConditionalSectionError = 83,
            entityValueRequiredError = 84,
            notWellBalancedError = 85,
            extraContentError = 86,
            invalidCharacterInEntityError = 87,
            parsedEntityRefInInternalError = 88,
            entityRefLoopError = 89,
            entityBoundaryError = 90,
            invalidURIError = 91,
            uriFragmentError = 92,
            noDTDError = 94,
            delegateAbortedParseError = 512,
        }
    }
    export interface XMLParserDelegate extends NSObjectProtocol {
        /**
         * Sent by the parser object to the delegate when it begins parsing a document.
         */
        parserDidStartDocument(parser: XMLParser):void;
        /**
         * Sent by the parser object to the delegate when it has successfully completed parsing.
         */
        parserDidEndDocument(parser: XMLParser):void;
        /**
         * Sent by a parser object to its delegate when it encounters a start tag for a given element.
         */
        parser(parser: XMLParser, elementName: string, namespaceURI: string, qName: string, attributeDict: Record<string, string>):void;
    }
    export class NSKeyedArchiver extends NSCoder {
        /**
         * The encoded data for the archiver.
         */
        encodedData: Data;
        /**
         * The format in which the receiver encodes its data.
         */
        outputFormat: PropertyListSerialization.PropertyListFormat;
        /**
         * Indicates whether the archiver requires all archived classes to resist object substitution attacks.
         */
        requiresSecureCoding: boolean;
        /**
         * The archiver’s delegate.
         */
        delegate: NSKeyedArchiverDelegate | null;
        /**
         * Creates an archiver to encode data, and optionally disables secure coding.
         */
        constructor (requiresSecureCoding: boolean);
        /**
         * Initializes an archiver to encode data.
         */
        constructor ();
        /**
         * Initializes an archiver to encode data into a given a mutable-data object.
         */
        constructor (data: NSMutableData);
        /**
         * Encodes an object graph with the given root object into a data representation, optionally requiring secure coding.
         */
        static archivedData(object: any, requiresSecureCoding: boolean):Data;
        /**
         * Archives an object graph rooted at a given object to a file at a given path.
         */
        static archiveRootObject(rootObject: any, path: string):boolean;
        /**
         * Sets a global translation mapping to encode instances of a given class with the provided name, rather than their real name.
         */
        static setClassName(codedName: string, cls: AnyClass):void;
        /**
         * Returns the class name with which the archiver class encodes instances of a given class.
         */
        static className(cls: AnyClass):string;
        /**
         * Instructs the receiver to construct the final data stream.
         */
        finishEncoding():void;
        /**
         * Encodes a given Boolean value and associates it with a key.
         */
        encode(value: boolean, key: string):void;
        /**
         * Encodes a given number of bytes from a given C array of bytes and associates them with a key.
         */
        encodeBytes(bytes: UnsafePointer<UInt8> | null, length: number, key: string):void;
        /**
         * Encodes a reference to a given object and associates it with a key only if it has been unconditionally encoded elsewhere in the archive.
         */
        encodeConditionalObject(object: any, key: string):void;
    }
    export interface NSKeyedArchiverDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate that a given object has been encoded.
         */
        archiver(archiver: NSKeyedArchiver, object: any):void;
        /**
         * Notifies the delegate that encoding has finished.
         */
        archiverDidFinish(archiver: NSKeyedArchiver):void;
        /**
         * Notifies the delegate that encoding is about to finish.
         */
        archiverWillFinish(archiver: NSKeyedArchiver):void;
    }
    export class NSKeyedUnarchiver extends NSCoder {
        /**
         * Indicates whether the receiver requires all unarchived classes to conform to 
         * .
         */
        requiresSecureCoding: boolean;
        /**
         * The action to take when this unarchiver fails to decode an entry.
         */
        decodingFailurePolicy: NSCoder.DecodingFailurePolicy;
        /**
         * The receiver’s delegate.
         */
        delegate: NSKeyedUnarchiverDelegate | null;
        /**
         * Initializes an archiver to decode data from the specified location.
         */
        constructor (data: Data);
        /**
         * Initializes an archiver to decode data.
         */
        constructor ();
        /**
         * Initializes an archiver to decode data from the specified location.
         */
        constructor (data: Data);
        /**
         * Decodes a previously-archived object graph, and returns the root object.
         */
        static unarchiveTopLevelObjectWithData(data: Data):any;
        /**
         * Decodes a previously-archived object graph, returning the root object as one of the specified classes.
         */
        static unarchivedObject(classes: Set<AnyHashable>, data: Data):any;
        /**
         * Decodes and returns the object graph previously encoded by 
         *  and stored in a given 
         *  object.
         */
        static unarchiveObject(data: Data):any;
        /**
         * Sets a global translation mapping to decode objects encoded with a given class name as instances of a given class instead.
         */
        static setClass(cls: AnyClass | null, codedName: string):void;
        /**
         * Returns the class from which this unarchiver instantiates an encoded object with a given class name.
         */
        static class(codedName: string):AnyClass | null;
        static unarchivedArrayOfObjects(classes: AnyClass[], data: Data):any[] | null;
        static unarchivedDictionary(keyClasses: AnyClass[], objectClasses: AnyClass[], data: Data):Record<AnyHashable, any> | null;
        /**
         * Returns a Boolean value that indicates whether the archive contains a value for a given key within the current decoding scope.
         */
        containsValue(key: string):boolean;
        /**
         * Decodes a Boolean value associated with a given key.
         */
        decodeBool(key: string):boolean;
        /**
         * Decodes a stream of bytes associated with a given key.
         */
        decodeBytes(key: string, lengthp: UnsafeMutablePointer<Int> | null):UnsafePointer<UInt8> | null;
        /**
         * Decodes a double-precision floating-point value associated with a given key.
         */
        decodeDouble(key: string):number;
        /**
         * Decodes a single-precision floating-point value associated with a given key.
         */
        decodeFloat(key: string):Float;
        /**
         * Decodes a 32-bit integer value associated with a given key.
         */
        decodeInt32(key: string):Int32;
        /**
         * Decodes a 64-bit integer value associated with a given key.
         */
        decodeInt64(key: string):Int64;
        /**
         * Decodes and returns an object associated with a given key.
         */
        decodeObject(key: string):any;
        /**
         * Tells the receiver that you are finished decoding objects.
         */
        finishDecoding():void;
    }
    export interface NSKeyedUnarchiverDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate that the class with a given name is not available during decoding.
         */
        unarchiver(unarchiver: NSKeyedUnarchiver, name: string, classNames: string[]):AnyClass | null;
        /**
         * Notifies the delegate that decoding has finished.
         */
        unarchiverDidFinish(unarchiver: NSKeyedUnarchiver):void;
        /**
         * Notifies the delegate that decoding is about to finish.
         */
        unarchiverWillFinish(unarchiver: NSKeyedUnarchiver):void;
    }
    export class NSCoder extends NSObject {
        /**
         * A Boolean value that indicates whether the receiver supports keyed coding of objects.
         */
        allowsKeyedCoding: boolean;
        /**
         * The action the coder should take when decoding fails.
         */
        decodingFailurePolicy: NSCoder.DecodingFailurePolicy;
        /**
         * Indicates whether the archiver requires all archived classes to resist object substitution attacks.
         */
        requiresSecureCoding: boolean;
        /**
         * The set of coded classes allowed for secure coding.
         */
        allowedClasses: Set<AnyHashable> | null;
        /**
         * An error in the top-level encode.
         */
        error: Error | null;
        /**
         * The system version in effect for the archive.
         */
        systemVersion: UInt32;
        /**
         * Returns a Core Graphics affine transform structure corresponding to the data in a given string.
         */
        static cgAffineTransform(_string: string):CGAffineTransform;
        /**
         * Returns a Core Graphics point structure corresponding to the data in a given string.
         */
        static cgPoint(_string: string):CGPoint;
        /**
         * Returns a Core Graphics rectangle structure corresponding to the data in a given string.
         */
        static cgRect(_string: string):CGRect;
        /**
         * Returns a Core Graphics size structure corresponding to the data in a given string.
         */
        static cgSize(_string: string):CGSize;
        /**
         * Returns a Core Graphics vector corresponding to the data in a given string.
         */
        static cgVector(_string: string):CGVector;
        /**
         * Returns a directional edge insets structure based on data in the specified string.
         */
        static nsDirectionalEdgeInsets(_string: string):NSDirectionalEdgeInsets;
        /**
         * Returns a UIKit edge insets structure based on the data in the specified string.
         */
        static uiEdgeInsets(_string: string):UIEdgeInsets;
        /**
         * Returns a UIKit offset structure corresponding to the data in a given string.
         */
        static uiOffset(_string: string):UIOffset;
        /**
         * Returns a string formatted to contain the data from a rectangle.
         */
        static string(rect: CGRect):string;
        /**
         * Returns a Boolean value that indicates whether an encoded value is available for a string.
         */
        containsValue(key: string):boolean;
        /**
         * Encodes an array of the given Objective-C type, provided the number of items and a pointer.
         */
        encodeArray(type: UnsafePointer<CChar>, count: number, array: UnsafeRawPointer):void;
        /**
         * Encodes a Boolean value and associates it with the string 
         * .
         */
        encode(value: boolean, key: string):void;
        /**
         * An encoding method for subclasses to override such that it creates a copy, rather than a proxy, when decoded.
         */
        encodeBycopyObject(anObject: any):void;
        /**
         * An encoding method for subclasses to override such that it creates a proxy, rather than a copy, when decoded.
         */
        encodeByrefObject(anObject: any):void;
        /**
         * Encodes a buffer of data of an unspecified type.
         */
        encodeBytes(byteaddr: UnsafeRawPointer | null, length: number):void;
        /**
         * An encoding method for subclasses to override to conditionally encode an object, preserving common references to it.
         */
        encodeConditionalObject(object: any):void;
        /**
         * Encodes a C integer value and associates it with the string key.
         */
        encodeCInt(value: Int32, key: string):void;
        /**
         * Encodes a property list.
         */
        encodePropertyList(aPropertyList: any):void;
        /**
         * An encoding method for subclasses to override to encode an interconnected group of objects, starting with the provided root object.
         */
        encodeRootObject(rootObject: any):void;
        /**
         * Encodes a value of the given type at the given address.
         */
        encodeValue(type: UnsafePointer<CChar>, addr: UnsafeRawPointer):void;
        /**
         * Decode an object as one of several expected types, failing if the archived type doesn’t match any of the types.
         */
        decodeObject(classes: AnyClass[] | null, key: string):any;
        /**
         * Decodes a previously-encoded object.
         */
        decodeTopLevelObject():any;
        /**
         * Decodes an array of 
         *  items, whose Objective-C type is given by 
         * .
         */
        decodeArray(itemType: UnsafePointer<CChar>, count: number, array: UnsafeMutableRawPointer):void;
        /**
         * Decodes and returns a boolean value that was previously encoded with 
         *  and associated with the string 
         * .
         */
        decodeBool(key: string):boolean;
        /**
         * Decodes a buffer of data that was previously encoded with 
         *  and associated with the string 
         * .
         */
        decodeBytes(key: string, lengthp: UnsafeMutablePointer<Int> | null):UnsafePointer<UInt8> | null;
        /**
         * Decodes and returns an 
         *  object that was previously encoded with 
         * . Subclasses must override this method.
         */
        decodeData():Data | null;
        /**
         * Decodes and returns a double value that was previously encoded with either 
         *  or 
         *  and associated with the string 
         * .
         */
        decodeDouble(key: string):number;
        /**
         * Decodes and returns a float value that was previously encoded with 
         *  or 
         *  and associated with the string 
         * .
         */
        decodeFloat(key: string):Float;
        /**
         * Decodes and returns an int value that was previously encoded with 
         * , 
         * , 
         * , or 
         *  and associated with the string 
         * .
         */
        decodeCInt(key: string):Int32;
        /**
         * Decodes and returns an NSInteger value that was previously encoded with 
         * , 
         * , 
         * , or 
         *  and associated with the string 
         * .
         */
        decodeInteger(key: string):number;
        /**
         * Decodes and returns a 32-bit integer value that was previously encoded with 
         * , 
         * , 
         * , or 
         *  and associated with the string 
         * .
         */
        decodeInt32(key: string):Int32;
        /**
         * Decodes and returns a 64-bit integer value that was previously encoded with 
         * , 
         * , 
         * , or 
         *  and associated with the string 
         * .
         */
        decodeInt64(key: string):Int64;
        /**
         * Decodes and returns an NSPoint structure that was previously encoded with 
         * .
         */
        decodePoint():NSPoint;
        /**
         * Decodes a property list that was previously encoded with 
         * .
         */
        decodePropertyList():any;
        /**
         * Decodes and returns an NSRect structure that was previously encoded with 
         * .
         */
        decodeRect():NSRect;
        /**
         * Decodes and returns an NSSize structure that was previously encoded with 
         * .
         */
        decodeSize():NSSize;
        /**
         * Decodes a single value, whose Objective-C type is given by 
         * .
         */
        decodeValue(type: UnsafePointer<CChar>, data: UnsafeMutableRawPointer):void;
        /**
         * Decodes and returns the Core Graphics affine transform structure associated with the specified key in the coder’s archive. 
         */
        decodeCGAffineTransform(key: string):CGAffineTransform;
        /**
         * Decodes and returns the Core Graphics point structure associated with the specified key in the coder’s archive. 
         */
        decodeCGPoint(key: string):CGPoint;
        /**
         * Decodes and returns the Core Graphics rectangle structure associated with the specified key in the coder’s archive. 
         */
        decodeCGRect(key: string):CGRect;
        /**
         * Decodes and returns the Core Graphics size structure associated with the specified key in the coder’s archive. 
         */
        decodeCGSize(key: string):CGSize;
        /**
         * Decodes and returns the Core Graphics vector data associated with the specified key in the coder’s archive.
         */
        decodeCGVector(key: string):CGVector;
        /**
         * Decodes and returns the UIKit directional edge insets structure associated with the specified key in the coder’s archive.
         */
        decodeDirectionalEdgeInsets(key: string):NSDirectionalEdgeInsets;
        /**
         * Decodes and returns the UIKit edge insets structure associated with the specified key in the coder’s archive.
         */
        decodeUIEdgeInsets(key: string):UIEdgeInsets;
        /**
         * Decodes and returns the UIKit offset structure associated with the specified key in the coder’s archive. 
         */
        decodeUIOffset(key: string):UIOffset;
        /**
         * Returns the Core Media time structure associated with a given key.
         */
        decodeTime(key: string):CMTime;
        /**
         * Returns the Core Media time range structure associated with a given key.
         */
        decodeTimeRange(key: string):CMTimeRange;
        /**
         * Returns the Core Media time mapping structure associated with a given key.
         */
        decodeTimeMapping(key: string):CMTimeMapping;
        /**
         * Signals to this coder that the decode operation has failed.
         */
        failWithError(error: Error):void;
        /**
         * This method is present for historical reasons and is not used with keyed archivers.
         */
        version(className: string):number;
        decodeArrayOfObjects(classes: AnyClass[], key: string):any[] | null;
        decodeDictionary(keyClasses: AnyClass[], classes: AnyClass[], key: string):Record<AnyHashable, any> | null;
    }
    /**
     * the same name namespace of class NSCoder
     */
    export namespace NSCoder {
        export enum DecodingFailurePolicy {
            raiseException = 0,
            setErrorAndReturn = 1,
        }
    }
    export class NSSecureUnarchiveFromDataTransformer extends ValueTransformer {
        /**
         * A list of allowed classes the top-level object in an archive must conform to, for encoding and decoding.
         */
        static allowedTopLevelClasses: AnyClass[];
    }
    export class NSArchiver extends NSCoder {
        /**
         * The receiver's archive data.
         */
        archiverData: NSMutableData;
        /**
         * Returns an archiver, initialized to encode stream and version information into a given mutable data object.
         */
        constructor (mdata: NSMutableData);
        /**
         * Returns a data object containing the encoded form of the object graph whose root object is given.
         */
        static archivedData(rootObject: any):Data;
        /**
         * Creates a temporary instance of 
         *  and archives an object graph by encoding it into a data object and writing the resulting data object to a specified file.
         */
        static archiveRootObject(rootObject: any, path: string):boolean;
        /**
         * Archives a given object along with all the objects to which it is connected.
         */
        encodeRootObject(rootObject: any):void;
        /**
         * Conditionally archives a given object.
         */
        encodeConditionalObject(object: any):void;
        /**
         * Returns the name of the class used to archive instances of the class with a given true name.
         */
        classNameEncoded(trueName: string):string;
        /**
         * Encodes a substitute name for the class with a given true name.
         */
        encodeClassName(trueName: string, inArchiveName: string):void;
        /**
         * Causes the receiver to treat subsequent requests to encode a given object as though they were requests to encode another given object.
         */
        replace(object: any, newObject: any):void;
    }
    export class NSUnarchiver extends NSCoder {
        /**
         * A Boolean value that indicates whether the receiver has reached the end of the encoded data while decoding.
         */
        isAtEnd: boolean;
        /**
         * The system version number in effect when the archive was created.
         */
        systemVersion: UInt32;
        /**
         * Returns an 
         *  object initialized to read an archive from a given data object. 
         */
        constructor (data: Data);
        /**
         * Decodes and returns the object archived in a given 
         *  object.
         */
        static unarchiveObject(data: Data):any;
        /**
         * Returns the name of the class used when instantiating objects whose ostensible class, according to the archived data, is a given name.
         */
        static classNameDecoded(inArchiveName: string):string;
        /**
         * Instructs instances of 
         *  to use the class with a given name when instantiating objects whose ostensible class, according to the archived data, is another given name.
         */
        static decodeClassName(inArchiveName: string, trueName: string):void;
        /**
         * Causes the receiver to substitute one given object for another whenever the latter is extracted from the archive.
         */
        replace(object: any, newObject: any):void;
    }
    export class UserDefaults extends NSObject {
        /**
         * Returns the shared defaults object.
         */
        static standard: UserDefaults;
        /**
         * The domain consisting of defaults parsed from the application’s arguments. These are one or more pairs of the form
         *  included in the command-line invocation of the application. 
         */
        static argumentDomain: string;
        /**
         * The domain consisting of defaults meant to be seen by all applications.
         */
        static globalDomain: string;
        /**
         * The domain consisting of a set of temporary defaults whose values can be set by the application to ensure that searches will always be successful.
         */
        static registrationDomain: string;
        /**
         * Posted when user defaults are changed within the current process.
         */
        static didChangeNotification: NSNotification.Name;
        /**
         * Posted when more data is stored in user defaults than is allowed. 
         */
        static sizeLimitExceededNotification: NSNotification.Name;
        /**
         * Posted when ubiquitous defaults finish downloading data, either the first time a device is connected to an iCloud account or when a user switches their primary iCloud account.
         */
        static completedInitialCloudSyncNotification: NSNotification.Name;
        /**
         * Posted when the user changes the primary iCloud account.
         */
        static didChangeCloudAccountsNotification: NSNotification.Name;
        /**
         * Posted when a cloud default is set, but no iCloud user is logged in.
         */
        static noCloudAccountNotification: NSNotification.Name;
        /**
         * The current volatile domain names.
         */
        volatileDomainNames: string[];
        /**
         * Creates a user defaults object initialized with the defaults for the app and current user.
         */
        constructor ();
        /**
         * Creates a user defaults object initialized with the defaults for the specified database name.
         */
        constructor (suitename: string);
        /**
         * Creates a user defaults object initialized with the defaults for the specified user account.
         */
        constructor (username: string);
        /**
         * This method has no effect and shouldn't be used.
         */
        static resetStandardUserDefaults():void;
        /**
         * Returns the object associated with the specified key.
         */
        object(defaultName: string):any;
        /**
         * Returns the URL associated with the specified key.
         */
        url(defaultName: string):URL | null;
        /**
         * Returns the array associated with the specified key.
         */
        array(defaultName: string):any[] | null;
        /**
         * Returns the dictionary object associated with the specified key.
         */
        dictionary(defaultName: string):Record<string, any> | null;
        /**
         * Returns the string associated with the specified key.
         */
        string(defaultName: string):string;
        /**
         * Returns the array of strings associated with the specified key.
         */
        stringArray(defaultName: string):string[] | null;
        /**
         * Returns the data object associated with the specified key.
         */
        data(defaultName: string):Data | null;
        /**
         * Returns the Boolean value associated with the specified key.
         */
        bool(defaultName: string):boolean;
        /**
         * Returns the integer value associated with the specified key.
         */
        integer(defaultName: string):number;
        /**
         * Returns the float value associated with the specified key.
         */
        float(defaultName: string):Float;
        /**
         * Returns the double value associated with the specified key.
         */
        double(defaultName: string):number;
        /**
         * Returns a dictionary that contains a union of all key-value pairs in the domains in the search list.
         */
        dictionaryRepresentation():Record<string, any>;
        /**
         * Sets the value of the specified default key.
         */
        set(value: any, defaultName: string):void;
        /**
         * Removes the value of the specified default key.
         */
        removeObject(defaultName: string):void;
        /**
         * Inserts the specified domain name into the receiver’s search list.
         */
        addSuite(suiteName: string):void;
        /**
         * Removes the specified domain name from the receiver’s search list.
         */
        removeSuite(suiteName: string):void;
        /**
         * Adds the contents of the specified dictionary to the registration domain.
         */
        register(registrationDictionary: Record<string, any>):void;
        /**
         * Returns a dictionary representation of the defaults for the specified domain.
         */
        persistentDomain(domainName: string):Record<string, any> | null;
        /**
         * Sets a dictionary for the specified persistent domain.  
         */
        setPersistentDomain(domain: Record<string, any>, domainName: string):void;
        /**
         * Removes the contents of the specified persistent domain from the user’s defaults.
         */
        removePersistentDomain(domainName: string):void;
        /**
         * Returns an array of the current persistent domain names.
         */
        persistentDomainNames():any[];
        /**
         * Returns the dictionary for the specified volatile domain.  
         */
        volatileDomain(domainName: string):Record<string, any>;
        /**
         * Sets the dictionary for the specified volatile domain.  
         */
        setVolatileDomain(domain: Record<string, any>, domainName: string):void;
        /**
         * Removes the specified volatile domain from the user’s defaults.
         */
        removeVolatileDomain(domainName: string):void;
        /**
         * Returns a Boolean value indicating whether the specified key is managed by an administrator.
         */
        objectIsForced(key: string):boolean;
        /**
         * Waits for any pending asynchronous updates to the defaults database and returns; this method is unnecessary and shouldn't be used.
         */
        synchronize():boolean;
    }
    export class NSUbiquitousKeyValueStore extends NSObject {
        /**
         * Returns the shared iCloud key-value store object.
         */
        static default: NSUbiquitousKeyValueStore;
        /**
         * Posted when the value of one or more keys in the local key-value store changed due to incoming data pushed from iCloud.
         */
        static didChangeExternallyNotification: NSNotification.Name;
        /**
         * A dictionary containing all of the key-value pairs in the key-value store.
         */
        dictionaryRepresentation: Record<string, any>;
        /**
         * Returns the array associated with the specified key.
         */
        array(aKey: string):any[] | null;
        /**
         * Returns the Boolean value associated with the specified key.
         */
        bool(aKey: string):boolean;
        /**
         * Returns the data object associated with the specified key.
         */
        data(aKey: string):Data | null;
        /**
         * Returns the dictionary object associated with the specified key.
         */
        dictionary(aKey: string):Record<string, any> | null;
        /**
         * Returns the double value associated with the specified key.
         */
        double(aKey: string):number;
        /**
         * Returns the 
         *  value associated with the specified key.
         */
        longLong(aKey: string):Int64;
        /**
         * Returns the object associated with the specified key.
         */
        object(aKey: string):any;
        /**
         * Returns the string associated with the specified key.
         */
        string(aKey: string):string;
        /**
         * Sets an array object for the specified key in the key-value store. 
         */
        set(anArray: any[] | null, aKey: string):void;
        /**
         * Explicitly synchronizes in-memory keys and values with those stored on disk.
         */
        synchronize():boolean;
        /**
         * Removes the value associated with the specified key from the key-value store.
         */
        removeObject(aKey: string):void;
    }
    export class NSMetadataQuery extends NSObject {
        /**
         * An array containing the search scopes.
         */
        searchScopes: any[];
        /**
         * The predicate used to filter query results.
         */
        predicate: NSPredicate | null;
        /**
         * An array of sort descriptor objects.
         */
        sortDescriptors: NSSortDescriptor[];
        /**
         * An array of attributes whose values are gathered by the query.
         */
        valueListAttributes: string[];
        /**
         * An array of grouping attributes. (read-only)
         */
        groupingAttributes: string[] | null;
        /**
         * The interval at which notification of updated results occurs.
         */
        notificationBatchingInterval: TimeInterval;
        /**
         * The query’s delegate.
         */
        delegate: NSMetadataQueryDelegate | null;
        /**
         * An array of objects that define the query’s scope.
         */
        searchItems: any[] | null;
        /**
         * A Boolean value that indicates whether the query has started. (read-only)
         */
        isStarted: boolean;
        /**
         * A Boolean value that indicates whether the receiver is in the initial gathering phase of the query. (read-only)
         */
        isGathering: boolean;
        /**
         * A Boolean value that indicates whether the query has stopped.
         */
        isStopped: boolean;
        /**
         * An array containing the query’s results.
         */
        results: any[];
        /**
         * The number of results returned by the query. (read-only)
         */
        resultCount: number;
        /**
         * An array containing hierarchical groups of query results. (read-only)
         */
        groupedResults: NSMetadataQueryResultGroup[];
        /**
         * A dictionary containing the value lists generated by the query.
         */
        valueLists: Record<string, NSMetadataQueryAttributeValueTuple[]>;
        /**
         * The queue on which query result notifications are posted.
         */
        operationQueue: OperationQueue | null;
        /**
         * Attempts to start the query.
         */
        start():boolean;
        /**
         * Stops the receiver’s current query from gathering any further results.
         */
        stop():void;
        /**
         * Returns the query result at a specific index.
         */
        result(idx: number):any;
        /**
         * Returns the index of a query result object in the receiver’s results array.
         */
        index(result: any):number;
        /**
         * Enumerates the current set of results using the given block.
         */
        enumerateResults(block: ()=>any):void;
        /**
         * Returns the value for the attribute name 
         *  at the index in the results specified by 
         * .
         */
        value(attrName: string, idx: number):any;
        /**
         * Enables updates to the query results.
         */
        enableUpdates():void;
        /**
         * Disables updates to the query results.
         */
        disableUpdates():void;
    }
    export class NSMetadataQueryResultGroup extends NSObject {
        /**
         * The result group’s attribute name.
         */
        attribute: string;
        /**
         * The result group’s value.
         */
        value: any;
        /**
         * An array containing the result group’s result objects.
         */
        results: any[];
        /**
         * The number of results returned by the result group.
         */
        resultCount: number;
        /**
         * An array containing the result group’s subgroups.
         */
        subgroups: NSMetadataQueryResultGroup[] | null;
        /**
         * Returns the query result at a specific index.
         */
        result(idx: number):any;
    }
    export class NSMetadataQueryAttributeValueTuple extends NSObject {
        /**
         * The attribute name for the tuple’s value.
         */
        attribute: string;
        /**
         * The number of instances of the value for the tuple’s attribute.
         */
        count: number;
        /**
         * The value of the tuple’s attribute.
         */
        value: any;
    }
    export class StringTransform {
        /**
         * A constant containing the transliteration of a string from any script to Latin script.
         */
        static toLatin: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Arabic script.
         */
        static latinToArabic: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Cyrillic script.
         */
        static latinToCyrillic: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Greek script. 
         */
        static latinToGreek: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Hangul script.
         */
        static latinToHangul: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Hebrew script.
         */
        static latinToHebrew: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Hiragana script.
         */
        static latinToHiragana: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Katakana script.
         */
        static latinToKatakana: StringTransform;
        /**
         * A constant containing the transliteration of a string from Latin script to Thai script.
         */
        static latinToThai: StringTransform;
        /**
         * A constant containing the transliteration of a string from Hiragana script to Katakana script.
         */
        static hiraganaToKatakana: StringTransform;
        /**
         * A constant containing the transliteration of a string from Han script to Latin.
         */
        static mandarinToLatin: StringTransform;
        /**
         * A constant containing the transformation of a string by removing diacritics.
         */
        static stripDiacritics: StringTransform;
        /**
         * A constant containing the transformation of a string by removing combining marks.
         */
        static stripCombiningMarks: StringTransform;
        /**
         * A constant containing the transformation of a string from full-width CJK characters to half-width forms.
         */
        static fullwidthToHalfwidth: StringTransform;
        /**
         * An identifier for a transform that converts characters to Unicode names.
         */
        static toUnicodeName: StringTransform;
        /**
         * A constant containing the transformation of a string from characters to XML hexadecimal escape codes.
         */
        static toXMLHex: StringTransform;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export interface NSMetadataQueryDelegate extends NSObjectProtocol {
        /**
         * Returns a different object for a given query result object.
         */
        metadataQuery(query: NSMetadataQuery, result: NSMetadataItem):any;
    }
    export class NSMetadataItem extends NSObject {
        /**
         * An array containing the attribute keys for the metadata item’s values.
         */
        attributes: string[];
        /**
         * Initializes a metadata item with a given URL.
         */
        constructor (url: URL);
        /**
         * Returns the receiver’s metadata attribute name specified by a given key.
         */
        value(key: string):any;
        /**
         * Returns a dictionary containing the key-value pairs for the attribute names specified by a given array of keys.
         */
        values(keys: string[]):Record<string, any> | null;
    }
    export class URLSession extends NSObject {
        /**
         * The shared singleton session object.
         */
        static shared: URLSession;
        /**
         * A copy of the configuration object for this session.
         */
        configuration: URLSessionConfiguration;
        /**
         * The delegate assigned when this object was created.
         */
        delegate: URLSessionDelegate | null;
        /**
         * The operation queue provided when this object was created.
         */
        delegateQueue: OperationQueue;
        /**
         * An app-defined descriptive label for the session.
         */
        sessionDescription: string;
        /**
         * Creates a session with the specified session configuration.
         */
        constructor (configuration: URLSessionConfiguration);
        /**
         * Creates a session with the specified session configuration, delegate, and operation queue.
         */
        constructor (configuration: URLSessionConfiguration, delegate: URLSessionDelegate | null, queue: OperationQueue | null);
        constructor ();
        static new():Self;
        /**
         * Retrieves the contents of a URL based on the specified URL request and delivers an asynchronous sequence of bytes.
         */
        bytes(request: URLRequest, delegate: URLSessionTaskDelegate | null):any;
        /**
         * Downloads the contents of a URL based on the specified URL request and delivers the data asynchronously.
         */
        data(request: URLRequest, delegate: URLSessionTaskDelegate | null):any;
        /**
         * Retrieves the contents of a URL based on the specified URL request and delivers the URL of the saved file asynchronously.
         */
        download(request: URLRequest, delegate: URLSessionTaskDelegate | null):any;
        /**
         * Uploads data to a URL based on the specified URL request and delivers the result asynchronously.
         */
        upload(request: URLRequest, bodyData: Data, delegate: URLSessionTaskDelegate | null):any;
        /**
         * Creates a task that retrieves the contents of the specified URL.
         */
        dataTask(url: URL):URLSessionDataTask;
        /**
         * Creates a download task that retrieves the contents of the specified URL and saves the results to a file.
         */
        downloadTask(url: URL):URLSessionDownloadTask;
        /**
         * Creates a task that performs an HTTP request for the specified URL request object and uploads the provided data.
         */
        uploadTask(request: URLRequest, bodyData: Data):URLSessionUploadTask;
        /**
         * Creates a task that establishes a bidirectional TCP/IP connection to a specified hostname and port.
         */
        streamTask(hostname: string, port: number):URLSessionStreamTask;
        /**
         * Creates a WebSocket task for the provided URL.
         */
        webSocketTask(url: URL):URLSessionWebSocketTask;
        /**
         * Invalidates the session, allowing any outstanding tasks to finish.
         */
        finishTasksAndInvalidate():void;
        /**
         * Flushes cookies and credentials to disk, clears transient caches, and ensures that future requests occur on a new TCP connection.
         */
        flush(completionHandler: ()=>any):void;
        /**
         * Asynchronously calls a completion callback with all data, upload, and download tasks in a session.
         */
        getTasksWithCompletionHandler(completionHandler: ()=>any):void;
        /**
         * Asynchronously calls a completion callback with all tasks in a session
         */
        getAllTasks(completionHandler: ()=>any):void;
        /**
         * Cancels all outstanding tasks and then invalidates the session.
         */
        invalidateAndCancel():void;
        /**
         * Empties all cookies, caches and credential stores, removes disk files, flushes in-progress downloads to disk, and ensures that future requests occur on a new socket.
         */
        reset(completionHandler: ()=>any):void;
        /**
         * Returns a publisher that wraps a URL session data task for a given URL request.
         */
        dataTaskPublisher(request: URLRequest):URLSession.DataTaskPublisher;
    }
    /**
     * the same name namespace of class URLSession
     */
    export namespace URLSession {
        export enum AuthChallengeDisposition {
            useCredential = 0,
            performDefaultHandling = 1,
            cancelAuthenticationChallenge = 2,
            rejectProtectionSpace = 3,
        }
        export enum DelayedRequestDisposition {
            cancel = 2,
            continueLoading = 0,
            useNewRequest = 1,
        }
        export class AsyncBytes {
            /**
             * The bytes loaded by the session, as an asychronous sequence of characters.
             */
            characters: AsyncCharacterSequence<URLSession.AsyncBytes>;
            /**
             * The bytes loaded by the session, as an asychronous sequence of Unicode scalar values.
             */
            unicodeScalars: AsyncUnicodeScalarSequence<URLSession.AsyncBytes>;
            /**
             * The bytes loaded by the session, as an asychronous sequence of lines of text.
             */
            lines: AsyncLineSequence<URLSession.AsyncBytes>;
            /**
             * The URL session task that performs the data transfer.
             */
            task: URLSessionDataTask;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: UInt8):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UInt8 | null;
            /**
             * Returns the minimum element in an asynchronous sequence of comparable elements.
             */
            min():UInt8 | null;
            /**
             * Returns the maximum element in an asynchronous sequence of comparable elements.
             */
            max():UInt8 | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<URLSession.AsyncBytes>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<URLSession.AsyncBytes>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<URLSession.AsyncBytes>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<URLSession.AsyncBytes>;
            makeAsyncIterator():URLSession.AsyncBytes.Iterator;
        }
        /**
         * the same name namespace of class AsyncBytes
         */
        export namespace AsyncBytes {
            export class Iterator {
                next():UInt8 | null;
            }
        }
        export enum ResponseDisposition {
            cancel = 0,
            allow = 1,
            becomeDownload = 2,
            becomeStream = 3,
        }
        export class DataTaskPublisher {
            /**
             * The URL request performed by the data task associated with this publisher.
             */
            request: URLRequest;
            /**
             * The URL session that performs the data task associated with this publisher.
             */
            session: URLSession;
            values: AsyncThrowingPublisher<URLSession.DataTaskPublisher>;
            /**
             * Creates a data task publisher from the provided URL request and URL session.
             */
            constructor (request: URLRequest, session: URLSession);
            allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<URLSession.DataTaskPublisher>;
            append(...elements: any):any;
            assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<URLSession.DataTaskPublisher>;
            breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<URLSession.DataTaskPublisher>;
            breakpointOnError():Publishers.Breakpoint<URLSession.DataTaskPublisher>;
            buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<URLError>):Publishers.Buffer<URLSession.DataTaskPublisher>;
            collect():Publishers.Collect<URLSession.DataTaskPublisher>;
            contains(predicate: ()=>any):Publishers.ContainsWhere<URLSession.DataTaskPublisher>;
            count():Publishers.Count<URLSession.DataTaskPublisher>;
            drop(predicate: ()=>any):Publishers.DropWhile<URLSession.DataTaskPublisher>;
            dropFirst(count: number):Publishers.Drop<URLSession.DataTaskPublisher>;
            eraseToAnyPublisher():any;
            filter(isIncluded: ()=>any):Publishers.Filter<URLSession.DataTaskPublisher>;
            first():Publishers.First<URLSession.DataTaskPublisher>;
            handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<URLSession.DataTaskPublisher>;
            ignoreOutput():Publishers.IgnoreOutput<URLSession.DataTaskPublisher>;
            last():Publishers.Last<URLSession.DataTaskPublisher>;
            max(areInIncreasingOrder: ()=>any):Publishers.Comparison<URLSession.DataTaskPublisher>;
            merge(other: URLSession.DataTaskPublisher):Publishers.MergeMany<URLSession.DataTaskPublisher>;
            min(areInIncreasingOrder: ()=>any):Publishers.Comparison<URLSession.DataTaskPublisher>;
            output(index: number):Publishers.Output<URLSession.DataTaskPublisher>;
            prefix(maxLength: number):Publishers.Output<URLSession.DataTaskPublisher>;
            prepend(...elements: any):any;
            print(prefix: string, stream: TextOutputStream | null):Publishers.Print<URLSession.DataTaskPublisher>;
            removeDuplicates(predicate: ()=>any):Publishers.RemoveDuplicates<URLSession.DataTaskPublisher>;
            replaceEmpty(output: any):Publishers.ReplaceEmpty<URLSession.DataTaskPublisher>;
            replaceError(output: any):Publishers.ReplaceError<URLSession.DataTaskPublisher>;
            retry(retries: number):Publishers.Retry<URLSession.DataTaskPublisher>;
            share():Publishers.Share<URLSession.DataTaskPublisher>;
            sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
            tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<URLSession.DataTaskPublisher>;
            tryContains(predicate: Bool):Publishers.TryContainsWhere<URLSession.DataTaskPublisher>;
            tryDrop(predicate: Bool):Publishers.TryDropWhile<URLSession.DataTaskPublisher>;
            tryFilter(isIncluded: Bool):Publishers.TryFilter<URLSession.DataTaskPublisher>;
            tryFirst(predicate: Bool):Publishers.TryFirstWhere<URLSession.DataTaskPublisher>;
            tryLast(predicate: Bool):Publishers.TryLastWhere<URLSession.DataTaskPublisher>;
            tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<URLSession.DataTaskPublisher>;
            tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<URLSession.DataTaskPublisher>;
            tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<URLSession.DataTaskPublisher>;
            tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<URLSession.DataTaskPublisher>;
        }
    }
    export class URLSessionConfiguration extends NSObject {
        /**
         * A default session configuration object.
         */
        static default: URLSessionConfiguration;
        /**
         * A session configuration that uses no persistent storage for caches, cookies, or credentials.
         */
        static ephemeral: URLSessionConfiguration;
        /**
         * The background session identifier of the configuration object.
         */
        identifier: string;
        /**
         * A dictionary of additional headers to send with requests.
         */
        httpAdditionalHeaders: Record<AnyHashable, any> | null;
        /**
         * The type of network service for all tasks within sessions based on this configuration.
         */
        networkServiceType: NSURLRequest.NetworkServiceType;
        /**
         * A Boolean value that determines whether connections should be made over a cellular network.
         */
        allowsCellularAccess: boolean;
        /**
         * The timeout interval to use when waiting for additional data.
         */
        timeoutIntervalForRequest: TimeInterval;
        /**
         * The maximum amount of time that a resource request should be allowed to take.
         */
        timeoutIntervalForResource: TimeInterval;
        /**
         * The identifier for the shared container into which files in background URL sessions should be downloaded.
         */
        sharedContainerIdentifier: string;
        /**
         * A Boolean value that indicates whether the session should wait for connectivity to become available, or fail immediately.
         */
        waitsForConnectivity: boolean;
        /**
         * A policy constant that determines when cookies should be accepted.
         */
        httpCookieAcceptPolicy: HTTPCookie.AcceptPolicy;
        /**
         * A Boolean value that determines whether requests should contain cookies from the cookie store.
         */
        httpShouldSetCookies: boolean;
        /**
         * The cookie store for storing cookies within this session.
         */
        httpCookieStorage: HTTPCookieStorage | null;
        /**
         * The minimum TLS protocol version that the client should accept when making connections in this session.
         */
        tlsMinimumSupportedProtocolVersion: tls_protocol_version_t;
        /**
         * The maximum TLS protocol version that the client should request when making connections in this session.
         */
        tlsMaximumSupportedProtocolVersion: tls_protocol_version_t;
        /**
         * A credential store that provides credentials for authentication.
         */
        urlCredentialStorage: URLCredentialStorage | null;
        /**
         * The minimum TLS protocol to accept during protocol negotiation.
         */
        tlsMinimumSupportedProtocol: SSLProtocol;
        /**
         * The maximum TLS protocol version that the client should request when making connections in this session.
         */
        tlsMaximumSupportedProtocol: SSLProtocol;
        /**
         * The URL cache for providing cached responses to requests within the session.
         */
        urlCache: URLCache | null;
        /**
         * A predefined constant that determines when to return a response from the cache.
         */
        requestCachePolicy: NSURLRequest.CachePolicy;
        /**
         * A Boolean value that indicates whether the app should be resumed or launched in the background when transfers finish.
         */
        sessionSendsLaunchEvents: boolean;
        /**
         * A Boolean value that determines whether background tasks can be scheduled at the discretion of the system for optimal performance.
         */
        isDiscretionary: boolean;
        /**
         * A Boolean value that indicates whether TCP connections should be kept open when the app moves to the background.
         */
        shouldUseExtendedBackgroundIdleMode: boolean;
        /**
         * An array of extra protocol subclasses that handle requests in a session.
         */
        protocolClasses: AnyClass[] | null;
        /**
         * A service type that specifies the Multipath TCP connection policy for transmitting data over Wi-Fi and cellular interfaces.
         */
        multipathServiceType: URLSessionConfiguration.MultipathServiceType;
        /**
         * The maximum number of simultaneous connections to make to a given host.
         */
        httpMaximumConnectionsPerHost: number;
        /**
         * A Boolean value that determines whether the session should use HTTP pipelining.
         */
        httpShouldUsePipelining: boolean;
        /**
         * A dictionary containing information about the proxy to use within this session.
         */
        connectionProxyDictionary: Record<AnyHashable, any> | null;
        /**
         * A Boolean value that indicates whether connections may use the network when the user has specified Low Data Mode.
         */
        allowsConstrainedNetworkAccess: boolean;
        /**
         * A Boolean value that indicates whether connections may use a network interface that the system considers expensive.
         */
        allowsExpensiveNetworkAccess: boolean;
        requiresDNSSECValidation: boolean;
        /**
         * Creates an empty session configuration.
         */
        constructor ();
        /**
         * Creates a session configuration object that allows HTTP and HTTPS uploads or downloads to be performed in the background.
         */
        static background(identifier: string):URLSessionConfiguration;
        /**
         * Creates an empty session configuration.
         */
        static new():Self;
        /**
         * Returns a session configuration object that allows HTTP and HTTPS uploads or downloads to be performed in the background.
         */
        static backgroundSessionConfiguration(identifier: string):URLSessionConfiguration;
    }
    /**
     * the same name namespace of class URLSessionConfiguration
     */
    export namespace URLSessionConfiguration {
        export enum MultipathServiceType {
            none = 0,
            handover = 1,
            interactive = 2,
            aggregate = 3,
        }
    }
    export class HTTPCookieStorage extends NSObject {
        /**
         * The shared cookie storage instance.
         */
        static shared: HTTPCookieStorage;
        /**
         * The cookie storage’s cookie accept policy.
         */
        cookieAcceptPolicy: HTTPCookie.AcceptPolicy;
        /**
         * The cookie storage’s cookies.
         */
        cookies: HTTPCookie[] | null;
        /**
         * Returns the cookie storage instance for the container associated with the specified app group identifier.
         */
        static sharedCookieStorage(identifier: string):HTTPCookieStorage;
        /**
         * Removes cookies that were stored after a given date.
         */
        removeCookies(date: Date):void;
        /**
         * Deletes the specified cookie from the cookie storage.
         */
        deleteCookie(cookie: HTTPCookie):void;
        /**
         * Stores a specified cookie in the cookie storage if the cookie accept policy permits.
         */
        setCookie(cookie: HTTPCookie):void;
        /**
         * Adds an array of cookies to the cookie storage if the storage’s cookie acceptance policy permits.
         */
        setCookies(cookies: HTTPCookie[], URL: URL | null, mainDocumentURL: URL | null):void;
        /**
         * Stores an array of cookies in the cookie storage, on behalf of the provided task, if the cookie accept policy permits.
         */
        storeCookies(cookies: HTTPCookie[], task: URLSessionTask):void;
        /**
         * Fetches cookies relevant to the specified task and passes them to the completion handler.
         */
        getCookiesFor(task: URLSessionTask, completionHandler: ()=>any):void;
        /**
         * Returns all of the cookie storage’s cookies, sorted according to a given set of sort descriptors.
         */
        sortedCookies(sortOrder: NSSortDescriptor[]):HTTPCookie[];
    }
    export class HTTPCookie extends NSObject {}
    /**
     * the same name namespace of class HTTPCookie
     */
    export namespace HTTPCookie {
        export enum AcceptPolicy {
            always = 0,
            never = 1,
            onlyFromMainDocumentDomain = 2,
        }
    }
    export class HTTPCookieStringPolicy {
        /**
         * A policy that prohibits a cross-site request from including the cookie.
         */
        static sameSiteStrict: HTTPCookieStringPolicy;
        /**
         * A policy that allows certain cross-site requests to include the cookie.
         */
        static sameSiteLax: HTTPCookieStringPolicy;
        /**
         * Creates an HTTP cookie string policy from the given raw string.
         */
        constructor (rawValue: string);
    }
    export class HTTPCookiePropertyKey {
        /**
         * An 
         *  object containing the comment for the cookie.
         */
        static comment: HTTPCookiePropertyKey;
        /**
         * An 
         *  object or 
         *  object containing the comment URL for the cookie.
         */
        static commentURL: HTTPCookiePropertyKey;
        /**
         * An 
         *  object stating whether the cookie should be discarded at the end of the session. 
         */
        static discard: HTTPCookiePropertyKey;
        /**
         * An 
         *  object containing the domain for the cookie. 
         */
        static domain: HTTPCookiePropertyKey;
        /**
         * An 
         *  object or 
         *  object specifying the expiration date for the cookie. 
         */
        static expires: HTTPCookiePropertyKey;
        /**
         * An 
         *  object containing an integer value stating how long in seconds the cookie should be kept, at most.
         */
        static maximumAge: HTTPCookiePropertyKey;
        /**
         * An 
         *  object containing the name of the cookie (required).
         */
        static name: HTTPCookiePropertyKey;
        /**
         * An NSURL or 
         *  object containing the URL that set this cookie. 
         */
        static originURL: HTTPCookiePropertyKey;
        /**
         * An 
         *  object containing the path for the cookie.
         */
        static path: HTTPCookiePropertyKey;
        /**
         * An 
         *  object containing comma-separated integer values specifying the ports for the cookie.
         */
        static port: HTTPCookiePropertyKey;
        /**
         * A string indicating the same-site policy for the cookie.
         */
        static sameSitePolicy: HTTPCookiePropertyKey;
        /**
         * An 
         *  object indicating that the cookie should be transmitted only over secure channels.
         */
        static secure: HTTPCookiePropertyKey;
        /**
         * An 
         *  object containing the value of the cookie. 
         */
        static value: HTTPCookiePropertyKey;
        /**
         * An 
         *  object that specifies the version of the cookie.
         */
        static version: HTTPCookiePropertyKey;
        /**
         * Creates an HTTP cookie property key using the given string.
         */
        constructor (rawValue: string);
        /**
         * Creates an HTTP cookie property key using the given string.
         */
        constructor (rawValue: string);
    }
    export class URLProtocol extends NSObject {
        /**
         * The protocol’s cached response.
         */
        cachedResponse: CachedURLResponse | null;
        /**
         * The object the protocol uses to communicate with the URL loading system.
         */
        client: URLProtocolClient | null;
        /**
         * The protocol’s request.
         */
        request: URLRequest;
        /**
         * The protocol’s task.
         */
        task: URLSessionTask | null;
        /**
         * Creates a URL protocol instance to handle the request.
         */
        constructor (request: URLRequest, cachedResponse: CachedURLResponse | null, client: URLProtocolClient | null);
        /**
         * Creates a URL protocol instance to handle the task.
         */
        constructor (task: URLSessionTask, cachedResponse: CachedURLResponse | null, client: URLProtocolClient | null);
        /**
         * Attempts to register a subclass of 
         * , making it visible to the URL loading system.
         */
        static registerClass(protocolClass: AnyClass):boolean;
        /**
         * Unregisters the specified subclass of 
         * .
         */
        static unregisterClass(protocolClass: AnyClass):void;
        /**
         * Determines whether the protocol subclass can handle the specified request.
         */
        static canInit(request: URLRequest):boolean;
        /**
         * Fetches the property associated with the specified key in the specified request.
         */
        static property(key: string, request: URLRequest):any;
        /**
         * Sets the property associated with the specified key in the specified request.
         */
        static setProperty(value: any, key: string, request: NSMutableURLRequest):void;
        /**
         * Removes the property associated with the specified key in the specified request.
         */
        static removeProperty(key: string, request: NSMutableURLRequest):void;
        /**
         * Returns a canonical version of the specified request.
         */
        static canonicalRequest(request: URLRequest):URLRequest;
        /**
         * A Boolean value indicating whether two requests are equivalent for cache purposes.
         */
        static requestIsCacheEquivalent(a: URLRequest, b: URLRequest):boolean;
        /**
         * Starts protocol-specific loading of the request.
         */
        startLoading():void;
        /**
         * Stops protocol-specific loading of the request.
         */
        stopLoading():void;
    }
    export interface URLProtocolClient extends NSObjectProtocol {
        /**
         * Tells the client that the protocol implementation has created a response object for the request.
         */
        urlProtocol(protocol: URLProtocol, response: URLResponse, policy: URLCache.StoragePolicy):void;
        /**
         * Tells the client that the protocol implementation has finished loading.
         */
        urlProtocolDidFinishLoading(protocol: URLProtocol):void;
    }
    export interface URLSessionDelegate extends NSObjectProtocol,Sendable {
        /**
         * Tells the URL session that the session has been invalidated.
         */
        urlSession(session: URLSession, error: Error | null):void;
        /**
         * Tells the delegate that all messages enqueued for a session have been delivered.
         */
        urlSessionDidFinishEvents(session: URLSession):void;
    }
    export interface URLSessionTaskDelegate extends URLSessionDelegate {
        /**
         * Tells the delegate that the task finished transferring data.
         */
        urlSession(session: URLSession, task: URLSessionTask, error: Error | null):void;
    }
    export class URLSessionTaskMetrics extends NSObject {
        /**
         * An array of metrics for each individual request-response transaction made during the execution of the task.
         */
        transactionMetrics: URLSessionTaskTransactionMetrics[];
        /**
         * The time interval between when a task is instantiated and when the task is completed.
         */
        taskInterval: DateInterval;
        /**
         * The number of redirects that occurred during the execution of the task.
         */
        redirectCount: number;
        /**
         * Creates a task metrics instance.
         */
        constructor ();
        static new():Self;
    }
    /**
     * the same name namespace of class URLSessionTaskMetrics
     */
    export namespace URLSessionTaskMetrics {
        export enum ResourceFetchType {
            unknown = 0,
            networkLoad = 1,
            serverPush = 2,
            localCache = 3,
        }
        export enum DomainResolutionProtocol {
            https = 4,
            tcp = 2,
            tls = 3,
            udp = 1,
            unknown = 0,
        }
    }
    export class URLSessionTaskTransactionMetrics extends NSObject {
        /**
         * The transaction request.
         */
        request: URLRequest;
        /**
         * The transaction response.
         */
        response: URLResponse | null;
        /**
         * The time when the task started fetching the resource, from the server or locally. 
         */
        fetchStartDate: Date | null;
        /**
         * The time immediately before the task started the name lookup for the resource.
         */
        domainLookupStartDate: Date | null;
        /**
         * The time after the name lookup was completed.
         */
        domainLookupEndDate: Date | null;
        /**
         * The time immediately before the task started establishing a TCP connection to the server.
         */
        connectStartDate: Date | null;
        /**
         * The time immediately before the task started the TLS security handshake to secure the current connection.
         */
        secureConnectionStartDate: Date | null;
        /**
         * The time immediately after the security handshake completed.
         */
        secureConnectionEndDate: Date | null;
        /**
         * The time immediately after the task finished establishing the connection to the server.
         */
        connectEndDate: Date | null;
        /**
         * The time immediately before the task started requesting the resource, regardless of whether it is retrieved from the server or local resources.
         */
        requestStartDate: Date | null;
        /**
         * The time immediately after the task finished requesting the resource, regardless of whether it was retrieved from the server or local resources.
         */
        requestEndDate: Date | null;
        /**
         * The time immediately after the task received the first byte of the response from the server or from local resources.
         */
        responseStartDate: Date | null;
        /**
         * The time immediately after the task received the last byte of the resource.
         */
        responseEndDate: Date | null;
        /**
         * The size of the upload body data, file, or stream, in bytes.
         */
        countOfRequestBodyBytesBeforeEncoding: Int64;
        /**
         * The number of bytes transferred for the request body.
         */
        countOfRequestBodyBytesSent: Int64;
        /**
         * The number of bytes transferred for the request header.
         */
        countOfRequestHeaderBytesSent: Int64;
        /**
         * The size of data delivered to your delegate or completion handler.
         */
        countOfResponseBodyBytesAfterDecoding: Int64;
        /**
         * The number of bytes transferred for the response body.
         */
        countOfResponseBodyBytesReceived: Int64;
        /**
         * The number of bytes transferred for the response header.
         */
        countOfResponseHeaderBytesReceived: Int64;
        /**
         * The network protocol used to fetch the resource.
         */
        networkProtocolName: string;
        /**
         * The IP address string of the remote interface for the connection.
         */
        remoteAddress: string;
        /**
         * The port number of the remote interface for the connection.
         */
        remotePort: number;
        /**
         * The IP address string of the local interface for the connection.
         */
        localAddress: string;
        /**
         * The port number of the local interface for the connection.
         */
        localPort: number;
        /**
         * The TLS cipher suite the task negotiated with the endpoint for the connection.
         */
        negotiatedTLSCipherSuite: tls_ciphersuite_t | null;
        /**
         * The TLS protocol version the task negotiated with the endpoint for the connection.
         */
        negotiatedTLSProtocolVersion: tls_protocol_version_t | null;
        /**
         * A Boolean value that indicates whether the connection operates over a cellular interface.
         */
        isCellular: boolean;
        /**
         * A Boolean value that indicates whether the connection operates over an expensive interface.
         */
        isExpensive: boolean;
        /**
         * A Boolean value that indicates whether the connection operates over an interface marked as constrained.
         */
        isConstrained: boolean;
        /**
         * A Boolean value that indicastes whether the task used a proxy connection to fetch the resource.
         */
        isProxyConnection: boolean;
        /**
         * A Boolean value that indicates whether the task used a persistent connection to fetch the resource.
         */
        isReusedConnection: boolean;
        /**
         * A Boolean value that indicates whether the connection uses a successfully negotiated multipath protocol.
         */
        isMultipath: boolean;
        /**
         * A value that indicates whether the resource was loaded, pushed, or retrieved from the local cache.
         */
        resourceFetchType: URLSessionTaskMetrics.ResourceFetchType;
        domainResolutionProtocol: URLSessionTaskMetrics.DomainResolutionProtocol;
        /**
         * Creates a transaction metrics instance.
         */
        constructor ();
        /**
         * Creates a new transaction metrics instance.
         */
        static new():Self;
    }
    export class StringEncodingDetectionOptionsKey {
        static allowLossyKey: StringEncodingDetectionOptionsKey;
        static disallowedEncodingsKey: StringEncodingDetectionOptionsKey;
        static fromWindowsKey: StringEncodingDetectionOptionsKey;
        static likelyLanguageKey: StringEncodingDetectionOptionsKey;
        static lossySubstitutionKey: StringEncodingDetectionOptionsKey;
        static suggestedEncodingsKey: StringEncodingDetectionOptionsKey;
        static useOnlySuggestedEncodingsKey: StringEncodingDetectionOptionsKey;
        constructor (rawValue: string);
    }
    export class URLSessionDataTask extends URLSessionTask {
        constructor ();
        static new():Self;
    }
    export interface URLSessionDataDelegate extends URLSessionTaskDelegate {
        /**
         * Tells the delegate that the data task received the initial reply (headers) from the server.
         */
        urlSession(session: URLSession, dataTask: URLSessionDataTask, response: URLResponse, completionHandler: ()=>any):void;
    }
    export class URLSessionDownloadTask extends URLSessionTask {
        /**
         * Initializes a download task.
         */
        constructor ();
        /**
         * Creates and initializes a download task.
         */
        static new():Self;
        /**
         * Cancels a download and calls a callback with resume data for later use.
         */
        cancel(completionHandler: ()=>any):void;
    }
    export interface URLSessionDownloadDelegate extends URLSessionTaskDelegate {
        /**
         * Tells the delegate that a download task has finished downloading.
         */
        urlSession(session: URLSession, downloadTask: URLSessionDownloadTask, location: URL):void;
    }
    export class URLSessionUploadTask extends URLSessionDataTask {
        constructor ();
        static new():Self;
    }
    export class URLSessionStreamTask extends URLSessionTask {
        constructor ();
        static new():Self;
        /**
         * Asynchronously reads a number of bytes from the stream, and calls a handler upon completion.
         */
        readData(minBytes: number, maxBytes: number, timeout: TimeInterval, completionHandler: ()=>any):void;
        /**
         * Asynchronously writes the specified data to the stream, and calls a handler upon completion.
         */
        write(data: Data, timeout: TimeInterval, completionHandler: ()=>any):void;
        /**
         * Completes any already enqueued reads and writes, and then invokes the 
         *  delegate message.
         */
        captureStreams():void;
        /**
         * Completes any enqueued reads and writes, and then closes the read side of the underlying socket.
         */
        closeRead():void;
        /**
         * Completes any enqueued reads and writes, and then closes the write side of the underlying socket.
         */
        closeWrite():void;
        /**
         * Completes any enqueued reads and writes, and establishes a secure connection.
         */
        startSecureConnection():void;
        /**
         * Completes any enqueued reads and writes, and closes the secure connection.
         */
        stopSecureConnection():void;
    }
    export interface URLSessionStreamDelegate extends URLSessionTaskDelegate {
        /**
         * Tells the delegate that a better route to the host has been detected for the stream.
         */
        urlSession(session: URLSession, streamTask: URLSessionStreamTask):void;
    }
    export class URLSessionWebSocketTask extends URLSessionTask {
        /**
         * The maximum number of bytes to buffer before the receive call fails with an error.
         */
        maximumMessageSize: number;
        /**
         * A code that indicates the reason a connection closed.
         */
        closeCode: URLSessionWebSocketTask.CloseCode;
        /**
         * A block of data that provides further information about why a connection closed.
         */
        closeReason: Data | null;
        /**
         * Sends a WebSocket message, receiving the result in a completion handler.
         */
        send(message: URLSessionWebSocketTask.Message, completionHandler: ()=>any):void;
        /**
         * Reads a WebSocket message once all the frames of the message are available.
         */
        receive(completionHandler: ()=>any):void;
        /**
         * Sends a ping frame from the client side, with a closure to receive the pong from the server endpoint.
         */
        sendPing(pongReceiveHandler: ()=>any):void;
        /**
         * Sends a close frame with the given close code and optional close reason.
         */
        cancel(closeCode: URLSessionWebSocketTask.CloseCode, reason: Data | null):void;
    }
    /**
     * the same name namespace of class URLSessionWebSocketTask
     */
    export namespace URLSessionWebSocketTask {
        export enum Message {
            data,
            string,
        }
        export enum CloseCode {
            abnormalClosure = 1006,
            goingAway = 1001,
            internalServerError = 1011,
            invalid = 0,
            invalidFramePayloadData = 1007,
            mandatoryExtensionMissing = 1010,
            messageTooBig = 1009,
            noStatusReceived = 1005,
            normalClosure = 1000,
            policyViolation = 1008,
            protocolError = 1002,
            tlsHandshakeFailure = 1015,
            unsupportedData = 1003,
        }
    }
    export interface URLSessionWebSocketDelegate extends URLSessionTaskDelegate {
        /**
         * Tells the delegate that the WebSocket task successfully negotiated the handshake with the endpoint, indicating the negotiated protocol.
         */
        urlSession(session: URLSession, webSocketTask: URLSessionWebSocketTask, protocol: string):void;
    }
    export class URLSessionTask extends NSObject {
        /**
         * The default URL session task priority, used implicitly for any task you have not prioritized.
         */
        static defaultPriority: Float;
        /**
         * A low URL session task priority, with a floating point value above the minimum of 
         *  and below the default value.
         */
        static lowPriority: Float;
        /**
         * A high URL session task priority, with a floating point value above the default value and below the maximum of 
         * .
         */
        static highPriority: Float;
        /**
         * The current state of the task—active, suspended, in the process of being canceled, or completed.
         */
        state: URLSessionTask.State;
        /**
         * The relative priority at which you’d like a host to handle the task, specified as a floating point value between 
         *  (lowest priority) and 
         *  (highest priority).
         */
        priority: Float;
        /**
         * A representation of the overall task progress.
         */
        progress: Progress;
        /**
         * The number of bytes that the task expects to receive in the response body.
         */
        countOfBytesExpectedToReceive: Int64;
        /**
         * The number of bytes that the task has received from the server in the response body.
         */
        countOfBytesReceived: Int64;
        /**
         * The number of bytes that the task expects to send in the request body.
         */
        countOfBytesExpectedToSend: Int64;
        /**
         * The number of bytes that the task has sent to the server in the request body.
         */
        countOfBytesSent: Int64;
        /**
         * The URL request object currently being handled by the task.
         */
        currentRequest: URLRequest | null;
        /**
         * The original request object passed when the task was created.
         */
        originalRequest: URLRequest | null;
        /**
         * The server’s response to the currently active request.
         */
        response: URLResponse | null;
        /**
         * An app-provided string value for the current task.
         */
        taskDescription: string;
        /**
         * An identifier uniquely identifying the task within a given session.
         */
        taskIdentifier: number;
        /**
         * An error object that indicates why the task failed.
         */
        error: Error | null;
        /**
         * A Boolean value that determines whether to deliver a partial response body in increments.
         */
        prefersIncrementalDelivery: boolean;
        /**
         * A delegate specific to the task.
         */
        delegate: URLSessionTaskDelegate | null;
        /**
         * A best-guess upper bound on the number of bytes the client expects to receive.
         */
        countOfBytesClientExpectsToReceive: Int64;
        /**
         * A best-guess upper bound on the number of bytes the client expects to send.
         */
        countOfBytesClientExpectsToSend: Int64;
        /**
         * The earliest date at which the network load should begin.
         */
        earliestBeginDate: Date | null;
        /**
         * Initializes an empty URL sesson task.
         */
        constructor ();
        /**
         * Creates a new URL session task.
         */
        static new():Self;
        /**
         * Cancels the task.
         */
        cancel():void;
        /**
         * Resumes the task, if it is suspended.
         */
        resume():void;
        /**
         * Temporarily suspends a task.
         */
        suspend():void;
    }
    /**
     * the same name namespace of class URLSessionTask
     */
    export namespace URLSessionTask {
        export enum State {
            running = 0,
            suspended = 1,
            canceling = 2,
            completed = 3,
        }
    }
    export class URLRequest {
        /**
         * The request’s cache policy.
         */
        cachePolicy: URLRequest.CachePolicy;
        /**
         * The HTTP request method.
         */
        httpMethod: string;
        /**
         * The URL of the request.
         */
        url: URL | null;
        /**
         * The data sent as the message body of a request, such as for an HTTP POST request.
         */
        httpBody: Data | null;
        /**
         * The stream used to deliver the HTTP body.
         */
        httpBodyStream: InputStream | null;
        /**
         * The main document URL associated with this request.
         */
        mainDocumentURL: URL | null;
        /**
         * A dictionary containing all of the HTTP header fields for a request.
         */
        allHTTPHeaderFields: Record<string, string> | null;
        /**
         * The timeout interval of the request.
         */
        timeoutInterval: TimeInterval;
        /**
         * A Boolean value indicating whether cookies will be sent with and set for this request.
         */
        httpShouldHandleCookies: boolean;
        /**
         * A Boolean value indicating whether the request should transmit before the previous response is received.
         */
        httpShouldUsePipelining: boolean;
        /**
         * A Boolean value indicating whether the request is allowed to use the built-in cellular radios to satisfy the request.
         */
        allowsCellularAccess: boolean;
        /**
         * A Boolean value that indicates whether the request may use the network when the user has specified Low Data Mode.
         */
        allowsConstrainedNetworkAccess: boolean;
        /**
         * A Boolean value that indicates whether connections may use a network interface that the system considers expensive.
         */
        allowsExpensiveNetworkAccess: boolean;
        /**
         * The service type associated with this request.
         */
        networkServiceType: URLRequest.NetworkServiceType;
        /**
         * The entity that initiates the network request.
         */
        attribution: URLRequest.Attribution;
        /**
         * A textual description of the request.
         */
        description: string;
        /**
         * A textual description of the request suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the request.
         */
        customMirror: Mirror;
        /**
         * The computed hash value for the request.
         */
        hashValue: number;
        assumesHTTP3Capable: boolean;
        requiresDNSSECValidation: boolean;
        /**
         * Creates and initializes a URL request with the given URL, cache policy, and timeout interval.
         */
        constructor (url: URL, cachePolicy: URLRequest.CachePolicy, timeoutInterval: TimeInterval);
        /**
         * Adds a value to the header field.
         */
        addValue(value: string, field: string):void;
        /**
         * Sets a value for the header field.
         */
        setValue(value: string, field: string):void;
        /**
         * Retrieves a header value.
         */
        value(field: string):string;
        hash(hasher: Hasher):void;
    }
    export class NSURLRequest extends NSObject {}
    /**
     * the same name namespace of class NSURLRequest
     */
    export namespace NSURLRequest {
        export enum CachePolicy {
            useProtocolCachePolicy = 0,
            reloadIgnoringLocalCacheData = 1,
            reloadIgnoringLocalAndRemoteCacheData = 4,
            returnCacheDataElseLoad = 2,
            returnCacheDataDontLoad = 3,
            reloadRevalidatingCacheData = 5,
        }
        export enum NetworkServiceType {
            default = 0,
            voip = 1,
            video = 2,
            background = 3,
            voice = 4,
            callSignaling = 11,
            responsiveData = 6,
            avStreaming = 8,
            responsiveAV = 9,
        }
    }
    export class NSMutableURLRequest extends NSURLRequest {
        /**
         * The request’s cache policy.
         */
        cachePolicy: NSURLRequest.CachePolicy;
        /**
         * The HTTP request method.
         */
        httpMethod: string;
        /**
         * The URL being requested.
         */
        url: URL | null;
        /**
         * The request body.
         */
        httpBody: Data | null;
        /**
         * The request body as an input stream.
         */
        httpBodyStream: InputStream | null;
        /**
         * The main document URL.
         */
        mainDocumentURL: URL | null;
        /**
         * A dictionary containing all of the HTTP header fields for a request.
         */
        allHTTPHeaderFields: Record<string, string> | null;
        /**
         * The request’s timeout interval, in seconds.
         */
        timeoutInterval: TimeInterval;
        /**
         * A Boolean value that indicates whether the request should use the default cookie handling for the request.
         */
        httpShouldHandleCookies: boolean;
        /**
         * A Boolean value that indicates whether the request can continue transmitting data before receiving a response from an earlier transmission.
         */
        httpShouldUsePipelining: boolean;
        /**
         * A Boolean value that indicates whether a connection can use the device’s cellular network (if present).
         */
        allowsCellularAccess: boolean;
        /**
         * A Boolean value that indicates whether connections may use the network when the user has specified Low Data Mode.
         */
        allowsConstrainedNetworkAccess: boolean;
        /**
         * A Boolean value that indicates whether connections may use a network interface that the system considers expensive.
         */
        allowsExpensiveNetworkAccess: boolean;
        /**
         * The network service type of the connection.
         */
        networkServiceType: NSURLRequest.NetworkServiceType;
        /**
         * The entity that initiates the network request.
         */
        attribution: NSURLRequest.Attribution;
        assumesHTTP3Capable: boolean;
        requiresDNSSECValidation: boolean;
        /**
         * Adds a value to the header field.
         */
        addValue(value: string, field: string):void;
        /**
         * Sets a value for the header field.
         */
        setValue(value: string, field: string):void;
        /**
         * Binds a URL request to the network interface associated with the hotspot helper command instance.
         */
        bind(command: NEHotspotHelperCommand):void;
    }
    export class NSMutableString extends NSString {
        /**
         * Returns an 
         *  object initialized with initial storage for a given number of characters,
         */
        constructor (capacity: number);
        /**
         * Adds to the end of the receiver the characters of a given string.
         */
        append(aString: string):void;
        /**
         * Transliterates the receiver by applying a specified ICU string transform.
         */
        applyTransform(transform: StringTransform, reverse: boolean, range: NSRange, resultingRange: NSRangePointer | null):boolean;
        /**
         * Removes from the receiver the characters in a given range.
         */
        deleteCharacters(range: NSRange):void;
        /**
         * Inserts into the receiver the characters of a given string at a given location.
         */
        insert(aString: string, loc: number):void;
        /**
         * Replaces the characters from 
         *  with those in 
         * .
         */
        replaceCharacters(range: NSRange, aString: string):void;
        /**
         * Replaces all occurrences of a given string in a given range with another given string, returning the number of replacements.
         */
        replaceOccurrences(target: string, replacement: string, options: NSString.CompareOptions, searchRange: NSRange):number;
        /**
         * Replaces the characters of the receiver with those in a given string.
         */
        setString(aString: string):void;
        appendFormat(format: NSString, ...args: CVarArg):void;
    }
    export class URLResponse extends NSObject {
        /**
         * The expected length of the response’s content.
         */
        expectedContentLength: Int64;
        /**
         * A suggested filename for the response data.
         */
        suggestedFilename: string;
        /**
         * The MIME type of the response.
         */
        mimeType: string;
        /**
         * The name of the text encoding provided by the response’s originating source.
         */
        textEncodingName: string;
        /**
         * The URL for the response.
         */
        url: URL | null;
        /**
         * Creates an initialized 
         *  object with the URL, MIME type, length, and text encoding set to given values.
         */
        constructor (URL: URL, MIMEType: string, length: number, name: string);
    }
    export class HTTPURLResponse extends URLResponse {
        /**
         * All HTTP header fields of the response.
         */
        allHeaderFields: Record<AnyHashable, any>;
        /**
         * The response’s HTTP status code.
         */
        statusCode: number;
        /**
         * Initializes an HTTP URL response object with a status code, protocol version, and response headers.
         */
        constructor (url: URL, statusCode: number, HTTPVersion: string, headerFields: Record<string, string> | null);
        /**
         * Returns a localized string corresponding to a specified HTTP status code.
         */
        static localizedString(statusCode: number):string;
        /**
         * Returns the value that corresponds to the given header field.
         */
        value(field: string):string;
    }
    export class CachedURLResponse extends NSObject {
        /**
         * The cached response’s data.
         */
        data: Data;
        /**
         * The URL response object associated with the instance.
         */
        response: URLResponse;
        /**
         * The cached response’s storage policy.
         */
        storagePolicy: URLCache.StoragePolicy;
        /**
         * The cached response’s user info dictionary.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * Creates a cached URL response instance.
         */
        constructor (response: URLResponse, data: Data);
        /**
         * Creates a cached URL response instance with a given server response, data, user-info dictionary, and storage policy.
         */
        constructor (response: URLResponse, data: Data, userInfo: Record<AnyHashable, any> | null, storagePolicy: URLCache.StoragePolicy);
    }
    export class URLCache extends NSObject {}
    /**
     * the same name namespace of class URLCache
     */
    export namespace URLCache {
        export enum StoragePolicy {
            allowed = 0,
            allowedInMemoryOnly = 1,
            notAllowed = 2,
        }
    }
    export class URLAuthenticationChallenge extends NSObject {
        /**
         * The receiver’s protection space.
         */
        protectionSpace: URLProtectionSpace;
        /**
         * The URL response object representing the last authentication failure.
         */
        failureResponse: URLResponse | null;
        /**
         * The receiver’s count of failed authentication attempts.
         */
        previousFailureCount: number;
        /**
         * The proposed credential for this challenge.
         */
        proposedCredential: URLCredential | null;
        /**
         * The error object representing the last authentication failure.
         */
        error: Error | null;
        /**
         * The sender of the challenge.
         */
        sender: URLAuthenticationChallengeSender | null;
        /**
         * Creates an authentication challenge from an existing challenge instance.
         */
        constructor (challenge: URLAuthenticationChallenge, sender: URLAuthenticationChallengeSender);
        /**
         * Initializes an authentication challenge from parameters you provide.
         */
        constructor (space: URLProtectionSpace, credential: URLCredential | null, previousFailureCount: number, response: URLResponse | null, error: Error | null, sender: URLAuthenticationChallengeSender);
    }
    export class URLCredential extends NSObject {
        /**
         * The credential’s user name.
         */
        user: string;
        /**
         * The intermediate certificates of the credential, if it is a client certificate credential.
         */
        certificates: any[];
        /**
         * A Boolean value that indicates whether the credential has a password.
         */
        hasPassword: boolean;
        /**
         * The credential’s password.
         */
        password: string;
        /**
         * The identity of this credential if it is a client certificate credential.
         */
        identity: SecIdentity | null;
        /**
         * The credential’s persistence setting.
         */
        persistence: URLCredential.Persistence;
        /**
         * Creates a URL credential instance for resolving a client certificate authentication challenge.
         */
        constructor (identity: SecIdentity, certArray: any[] | null, persistence: URLCredential.Persistence);
        /**
         * Creates a URL credential instance for server trust authentication, initialized with a accepted trust.
         */
        constructor (trust: SecTrust);
        /**
         * Creates a URL credential instance initialized with a given user name and password, using a given persistence setting.
         */
        constructor (user: string, password: string, persistence: URLCredential.Persistence);
    }
    /**
     * the same name namespace of class URLCredential
     */
    export namespace URLCredential {
        export enum Persistence {
            none = 0,
            forSession = 1,
            permanent = 2,
            synchronizable = 3,
        }
    }
    export class URLCredentialStorage extends NSObject {
        /**
         * The shared URL credential storage instance.
         */
        static shared: URLCredentialStorage;
        /**
         * The credentials for all available protection spaces.
         */
        allCredentials: Record<[String, URLCredential]>;
        /**
         * Returns the default credential for the specified protection space.
         */
        defaultCredential(space: URLProtectionSpace):URLCredential | null;
        /**
         * Gets the default credential for the specified protection space, which is being accessed by the given task, and passes it to the provided completion handler.
         */
        getDefaultCredential(space: URLProtectionSpace, task: URLSessionTask, completionHandler: ()=>any):void;
        /**
         * Sets the default credential for a specified protection space.
         */
        setDefaultCredential(credential: URLCredential, space: URLProtectionSpace):void;
        /**
         * Removes the specified credential from the credential storage for the specified protection space.
         */
        remove(credential: URLCredential, space: URLProtectionSpace):void;
        /**
         * Adds a credential to the credential storage for the specified protection space. 
         */
        set(credential: URLCredential, space: URLProtectionSpace):void;
        /**
         * Returns a dictionary containing the credentials for the specified protection space.
         */
        credentials(space: URLProtectionSpace):Record<string, URLCredential> | null;
        /**
         * Gets a dictionary containing the credentials for the specified protection space, on behalf of the given task, and passes the dictionary to the provided completion handler.
         */
        getCredentials(protectionSpace: URLProtectionSpace, task: URLSessionTask, completionHandler: ()=>any):void;
    }
    export class URLProtectionSpace extends NSObject {
        /**
         * The authentication method used by the receiver.
         */
        authenticationMethod: string;
        /**
         * The acceptable certificate-issuing authorities for client certificate authentication.
         */
        distinguishedNames: Data[] | null;
        /**
         * The receiver’s host.
         */
        host: string;
        /**
         * The receiver’s port.
         */
        port: number;
        /**
         * The receiver’s protocol.
         */
        protocol: string;
        /**
         * The receiver's proxy type.
         */
        proxyType: string;
        /**
         * The receiver’s authentication realm
         */
        realm: string;
        /**
         * A Boolean value that indicates whether the credentials for the protection space can be sent securely.
         */
        receivesCredentialSecurely: boolean;
        /**
         * A representation of the server’s SSL transaction state.
         */
        serverTrust: SecTrust | null;
        /**
         * Creates a protection space object from the given host, port, protocol, realm, and authentication method.
         */
        constructor (host: string, port: number, protocol: string, realm: string, authenticationMethod: string);
        /**
         * Creates a protection space object representing a proxy server. 
         */
        constructor (host: string, port: number, type: string, realm: string, authenticationMethod: string);
        isProxy():boolean;
    }
    export class URLError {
        /**
         * The domain of the URL error.
         */
        static errorDomain: string;
        /**
         * App Transport Security disallowed a connection because there is no secure network connection.
         */
        static appTransportSecurityRequiresSecureConnection: URLError.Code;
        /**
         * An app or app extension attempted to connect to a background session that is already connected to a process.
         */
        static backgroundSessionInUseByAnotherProcess: URLError.Code;
        /**
         * The shared container identifier of the URL session configuration is needed but hasn’t been set.
         */
        static backgroundSessionRequiresSharedContainer: URLError.Code;
        /**
         * The app is suspended or exits while a background data task is processing.
         */
        static backgroundSessionWasDisconnected: URLError.Code;
        /**
         * The URL Loading System received bad data from the server.
         */
        static badServerResponse: URLError.Code;
        /**
         * A malformed URL prevented a URL request from being initiated.
         */
        static badURL: URLError.Code;
        /**
         * A connection was attempted while a phone call is active on a network that doesn’t support simultaneous phone and data communication, such as EDGE or GPRS.
         */
        static callIsActive: URLError.Code;
        /**
         * An asynchronous load has been canceled.
         */
        static cancelled: URLError.Code;
        /**
         * A download task couldn’t close the downloaded file on disk.
         */
        static cannotCloseFile: URLError.Code;
        /**
         * An attempt to connect to a host failed.
         */
        static cannotConnectToHost: URLError.Code;
        /**
         * A download task couldn’t create the downloaded file on disk because of an I/O failure.
         */
        static cannotCreateFile: URLError.Code;
        /**
         * Content data received during a connection request had an unknown content encoding.
         */
        static cannotDecodeContentData: URLError.Code;
        /**
         * Content data received during a connection request couldn’t be decoded for a known content encoding.
         */
        static cannotDecodeRawData: URLError.Code;
        /**
         * The host name for a URL couldn’t be resolved.
         */
        static cannotFindHost: URLError.Code;
        /**
         * A request to load an item only from the cache could not be satisfied.
         */
        static cannotLoadFromNetwork: URLError.Code;
        /**
         * A download task was unable to move a downloaded file on disk.
         */
        static cannotMoveFile: URLError.Code;
        /**
         * A download task was unable to open the downloaded file on disk.
         */
        static cannotOpenFile: URLError.Code;
        /**
         * A task couldn’t parse a response.
         */
        static cannotParseResponse: URLError.Code;
        /**
         * A download task was unable to remove a downloaded file from disk.
         */
        static cannotRemoveFile: URLError.Code;
        /**
         * A download task was unable to write to the downloaded file on disk.
         */
        static cannotWriteToFile: URLError.Code;
        /**
         * A server certificate was rejected.
         */
        static clientCertificateRejected: URLError.Code;
        /**
         * A client certificate was required to authenticate an SSL connection during a request.
         */
        static clientCertificateRequired: URLError.Code;
        /**
         * The length of the resource data exceeds the maximum allowed.
         */
        static dataLengthExceedsMaximum: URLError.Code;
        /**
         * The cellular network disallowed a connection.
         */
        static dataNotAllowed: URLError.Code;
        /**
         * The host address couldn’t be found via DNS lookup.
         */
        static dnsLookupFailed: URLError.Code;
        /**
         * A download task failed to decode an encoded file during the download.
         */
        static downloadDecodingFailedMidStream: URLError.Code;
        /**
         * A download task failed to decode an encoded file after downloading.
         */
        static downloadDecodingFailedToComplete: URLError.Code;
        /**
         * The specified file doesn’t exist.
         */
        static fileDoesNotExist: URLError.Code;
        /**
         * A request for an FTP file resulted in the server responding that the file is not a plain file, but a directory.
         */
        static fileIsDirectory: URLError.Code;
        /**
         * A redirect loop has been detected or the threshold for number of allowable redirects has been exceeded (currently 16).
         */
        static httpTooManyRedirects: URLError.Code;
        /**
         * The attempted connection required activating a data context while roaming, but international roaming is disabled.
         */
        static internationalRoamingOff: URLError.Code;
        /**
         * A client or server connection was severed in the middle of an in-progress load.
         */
        static networkConnectionLost: URLError.Code;
        /**
         * A resource couldn’t be read because of insufficient permissions.
         */
        static noPermissionsToReadFile: URLError.Code;
        /**
         * A network resource was requested, but an internet connection hasn’t been established and can’t be established automatically.
         */
        static notConnectedToInternet: URLError.Code;
        /**
         * A redirect was specified by way of server response code, but the server didn’t accompany this code with a redirect URL.
         */
        static redirectToNonExistentLocation: URLError.Code;
        /**
         * A body stream is needed but the client didn’t provide one.  
         */
        static requestBodyStreamExhausted: URLError.Code;
        /**
         * A requested resource couldn’t be retrieved.
         */
        static resourceUnavailable: URLError.Code;
        /**
         * A server certificate is expired, or is not yet valid.
         */
        static serverCertificateHasBadDate: URLError.Code;
        /**
         * A server certificate wasn’t signed by any root server.
         */
        static serverCertificateHasUnknownRoot: URLError.Code;
        /**
         * A server certificate isn’t valid yet.
         */
        static serverCertificateNotYetValid: URLError.Code;
        /**
         * A server certificate was signed by a root server that isn’t trusted.
         */
        static serverCertificateUntrusted: URLError.Code;
        /**
         * An attempt to establish a secure connection failed for reasons that can’t be expressed more specifically.
         */
        static secureConnectionFailed: URLError.Code;
        /**
         * An asynchronous operation timed out.
         */
        static timedOut: URLError.Code;
        /**
         * The URL Loading System encountered an error that it can’t interpret.  
         */
        static unknown: URLError.Code;
        /**
         * A properly formed URL couldn’t be handled by the framework.
         */
        static unsupportedURL: URLError.Code;
        /**
         * Authentication is required to access a resource.
         */
        static userAuthenticationRequired: URLError.Code;
        /**
         * An asynchronous request for authentication has been canceled by the user.
         */
        static userCancelledAuthentication: URLError.Code;
        /**
         * A server reported that a URL has a non-zero content length, but terminated the network connection gracefully without sending any data.
         */
        static zeroByteResource: URLError.Code;
        /**
         * The error code within the domain.
         */
        errorCode: number;
        /**
         * The error’s user-info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        /**
         * The URL which caused a load to fail.
         */
        failingURL: URL | null;
        /**
         * The state of a failed SSL handshake.
         */
        failureURLPeerTrust: SecTrust | null;
        /**
         * The string for the URL which caused a load to fail.
         */
        failureURLString: string;
        /**
         * An opaque data object used to resume a failed download task.
         */
        downloadTaskResumeData: Data | null;
        /**
         * The reason for canceling a background task.
         */
        backgroundTaskCancelledReason: URLError.BackgroundTaskCancelledReason | null;
        /**
         * The reason the network was unavailable for a task.
         */
        networkUnavailableReason: URLError.NetworkUnavailableReason | null;
        /**
         * The hash value.
         */
        hashValue: number;
        code: Code;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class URLError
     */
    export namespace URLError {
        export enum BackgroundTaskCancelledReason {
            backgroundUpdatesDisabled,
            insufficientSystemResources,
            userForceQuitApplication,
        }
        export enum NetworkUnavailableReason {
            cellular,
            constrained,
            expensive,
        }
        export class Code {
            /**
             * App Transport Security disallowed a connection because there is no secure network connection.
             */
            static appTransportSecurityRequiresSecureConnection: URLError.Code;
            /**
             * An app or app extension attempted to connect to a background session that is already connected to a process.
             */
            static backgroundSessionInUseByAnotherProcess: URLError.Code;
            /**
             * The shared container identifier of the URL session configuration is needed but has not been set.
             */
            static backgroundSessionRequiresSharedContainer: URLError.Code;
            /**
             * The app is suspended or exits while a background data task is processing.
             */
            static backgroundSessionWasDisconnected: URLError.Code;
            /**
             * The URL Loading system received bad data from the server.
             */
            static badServerResponse: URLError.Code;
            /**
             * A malformed URL prevented a URL request from being initiated.
             */
            static badURL: URLError.Code;
            /**
             * A connection was attempted while a phone call is active on a network that does not support simultaneous phone and data communication (EDGE or GPRS).
             */
            static callIsActive: URLError.Code;
            /**
             * An asynchronous load has been canceled.
             */
            static cancelled: URLError.Code;
            /**
             * A download task couldn’t close the downloaded file on disk.
             */
            static cannotCloseFile: URLError.Code;
            /**
             * An attempt to connect to a host failed.
             */
            static cannotConnectToHost: URLError.Code;
            /**
             * A download task couldn’t create the downloaded file on disk because of an I/O failure.
             */
            static cannotCreateFile: URLError.Code;
            /**
             * Content data received during a connection request had an unknown content encoding.
             */
            static cannotDecodeContentData: URLError.Code;
            /**
             * Content data received during a connection request could not be decoded for a known content encoding.
             */
            static cannotDecodeRawData: URLError.Code;
            /**
             * The host name for a URL could not be resolved.
             */
            static cannotFindHost: URLError.Code;
            /**
             * A request to load an item only from the cache could not be satisfied.
             */
            static cannotLoadFromNetwork: URLError.Code;
            /**
             * A download task was unable to move a downloaded file on disk.
             */
            static cannotMoveFile: URLError.Code;
            /**
             * A download task was unable to open the downloaded file on disk.
             */
            static cannotOpenFile: URLError.Code;
            /**
             * A task could not parse a response.
             */
            static cannotParseResponse: URLError.Code;
            /**
             * A download task was unable to remove a downloaded file from disk.
             */
            static cannotRemoveFile: URLError.Code;
            /**
             * A download task was unable to write to the downloaded file on disk.
             */
            static cannotWriteToFile: URLError.Code;
            /**
             * A server certificate was rejected.
             */
            static clientCertificateRejected: URLError.Code;
            /**
             * A client certificate was required to authenticate an SSL connection during a request.
             */
            static clientCertificateRequired: URLError.Code;
            /**
             * The length of the resource data exceeds the maximum allowed.
             */
            static dataLengthExceedsMaximum: URLError.Code;
            /**
             * The cellular network disallowed a connection.
             */
            static dataNotAllowed: URLError.Code;
            /**
             * The host address could not be found via DNS lookup.
             */
            static dnsLookupFailed: URLError.Code;
            /**
             * A download task failed to decode an encoded file during the download.
             */
            static downloadDecodingFailedMidStream: URLError.Code;
            /**
             * A download task failed to decode an encoded file after downloading.
             */
            static downloadDecodingFailedToComplete: URLError.Code;
            /**
             * A file does not exist.
             */
            static fileDoesNotExist: URLError.Code;
            /**
             * A request for an FTP file resulted in the server responding that the file is not a plain file, but a directory.
             */
            static fileIsDirectory: URLError.Code;
            /**
             * A redirect loop has been detected or the threshold for number of allowable redirects has been exceeded (currently 16).
             */
            static httpTooManyRedirects: URLError.Code;
            /**
             * The attempted connection required activating a data context while roaming, but international roaming is disabled.
             */
            static internationalRoamingOff: URLError.Code;
            /**
             * A client or server connection was severed in the middle of an in-progress load.
             */
            static networkConnectionLost: URLError.Code;
            /**
             * A resource couldn’t be read because of insufficient permissions.
             */
            static noPermissionsToReadFile: URLError.Code;
            /**
             * A network resource was requested, but an internet connection has not been established and cannot be established automatically.
             */
            static notConnectedToInternet: URLError.Code;
            /**
             * A redirect was specified by way of server response code, but the server did not accompany this code with a redirect URL.
             */
            static redirectToNonExistentLocation: URLError.Code;
            /**
             * A body stream is needed but the client did not provide one.  
             */
            static requestBodyStreamExhausted: URLError.Code;
            /**
             * A requested resource couldn’t be retrieved.
             */
            static resourceUnavailable: URLError.Code;
            /**
             * An attempt to establish a secure connection failed for reasons that can’t be expressed more specifically.
             */
            static secureConnectionFailed: URLError.Code;
            /**
             * A server certificate had a date which indicates it has expired, or is not yet valid.
             */
            static serverCertificateHasBadDate: URLError.Code;
            /**
             * A server certificate was not signed by any root server.
             */
            static serverCertificateHasUnknownRoot: URLError.Code;
            /**
             * A server certificate is not yet valid.
             */
            static serverCertificateNotYetValid: URLError.Code;
            /**
             * A server certificate was signed by a root server that isn’t trusted.
             */
            static serverCertificateUntrusted: URLError.Code;
            /**
             * An asynchronous operation timed out.
             */
            static timedOut: URLError.Code;
            /**
             * The URL Loading System encountered an error that it can’t interpret.  
             */
            static unknown: URLError.Code;
            /**
             * A properly formed URL couldn’t be handled by the framework.
             */
            static unsupportedURL: URLError.Code;
            /**
             * Authentication is required to access a resource.
             */
            static userAuthenticationRequired: URLError.Code;
            /**
             * An asynchronous request for authentication has been canceled by the user.
             */
            static userCancelledAuthentication: URLError.Code;
            /**
             * A server reported that a URL has a non-zero content length, but terminated the network connection gracefully without sending any data.
             */
            static zeroByteResource: URLError.Code;
            rawValue: number;
            hashValue: number;
            constructor (rawValue: number);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class NSURLConnection extends NSObject {
        /**
         * A deep copy of the original connection request.
         */
        originalRequest: URLRequest;
        /**
         * The current connection request.
         */
        currentRequest: URLRequest;
        /**
         * The Newsstand download object associated with the URL connection.
         */
        newsstandAssetDownload: NKAssetDownload | null;
        /**
         * Returns an initialized URL connection and begins to load the data for the URL request.
         */
        constructor (request: URLRequest, delegate: any);
        /**
         * Returns an initialized URL connection and begins to load the data for the URL request, if specified.
         */
        constructor (request: URLRequest, delegate: any, startImmediately: boolean);
        /**
         * Returns whether a request can be handled based on a preflight evaluation.
         */
        static canHandle(request: URLRequest):boolean;
        /**
         * Performs a synchronous load of the specified URL request.
         */
        static sendSynchronousRequest(request: URLRequest, response: AutoreleasingUnsafeMutablePointer<URLResponse?> | null):Data;
        /**
         * Loads the data for a URL request and executes a handler block on an operation queue when the request completes or fails.
         */
        static sendAsynchronousRequest(request: URLRequest, queue: OperationQueue, handler: ()=>any):void;
        /**
         * Causes the connection to begin loading data, if it has not already.
         */
        start():void;
        /**
         * Cancels an asynchronous load of a request.
         */
        cancel():void;
        /**
         * Determines the run loop and mode that the connection uses to call methods on its delegate.
         */
        schedule(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Determines the operation queue that is used to call methods on the connection’s delegate.
         */
        setDelegateQueue(queue: OperationQueue | null):void;
        /**
         * Causes the connection to stop calling delegate methods in the specified run loop and mode.
         */
        unschedule(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
    }
    export interface NSURLConnectionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the connection will send a request for an authentication challenge.
         */
        connection(connection: NSURLConnection, challenge: URLAuthenticationChallenge):void;
        /**
         * Sent to determine whether the URL loader should use the credential storage for authenticating the connection.
         */
        connectionShouldUseCredentialStorage(connection: NSURLConnection):boolean;
    }
    export interface NSURLConnectionDataDelegate extends NSURLConnectionDelegate {
        /**
         * Sent when the connection has received sufficient data to construct the URL response for its request.
         */
        connection(connection: NSURLConnection, response: URLResponse):void;
        /**
         * Sent when a connection has finished loading successfully.
         */
        connectionDidFinishLoading(connection: NSURLConnection):void;
    }
    export interface NSURLConnectionDownloadDelegate extends NSURLConnectionDelegate {
        /**
         * Sent to the delegate to deliver progress information for a download of a URL asset to a destination file.
         */
        connection(connection: NSURLConnection, bytesWritten: Int64, totalBytesWritten: Int64, expectedTotalBytes: Int64):void;
        /**
         * Sent to the delegate when an URL connection resumes downloading a URL asset that was earlier suspended. 
         */
        connectionDidResumeDownloading(connection: NSURLConnection, totalBytesWritten: Int64, expectedTotalBytes: Int64):void;
        /**
         * Sent to the delegate when the URL connection has successfully downloaded the URL asset to a destination file.
         */
        connectionDidFinishDownloading(connection: NSURLConnection, destinationURL: URL):void;
    }
    export class NSURLDownload extends NSObject {
        /**
         * Returns the resume data for a download that is not yet complete.
         */
        resumeData: Data | null;
        /**
         * Returns whether the receiver deletes partially downloaded files when a download stops prematurely.
         */
        deletesFileUponFailure: boolean;
        /**
         * Returns the request that initiated the receiver’s download.
         */
        request: URLRequest;
        /**
         * Returns an initialized URL download for a URL request and begins to download the data for the request.
         */
        constructor (request: URLRequest, delegate: NSURLDownloadDelegate | null);
        /**
         * Returns an initialized NSURLDownload object that will resume downloading the specified data to the specified file and begins the download.
         */
        constructor (resumeData: Data, delegate: NSURLDownloadDelegate | null, path: string);
        /**
         * Returns whether a URL download object can resume a download that was decoded with the specified MIME type.
         */
        static canResumeDownloadDecoded(MIMEType: string):boolean;
        /**
         * Sets the destination path of the downloaded file.
         */
        setDestination(path: string, allowOverwrite: boolean):void;
        /**
         * Cancels the receiver’s download and deletes the downloaded file.
         */
        cancel():void;
    }
    export interface NSURLDownloadDelegate extends NSObjectProtocol {
        /**
         * Sent to determine whether the delegate is able to respond to a protection space’s form of authentication.
         */
        download(connection: NSURLDownload, protectionSpace: URLProtectionSpace):boolean;
        /**
         * Sent to determine whether the URL loader should consult the credential storage to authenticate the download.
         */
        downloadShouldUseCredentialStorage(download: NSURLDownload):boolean;
        /**
         * Sent immediately after a download object begins a download.
         */
        downloadDidBegin(download: NSURLDownload):void;
        /**
         * Sent when a download object has completed downloading successfully and has written its results to disk.
         */
        downloadDidFinish(download: NSURLDownload):void;
    }
    export class NSURLHandle extends NSObject {}
    /**
     * the same name namespace of class NSURLHandle
     */
    export namespace NSURLHandle {
        export enum Status {
            notLoaded = 0,
            loadSucceeded = 1,
            loadInProgress = 2,
            loadFailed = 3,
        }
    }
    export interface URLAuthenticationChallengeSender extends NSObjectProtocol {
        /**
         * Cancels a given authentication challenge.
         */
        cancel(challenge: URLAuthenticationChallenge):void;
        /**
         * Attempt to continue downloading a request without providing a credential for a given challenge.
         */
        continueWithoutCredential(challenge: URLAuthenticationChallenge):void;
        /**
         * Attempt to use a given credential for a given authentication challenge.
         */
        use(credential: URLCredential, challenge: URLAuthenticationChallenge):void;
        /**
         * Causes the system-provided default behavior to be used.
         */
        performDefaultHandling(challenge: URLAuthenticationChallenge):void;
        /**
         * Rejects the currently supplied protection space.
         */
        rejectProtectionSpaceAndContinue(challenge: URLAuthenticationChallenge):void;
    }
    export class NetService extends NSObject {
        /**
         * This key identifies the error that occurred during the most recent operation. 
         */
        static errorCode: string;
        /**
         * This key identifies the originator of the error, which is either the 
         *  object or the mach network layer. For most errors, you should not need the value provided by this key.
         */
        static errorDomain: string;
        /**
         * A read-only array containing 
         *  objects, each of which contains a socket address for the service.
         */
        addresses: Data[] | null;
        /**
         * A string containing the domain for this service.
         */
        domain: string;
        /**
         * Specifies whether to also publish, resolve, or monitor this service over peer-to-peer Bluetooth and Wi-Fi, if available. 
         *  by default.
         */
        includesPeerToPeer: boolean;
        /**
         * A string containing the name of this service.
         */
        name: string;
        /**
         * The type of the published service.
         */
        type: string;
        /**
         * The delegate for the receiver.
         */
        delegate: NetServiceDelegate | null;
        /**
         * The port on which the service is listening for connections.
         */
        port: number;
        /**
         * A string containing the DNS hostname for this service.
         */
        hostName: string;
        /**
         * Returns the receiver, initialized as a network service of a given type and sets the initial host information.
         */
        constructor (domain: string, type: string, name: string);
        /**
         * Initializes the receiver for publishing a network service of type 
         *  at the socket location specified by 
         * , 
         * , and 
         * .
         */
        constructor (domain: string, type: string, name: string, port: Int32);
        /**
         * Returns an 
         *  object representing a TXT record formed from a given dictionary.
         */
        static data(txtDictionary: Record<string, Data>):Data;
        /**
         * Returns a dictionary representing a TXT record given as an 
         *  object.
         */
        static dictionary(txtData: Data):Record<string, Data>;
        /**
         * Creates a pair of input and output streams for the receiver and returns a Boolean value that indicates whether they were retrieved successfully.
         */
        getInputStream(inputStream: UnsafeMutablePointer<InputStream?> | null, outputStream: UnsafeMutablePointer<OutputStream?> | null):boolean;
        /**
         * Returns the TXT record for the receiver.
         */
        txtRecordData():Data | null;
        /**
         * Sets the TXT record for the receiver, and returns a Boolean value that indicates whether the operation was successful.
         */
        setTXTRecord(recordData: Data | null):boolean;
        /**
         * Adds the service to the specified run loop.
         */
        schedule(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Removes the service from the given run loop for a given mode.
         */
        remove(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Attempts to advertise the receiver’s on the network.
         */
        publish():void;
        /**
         * Starts a resolve process for the service.
         */
        resolve():void;
        /**
         * Starts the monitoring of TXT-record updates for the receiver.
         */
        startMonitoring():void;
        /**
         * Halts a currently running attempt to publish or resolve a service.
         */
        stop():void;
        /**
         * Stops the monitoring of TXT-record updates for the receiver.
         */
        stopMonitoring():void;
    }
    /**
     * the same name namespace of class NetService
     */
    export namespace NetService {
        export enum ErrorCode {
            unknownError = -72000,
            collisionError = -72001,
            notFoundError = -72002,
            activityInProgress = -72003,
            badArgumentError = -72004,
            cancelledError = -72005,
            invalidError = -72006,
            timeoutError = -72007,
            missingRequiredConfigurationError = -72008,
        }
        export class Options {
            /**
             * Specifies that the network service should not rename itself in the event of a name collision.
             */
            static noAutoRename: NetService.Options;
            static listenForConnections: NetService.Options;
            constructor (rawValue: number);
        }
    }
    export interface NetServiceDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate that the network is ready to publish the service.
         */
        netServiceWillPublish(sender: NetService):void;
        /**
         * Notifies the delegate that a service could not be published.
         */
        netService(sender: NetService, errorDict: Record<string, NSNumber>):void;
        /**
         * Notifies the delegate that a service was successfully published.
         */
        netServiceDidPublish(sender: NetService):void;
        /**
         * Notifies the delegate that the network is ready to resolve the service.
         */
        netServiceWillResolve(sender: NetService):void;
        /**
         * Informs the delegate that the address for a given service was resolved.
         */
        netServiceDidResolveAddress(sender: NetService):void;
        /**
         * Informs the delegate that a 
         *  or 
         *  request was stopped.
         */
        netServiceDidStop(sender: NetService):void;
    }
    export class NetServiceBrowser extends NSObject {
        /**
         * The delegate object for this instance.
         */
        delegate: NetServiceBrowserDelegate | null;
        /**
         * Whether to browse over peer-to-peer Bluetooth and Wi-Fi, if available. 
         * , by default.
         */
        includesPeerToPeer: boolean;
        /**
         * Initializes an allocated 
         *  object.
         */
        constructor ();
        /**
         * Initiates a search for domains visible to the host. This method returns immediately.
         */
        searchForBrowsableDomains():void;
        /**
         * Initiates a search for domains in which the host may register services.
         */
        searchForRegistrationDomains():void;
        /**
         * Starts a search for services of a particular type within a specific domain.
         */
        searchForServices(type: string, domainString: string):void;
        /**
         * Halts a currently running search or resolution.
         */
        stop():void;
        /**
         * Adds the receiver to the specified run loop.
         */
        schedule(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Removes the receiver from the specified run loop.
         */
        remove(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
    }
    export interface NetServiceBrowserDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate the sender found a domain.
         */
        netServiceBrowser(browser: NetServiceBrowser, domainString: string, moreComing: boolean):void;
        /**
         * Tells the delegate that a search is commencing.
         */
        netServiceBrowserWillSearch(browser: NetServiceBrowser):void;
        /**
         * Tells the delegate that a search was stopped.
         */
        netServiceBrowserDidStopSearch(browser: NetServiceBrowser):void;
    }
    export interface NSXPCProxyCreating {
        /**
         * Returns a proxy object with no error handling block.
         */
        remoteObjectProxy():any;
        /**
         * Returns a proxy object that invokes the error handling block if an error occurs on the connection.
         */
        remoteObjectProxyWithErrorHandler(handler: ()=>any):any;
        synchronousRemoteObjectProxyWithErrorHandler(handler: ()=>any):any;
    }
    export class NSXPCConnection extends NSObject {
        /**
         * An interruption handler that is called if the remote process exits or crashes.
         */
        interruptionHandler: ()=>any | null;
        /**
         * An invalidation handler that is called if the connection can not be formed or the connection has terminated and may not be re-established.
         */
        invalidationHandler: ()=>any | null;
        /**
         * The name of the XPC service that this connection was configured to connect to.
         */
        serviceName: string;
        /**
         * If the connection was created with an 
         *  object, returns the endpoint object used.
         */
        endpoint: NSXPCListenerEndpoint;
        /**
         * The 
         *  object that describes the protocol for the exported object on this connection.
         */
        exportedInterface: NSXPCInterface | null;
        /**
         * An exported object for the connection.
         */
        exportedObject: any;
        /**
         * Defines the 
         *  object that describes the protocol for the object represented by the 
         * . 
         */
        remoteObjectInterface: NSXPCInterface | null;
        /**
         * Returns a proxy for the remote object (that is, the 
         *  from the other side of this connection).
         */
        remoteObjectProxy: any;
        /**
         * The BSM audit session identifier for the connecting process.
         */
        auditSessionIdentifier: au_asid_t;
        /**
         * The process ID (PID) of the connecting process.
         */
        processIdentifier: pid_t;
        /**
         * The effective group ID (EGID) of the connecting process.
         */
        effectiveGroupIdentifier: gid_t;
        /**
         * The effective user ID (EUID) of the connecting process.
         */
        effectiveUserIdentifier: uid_t;
        /**
         * Initializes an 
         *  object to connect to an 
         *  object in another process, identified by an 
         *  object.
         */
        constructor (endpoint: NSXPCListenerEndpoint);
        /**
         * Initializes an 
         *  object to connect to a LaunchAgent or LaunchDaemon with a name advertised in a 
         * .
         */
        constructor (name: string, options: NSXPCConnection.Options);
        /**
         * Initializes an 
         *  object to connect to an 
         *  object in an XPC service, identified by a service name.
         */
        constructor (serviceName: string);
        /**
         * Returns the current connection, in the context of a call to a method on your exported object.
         */
        static current():NSXPCConnection | null;
        /**
         * Activates the connection.
         */
        activate():void;
        /**
         * Starts or resumes handling of messages on a connection.
         */
        resume():void;
        /**
         * Invalidates the connection.
         */
        invalidate():void;
        /**
         * Suspends the connection.
         */
        suspend():void;
        /**
         * Add a barrier block to execute on the connection.
         */
        scheduleSendBarrierBlock(block: ()=>any):void;
        /**
         * Returns a proxy for the remote object (that is, the object exported from the other side of this connection) with the specified error handler.
         */
        remoteObjectProxyWithErrorHandler(handler: ()=>any):any;
        synchronousRemoteObjectProxyWithErrorHandler(handler: ()=>any):any;
        /**
         * Sets the code signing requirement for this connection.
         */
        setCodeSigningRequirement(requirement: string):void;
    }
    /**
     * the same name namespace of class NSXPCConnection
     */
    export namespace NSXPCConnection {
        export class Options {
            static privileged: NSXPCConnection.Options;
            constructor (rawValue: number);
        }
    }
    export class NSXPCInterface extends NSObject {
        /**
         * The Objective-C protocol that this interface is based on.
         */
        protocol: Protocol;
        /**
         * Returns an NSXPCInterface instance for a given protocol.
         */
        constructor (protocol: Protocol);
        /**
         * Returns the current list of allowed classes that can appear within the specified collection object argument to the specified method.
         */
        classes(sel: Selector, arg: number, ofReply: boolean):Set<AnyHashable>;
        /**
         * Returns the interface previously set for the specified selector and parameter.
         */
        forSelector(sel: Selector, arg: number, ofReply: boolean):NSXPCInterface | null;
        /**
         * Sets the classes that can appear within the (numerically) specified collection object argument to the specified method.
         */
        setClasses(classes: Set<AnyHashable>, sel: Selector, arg: number, ofReply: boolean):void;
        /**
         * Configures a specific parameter of a method to be sent as a proxy object instead of copied.
         */
        setInterface(ifc: NSXPCInterface, sel: Selector, arg: number, ofReply: boolean):void;
        setXPCType(type: xpc_type_t, sel: Selector, arg: number, ofReply: boolean):void;
        xpcType(sel: Selector, arg: number, ofReply: boolean):xpc_type_t | null;
    }
    export class NSXPCCoder extends NSCoder {
        /**
         * The connection currently performing encoding or decoding.
         */
        connection: NSXPCConnection | null;
        /**
         * An optional user information object associated with the coder.
         */
        userInfo: NSObjectProtocol | null;
        /**
         * Encodes an object to send over an XPC connection.
         */
        encodeXPCObject(xpcObject: xpc_object_t, key: string):void;
        /**
         * Decodes an object and validates that its type matches the type a service provides over XPC.
         */
        decodeXPCObject(type: xpc_type_t, key: string):xpc_object_t | null;
    }
    export class NSXPCListener extends NSObject {
        /**
         * The delegate for the listener.
         */
        delegate: NSXPCListenerDelegate | null;
        /**
         * Returns an endpoint object that may be sent over an existing connection.
         */
        endpoint: NSXPCListenerEndpoint;
        /**
         * Initializes a listener in a LaunchAgent or LaunchDaemon which has a name advertised in a 
         *  file.
         */
        constructor (name: string);
        /**
         * Returns the singleton listener used to listen for incoming connections in an XPC service.
         */
        static service():NSXPCListener;
        /**
         * Returns a new anonymous listener connection.
         */
        static anonymous():NSXPCListener;
        /**
         * Activates the listener.
         */
        activate():void;
        /**
         * Starts processing of incoming requests.
         */
        resume():void;
        /**
         * Invalidates the listener.
         */
        invalidate():void;
        /**
         * Suspends the listener.
         */
        suspend():void;
        /**
         * Sets the code signing requirement for connections to this listener.
         */
        setConnectionCodeSigningRequirement(requirement: string):void;
    }
    export interface NSXPCListenerDelegate extends NSObjectProtocol {
        /**
         * Accepts or rejects a new connection to the listener.
         */
        listener(listener: NSXPCListener, newConnection: NSXPCConnection):boolean;
    }
    export class NSXPCListenerEndpoint extends NSObject {}
    export class NSAttributedString extends NSObject {}
    /**
     * the same name namespace of class NSAttributedString
     */
    export namespace NSAttributedString {
        export class Key {
            /**
             * A key that indicates whether to speak punctuation. 
             */
            static accessibilitySpeechPunctuation: NSAttributedString.Key;
            /**
             * A key that indicates the language to use when speaking a string. 
             */
            static accessibilitySpeechLanguage: NSAttributedString.Key;
            /**
             * A key that indicates the pitch to apply to spoken content. 
             */
            static accessibilitySpeechPitch: NSAttributedString.Key;
            /**
             * A key that indicates whether to queue an announcement behind existing speech or to interrupt it.
             */
            static accessibilitySpeechQueueAnnouncement: NSAttributedString.Key;
            /**
             * A key that indicates the pronunciation of a specific word or phrase, such as a proper name.
             */
            static accessibilitySpeechIPANotation: NSAttributedString.Key;
            /**
             * A key for specifying custom attributes to apply to the text.
             */
            static accessibilityTextCustom: NSAttributedString.Key;
            /**
             * A key for specifying the heading level of the text.
             */
            static accessibilityTextHeadingLevel: NSAttributedString.Key;
        }
    }
    export class NSKeyValueOperator {
        /**
         * The 
         *  array operator.
         */
        static averageKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static countKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static distinctUnionOfArraysKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static distinctUnionOfObjectsKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static distinctUnionOfSetsKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static maximumKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static minimumKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static sumKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static unionOfArraysKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static unionOfObjectsKeyValueOperator: NSKeyValueOperator;
        /**
         * The 
         *  array operator.
         */
        static unionOfSetsKeyValueOperator: NSKeyValueOperator;
        constructor (rawValue: string);
    }
    export interface NSCopying {
        /**
         * Returns a new instance that’s a copy of the receiver.
         */
        copy(zone: NSZone | null):any;
    }
    export interface NSMutableCopying {
        /**
         * Returns a new instance that’s a mutable copy of the receiver.
         */
        mutableCopy(zone: NSZone | null):any;
    }
    export class NSNumber extends NSValue {
        /**
         * The number object's value expressed as a Boolean value.
         */
        boolValue: boolean;
        /**
         * The number object's value expressed as a 
         * .
         */
        int8Value: CChar;
        /**
         * The number object's value expressed as an 
         *  structure.
         */
        decimalValue: Decimal;
        /**
         * The number object's value expressed as a 
         * , converted as necessary.
         */
        doubleValue: number;
        /**
         * The number object's value expressed as a 
         * , converted as necessary.
         */
        floatValue: Float;
        /**
         * The number object's value expressed as an 
         * , converted as necessary.
         */
        int32Value: Int32;
        /**
         * The number object's value expressed as an 
         *  object, converted as necessary.
         */
        intValue: number;
        /**
         * The number object’s value expressed as a 
         * , converted as necessary.
         */
        int64Value: Int64;
        /**
         * The number object's value expressed as a 
         * , converted as necessary.
         */
        int16Value: Int16;
        /**
         * The number object's value expressed as an unsigned 
         * , converted as necessary.
         */
        uint8Value: UInt8;
        /**
         * The number object's value expressed as an 
         *  object, converted as necessary.
         */
        uintValue: number;
        /**
         * The number object's value expressed as an unsigned 
         * , converted as necessary.
         */
        uint32Value: UInt32;
        /**
         * The number object’s value expressed as an unsigned 
         * , converted as necessary.
         */
        uint64Value: UInt64;
        /**
         * The number object's value expressed as an unsigned 
         * , converted as necessary.
         */
        uint16Value: UInt16;
        /**
         * The number object's value expressed as a human-readable string.
         */
        stringValue: string;
        /**
         * Returns an 
         *  object initialized to contain a given value, treated as a 
         * .
         */
        constructor (value: boolean);
        /**
         * Create an instance initialized to 
         * .
         */
        constructor (value: boolean);
        constructor (coder: NSCoder);
        /**
         * Create an instance initialized to 
         * .
         */
        constructor (value: number);
        /**
         * Create an instance initialized to 
         * .
         */
        constructor (value: number);
        /**
         * Returns a string that represents the contents of the number object for a given locale.
         */
        description(locale: any):string;
        /**
         * Returns an 
         *  value that indicates whether the number object’s value is greater than, equal to, or less than a given number.
         */
        compare(otherNumber: NSNumber):ComparisonResult;
        /**
         * Returns a Boolean value that indicates whether the number object’s value and a given number are equal. 
         */
        isEqual(_number: NSNumber):boolean;
    }
    export class NSValue extends NSObject {
        /**
         * A C string containing the Objective-C type of the data contained in the value object.
         */
        objCType: UnsafePointer<CChar>;
        /**
         * Returns the value as an untyped pointer.
         */
        pointerValue: UnsafeMutableRawPointer | null;
        /**
         * The value as a non-retained pointer to an object.
         */
        nonretainedObjectValue: any;
        /**
         * The Foundation range structure representation of the value.
         */
        rangeValue: NSRange;
        /**
         * The Foundation point structure representation of the value.
         */
        pointValue: NSPoint;
        /**
         * The Foundation size structure representation of the value.
         */
        sizeValue: NSSize;
        /**
         * The Foundation rectangle structure representation of the value.
         */
        rectValue: NSRect;
        /**
         * Returns the CoreGraphics point structure representation of the value.
         */
        cgPointValue: CGPoint;
        /**
         * Returns the CoreGraphics vector structure representation of the value.
         */
        cgVectorValue: CGVector;
        /**
         * Returns the CoreGraphics size structure representation of the value.
         */
        cgSizeValue: CGSize;
        /**
         * Returns the CoreGraphics rectangle structure representation of the value.
         */
        cgRectValue: CGRect;
        /**
         * Returns the CoreGraphics affine transform representation of the value.
         */
        cgAffineTransformValue: CGAffineTransform;
        /**
         * Returns the UIKit edge insets structure representation of the value.
         */
        uiEdgeInsetsValue: UIEdgeInsets;
        /**
         * Returns the UIKit offset structure representation of the value.
         */
        uiOffsetValue: UIOffset;
        /**
         * The CoreAnimation transform structure representation of the value.
         */
        caTransform3DValue: CATransform3D;
        /**
         * The CoreMedia time structure representation of the value.
         */
        timeValue: CMTime;
        /**
         * The CoreMedia time range structure representation of the value.
         */
        timeRangeValue: CMTimeRange;
        /**
         * The CoreMedia time mapping structure representation of the value.
         */
        timeMappingValue: CMTimeMapping;
        /**
         * The CoreLocation geographic coordinate structure representation of the value.
         */
        mkCoordinateValue: CLLocationCoordinate2D;
        /**
         * The MapKit coordinate span structure representation of the value.
         */
        mkCoordinateSpanValue: MKCoordinateSpan;
        /**
         * The three-element Scene Kit vector representation of the value.
         */
        scnVector3Value: SCNVector3;
        /**
         * The four-element Scene Kit vector representation of the value.
         */
        scnVector4Value: SCNVector4;
        /**
         * The Scene Kit 4 x 4 matrix representation of the value.
         */
        scnMatrix4Value: SCNMatrix4;
        directionalEdgeInsetsValue: NSDirectionalEdgeInsets;
        edgeInsetsValue: NSEdgeInsets;
        videoDimensionsValue: CMVideoDimensions;
        /**
         * Initializes a value object to contain the specified value, interpreted with the specified Objective-C type.
         */
        constructor (value: UnsafeRawPointer, type: UnsafePointer<CChar>);
        /**
         * Creates a value object containing the specified value, interpreted with the specified Objective-C type.
         */
        constructor (value: UnsafeRawPointer, type: UnsafePointer<CChar>);
        /**
         * Creates a value object containing the specified pointer.
         */
        constructor (pointer: UnsafeRawPointer | null);
        /**
         * Creates a value object containing the specified object.
         */
        constructor (anObject: any);
        /**
         * Creates a new value object containing the specified Foundation range structure.
         */
        constructor (range: NSRange);
        /**
         * Creates a new value object containing the specified Foundation point structure.
         */
        constructor (point: NSPoint);
        /**
         * Creates a new value object containing the specified Foundation size structure.
         */
        constructor (size: NSSize);
        /**
         * Creates a new value object containing the specified Foundation rectangle structure.
         */
        constructor (rect: NSRect);
        /**
         * Creates a new value object containing the specified CoreGraphics point structure.
         */
        constructor (point: CGPoint);
        /**
         * Creates a new value object containing the specified CoreGraphics vector structure.
         */
        constructor (vector: CGVector);
        /**
         * Creates a new value object containing the specified CoreGraphics size structure.
         */
        constructor (size: CGSize);
        /**
         * Creates a new value object containing the specified CoreGraphics rectangle structure.
         */
        constructor (rect: CGRect);
        /**
         * Creates a new value object containing the specified CoreGraphics affine transform structure.
         */
        constructor (transform: CGAffineTransform);
        /**
         * Creates a new value object containing the specified UIKit edge insets structure.
         */
        constructor (insets: UIEdgeInsets);
        /**
         * Creates a new value object containing the specified UIKit offset structure.
         */
        constructor (insets: UIOffset);
        /**
         * Creates a new value object containing the specified CoreAnimation transform structure.
         */
        constructor (t: CATransform3D);
        /**
         * Creates a new value object containing the specified CoreMedia time structure.
         */
        constructor (time: CMTime);
        /**
         * Creates a new value object containing the specified CoreMedia time range structure.
         */
        constructor (timeRange: CMTimeRange);
        /**
         * Creates a new value object containing the specified CoreMedia time mapping structure.
         */
        constructor (timeMapping: CMTimeMapping);
        /**
         * Creates a new value object containing the specified CoreLocation geographic coordinate structure.
         */
        constructor (coordinate: CLLocationCoordinate2D);
        /**
         * Creates a new value object containing the specified MapKit coordinate span structure.
         */
        constructor (span: MKCoordinateSpan);
        /**
         * Creates a value object that contains the specified three-element SceneKit vector.
         */
        constructor (v: SCNVector3);
        /**
         * Creates a value object that contains the specified four-element SceneKit vector.
         */
        constructor (v: SCNVector4);
        /**
         * Creates a value object that contains the specified SceneKit 4 x 4 matrix.
         */
        constructor (v: SCNMatrix4);
        constructor (coder: NSCoder);
        constructor (insets: NSDirectionalEdgeInsets);
        constructor (insets: NSEdgeInsets);
        constructor (dimensions: CMVideoDimensions);
        /**
         * Copies the value into the specified buffer.
         */
        getValue(value: UnsafeMutableRawPointer):void;
        /**
         * Returns a Boolean value that indicates whether the value object and another value object are equal.
         */
        isEqual(value: NSValue):boolean;
    }
    export class ValueTransformer extends NSObject {
        /**
         * Returns the value transformer identified by a given identifier.
         */
        constructor (name: NSValueTransformerName);
        /**
         * Registers the provided value transformer with a given identifier.
         */
        static setValueTransformer(transformer: ValueTransformer | null, name: NSValueTransformerName):void;
        /**
         * Returns an array of all the registered value transformers.
         */
        static valueTransformerNames():NSValueTransformerName[];
        /**
         * Returns a Boolean value that indicates whether the receiver can reverse a transformation.
         */
        static allowsReverseTransformation():boolean;
        /**
         * Returns the class of the value returned by the receiver for a forward transformation.
         */
        static transformedValueClass():AnyClass;
        /**
         * Returns the result of transforming a given value. 
         */
        transformedValue(value: any):any;
        /**
         * Returns the result of the reverse transformation of a given value. 
         */
        reverseTransformedValue(value: any):any;
    }
    export class NSValueTransformerName {
        /**
         * This value transformer returns 
         *  if the value is 
         * . 
         */
        static isNilTransformerName: NSValueTransformerName;
        /**
         * This value transformer returns 
         *  if the value is non-
         * .
         */
        static isNotNilTransformerName: NSValueTransformerName;
        /**
         * The name of the value transformer that attempts to unarchive data stored inside a keyed archive in an object you provide.
         */
        static keyedUnarchiveFromDataTransformerName: NSValueTransformerName;
        /**
         * This value transformer negates a boolean value, transforming 
         *  to 
         *  and 
         *  to 
         * .
         */
        static negateBooleanTransformerName: NSValueTransformerName;
        /**
         * The name of the value transformer that attempts to unarchive data from an object you provide.
         */
        static unarchiveFromDataTransformerName: NSValueTransformerName;
        /**
         * The name of the value transformer that creates then returns an object by attempting to unarchive the data to a class that supports secure coding.
         */
        static secureUnarchiveFromDataTransformerName: NSValueTransformerName;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export interface ReferenceConvertible extends CustomDebugStringConvertible,CustomStringConvertible,Hashable {}
    export class NSProxy {
        /**
         * A string containing the real class name and the id of the receiver as a hexadecimal number.
         */
        description: string;
        /**
         * A string containing the real class name and the id of the receiver as a hexadecimal number.
         */
        debugDescription: string;
        /**
         * Returns a new instance of the receiving class 
         */
        static alloc():Self;
        /**
         * Returns a Boolean value that indicates whether the receiving class responds to a given selector.
         */
        static responds(aSelector: Selector):boolean;
        /**
         * Returns 
         *  (the class object).
         */
        static class():AnyClass;
        /**
         * The garbage collector invokes this method on the receiver before disposing of the memory it uses.
         */
        finalize():void;
        /**
         * Passes a given invocation to the real object the proxy represents.
         */
        forwardInvocation(invocation: NSInvocation):void;
        /**
         * Deallocates the memory occupied by the receiver.
         */
        dealloc():void;
    }
    export interface NSMachPortDelegate extends PortDelegate {
        /**
         * Process an incoming Mach message.
         */
        handleMachMessage(msg: UnsafeMutableRawPointer):void;
    }
    export class NSMachPort extends Port {
        /**
         * The Mach port used by the receiver, represented as an integer.
         */
        machPort: UInt32;
        /**
         * Initializes a newly allocated 
         *  object with a given Mach port.
         */
        constructor (machPort: UInt32);
        /**
         * Initializes a newly allocated 
         *  object with a given Mach port and the specified options. 
         */
        constructor (machPort: UInt32, f: NSMachPort.Options);
        /**
         * Creates and returns a port object configured with the given Mach port.
         */
        static port(machPort: UInt32):Port;
        /**
         * Removes the receiver from the run loop mode 
         *  of 
         * .
         */
        remove(runLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Schedules the receiver into the run loop mode 
         *  of 
         * .
         */
        schedule(runLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Returns the receiver’s delegate.
         */
        delegate():NSMachPortDelegate | null;
        /**
         * Sets the receiver’s delegate to a given object.
         */
        setDelegate(anObject: NSMachPortDelegate | null):void;
    }
    /**
     * the same name namespace of class NSMachPort
     */
    export namespace NSMachPort {
        export class Options {
            /**
             * Remove a receive right when the 
             *  object is invalidated or destroyed.
             */
            static deallocateReceiveRight: NSMachPort.Options;
            /**
             * Deallocate a send right when the 
             *  object is invalidated or destroyed.
             */
            static deallocateSendRight: NSMachPort.Options;
            constructor (rawValue: number);
        }
    }
    export class MessagePort extends Port {}
    export interface PortDelegate extends NSObjectProtocol {
        /**
         * Processes a given incoming message on the port.
         */
        handle(message: NSPortMessage):void;
    }
    export class PortMessage extends NSObject {
        /**
         * Returns the data components of the receiver.
         */
        components: any[] | null;
        /**
         * For an outgoing message, returns the port on which replies to the receiver will arrive. For an incoming message, returns the port the receiver did arrive on.
         */
        receivePort: Port | null;
        /**
         * For an outgoing message, returns the port the receiver will send itself through. For an incoming message, returns the port replies to the receiver should be sent through.
         */
        sendPort: Port | null;
        /**
         * Returns the identifier for the receiver.
         */
        msgid: UInt32;
        /**
         * Initializes a newly allocated 
         *  object to send given data on a given port and to receiver replies on another given port.
         */
        constructor (sendPort: Port | null, replyPort: Port | null, components: any[] | null);
        /**
         * Attempts to send the message before 
         * , returning 
         *  if successful or 
         *  if the operation times out.
         */
        send(date: Date):boolean;
    }
    export class NSProtocolChecker extends NSProxy {
        /**
         * Returns the protocol object the receiver uses.
         */
        protocol: Protocol;
        /**
         * Returns the target of the receiver.
         */
        target: NSObject | null;
        /**
         * Initializes a newly allocated 
         *  instance that will forward any messages in 
         *  to 
         * , the protocol checker’s target.
         */
        constructor (anObject: NSObject, aProtocol: Protocol);
    }
    export class RunLoop extends NSObject {
        /**
         * Returns the run loop for the current thread.
         */
        static current: RunLoop;
        /**
         * Returns the run loop of the main thread.
         */
        static main: RunLoop;
        /**
         * The receiver's current input mode.
         */
        currentMode: RunLoop.Mode | null;
        /**
         * The minimum tolerance the run loop scheduler allows.
         */
        minimumTolerance: RunLoop.SchedulerTimeType.Stride;
        /**
         * The run loop scheduler’s definition of the current moment in time.
         */
        now: RunLoop.SchedulerTimeType;
        /**
         * Performs one pass through the run loop in the specified mode and returns the date at which the next timer is scheduled to fire.
         */
        limitDate(mode: RunLoop.Mode):Date | null;
        /**
         * Returns the receiver's underlying 
         *  object.
         */
        getCFRunLoop():CFRunLoop;
        /**
         * Registers a given timer with a given input mode.
         */
        add(timer: Timer, mode: RunLoop.Mode):void;
        /**
         * Removes a port from the specified input mode of the run loop.
         */
        remove(aPort: Port, mode: RunLoop.Mode):void;
        /**
         * Puts the receiver into a permanent loop, during which time it processes data from all attached input sources.
         */
        run():void;
        /**
         * Runs the loop once or until the specified date, accepting input only for the specified mode.
         */
        acceptInput(mode: RunLoop.Mode, limitDate: Date):void;
        /**
         * Schedules a block that the run loop invokes.
         */
        perform(block: ()=>any):void;
        /**
         * Cancels the sending of a previously scheduled message.
         */
        cancelPerform(aSelector: Selector, target: any, arg: any):void;
        /**
         * Cancels all outstanding ordered performs scheduled with a given target.
         */
        cancelPerformSelectors(target: any):void;
        /**
         * Performs the action at some time after the specified date, using the scheduler’s minimum tolerance.
         */
        schedule(options: RunLoop.SchedulerOptions | null, action: ()=>any):void;
    }
    /**
     * the same name namespace of class RunLoop
     */
    export namespace RunLoop {
        export class Mode {
            /**
             * A pseudo-mode that includes one or more other run loop modes.
             */
            static common: RunLoop.Mode;
            /**
             * The mode set to handle input sources other than connection objects.
             */
            static default: RunLoop.Mode;
            /**
             * The mode set when tracking events modally, such as a mouse-dragging loop.
             */
            static eventTracking: RunLoop.Mode;
            /**
             * The mode set when waiting for input from a modal panel, such as a save or open panel.
             */
            static modalPanel: RunLoop.Mode;
            /**
             * The mode set while tracking in controls takes place.
             */
            static tracking: RunLoop.Mode;
            /**
             * Creates a run loop mode using the specified string value.
             */
            constructor (rawValue: string);
            /**
             * Creates a run loop mode using the specified raw string value.
             */
            constructor (rawValue: string);
        }
        export class SchedulerTimeType {
            /**
             * The date this type represents.
             */
            date: Date;
            /**
             * The computed hash value of the run loop scheduler time.
             */
            hashValue: number;
            /**
             * Initializes a run loop scheduler time with the given date.
             */
            constructor (date: Date);
            /**
             * Creates a run loop scheduler time with data from an unarchiver.
             */
            constructor (decoder: Decoder);
            /**
             * Returns a run loop scheduler time calculated by advancing this instance’s time by the given interval.
             */
            advanced(n: RunLoop.SchedulerTimeType.Stride):RunLoop.SchedulerTimeType;
            /**
             * Returns the distance to another run loop scheduler time.
             */
            distance(other: RunLoop.SchedulerTimeType):RunLoop.SchedulerTimeType.Stride;
            /**
             * Hashes the essential components of the run loop schedule time by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
            /**
             * Encodes the run loop schedule time into the given encoder.
             */
            encode(encoder: Encoder):void;
        }
        /**
         * the same name namespace of class SchedulerTimeType
         */
        export namespace SchedulerTimeType {
            export class Stride {
                /**
                 * The zero value.
                 */
                static zero: RunLoop.SchedulerTimeType.Stride;
                /**
                 * The value of this time interval in seconds.
                 */
                magnitude: TimeInterval;
                /**
                 * The value of this time interval in seconds.
                 */
                timeInterval: TimeInterval;
                /**
                 * Creates a run loop scheduler time interval from the given time interval.
                 */
                constructor (timeInterval: TimeInterval);
                /**
                 * Creates a run loop scheduler time interval from a floating-point seconds value.
                 */
                constructor (value: TimeInterval);
                /**
                 * Creates a run loop scheduler time interval from an integer seconds value.
                 */
                constructor (value: TimeInterval);
                /**
                 * Creates a run loop scheduler time interval with data from an unarchiver.
                 */
                constructor (decoder: Decoder);
                /**
                 * Converts the specified number of microseconds into an instance of this scheduler time type.
                 */
                static microseconds(us: number):RunLoop.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of milliseconds into an instance of this scheduler time type.
                 */
                static milliseconds(ms: number):RunLoop.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of nanoseconds into an instance of this scheduler time type.
                 */
                static nanoseconds(ns: number):RunLoop.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of seconds, as a floating-point value, into an instance of this scheduler time type.
                 */
                static seconds(s: number):RunLoop.SchedulerTimeType.Stride;
                /**
                 * Replaces this value with its additive inverse.
                 */
                negate():void;
                /**
                 * Encodes the run loop schedule time interval into the given encoder.
                 */
                encode(encoder: Encoder):void;
            }
        }
        export class SchedulerOptions {}
    }
    export class Thread extends NSObject {
        /**
         * Returns a Boolean value that indicates whether the current thread is the main thread.
         */
        static isMainThread: boolean;
        /**
         * Returns the thread object representing the current thread of execution.
         */
        static current: Thread;
        /**
         * Returns an array containing the call stack return addresses.
         */
        static callStackReturnAddresses: NSNumber[];
        /**
         * Returns an array containing the call stack symbols.
         */
        static callStackSymbols: string[];
        /**
         * A Boolean value that indicates whether the receiver is executing.
         */
        isExecuting: boolean;
        /**
         * A Boolean value that indicates whether the receiver has finished execution.
         */
        isFinished: boolean;
        /**
         * A Boolean value that indicates whether the receiver is cancelled.
         */
        isCancelled: boolean;
        /**
         * The thread object's dictionary.
         */
        threadDictionary: NSMutableDictionary;
        /**
         * The name of the receiver.
         */
        name: string;
        /**
         * The stack size of the receiver, in bytes.
         */
        stackSize: number;
        qualityOfService: QualityOfService;
        /**
         * Returns an initialized 
         *  object.
         */
        constructor ();
        /**
         * Returns an 
         *  object initialized with the given arguments.
         */
        constructor (target: any, selector: Selector, argument: any);
        constructor (block: ()=>any);
        /**
         * Detaches a new thread and uses the specified selector as the thread entry point.
         */
        static detachNewThreadSelector(selector: Selector, target: any, argument: any):void;
        /**
         * Blocks the current thread until the time specified.
         */
        static sleep(date: Date):void;
        /**
         * Terminates the current thread.
         */
        static exit():void;
        /**
         * Returns whether the application is multithreaded.
         */
        static isMultiThreaded():boolean;
        /**
         * Returns the current thread’s priority.
         */
        static threadPriority():number;
        /**
         * Sets the current thread’s priority.
         */
        static setThreadPriority(p: number):boolean;
        static detachNewThread(block: ()=>any):void;
        /**
         * Starts the receiver.
         */
        start():void;
        /**
         * The main entry point routine for the thread. 
         */
        main():void;
        /**
         * Changes the cancelled state of the receiver to indicate that it should exit.
         */
        cancel():void;
    }
    export interface NSLocking {
        /**
         * Attempts to acquire a lock, blocking a thread’s execution until the lock can be acquired.
         */
        lock():void;
        /**
         * Relinquishes a previously acquired lock.
         */
        unlock():void;
    }
    export class NSLock extends NSObject {
        /**
         * The name associated with the receiver.
         */
        name: string;
        /**
         * Attempts to acquire a lock before a given time and returns a Boolean value indicating whether the attempt was successful.
         */
        lock(limit: Date):boolean;
        /**
         * Attempts to acquire a lock and immediately returns a Boolean value that indicates whether the attempt was successful.
         */
        try():boolean;
    }
    export class NSRecursiveLock extends NSObject {
        /**
         * The name associated with the receiver. 
         */
        name: string;
        /**
         * Attempts to acquire a lock before a given date.
         */
        lock(limit: Date):boolean;
        /**
         * Attempts to acquire a lock, and immediately returns a Boolean value that indicates whether the attempt was successful.
         */
        try():boolean;
    }
    export class NSDistributedLock extends NSObject {
        /**
         * Returns the time the receiver was acquired by any of the 
         *  objects using the same path.
         */
        lockDate: Date;
        /**
         * Initializes an 
         *  object to use as the lock the file-system entry specified by a given path.
         */
        constructor (path: string);
        /**
         * Attempts to acquire the receiver and immediately returns a Boolean value that indicates whether the attempt was successful.
         */
        try():boolean;
        /**
         * Forces the lock to be relinquished.
         */
        break():void;
        /**
         * Relinquishes the receiver.
         */
        unlock():void;
    }
    export class NSConditionLock extends NSObject {
        /**
         * The condition associated with the receiver.
         */
        condition: number;
        /**
         * The name associated with the receiver.
         */
        name: string;
        /**
         * Initializes a newly allocated 
         *  object and sets its condition.
         */
        constructor (condition: number);
        /**
         * Attempts to acquire a lock before a specified moment in time.
         */
        lock(limit: Date):boolean;
        /**
         * Attempts to acquire a lock without regard to the receiver’s condition.
         */
        try():boolean;
        /**
         * Attempts to acquire a lock if the receiver’s condition is equal to the specified condition.
         */
        tryLock(condition: number):boolean;
        /**
         * Relinquishes the lock and sets the receiver’s condition.
         */
        unlock(condition: number):void;
    }
    export class NSCondition extends NSObject {
        /**
         * The name of the condition.
         */
        name: string;
        /**
         * Blocks the current thread until the condition is signaled.
         */
        wait():void;
        /**
         * Signals the condition, waking up one thread waiting on it.
         */
        signal():void;
        /**
         * Signals the condition, waking up all threads waiting on it.
         */
        broadcast():void;
    }
    export class Process extends NSObject {
        /**
         * Posted when the task has stopped execution.
         */
        static didTerminateNotification: NSNotification.Name;
        /**
         * The receiver’s process identifier.
         */
        processIdentifier: Int32;
        /**
         * A status that indicates whether the receiver is still running.
         */
        isRunning: boolean;
        /**
         * The exit status the receiver’s executable returns.
         */
        terminationStatus: Int32;
        /**
         * The reason the system terminated the task.
         */
        terminationReason: Process.TerminationReason;
        /**
         * The command arguments that the system uses to launch the executable.
         */
        arguments: string[] | null;
        /**
         * The current directory for the receiver.
         */
        currentDirectoryURL: URL | null;
        /**
         * The environment for the receiver.
         */
        environment: Record<string, string> | null;
        /**
         * The receiver’s executable.
         */
        executableURL: URL | null;
        /**
         * The default quality of service level the system applies to operations the task executes.
         */
        qualityOfService: QualityOfService;
        /**
         * The standard error for the receiver.
         */
        standardError: any;
        /**
         * The standard input for the receiver.
         */
        standardInput: any;
        /**
         * The standard output for the receiver.
         */
        standardOutput: any;
        /**
         * A completion block the system invokes when the task completes.
         */
        terminationHandler: ()=>any | null;
        /**
         * Sets the current directory for the receiver.
         */
        currentDirectoryPath: string;
        /**
         * Sets the receiver’s executable.
         */
        launchPath: string;
        /**
         * Returns an initialized process object with the environment of the current process.
         */
        constructor ();
        /**
         * Creates and runs a task with a specified executable and arguments.
         */
        static run(url: URL, arguments: string[], terminationHandler: ()=>any | null):Process;
        /**
         * Creates and launches a task with a specified executable and arguments.
         */
        static launchedProcess(path: string, arguments: string[]):Process;
        /**
         * Sends an interrupt signal to the receiver and all of its subtasks.
         */
        interrupt():void;
        /**
         * Resumes execution of a suspended task.
         */
        resume():boolean;
        /**
         * Suspends execution of the receiver task.
         */
        suspend():boolean;
        /**
         * Sends a terminate signal to the receiver and all of its subtasks.
         */
        terminate():void;
        /**
         * Blocks the process until the receiver is finished.
         */
        waitUntilExit():void;
        /**
         * Launches the task represented by the receiver.
         */
        launch():void;
    }
    /**
     * the same name namespace of class Process
     */
    export namespace Process {
        export enum TerminationReason {
            exit = 1,
            uncaughtSignal = 2,
        }
    }
    export class NSUserScriptTask extends NSObject {
        /**
         * The URL of the script file.
         */
        scriptURL: URL;
        /**
         * Return a user script task instance given a URL for a script file.
         */
        constructor (url: URL);
        /**
         * Executes the script with no input and ignoring any result.
         */
        execute(handler: NSUserScriptTask.CompletionHandler | null):void;
    }
    export class NSUserAppleScriptTask extends NSUserScriptTask {
        /**
         * Execute the AppleScript script by sending it the specified Apple event.
         */
        execute(event: NSAppleEventDescriptor | null, handler: NSUserAppleScriptTask.CompletionHandler | null):void;
    }
    export class NSUserAutomatorTask extends NSUserScriptTask {
        /**
         * The variables required by the Automator workflow.
         */
        variables: Record<string, any> | null;
        /**
         * Execute the Automator workflow by providing it as securely coded input.
         */
        execute(input: NSSecureCoding | null, handler: NSUserAutomatorTask.CompletionHandler | null):void;
    }
    export class NSUserUnixTask extends NSUserScriptTask {
        /**
         * The standard error stream.
         */
        standardError: FileHandle | null;
        /**
         * The standard input stream.
         */
        standardInput: FileHandle | null;
        /**
         * The standard output stream.
         */
        standardOutput: FileHandle | null;
        /**
         * Execute the unix script with the specified arguments.
         */
        execute(arguments: string[] | null, handler: NSUserUnixTask.CompletionHandler | null):void;
    }
    export class Stream extends NSObject {
        /**
         * Sets the receiver’s delegate.
         */
        delegate: StreamDelegate | null;
        /**
         * Returns the receiver’s status.
         */
        streamStatus: Stream.Status;
        /**
         * Returns an 
         *  object representing the stream error. 
         */
        streamError: Error | null;
        /**
         * Creates and returns by reference an 
         *  object and 
         *  object for a socket connection with a given host on a given port.
         */
        static getStreamsTo(host: Host, port: number, inputStream: AutoreleasingUnsafeMutablePointer<InputStream?> | null, outputStream: AutoreleasingUnsafeMutablePointer<OutputStream?> | null):void;
        /**
         * Creates and returns by reference a bound pair of input and output streams.
         */
        static getBoundStreams(bufferSize: number, inputStream: AutoreleasingUnsafeMutablePointer<InputStream?> | null, outputStream: AutoreleasingUnsafeMutablePointer<OutputStream?> | null):void;
        static getStreamsToHost(hostname: string, port: number, inputStream: AutoreleasingUnsafeMutablePointer<InputStream?> | null, outputStream: AutoreleasingUnsafeMutablePointer<OutputStream?> | null):void;
        /**
         * Returns the receiver’s property for a given key.
         */
        property(key: Stream.PropertyKey):any;
        /**
         * Attempts to set the value of a given property of the receiver and returns a Boolean value that indicates whether the value is accepted by the receiver.
         */
        setProperty(property: any, key: Stream.PropertyKey):boolean;
        /**
         * Opens the receiving stream.
         */
        open():void;
        /**
         * Closes the receiver.
         */
        close():void;
        /**
         * Schedules the receiver on a given run loop in a given mode.
         */
        schedule(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Removes the receiver from a given run loop running in a given mode.
         */
        remove(aRunLoop: RunLoop, mode: RunLoop.Mode):void;
    }
    /**
     * the same name namespace of class Stream
     */
    export namespace Stream {
        export enum Status {
            atEnd = 5,
            closed = 6,
            error = 7,
            notOpen = 0,
            open = 2,
            opening = 1,
            reading = 3,
            writing = 4,
        }
        export class Event {
            /**
             * The open has completed successfully.
             */
            static openCompleted: Stream.Event;
            /**
             * The stream has bytes to be read. 
             */
            static hasBytesAvailable: Stream.Event;
            /**
             * The stream can accept bytes for writing.
             */
            static hasSpaceAvailable: Stream.Event;
            /**
             * An error has occurred on the stream.
             */
            static errorOccurred: Stream.Event;
            /**
             * The end of the stream has been reached.
             */
            static endEncountered: Stream.Event;
            constructor (rawValue: number);
        }
        export class PropertyKey {
            /**
             * Value is an 
             *  instance containing the data written to a memory stream. 
             */
            static dataWrittenToMemoryStreamKey: Stream.PropertyKey;
            /**
             * Value is an 
             *  object containing the current absolute offset of the stream.
             */
            static fileCurrentOffsetKey: Stream.PropertyKey;
            /**
             * The type of service for the stream. Providing the service type allows the system to properly handle certain attributes of the stream, including routing and suspension behavior. Most streams do not need to set this property. See 
             *  for a list of possible values.
             */
            static networkServiceType: Stream.PropertyKey;
            static socketSecurityLevelKey: Stream.PropertyKey;
            /**
             * Value is an 
             *  object containing SOCKS proxy configuration information. 
             */
            static socksProxyConfigurationKey: Stream.PropertyKey;
            constructor (rawValue: string);
            constructor (rawValue: string);
        }
    }
    export class StreamNetworkServiceTypeValue {
        /**
         * Specifies that the stream is providing a background service.
         */
        static background: StreamNetworkServiceTypeValue;
        /**
         * Specifies that the stream is providing video service.
         */
        static video: StreamNetworkServiceTypeValue;
        /**
         * Specifies that the stream is providing voice service.
         */
        static voice: StreamNetworkServiceTypeValue;
        /**
         * Specifies that the stream is providing VoIP service.
         */
        static voIP: StreamNetworkServiceTypeValue;
        static callSignaling: StreamNetworkServiceTypeValue;
        constructor (rawValue: string);
    }
    export class StreamSOCKSProxyConfiguration {
        /**
         * Value is an 
         *  object that represents the SOCKS proxy host.
         */
        static hostKey: StreamSOCKSProxyConfiguration;
        /**
         * Value is an 
         *  object containing the user’s password.
         */
        static passwordKey: StreamSOCKSProxyConfiguration;
        /**
         * Value is an 
         *  object containing an integer that represents the port on which the proxy listens.
         */
        static portKey: StreamSOCKSProxyConfiguration;
        /**
         * Value is an 
         *  object containing the user’s name.
         */
        static userKey: StreamSOCKSProxyConfiguration;
        /**
         * Value is either 
         *  or 
         * . 
         */
        static versionKey: StreamSOCKSProxyConfiguration;
        constructor (rawValue: string);
    }
    export class StreamSOCKSProxyVersion {
        /**
         * Possible value for 
         * .
         */
        static version4: StreamSOCKSProxyVersion;
        /**
         * Possible value for 
         * .
         */
        static version5: StreamSOCKSProxyVersion;
        constructor (rawValue: string);
    }
    export class StreamSocketSecurityLevel {
        /**
         * Specifies that the highest level security protocol that can be negotiated be set as the security protocol for a socket stream.
         */
        static negotiatedSSL: StreamSocketSecurityLevel;
        /**
         * Specifies that no security level be set for a socket stream.
         */
        static none: StreamSocketSecurityLevel;
        /**
         * Specifies that SSL version 2 be set as the security protocol for a socket stream.
         */
        static ssLv2: StreamSocketSecurityLevel;
        /**
         * Specifies that SSL version 3 be set as the security protocol for a socket stream.
         */
        static ssLv3: StreamSocketSecurityLevel;
        /**
         * Specifies that TLS version 1 be set as the security protocol for a socket stream.
         */
        static tlSv1: StreamSocketSecurityLevel;
        constructor (rawValue: string);
    }
    export class InputStream extends Stream {
        /**
         * A Boolean value that indicates whether the receiver has bytes available to read.
         */
        hasBytesAvailable: boolean;
        /**
         * Initializes and returns an 
         *  object for reading from a given 
         *  object.
         */
        constructor (data: Data);
        /**
         * Initializes and returns an 
         *  object that reads data from the file at a given path.
         */
        constructor (path: string);
        /**
         * Initializes and returns an 
         *  object that reads data from the file at a given URL.
         */
        constructor (url: URL);
        /**
         * Reads up to a given number of bytes into a given buffer.
         */
        read(buffer: UnsafeMutablePointer<UInt8>, len: number):number;
        /**
         * Returns by reference a pointer to a read buffer and, by reference, the number of bytes available, and returns a Boolean value that indicates whether the buffer is available.
         */
        getBuffer(buffer: UnsafeMutablePointer<UnsafeMutablePointer<UInt8>?>, len: UnsafeMutablePointer<Int>):boolean;
    }
    export class OutputStream extends Stream {
        /**
         * A boolean value that indicates whether the receiver can be written to.
         */
        hasSpaceAvailable: boolean;
        /**
         * Returns an initialized output stream that will write to memory.
         */
        constructor (toMemory: any);
        /**
         * Returns an initialized output stream that can write to a provided buffer.
         */
        constructor (buffer: UnsafeMutablePointer<UInt8>, capacity: number);
        /**
         * Returns an initialized output stream for writing to a specified file.
         */
        constructor (path: string, shouldAppend: boolean);
        /**
         * Returns an initialized output stream for writing to a specified URL.
         */
        constructor (url: URL, shouldAppend: boolean);
        /**
         * Creates and returns an initialized output stream that will write stream data to memory.
         */
        static toMemory():Self;
        /**
         * Writes the contents of a provided data buffer to the receiver.
         */
        write(buffer: UnsafePointer<UInt8>, len: number):number;
    }
    export interface StreamDelegate extends NSObjectProtocol {
        /**
         * The delegate receives this message when a given event has occurred on a given stream.
         */
        stream(aStream: Stream, eventCode: Stream.Event):void;
    }
    export class Pipe extends NSObject {
        /**
         * The receiver's read file handle.
         */
        fileHandleForReading: FileHandle;
        /**
         * The receiver's write file handle.
         */
        fileHandleForWriting: FileHandle;
    }
    export class Host extends NSObject {
        /**
         * Returns one of the network addresses of the receiver.
         */
        address: string;
        /**
         * Returns all the network addresses of the receiver.
         */
        addresses: string[];
        /**
         * Returns one of the hostnames of the receiver.
         */
        name: string;
        /**
         * Returns the name used as by default when publishing 
         * .
         */
        localizedName: string;
        /**
         * Returns all the hostnames of the receiver.
         */
        names: string[];
        /**
         * Returns the 
         *  with the Internet address 
         * .
         */
        constructor (address: string);
        /**
         * Returns a host with a specific name.
         */
        constructor (name: string);
        /**
         * Returns an 
         *  object representing the host the process is running on.
         */
        static current():Self;
        /**
         * Indicates whether the receiver represents the same host as another 
         *  object.
         */
        isEqual(aHost: Host):boolean;
    }
    export class Port extends NSObject {
        /**
         * Posted from the 
         *  method, which is invoked when the 
         *  is deallocated or when it notices that its communication channel has been damaged. The notification object is the 
         *  object that has become invalid. This notification does not contain a 
         *  dictionary.
         */
        static didBecomeInvalidNotification: NSNotification.Name;
        /**
         * A Boolean value that indicates whether the receiver is valid.
         */
        isValid: boolean;
        /**
         * The number of bytes of space reserved by the receiver for sending data.
         */
        reservedSpaceLength: number;
        /**
         * Marks the receiver as invalid and posts an 
         *  to the default notification center.
         */
        invalidate():void;
        /**
         * Sets the receiver’s delegate to a given object.
         */
        setDelegate(anObject: PortDelegate | null):void;
        /**
         * Returns the receiver’s delegate.
         */
        delegate():PortDelegate | null;
        /**
         * This method is provided for subclasses that have custom types of 
         * .
         */
        send(limitDate: Date, components: NSMutableArray | null, receivePort: Port | null, headerSpaceReserved: number):boolean;
        /**
         * This method should be implemented by a subclass to stop monitoring of a port when removed from a give run loop in a given input mode. 
         */
        remove(runLoop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * This method should be implemented by a subclass to set up monitoring of a port when added to a given run loop in a given input mode.
         */
        schedule(runLoop: RunLoop, mode: RunLoop.Mode):void;
    }
    export class SocketPort extends Port {
        /**
         * The receiver’s socket address structure stored inside an 
         *  object.
         */
        address: Data;
        /**
         * The protocol that the receiver uses for communication.
         */
        protocol: Int32;
        /**
         * The protocol family that the receiver uses for communication.
         */
        protocolFamily: Int32;
        /**
         * The receiver’s native socket identifier on the platform.
         */
        socket: SocketNativeHandle;
        /**
         * The receiver’s socket type.
         */
        socketType: Int32;
        /**
         * Initializes the receiver as a local TCP/IP socket of type 
         * .
         */
        constructor ();
        /**
         * Initializes the receiver as a local TCP/IP socket of type 
         * , listening on a specified port number.
         */
        constructor (port: UInt16);
        /**
         * Initializes the receiver as a local socket with the provided arguments.
         */
        constructor (family: Int32, type: Int32, protocol: Int32, address: Data);
        /**
         * Initializes the receiver with a previously created local socket.
         */
        constructor (family: Int32, type: Int32, protocol: Int32, sock: SocketNativeHandle);
        /**
         * Initializes the receiver as a TCP/IP socket of type 
         *  that can connect to a remote host on a specified port.
         */
        constructor (port: UInt16, hostName: string);
        /**
         * Initializes the receiver as a remote socket with the provided arguments.
         */
        constructor (family: Int32, type: Int32, protocol: Int32, address: Data);
    }
    export class NSSwappedDouble {
        v: UInt64;
        constructor ();
        constructor (v: UInt64);
    }
    export class NSSwappedFloat {
        v: UInt32;
        constructor ();
        constructor (v: UInt32);
    }
    export class _NSRange {}
    export enum NSGrammaticalGender {
        feminine = 1,
        masculine = 2,
        neuter = 3,
        notSet = 0,
    }
    export enum NSGrammaticalNumber {
        zero = 2,
        singular = 1,
        plural = 3,
        pluralTwo = 4,
        pluralFew = 5,
        pluralMany = 6,
        notSet = 0,
    }
    export enum NSGrammaticalPartOfSpeech {
        determiner = 1,
        pronoun = 2,
        letter = 3,
        adverb = 4,
        particle = 5,
        adjective = 6,
        adposition = 7,
        verb = 8,
        noun = 9,
        conjunction = 10,
        numeral = 11,
        interjection = 12,
        preposition = 13,
        abbreviation = 14,
        notSet = 0,
    }
    export class AttributedString {
        static defaultResolverSpecification: ResolverSpecification;
        static transferRepresentation: TransferRepresentation;
        /**
         * The position of the first character in a nonempty attributed string.
         */
        startIndex: AttributedString.Index;
        /**
         * The string’s past-the-end position — the position one greater than the last valid subscript argument.
         */
        endIndex: AttributedString.Index;
        /**
         * The characters of the attributed string, as a view into the underlying string.
         */
        characters: AttributedString.CharacterView;
        /**
         * The Unicode scalars of the attributed string, as a view into the underlying string.
         */
        unicodeScalars: AttributedString.UnicodeScalarView;
        /**
         * The attributed runs of the attributed string, as a view into the underlying string.
         */
        runs: AttributedString.Runs;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of the instance.
         */
        description: string;
        /**
         * Creates an empty attributed string.
         */
        constructor ();
        /**
         * Creates an attributed string from an attributed substring.
         */
        constructor (substring: AttributedSubstring);
        /**
         * Creates an attributed string from a string and an attribute container.
         */
        constructor (_string: string, attributes: AttributeContainer);
        /**
         * Creates an attributed string from the specified string literal, with no attributes.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: string);
        /**
         * Creates an attributed string by looking up a localized string from the app’s bundle.
         */
        constructor (key: String.LocalizationValue, options: AttributedString.FormattingOptions, table: string, bundle: Bundle | null, locale: Locale | null, comment: StaticString | null);
        /**
         * Creates a localized attributed string from a localized string resource.
         */
        constructor (resource: LocalizedStringResource);
        /**
         * Creates an attributed string by looking up a localized string from the app’s bundle, using a default value if necessary.
         */
        constructor (key: StaticString, defaultValue: String.LocalizationValue, options: AttributedString.FormattingOptions, table: string, bundle: Bundle | null, locale: Locale | null, comment: StaticString | null);
        /**
         * Creates an attributed string from a Markdown-formatted string using the provided options.
         */
        constructor (markdown: string, options: AttributedString.MarkdownParsingOptions, baseURL: URL | null);
        /**
         * Creates an attributed string from the contents of a specified URL that contains Markdown-formatted data, using the provided options.
         */
        constructor (url: URL, options: AttributedString.MarkdownParsingOptions, baseURL: URL | null);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates a new instance by decoding from the specified decoder, with help from the provided configuration.
         */
        constructor (decoder: Decoder, configuration: AttributeScopeCodableConfiguration);
        constructor (resource: LocalizedStringResource, options: AttributedString.LocalizationOptions);
        /**
         * Sets the attributed string’s attributes to those in a specified attribute container.
         */
        setAttributes(attributes: AttributeContainer):void;
        /**
         * Returns an attributed string by setting the attributed string’s attributes to those in a specified attribute container.
         */
        settingAttributes(attributes: AttributeContainer):AttributedString;
        /**
         * Merges the attributed string’s attributes with those in a specified attribute container.
         */
        mergeAttributes(attributes: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):void;
        /**
         * Returns an attributed string by merging the attributed string’s attributes with those in a specified attribute container.
         */
        mergingAttributes(attributes: AttributeContainer, mergePolicy: AttributeMergePolicy):AttributedString;
        /**
         * Replaces occurrences of attributes in one attribute container with those in another attribute container.
         */
        replaceAttributes(attributes: AttributeContainer, others: AttributeContainer):void;
        /**
         * Returns an attributed string by replacing occurrences of attributes in one attribute container with those in another attribute container.
         */
        replacingAttributes(attributes: AttributeContainer, others: AttributeContainer):AttributedString;
        /**
         * Returns the position of the character offset a given distance, measured in characters, from a given string index.
         */
        index(i: Index, distance: number):Index;
        /**
         * Applies automatic grammar agreement inflection rules to the attributed string and returns the result.
         */
        inflected():AttributedString;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes the value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class AttributedString
     */
    export namespace AttributedString {
        export enum AttributeMergePolicy {
            keepCurrent,
            keepNew,
        }
        export class FormattingOptions {
            /**
             * An option to add an attribute that marks replacements in localized strings.
             */
            static applyReplacementIndexAttribute: AttributedString.FormattingOptions;
            /**
             * The raw value of the option set.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: AttributedString.FormattingOptions);
            /**
             * Creates a formatting options instance from the given raw value.
             */
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: AttributedString.FormattingOptions):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: AttributedString.FormattingOptions):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: AttributedString.FormattingOptions):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: AttributedString.FormattingOptions):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: AttributedString.FormattingOptions):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: AttributedString.FormattingOptions):AttributedString.FormattingOptions;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: AttributedString.FormattingOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: AttributedString.FormattingOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: AttributedString.FormattingOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: AttributedString.FormattingOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: AttributedString.FormattingOptions):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: AttributedString.FormattingOptions):AttributedString.FormattingOptions | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: AttributedString.FormattingOptions):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: AttributedString.FormattingOptions):AttributedString.FormattingOptions;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: AttributedString.FormattingOptions):AttributedString.FormattingOptions;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: AttributedString.FormattingOptions):AttributedString.FormattingOptions;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: AttributedString.FormattingOptions):AttributedString.FormattingOptions | null;
        }
        export class MarkdownParsingOptions {
            /**
             * A Boolean value that indicates whether parsing allows extensions to Markdown that specify extended attributes.
             */
            allowsExtendedAttributes: boolean;
            /**
             * A Boolean value that indicates whether parsing applies attributes that indicate the position of attributed text in the original Markdown string.
             */
            appliesSourcePositionAttributes: boolean;
            /**
             * The policy for handling a parsing failure.
             */
            failurePolicy: AttributedString.MarkdownParsingOptions.FailurePolicy;
            /**
             * The syntax for interpreting a Markdown string.
             */
            interpretedSyntax: AttributedString.MarkdownParsingOptions.InterpretedSyntax;
            /**
             * The language code for this document.
             */
            languageCode: string;
            /**
             * Creates a Markdown parsing options instance with the specified values.
             */
            constructor (allowsExtendedAttributes: boolean, interpretedSyntax: AttributedString.MarkdownParsingOptions.InterpretedSyntax, failurePolicy: AttributedString.MarkdownParsingOptions.FailurePolicy, languageCode: string);
            /**
             * Creates a Markdown parsing options instance with the specified values, optionally marking the source position of attributed text.
             */
            constructor (allowsExtendedAttributes: boolean, interpretedSyntax: AttributedString.MarkdownParsingOptions.InterpretedSyntax, failurePolicy: AttributedString.MarkdownParsingOptions.FailurePolicy, languageCode: string, appliesSourcePositionAttributes: boolean);
        }
        /**
         * the same name namespace of class MarkdownParsingOptions
         */
        export namespace MarkdownParsingOptions {
            export enum FailurePolicy {
                returnPartiallyParsedIfPossible,
                throwError,
            }
            export enum InterpretedSyntax {
                full,
                inlineOnly,
                inlineOnlyPreservingWhitespace,
            }
        }
        export class MarkdownSourcePosition {
            /**
             * The line where the text begins in the Markdown source.
             */
            startLine: number;
            /**
             * The column where the text begins in the Markdown source.
             */
            startColumn: number;
            /**
             * The line where the text ends in the Markdown source.
             */
            endLine: number;
            /**
             * The column where the text ends in the Markdown source.
             */
            endColumn: number;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a Markdown source position instance from its start and end line and column.
             */
            constructor (startLine: number, startColumn: number, endLine: number, endColumn: number);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Index {}
        export class CharacterView {
            /**
             * The number of elements in the collection.
             */
            count: number;
            endIndex: AttributedString.Index;
            /**
             * The first element of the collection.
             */
            first: Character | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<AttributedString.CharacterView>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: Character | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<AttributedString.CharacterView>;
            publisher: any;
            startIndex: AttributedString.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            constructor ();
            /**
             * Creates a new collection containing the specified number of a single, repeated value.
             */
            constructor (repeatedValue: Character, count: number);
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Adds an element to the end of the collection.
             */
            append(newElement: Character):void;
            /**
             * Applies the given difference to this collection.
             */
            applying(difference: CollectionDifference<Character>):AttributedString.CharacterView | null;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: Character):boolean;
            distance(start: AttributedString.Index, end: AttributedString.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<AttributedString.CharacterView>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<AttributedString.CharacterView>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<AttributedString.CharacterView>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<AttributedString.CharacterView>;
            /**
             * Returns a new collection of the same type containing, in order, the elements of the original collection that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AttributedString.CharacterView;
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: Character):AttributedString.Index | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: AttributedString.Index, distance: number):void;
            index(i: AttributedString.Index, distance: number):AttributedString.Index;
            /**
             * Inserts a new element into the collection at the specified position.
             */
            insert(newElement: Character, i: AttributedString.Index):void;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: Character):AttributedString.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<AttributedString.CharacterView>;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Character | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Character | null;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Character | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<AttributedString.CharacterView>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Character | null;
            /**
             * Removes and returns the element at the specified position.
             */
            remove(position: AttributedString.Index):Character;
            /**
             * Removes all elements from the collection.
             */
            removeAll(keepCapacity: boolean):void;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Character;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Character;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange(bounds: Range<AttributedString.Index>):void;
            /**
             * Prepares the collection to store the specified number of elements, when doing so is appropriate for the underlying type.
             */
            reserveCapacity(n: number):void;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<AttributedString.CharacterView>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Character[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Character[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<AttributedString.CharacterView>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<AttributedString.CharacterView>;
            trimPrefix(predicate: Bool):void;
            trimmingPrefix(predicate: Bool):Slice<AttributedString.CharacterView>;
        }
        export class UnicodeScalarView {
            /**
             * The number of elements in the collection.
             */
            count: number;
            endIndex: AttributedString.Index;
            /**
             * The first element of the collection.
             */
            first: UnicodeScalar | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<AttributedString.UnicodeScalarView>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: UnicodeScalar | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<AttributedString.UnicodeScalarView>;
            publisher: any;
            startIndex: AttributedString.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            constructor ();
            /**
             * Creates a new collection containing the specified number of a single, repeated value.
             */
            constructor (repeatedValue: UnicodeScalar, count: number);
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Adds an element to the end of the collection.
             */
            append(newElement: UnicodeScalar):void;
            /**
             * Applies the given difference to this collection.
             */
            applying(difference: CollectionDifference<UnicodeScalar>):AttributedString.UnicodeScalarView | null;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UnicodeScalar):boolean;
            distance(start: AttributedString.Index, end: AttributedString.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<AttributedString.UnicodeScalarView>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<AttributedString.UnicodeScalarView>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<AttributedString.UnicodeScalarView>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<AttributedString.UnicodeScalarView>;
            /**
             * Returns a new collection of the same type containing, in order, the elements of the original collection that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AttributedString.UnicodeScalarView;
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: UnicodeScalar):AttributedString.Index | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: AttributedString.Index, distance: number):void;
            index(i: AttributedString.Index, distance: number):AttributedString.Index;
            /**
             * Inserts a new element into the collection at the specified position.
             */
            insert(newElement: UnicodeScalar, i: AttributedString.Index):void;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: UnicodeScalar):AttributedString.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<AttributedString.UnicodeScalarView>;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UnicodeScalar | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UnicodeScalar | null;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():UnicodeScalar | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<AttributedString.UnicodeScalarView>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():UnicodeScalar | null;
            /**
             * Removes and returns the element at the specified position.
             */
            remove(position: AttributedString.Index):UnicodeScalar;
            /**
             * Removes all elements from the collection.
             */
            removeAll(keepCapacity: boolean):void;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():UnicodeScalar;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():UnicodeScalar;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange(bounds: Range<AttributedString.Index>):void;
            /**
             * Prepares the collection to store the specified number of elements, when doing so is appropriate for the underlying type.
             */
            reserveCapacity(n: number):void;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<AttributedString.UnicodeScalarView>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UnicodeScalar[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UnicodeScalar[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<AttributedString.UnicodeScalarView>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<AttributedString.UnicodeScalarView>;
            trimPrefix(predicate: Bool):void;
            trimmingPrefix(predicate: Bool):Slice<AttributedString.UnicodeScalarView>;
        }
        export class Runs {
            /**
             * The number of elements in the collection.
             */
            count: number;
            description: string;
            endIndex: AttributedString.Runs.Index;
            /**
             * The first element of the collection.
             */
            first: Run | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<AttributedString.Runs>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: Run | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<AttributedString.Runs>;
            publisher: any;
            startIndex: AttributedString.Runs.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: Run):boolean;
            distance(start: Index, end: Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<AttributedString.Runs>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<AttributedString.Runs>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<AttributedString.Runs>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<AttributedString.Runs>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Run[];
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: Run):Index | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Index, distance: number):void;
            index(i: Index, distance: number):Index;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: Run):Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<AttributedString.Runs>;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Run | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Run | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<AttributedString.Runs>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Run | null;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<AttributedString.Runs>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Run[];
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Run[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<AttributedString.Runs>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<AttributedString.Runs>;
            trimmingPrefix(predicate: Bool):Slice<AttributedString.Runs>;
        }
        /**
         * the same name namespace of class Runs
         */
        export namespace Runs {
            export class Index {
                advanced(n: number):AttributedString.Runs.Index;
                distance(other: AttributedString.Runs.Index):number;
            }
            export class Run {
                attributes: AttributeContainer;
                description: string;
                range: Range<AttributedString.Index>;
            }
        }
        export class InterpolationOptions {
            static insertAttributesWithoutMerging: AttributedString.InterpolationOptions;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: number;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: AttributedString.InterpolationOptions);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: AttributedString.InterpolationOptions):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: AttributedString.InterpolationOptions):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: AttributedString.InterpolationOptions):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: AttributedString.InterpolationOptions):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: AttributedString.InterpolationOptions):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: AttributedString.InterpolationOptions):AttributedString.InterpolationOptions;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: AttributedString.InterpolationOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: AttributedString.InterpolationOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: AttributedString.InterpolationOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: AttributedString.InterpolationOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: AttributedString.InterpolationOptions):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: AttributedString.InterpolationOptions):AttributedString.InterpolationOptions | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: AttributedString.InterpolationOptions):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: AttributedString.InterpolationOptions):AttributedString.InterpolationOptions;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: AttributedString.InterpolationOptions):AttributedString.InterpolationOptions;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: AttributedString.InterpolationOptions):AttributedString.InterpolationOptions;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: AttributedString.InterpolationOptions):AttributedString.InterpolationOptions | null;
        }
        export class AttributeInvalidationCondition {
            static textChanged: AttributedString.AttributeInvalidationCondition;
            hashValue: number;
            hash(hasher: Hasher):void;
        }
        export class LocalizationOptions {
            applyReplacementIndexAttribute: boolean;
            replacements: CVarArg[] | null;
            constructor ();
        }
        export enum AttributeRunBoundaries {
            character,
            paragraph,
        }
    }
    export class AttributeContainer {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of the instance.
         */
        description: string;
        /**
         * Creates an empty attribute container.
         */
        constructor ();
        /**
         * Creates an attribute container from a dictionary, using default attribute scopes.
         */
        constructor (dictionary: Record<NSAttributedString.Key, any>);
        /**
         * Creates a new instance by decoding from the specified decoder, with help from the provided configuration.
         */
        constructor (decoder: Decoder, configuration: AttributeScopeCodableConfiguration);
        /**
         * Merges the container’s attributes with those in another attribute container.
         */
        merge(other: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):void;
        /**
         * Returns an attribute container by merging the container’s attributes with those in another attribute container.
         */
        merging(other: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):AttributeContainer;
        /**
         * Encodes the value into the specified encoder, with help from the provided configuration.
         */
        encode(encoder: Encoder, configuration: AttributeScopeCodableConfiguration):void;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export interface AttributedStringKey {
        /**
         * The name of the key.
         */
        static name: string;
        /**
         * A textual representation of the instance.
         */
        description: string;
        static inheritedByAddedText: boolean;
        static invalidationConditions: Set<AttributedString.AttributeInvalidationCondition> | null;
        static runBoundaries: AttributedString.AttributeRunBoundaries | null;
    }
    export interface ObjectiveCConvertibleAttributedStringKey extends AttributedStringKey {
        /**
         * Returns an Objective-C typed value for a given value of this key’s type.
         */
        static objectiveCValue(value: Self.Value):Self.ObjectiveCValue;
        /**
         * Returns a value of this key’s type for a given Objective-C value.
         */
        static value(object: Self.ObjectiveCValue):Self.Value;
    }
    export interface AttributedStringAttributeMutation {
        /**
         * Sets the attributed string’s attributes to those in a specified attribute container.
         */
        setAttributes(attributes: AttributeContainer):void;
        /**
         * Merges the attributed string’s attributes with those in a specified attribute container.
         */
        mergeAttributes(attributes: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):void;
        /**
         * Replaces the attributed string’s attributes with those in a specified attribute container.
         */
        replaceAttributes(attributes: AttributeContainer, others: AttributeContainer):void;
    }
    export enum AttributeScopes {}
    export class InlinePresentationIntent {
        /**
         * An intent that represents a code voice presentation.
         */
        static code: InlinePresentationIntent;
        /**
         * An intent that represents an emphasized presentation.
         */
        static emphasized: InlinePresentationIntent;
        /**
         * An intent that represents a line break.
         */
        static lineBreak: InlinePresentationIntent;
        /**
         * An intent that represents a soft line break.
         */
        static softBreak: InlinePresentationIntent;
        /**
         * An intent that represents a strikethrough presentation.
         */
        static strikethrough: InlinePresentationIntent;
        /**
         * An intent that represents a strongly emphasized presentation.
         */
        static stronglyEmphasized: InlinePresentationIntent;
        static blockHTML: InlinePresentationIntent;
        static inlineHTML: InlinePresentationIntent;
        /**
         * Creates an inline presentation intent using the raw value you specify.
         */
        constructor (rawValue: number);
    }
    export class PresentationIntent {
        components: PresentationIntent.IntentType[];
        count: number;
        debugDescription: string;
        hashValue: number;
        indentationLevel: number;
        isValid: boolean;
        constructor (kind: PresentationIntent.Kind, identity: number, parent: PresentationIntent | null);
        constructor (decoder: Decoder);
        constructor (types: PresentationIntent.IntentType[]);
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PresentationIntent
     */
    export namespace PresentationIntent {
        export class IntentType {
            debugDescription: string;
            hashValue: number;
            identity: number;
            kind: PresentationIntent.Kind;
            constructor (decoder: Decoder);
            encode(encoder: Encoder):void;
            hash(hasher: Hasher):void;
        }
        export class TableColumn {
            alignment: PresentationIntent.TableColumn.Alignment;
            hashValue: number;
            constructor (alignment: PresentationIntent.TableColumn.Alignment);
            constructor (decoder: Decoder);
            encode(encoder: Encoder):void;
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class TableColumn
         */
        export namespace TableColumn {
            export enum Alignment {
                center,
                left,
                right,
            }
        }
        export enum Kind {
            blockQuote,
            codeBlock,
            header,
            listItem,
            orderedList,
            paragraph,
            table,
            tableCell,
            tableHeaderRow,
            tableRow,
            thematicBreak,
            unorderedList,
        }
    }
    export enum AttributeDynamicLookup {}
    export class AttributeScopeCodableConfiguration {}
    export interface DecodableAttributedStringKey extends AttributedStringKey {
        /**
         * Decodes a value from the provided decoder.
         */
        static decode(decoder: Decoder):Self.Value;
    }
    export interface EncodableAttributedStringKey extends AttributedStringKey {
        /**
         * Encodes a value to the provided encoder.
         */
        static encode(value: Self.Value, encoder: Encoder):void;
    }
    export interface MarkdownDecodableAttributedStringKey extends AttributedStringKey {
        /**
         * Decodes a value from the provided decoder.
         */
        static decodeMarkdown(decoder: Decoder):Self.Value;
        /**
         * The Markdown name associated with an attributed string key.
         */
        static markdownName: string;
    }
    export class AttributedSubstring {
        /**
         * The position of the first character in a nonempty attributed substring.
         */
        startIndex: AttributedString.Index;
        /**
         * A substring’s past-the-end position — the position one greater than the last valid subscript argument.
         */
        endIndex: AttributedString.Index;
        /**
         * The characters of the attributed string, as a view into the underlying string.
         */
        characters: AttributedString.CharacterView;
        /**
         * The Unicode scalars of the attributed string, as a view into the underlying string.
         */
        unicodeScalars: AttributedString.UnicodeScalarView;
        /**
         * The attributed runs of the attributed string, as a view into the underlying string.
         */
        runs: AttributedString.Runs;
        /**
         * Returns the underlying attributed string that the attributed substring derives from.
         */
        base: AttributedString;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of the instance.
         */
        description: string;
        /**
         * Creates an empty attributed substring.
         */
        constructor ();
        /**
         * Sets the attributed substring’s attributes to those in a specified attribute container.
         */
        setAttributes(attributes: AttributeContainer):void;
        /**
         * Returns an attributed string by setting the attributed string’s attributes to those in a specified attribute container.
         */
        settingAttributes(attributes: AttributeContainer):AttributedString;
        /**
         * Merges the attributed string’s attributes with those in a specified attribute container.
         */
        mergeAttributes(attributes: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):void;
        /**
         * Returns an attributed string by merging the attributed string’s attributes with those in a specified attribute container.
         */
        mergingAttributes(attributes: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):AttributedString;
        /**
         * Replaces the attributed substring’s attributes with those in a specified attribute container.
         */
        replaceAttributes(attributes: AttributeContainer, others: AttributeContainer):void;
        /**
         * Returns an attributed string by replacing occurrences of attributes in one attribute container with those in another attribute container.
         */
        replacingAttributes(attributes: AttributeContainer, others: AttributeContainer):AttributedString;
        /**
         * Returns the position of a character offset a given distance, measured in characters, from a given string index.
         */
        index(i: AttributedString.Index, distance: number):AttributedString.Index;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export interface AttributedStringProtocol extends AttributedStringAttributeMutation,CustomStringConvertible,Hashable {
        /**
         * Returns an attributed string by setting the attributed string’s attributes to those in a specified attribute container.
         */
        settingAttributes(attributes: AttributeContainer):AttributedString;
        /**
         * Returns an attributed string by merging the attributed string’s attributes with those in a specified attribute container.
         */
        mergingAttributes(attributes: AttributeContainer, mergePolicy: AttributedString.AttributeMergePolicy):AttributedString;
        /**
         * Returns an attributed string by replacing occurrences of attributes in one attribute container with those in another attribute container.
         */
        replacingAttributes(attributes: AttributeContainer, others: AttributeContainer):AttributedString;
        /**
         * The position of the first character in a nonempty attributed string.
         */
        startIndex: AttributedString.Index;
        /**
         * A string’s past-the-end position — the position one greater than the last valid subscript argument.
         */
        endIndex: AttributedString.Index;
        /**
         * Returns the position of the character offset a given distance, measured in characters, from a given string index.
         */
        index(i: AttributedString.Index, distance: number):AttributedString.Index;
        /**
         * The characters of the attributed string, as a view into the underlying string.
         */
        characters: AttributedString.CharacterView;
        /**
         * The Unicode scalars of the attributed string, as a view into the underlying string.
         */
        unicodeScalars: AttributedString.UnicodeScalarView;
        /**
         * The attributed runs of the attributed string, as a view into the underlying string.
         */
        runs: AttributedString.Runs;
    }
    export interface AttributeScope extends DecodingConfigurationProviding,EncodingConfigurationProviding {
        /**
         * The configuration for encoding the attribute scope.
         */
        static encodingConfiguration: AttributeScopeCodableConfiguration;
        /**
         * The configuration for decoding the attribute scope.
         */
        static decodingConfiguration: AttributeScopeCodableConfiguration;
    }
    export class NSMutableAttributedString extends NSAttributedString {
        /**
         * The character contents of the receiver as an 
         *  object.
         */
        mutableString: NSMutableString;
        /**
         * Replaces the characters in the given range with the characters of the given string.
         */
        replaceCharacters(range: NSRange, str: string):void;
        /**
         * Deletes the characters in the given range along with their associated attributes.
         */
        deleteCharacters(range: NSRange):void;
        /**
         * Sets the attributes for the characters in the specified range to the specified attributes.
         */
        setAttributes(attrs: Record<NSAttributedString.Key, any> | null, range: NSRange):void;
        /**
         * Adds an attribute with the given name and value to the characters in the specified range.
         */
        addAttribute(name: NSAttributedString.Key, value: any, range: NSRange):void;
        /**
         * Adds the given collection of attributes to the characters in the specified range.
         */
        addAttributes(attrs: Record<NSAttributedString.Key, any>, range: NSRange):void;
        /**
         * Removes the named attribute from the characters in the specified range.
         */
        removeAttribute(name: NSAttributedString.Key, range: NSRange):void;
        /**
         * Applies the font attributes specified by 
         *  to the characters in 
         * .
         */
        applyFontTraits(traitMask: NSFontTraitMask, range: NSRange):void;
        /**
         * Sets the alignment characteristic of the paragraph style attribute for the characters in 
         *  to 
         * .
         */
        setAlignment(alignment: NSTextAlignment, range: NSRange):void;
        /**
         * Sets the base writing direction for the characters in 
         *  to 
         * .
         */
        setBaseWritingDirection(writingDirection: NSWritingDirection, range: NSRange):void;
        /**
         * Decrements the value of the superscript attribute for characters in 
         *  by 1.
         */
        subscriptRange(range: NSRange):void;
        /**
         * Increments the value of the superscript attribute for characters in 
         *  by 1.
         */
        superscriptRange(range: NSRange):void;
        /**
         * Removes the superscript attribute from the characters in 
         * .
         */
        unscriptRange(range: NSRange):void;
        /**
         * Adds the characters and attributes of a given attributed string to the end of the receiver.
         */
        append(attrString: NSAttributedString):void;
        /**
         * Inserts the characters and attributes of the given attributed string into the receiver at the given index.
         */
        insert(attrString: NSAttributedString, loc: number):void;
        /**
         * Replaces the receiver’s entire contents with the characters and attributes of the given attributed string.
         */
        setAttributedString(attrString: NSAttributedString):void;
        /**
         * Overridden by subclasses to buffer or optimize a series of changes to the receiver’s characters or attributes, until it receives a matching 
         *  message, upon which it can consolidate changes and notify any observers that it has changed.
         */
        beginEditing():void;
        /**
         * Overridden by subclasses to consolidate changes made since a previous 
         *  message and to notify any observers of the changes.
         */
        endEditing():void;
        /**
         * Updates all attachments based on files contained in the RTFD file package at 
         * .
         */
        updateAttachments(path: string):void;
        /**
         * Cleans up font, paragraph style, and attachment attributes within the given range.
         */
        fixAttributes(range: NSRange):void;
        /**
         * Cleans up attachment attributes in 
         * , removing all attachment attributes assigned to characters other than 
         * .
         */
        fixAttachmentAttribute(range: NSRange):void;
        /**
         * Fixes the font attribute in 
         * , assigning default fonts to characters with illegal fonts for their scripts and otherwise correcting font attribute assignments.
         */
        fixFontAttribute(range: NSRange):void;
        /**
         * Fixes the paragraph style attributes in 
         * , assigning the first paragraph style attribute value in each paragraph to all characters of the paragraph.
         */
        fixParagraphStyleAttribute(range: NSRange):void;
        /**
         * Sets the contents of the receiver from the stream at 
         */
        read(data: Data, opts: Record<NSAttributedString.DocumentReadingOptionKey, any>, dict: AutoreleasingUnsafeMutablePointer<NSDictionary?> | null):void;
    }
    export class CharacterSet {
        /**
         * Returns a character set containing the characters in Unicode General Categories L*, M*, and N*.
         */
        static alphanumerics: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Lt.
         */
        static capitalizedLetters: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Cc and Cf.
         */
        static controlCharacters: CharacterSet;
        /**
         * Returns a character set containing the characters in the category of Decimal Numbers.
         */
        static decimalDigits: CharacterSet;
        /**
         * Returns a character set containing individual Unicode characters that can also be represented as composed character sequences (such as for letters with accents), by the definition of “standard decomposition” in version 3.2 of the Unicode character encoding standard.
         */
        static decomposables: CharacterSet;
        /**
         * Returns a character set containing values in the category of Non-Characters or that have not yet been defined in version 3.2 of the Unicode standard.
         */
        static illegalCharacters: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category L* & M*.
         */
        static letters: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Ll.
         */
        static lowercaseLetters: CharacterSet;
        /**
         * Returns a character set containing the newline characters (
         * , 
         * , 
         * , and 
         * ).
         */
        static newlines: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category M*.
         */
        static nonBaseCharacters: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category P*.
         */
        static punctuationCharacters: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category S*.
         */
        static symbols: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Lu and Lt.
         */
        static uppercaseLetters: CharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Zs and 
         * .
         */
        static whitespaces: CharacterSet;
        /**
         * Returns a character set containing characters in Unicode General Category Z*, 
         * , and 
         * .
         */
        static whitespacesAndNewlines: CharacterSet;
        /**
         * Returns the character set for characters allowed in a fragment URL component.
         */
        static urlFragmentAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a host URL subcomponent.
         */
        static urlHostAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a password URL subcomponent.
         */
        static urlPasswordAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a path URL component.
         */
        static urlPathAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a query URL component.
         */
        static urlQueryAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a user URL subcomponent.
         */
        static urlUserAllowed: CharacterSet;
        /**
         * Returns a representation of the 
         *  in binary format.
         */
        bitmapRepresentation: Data;
        /**
         * Returns an inverted copy of the receiver.
         */
        inverted: CharacterSet;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * A textual description of the character set.
         */
        description: string;
        /**
         * A textual description of the character set suitable for debugging.
         */
        debugDescription: string;
        /**
         * The computed hash value for the date interval.
         */
        hashValue: number;
        /**
         * Initialize an empty instance.
         */
        constructor ();
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Unicode.Scalar);
        constructor (data: Data);
        constructor (range: Range<Unicode.Scalar>);
        constructor (file: string);
        constructor (decoder: Decoder);
        /**
         * Invert the contents of the 
         * .
         */
        invert():void;
        /**
         * Sets the value to an intersection of the 
         *  with another 
         * .
         */
        formIntersection(other: CharacterSet):void;
        /**
         * Sets the value to an exclusive or of the 
         *  with another 
         * .
         */
        formSymmetricDifference(other: CharacterSet):void;
        /**
         * Sets the value to a union of the 
         *  with another 
         * .
         */
        formUnion(other: CharacterSet):void;
        /**
         * Returns true if the 
         *  has a member in the specified plane.
         */
        hasMember(plane: UInt8):boolean;
        /**
         * Insert the values from the specified string into the 
         * .
         */
        insert(_string: string):void;
        /**
         * Returns an intersection of the 
         *  with another 
         * .
         */
        intersection(other: CharacterSet):CharacterSet;
        /**
         * Returns a Boolean value that indicates whether the set has no members in common with the given set.
         */
        isDisjoint(other: CharacterSet):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
         */
        isStrictSubset(other: CharacterSet):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
         */
        isStrictSuperset(other: CharacterSet):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of another set.
         */
        isSubset(other: CharacterSet):boolean;
        /**
         * Returns true if 
         *  is a superset of 
         * .
         */
        isSuperset(other: CharacterSet):boolean;
        /**
         * Remove the values from the specified string from the 
         * .
         */
        remove(_string: string):void;
        /**
         * Returns a 
         *  created by removing elements in 
         *  from 
         * .
         */
        subtracting(other: CharacterSet):CharacterSet;
        /**
         * Returns an exclusive or of the 
         *  with another 
         * .
         */
        symmetricDifference(other: CharacterSet):CharacterSet;
        /**
         * Returns a union of the 
         *  with another 
         * .
         */
        union(other: CharacterSet):CharacterSet;
        contains(member: Unicode.Scalar):boolean;
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
        subtract(other: CharacterSet):void;
        update(character: Unicode.Scalar):Unicode.Scalar | null;
    }
    export class NSCharacterSet extends NSObject {
        /**
         * A character set containing the characters in Unicode General Categories L*, M*, and N*.
         */
        static alphanumerics: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category Lt.
         */
        static capitalizedLetters: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category Cc and Cf.
         */
        static controlCharacters: CharacterSet;
        /**
         * A character set containing the characters in the category of Decimal Numbers.
         */
        static decimalDigits: CharacterSet;
        /**
         * A character set containing individual Unicode characters that can also be represented as composed character sequences (such as for letters with accents), by the definition of “standard decomposition” in version 3.2 of the Unicode character encoding standard.
         */
        static decomposables: CharacterSet;
        /**
         * A character set containing values in the category of Non-Characters or that have not yet been defined in version 3.2 of the Unicode standard.
         */
        static illegalCharacters: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category L* & M*.
         */
        static letters: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category Ll.
         */
        static lowercaseLetters: CharacterSet;
        /**
         * A character set containing the newline characters (
         *  ~ 
         * , 
         * , 
         * , and 
         * ).
         */
        static newlines: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category M*.
         */
        static nonBaseCharacters: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category P*.
         */
        static punctuationCharacters: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category S*.
         */
        static symbols: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category Lu and Lt.
         */
        static uppercaseLetters: CharacterSet;
        /**
         * A character set containing characters in Unicode General Category Z*, 
         *  ~ 
         * , and 
         * .
         */
        static whitespacesAndNewlines: CharacterSet;
        /**
         * A character set containing the characters in Unicode General Category Zs and 
         *  (
         * ).
         */
        static whitespaces: CharacterSet;
        /**
         * Returns the character set for characters allowed in a fragment URL component.
         */
        static urlFragmentAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a host URL subcomponent.
         */
        static urlHostAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a password URL subcomponent.
         */
        static urlPasswordAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a path URL component.
         */
        static urlPathAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a query URL component.
         */
        static urlQueryAllowed: CharacterSet;
        /**
         * Returns the character set for characters allowed in a user URL subcomponent.
         */
        static urlUserAllowed: CharacterSet;
        /**
         * An 
         *  object encoding the receiver in binary format.
         */
        bitmapRepresentation: Data;
        /**
         * A character set containing only characters that don’t exist in the receiver.
         */
        inverted: CharacterSet;
        constructor (coder: NSCoder);
        /**
         * Returns a character set containing the characters in a given string.
         */
        constructor (aString: string);
        /**
         * Returns a character set containing characters with Unicode values in a given range.
         */
        constructor (aRange: NSRange);
        /**
         * Returns a character set containing characters determined by a given bitmap representation.
         */
        constructor (data: Data);
        /**
         * Returns a character set read from the bitmap representation stored in the file a given path.
         */
        constructor (fName: string);
        /**
         * Returns a Boolean value that indicates whether a given character is in the receiver. 
         */
        characterIsMember(aCharacter: unichar):boolean;
        /**
         * Returns a Boolean value that indicates whether the receiver has at least one member in a given character plane.
         */
        hasMemberInPlane(thePlane: UInt8):boolean;
        /**
         * Returns a Boolean value that indicates whether the receiver is a superset of another given character set.
         */
        isSuperset(theOtherSet: CharacterSet):boolean;
        /**
         * Returns a Boolean value that indicates whether a given long character is a member of the receiver.
         */
        longCharacterIsMember(theLongChar: UTF32Char):boolean;
    }
    export class NSMutableCharacterSet extends NSCharacterSet {
        /**
         * Returns a character set containing the characters in a given string.
         */
        constructor (aString: string);
        /**
         * Returns a character set containing characters with Unicode values in a given range.
         */
        constructor (aRange: NSRange);
        /**
         * Returns a character set containing characters determined by a given bitmap representation.
         */
        constructor (data: Data);
        /**
         * Returns a character set read from the bitmap representation stored in the file a given path.
         */
        constructor (fName: string);
        /**
         * Returns a character set containing the characters in Unicode General Categories L*, M*, and N*.
         */
        static alphanumeric():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Lt.
         */
        static capitalizedLetter():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Cc and Cf.
         */
        static control():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in the category of decimal numbers.
         */
        static decimalDigit():NSMutableCharacterSet;
        /**
         * Returns a character set containing individual Unicode characters that can also be represented as composed character sequences (such as for letters with accents), by the definition of “standard decomposition” in version 3.2 of the Unicode character encoding standard.
         */
        static decomposable():NSMutableCharacterSet;
        /**
         * Returns a character set containing values in the category of Non-Characters or that have not yet been defined in version 3.2 of the Unicode standard.
         */
        static illegal():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category L* & M*.
         */
        static letter():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Ll.
         */
        static lowercaseLetter():NSMutableCharacterSet;
        /**
         * Returns a character set containing the newline characters (
         *  ~ 
         * , 
         * , 
         * , and 
         * ).
         */
        static newline():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category M*.
         */
        static nonBase():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category P*.
         */
        static punctuation():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category S*.
         */
        static symbol():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Lu and Lt.
         */
        static uppercaseLetter():NSMutableCharacterSet;
        /**
         * Returns a character set containing characters in Unicode General Category Z*, 
         *  ~ 
         * , and 
         * .
         */
        static whitespaceAndNewline():NSMutableCharacterSet;
        /**
         * Returns a character set containing the characters in Unicode General Category Zs and 
         *  (
         * ).
         */
        static whitespace():NSMutableCharacterSet;
        /**
         * Adds to the receiver the characters whose Unicode values are in a given range.
         */
        addCharacters(aRange: NSRange):void;
        /**
         * Removes from the receiver the characters whose Unicode values are in a given range.
         */
        removeCharacters(aRange: NSRange):void;
        /**
         * Modifies the receiver so it contains only characters that exist in both the receiver and another set.
         */
        formIntersection(otherSet: CharacterSet):void;
        /**
         * Modifies the receiver so it contains all characters that exist in either the receiver or another set.
         */
        formUnion(otherSet: CharacterSet):void;
        /**
         * Replaces all the characters in the receiver with all the characters it didn’t previously contain.
         */
        invert():void;
    }
    export class Scanner extends NSObject {
        /**
         * The string the scanner will scan.
         */
        string: string;
        /**
         * The character position at which the receiver will begin its next scanning operation.
         */
        scanLocation: number;
        /**
         * Flag that indicates whether the receiver distinguishes case in the characters it scans.
         */
        caseSensitive: boolean;
        /**
         * Character set containing the characters the scanner ignores when looking for a scannable element.
         */
        charactersToBeSkipped: CharacterSet | null;
        /**
         * The locale to use when scanning.
         */
        locale: any;
        /**
         * Flag that indicates whether the receiver has exhausted all significant characters.
         */
        isAtEnd: boolean;
        currentIndex: String.Index;
        /**
         * Returns an 
         *  object initialized to scan a given string.
         */
        constructor (_string: string);
        /**
         * Returns an 
         *  object that scans a given string according to the user’s default locale. 
         */
        static localizedScanner(_string: string):any;
        /**
         * Scans the string as long as characters from a given character set are encountered, accumulating characters into a string that’s returned by reference.
         */
        scanCharacters(set: CharacterSet, result: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Scans the string until a character from a given character set is encountered, accumulating characters into a string that’s returned by reference.
         */
        scanUpToCharacters(set: CharacterSet, result: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Scans a given string, returning an equivalent string object by reference if a match is found.
         */
        scanString(_string: string, result: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Scans the string until a given string is encountered, accumulating characters into a string that’s returned by reference.
         */
        scanUpTo(_string: string, result: AutoreleasingUnsafeMutablePointer<NSString?> | null):boolean;
        /**
         * Scans for an 
         *  value, returning a found value by reference.
         */
        scanDecimal(dcm: UnsafeMutablePointer<Decimal> | null):boolean;
        /**
         * Scans for a double value, returning a found value by reference.
         */
        scanDouble(result: UnsafeMutablePointer<Double> | null):boolean;
        /**
         * Scans for a float value, returning a found value by reference.
         */
        scanFloat(result: UnsafeMutablePointer<Float> | null):boolean;
        /**
         * Scans for a double value from a hexadecimal representation, returning a found value by reference.
         */
        scanHexDouble(result: UnsafeMutablePointer<Double> | null):boolean;
        /**
         * Scans for a double value from a hexadecimal representation, returning a found value by reference.
         */
        scanHexFloat(result: UnsafeMutablePointer<Float> | null):boolean;
        /**
         * Scans for an unsigned value from a hexadecimal representation, returning a found value by reference.
         */
        scanHexInt32(result: UnsafeMutablePointer<UInt32> | null):boolean;
        /**
         * Scans for a long long value from a hexadecimal representation, returning a found value by reference.
         */
        scanHexInt64(result: UnsafeMutablePointer<UInt64> | null):boolean;
        /**
         * Scans for an NSInteger value from a decimal representation, returning a found value by reference
         */
        scanInt(result: UnsafeMutablePointer<Int> | null):boolean;
        /**
         * Scans for an int value from a decimal representation, returning a found value by reference.
         */
        scanInt32(result: UnsafeMutablePointer<Int32> | null):boolean;
        /**
         * Scans for a long long value from a decimal representation, returning a found value by reference.
         */
        scanInt64(result: UnsafeMutablePointer<Int64> | null):boolean;
        /**
         * Scans for an unsigned long long value from a decimal representation, returning a found value by reference.
         */
        scanUnsignedLongLong(result: UnsafeMutablePointer<UInt64> | null):boolean;
        scanCharacter():Character | null;
        scanUInt64(representation: Scanner.NumberRepresentation):UInt64 | null;
        scanUpToString(substring: string):string;
    }
    /**
     * the same name namespace of class Scanner
     */
    export namespace Scanner {
        export enum NumberRepresentation {
            decimal,
            hexadecimal,
        }
    }
    export class NSRegularExpression extends NSObject {
        /**
         * Returns the regular expression pattern.
         */
        pattern: string;
        /**
         * Returns the options used when the regular expression option was created.
         */
        options: NSRegularExpression.Options;
        /**
         * Returns the number of capture groups in the regular expression.
         */
        numberOfCaptureGroups: number;
        /**
         * Returns an initialized NSRegularExpression instance with the specified regular expression pattern and options.
         */
        constructor (pattern: string, options: NSRegularExpression.Options);
        /**
         * Returns a template string by adding backslash escapes as necessary to protect any characters that would match as pattern metacharacters
         */
        static escapedTemplate(_string: string):string;
        /**
         * Returns a string by adding backslash escapes as necessary to protect any characters that would match as pattern metacharacters.
         */
        static escapedPattern(_string: string):string;
        /**
         * Returns the number of matches of the regular expression within the specified range of the string.
         */
        numberOfMatches(_string: string, options: NSRegularExpression.MatchingOptions, range: NSRange):number;
        /**
         * Enumerates the string allowing the Block to handle each regular expression match.
         */
        enumerateMatches(_string: string, options: NSRegularExpression.MatchingOptions, range: NSRange, block: ()=>any):void;
        /**
         * Returns an array containing all the matches of the regular expression in the string.
         */
        matches(_string: string, options: NSRegularExpression.MatchingOptions, range: NSRange):NSTextCheckingResult[];
        /**
         * Returns the first match of the regular expression within the specified range of the string.
         */
        firstMatch(_string: string, options: NSRegularExpression.MatchingOptions, range: NSRange):NSTextCheckingResult | null;
        /**
         * Returns the range of the first match of the regular expression within the specified range of the string.
         */
        rangeOfFirstMatch(_string: string, options: NSRegularExpression.MatchingOptions, range: NSRange):NSRange;
        /**
         * Replaces regular expression matches within the mutable string using the template string.
         */
        replaceMatches(_string: NSMutableString, options: NSRegularExpression.MatchingOptions, range: NSRange, templ: string):number;
        /**
         * Returns a new string containing matching regular expressions replaced with the template string.
         */
        stringByReplacingMatches(_string: string, options: NSRegularExpression.MatchingOptions, range: NSRange, templ: string):string;
        /**
         * Used to perform template substitution for a single result for clients implementing their own replace functionality.
         */
        replacementString(result: NSTextCheckingResult, _string: string, offset: number, templ: string):string;
    }
    /**
     * the same name namespace of class NSRegularExpression
     */
    export namespace NSRegularExpression {
        export class Options {
            /**
             * Match letters in the pattern independent of case.
             */
            static caseInsensitive: NSRegularExpression.Options;
            /**
             * Ignore whitespace and #-prefixed comments in the pattern.
             */
            static allowCommentsAndWhitespace: NSRegularExpression.Options;
            /**
             * Treat the entire pattern as a literal string.
             */
            static ignoreMetacharacters: NSRegularExpression.Options;
            /**
             * Allow 
             *  to match any character, including line separators.
             */
            static dotMatchesLineSeparators: NSRegularExpression.Options;
            /**
             * Allow 
             *  and 
             *  to match the start and end of lines.
             */
            static anchorsMatchLines: NSRegularExpression.Options;
            /**
             * Treat only 
             *  as a line separator (otherwise, all standard line separators are used).
             */
            static useUnixLineSeparators: NSRegularExpression.Options;
            /**
             * Use Unicode 
             *  to specify word boundaries (otherwise, traditional regular expression word boundaries are used).
             */
            static useUnicodeWordBoundaries: NSRegularExpression.Options;
            constructor (rawValue: number);
        }
        export class MatchingFlags {
            /**
             * Set when the Block is called to report progress during a long-running match operation. 
             */
            static progress: NSRegularExpression.MatchingFlags;
            /**
             * Set when the Block is called after matching has completed. 
             */
            static completed: NSRegularExpression.MatchingFlags;
            /**
             * Set when the current match operation reached the end of the search range.
             */
            static hitEnd: NSRegularExpression.MatchingFlags;
            /**
             * Set when the current match depended on the location of the end of the search range.
             */
            static requiredEnd: NSRegularExpression.MatchingFlags;
            /**
             * Set when matching failed due to an internal error.
             */
            static internalError: NSRegularExpression.MatchingFlags;
            constructor (rawValue: number);
        }
        export class MatchingOptions {
            /**
             * Call the Block periodically during long-running match operations. This option has no effect for methods other than 
             * . See 
             *  for a description of the constant in context.
             */
            static reportProgress: NSRegularExpression.MatchingOptions;
            /**
             * Call the Block once after the completion of any matching. This option has no effect for methods other than 
             * . See 
             *  for a description of the constant in context.
             */
            static reportCompletion: NSRegularExpression.MatchingOptions;
            /**
             * Specifies that matches are limited to those at the start of the search range. See 
             *  for a description of the constant in context.
             */
            static anchored: NSRegularExpression.MatchingOptions;
            /**
             * Specifies that matching may examine parts of the string beyond the bounds of the search range, for purposes such as word boundary detection, lookahead, etc. This constant has no effect if the search range contains the entire string. See 
             *  for a description of the constant in context.
             */
            static withTransparentBounds: NSRegularExpression.MatchingOptions;
            /**
             * Specifies that 
             *  and 
             *  will not automatically match the beginning and end of the search range, but will still match the beginning and end of the entire string. This constant has no effect if the search range contains the entire string. See 
             *  for a description of the constant in context.
             */
            static withoutAnchoringBounds: NSRegularExpression.MatchingOptions;
            constructor (rawValue: number);
        }
    }
    export class NSDataDetector extends NSRegularExpression {
        /**
         * Returns the checking types for the data detector.
         */
        checkingTypes: NSTextCheckingTypes;
        /**
         * Initializes and returns a data detector instance.
         */
        constructor (checkingTypes: NSTextCheckingTypes);
    }
    export class NSTextCheckingResult extends NSObject {
        /**
         * Returns the range of the result that the receiver represents.
         */
        range: NSRange;
        /**
         * Returns the text checking result type that the receiver represents.
         */
        resultType: NSTextCheckingResult.CheckingType;
        /**
         * Returns the number of ranges.
         */
        numberOfRanges: number;
        /**
         * A replacement string from one of a number of replacement checking results.
         */
        replacementString: string;
        /**
         * The regular expression of a type checking result.
         */
        regularExpression: NSRegularExpression | null;
        /**
         * A dictionary containing the components of a type checking result.
         */
        components: Record<NSTextCheckingKey, string> | null;
        /**
         * The URL of a type checking result.
         */
        url: URL | null;
        /**
         * The address dictionary of a type checking result.
         */
        addressComponents: Record<NSTextCheckingKey, string> | null;
        /**
         * The phone number of a type checking result.
         */
        phoneNumber: string;
        /**
         * The date component of a type checking result.
         */
        date: Date | null;
        /**
         * The duration component of a type checking result.
         */
        duration: TimeInterval;
        /**
         * The time zone component of a type checking result.
         */
        timeZone: TimeZone | null;
        /**
         * The detected orthography of a type checking result.
         */
        orthography: NSOrthography | null;
        /**
         * The details of a located grammatical type checking result.
         */
        grammarDetails: Record<[String, Any]> | null;
        alternativeStrings: string[] | null;
        /**
         * Creates and returns a text checking result with the specified replacement string. 
         */
        static replacementCheckingResult(range: NSRange, replacementString: string):NSTextCheckingResult;
        /**
         * Creates and returns a type checking result with the specified regular expression data. 
         */
        static regularExpressionCheckingResult(ranges: NSRangePointer, count: number, regularExpression: NSRegularExpression):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified URL.
         */
        static linkCheckingResult(range: NSRange, url: URL):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified address components.
         */
        static addressCheckingResult(range: NSRange, components: Record<NSTextCheckingKey, string>):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified transit information.
         */
        static transitInformationCheckingResult(range: NSRange, components: Record<NSTextCheckingKey, string>):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified phone number.
         */
        static phoneNumberCheckingResult(range: NSRange, phoneNumber: string):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified date.
         */
        static dateCheckingResult(range: NSRange, date: Date):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified dash corrected replacement string.
         */
        static dashCheckingResult(range: NSRange, replacementString: string):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified quote-balanced replacement string.
         */
        static quoteCheckingResult(range: NSRange, replacementString: string):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the range of a misspelled word.
         */
        static spellCheckingResult(range: NSRange):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result after detecting a possible correction.
         */
        static correctionCheckingResult(range: NSRange, replacementString: string):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified orthography.
         */
        static orthographyCheckingResult(range: NSRange, orthography: NSOrthography):NSTextCheckingResult;
        /**
         * Creates and returns a text checking result with the specified array of grammatical errors.
         */
        static grammarCheckingResult(range: NSRange, details: Record<[String, Any]>):NSTextCheckingResult;
        /**
         * Returns a new text checking result after adjusting the ranges as specified by the offset.
         */
        adjustingRanges(offset: number):NSTextCheckingResult;
    }
    /**
     * the same name namespace of class NSTextCheckingResult
     */
    export namespace NSTextCheckingResult {
        export class CheckingType {
            /**
             * Attempts to identify the language
             */
            static orthography: NSTextCheckingResult.CheckingType;
            /**
             * Checks spelling.
             */
            static spelling: NSTextCheckingResult.CheckingType;
            /**
             * Checks grammar.
             */
            static grammar: NSTextCheckingResult.CheckingType;
            /**
             * Attempts to locate dates.
             */
            static date: NSTextCheckingResult.CheckingType;
            /**
             * Attempts to locate addresses.
             */
            static address: NSTextCheckingResult.CheckingType;
            /**
             * Attempts to locate URL links.
             */
            static link: NSTextCheckingResult.CheckingType;
            /**
             * Replaces quotes with smart quotes.
             */
            static quote: NSTextCheckingResult.CheckingType;
            /**
             * Replaces dashes with em-dashes.
             */
            static dash: NSTextCheckingResult.CheckingType;
            /**
             * Replaces characters such as (c) with the appropriate symbol (in this case ©).
             */
            static replacement: NSTextCheckingResult.CheckingType;
            /**
             * Performs autocorrection on misspelled words.
             */
            static correction: NSTextCheckingResult.CheckingType;
            /**
             * Matches a regular expression.
             */
            static regularExpression: NSTextCheckingResult.CheckingType;
            /**
             * Matches a phone number.
             */
            static phoneNumber: NSTextCheckingResult.CheckingType;
            /**
             * Matches a transit information, for example, flight information.
             */
            static transitInformation: NSTextCheckingResult.CheckingType;
            static allCustomTypes: NSTextCheckingResult.CheckingType;
            static allSystemTypes: NSTextCheckingResult.CheckingType;
            static allTypes: NSTextCheckingResult.CheckingType;
            constructor (rawValue: UInt64);
        }
    }
    export class NSTextCheckingKey {
        /**
         * A key that corresponds to the airline of a transit result.
         */
        static airline: NSTextCheckingKey;
        /**
         * A key that corresponds to the flight component of a transit result.
         */
        static flight: NSTextCheckingKey;
        /**
         * A key that corresponds to the name component of the address.
         */
        static name: NSTextCheckingKey;
        /**
         * A key that corresponds to the job component of the address.
         */
        static jobTitle: NSTextCheckingKey;
        /**
         * A key that corresponds to the organization component of the address.
         */
        static organization: NSTextCheckingKey;
        /**
         * A key that corresponds to the street address component of the address.
         */
        static street: NSTextCheckingKey;
        /**
         * A key that corresponds to the city component of the address.
         */
        static city: NSTextCheckingKey;
        /**
         * A key that corresponds to the state or province component of the address.
         */
        static state: NSTextCheckingKey;
        /**
         * A key that corresponds to the zip code or postal code component of the address.
         */
        static zip: NSTextCheckingKey;
        /**
         * A key that corresponds to the country or region component of the address.
         */
        static country: NSTextCheckingKey;
        /**
         * A key that corresponds to the phone number component of the address.
         */
        static phone: NSTextCheckingKey;
    }
    export class NSSpellServer extends NSObject {
        /**
         * Returns the receiver’s delegate.
         */
        delegate: NSSpellServerDelegate | null;
        /**
         * Notifies the receiver of a language your spelling checker can check.
         */
        registerLanguage(language: string, vendor: string):boolean;
        /**
         * Causes the receiver to start listening for spell-checking requests.
         */
        run():void;
        /**
         * Indicates whether a given word is in the user’s list of learned words or the document’s list of words to ignore.
         */
        isWord(word: string, flag: boolean):boolean;
    }
    export interface NSSpellServerDelegate extends NSObjectProtocol {
        /**
         * Gives the delegate the opportunity to analyze both the spelling and grammar simultaneously, which is more efficient.
         */
        spellServer(sender: NSSpellServer, stringToCheck: string, offset: number, checkingTypes: NSTextCheckingTypes, options: Record<string, any> | null, orthography: NSOrthography | null, wordCount: UnsafeMutablePointer<Int>):NSTextCheckingResult[] | null;
    }
    export class NSDecimalNumber extends NSNumber {}
    /**
     * the same name namespace of class NSDecimalNumber
     */
    export namespace NSDecimalNumber {
        export enum RoundingMode {
            plain = 0,
            down = 1,
            up = 2,
            bankers = 3,
        }
        export enum CalculationError {
            noError = 0,
            lossOfPrecision = 1,
            overflow = 3,
            underflow = 2,
            divideByZero = 4,
        }
    }
    export interface NSDecimalNumberBehaviors {
        /**
         * Returns the way that 
         * 's 
         *  methods round their return values.
         */
        roundingMode():NSDecimalNumber.RoundingMode;
        /**
         * Returns the number of digits allowed after the decimal separator. 
         */
        scale():Int16;
        /**
         * Specifies what an 
         *  object will do when it encounters an error.
         */
        exceptionDuringOperation(operation: Selector, error: NSDecimalNumber.CalculationError, leftOperand: NSDecimalNumber, rightOperand: NSDecimalNumber | null):NSDecimalNumber | null;
    }
}

/**
 * Attribute app-download campaigns that originate from the App Store, Apple News, or Stocks on iOS devices.
 */
declare module AdServices {
    export class AAAttribution extends NSObject {
        /**
         * Generates a token. 
         */
        static attributionToken():string;
    }
    export class AAAttributionError {
        /**
         * The error domain the framework uses when returning errors.
         */
        static errorDomain: string;
        /**
         * An error code enum.
         */
        errorCode: number;
        /**
         * A string containing localized error information.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A human readable string of localized information.
         */
        localizedDescription: string;
        /**
         * A variable code value.
         */
        code: Code;
        /**
         * A hashed integer value.
         */
        hashValue: number;
        /**
         * A string containing localized information.
         */
        userInfo: Record<string, any>;
        /**
         * An intitialization string.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class AAAttributionError
     */
    export namespace AAAttributionError {
        export enum Code {
            networkError = 1,
            platformNotSupported = 3,
        }
    }
}

/**
 * Access users’ contacts and display them in a graphical interface.
 */
declare module AddressBookUI {
    export class ABPeoplePickerNavigationController extends UINavigationController {
        /**
         * The properties (such as name or telephone number) the picker displays when it shows a person.
         */
        displayedProperties: NSNumber[] | null;
        /**
         * Optional; the address book from which to obtain the list of contacts.
         */
        addressBook: ABAddressBook | null;
        /**
         * Optionally determines if a person can be selected.
         */
        predicateForEnablingPerson: NSPredicate | null;
        /**
         * Optionally determines if a selected person should be returned to the app or displayed.
         */
        predicateForSelectionOfPerson: NSPredicate | null;
        /**
         * Optionally determines if a selected property should be returned to the app or if the default action for the property should be performed
         */
        predicateForSelectionOfProperty: NSPredicate | null;
        /**
         * The people-picker navigation controller delegate.
         */
        peoplePickerDelegate: ABPeoplePickerNavigationControllerDelegate | null;
    }
    export class ABNewPersonViewController extends UIViewController {
        /**
         * The delegate of a new-person view controller.
         */
        newPersonViewDelegate: ABNewPersonViewControllerDelegate | null;
        /**
         * Optional. Specifies the person properties that the new-person view controller pre-fills in its views.
         */
        displayedPerson: ABRecord | null;
        /**
         * Optional. The address book to which the new contact is added.
         */
        addressBook: ABAddressBook | null;
        /**
         * Optional. Specifies the group to which to add the new contact on save.
         */
        parentGroup: ABRecord | null;
    }
    export interface ABNewPersonViewControllerDelegate extends NSObjectProtocol {
        /**
         * Sent when the user taps Save or Cancel. If the user tapped Save, the current address book has been saved to the Address Book database.
         */
        newPersonViewController(newPersonView: ABNewPersonViewController, person: ABRecord | null):void;
    }
    export class ABPersonViewController extends UIViewController {
        /**
         * The person-view controller delegate.
         */
        personViewDelegate: ABPersonViewControllerDelegate | null;
        /**
         * The person displayed by the person view.
         */
        displayedPerson: ABRecord;
        /**
         * Identifies the set of properties (such as name or telephone number) of 
         *  the receiver displays.
         */
        displayedProperties: NSNumber[] | null;
        /**
         * Indicates whether the person view should display data from person records that are linked with the person record being displayed.
         */
        shouldShowLinkedPeople: boolean;
        /**
         * Optional. The address book from which to obtain the contact to display.
         */
        addressBook: ABAddressBook | null;
        /**
         * Specifies whether the to display buttons for actions such as sending a text message or initiating a FaceTime call.
         */
        allowsActions: boolean;
        /**
         * Specifies whether the user can edit the person’s information.
         */
        allowsEditing: boolean;
        /**
         * Specifies whether to highlight a particular property of the displayed person.
         */
        setHighlightedItemForProperty(property: ABPropertyID, identifier: ABMultiValueIdentifier):void;
    }
    export interface ABPeoplePickerNavigationControllerDelegate extends NSObjectProtocol {
        /**
         * Sent when the user selects a contact.
         */
        peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController, person: ABRecord):boolean;
        /**
         * Sent when the user taps Cancel.
         */
        peoplePickerNavigationControllerDidCancel(peoplePicker: ABPeoplePickerNavigationController):void;
    }
    export interface ABPersonViewControllerDelegate extends NSObjectProtocol {
        /**
         * Sent when the user selects a property value of the person displayed in a person view controller.
         */
        personViewController(personViewController: ABPersonViewController, person: ABRecord, property: ABPropertyID, identifier: ABMultiValueIdentifier):boolean;
    }
    export class ABUnknownPersonViewController extends UIViewController {
        /**
         * The unknown-person view controller delegate.
         */
        unknownPersonViewDelegate: ABUnknownPersonViewControllerDelegate | null;
        /**
         * Provides a value that is displayed instead of the first and last name.
         */
        alternateName: string;
        /**
         * Text displayed below 
         * .
         */
        message: string;
        /**
         * Specifies a person record whose properties are displayed by the view controller.
         */
        displayedPerson: ABRecord;
        /**
         * Optional. The address book database that the person record is added to.
         */
        addressBook: ABAddressBook | null;
        /**
         * Specifies whether buttons appear to let the user perform actions such as sharing the contact, initiating a FaceTime call, or sending a text message.
         */
        allowsActions: boolean;
        /**
         * Specifies whether the user can add the properties displayed by the unknown-person view controller to the address book database, either as a new contact or by adding them to an existing contact.
         */
        allowsAddingToAddressBook: boolean;
    }
    export interface ABUnknownPersonViewControllerDelegate extends NSObjectProtocol {
        /**
         * Sent when the user finishes creating a contact or adding the displayed person properties to an existing contact.
         */
        unknownPersonViewController(unknownCardViewController: ABUnknownPersonViewController, person: ABRecord | null):void;
    }
}

/**
 * Provide apps with access to an advertising identifier.
 */
declare module AdSupport {
    export class ASIdentifierManager extends NSObject {
        /**
         * The UUID that is specific to a device.
         */
        advertisingIdentifier: UUID;
        /**
         * A Boolean value that indicates whether the user has limited ad tracking enabled.
         */
        isAdvertisingTrackingEnabled: boolean;
        /**
         * The shared instance of the identifier manager class.
         */
        static shared():ASIdentifierManager;
    }
}

/**
 * Perform multithreaded lossless compression of directories, files, and data.
 */
declare module AppleArchive {
    export class ArchiveEncryptionContext {
        /**
         * The signature mode, such as an ECDSA Nist P-256 signature.
         */
        signatureMode: ArchiveEncryptionContext.SignatureMode;
        /**
         * An optional set of data that represents the archive identifier.
         */
        archiveIdentifier: Data | null;
        /**
         * An optional, unencrypted set of data that’s stored in the archive prologue.
         */
        authData: Data | null;
        /**
         * The checksum mode, such as the 256-bit SHA-256 checksum.
         */
        checksumMode: ArchiveEncryptionContext.ChecksumMode;
        /**
         * The size of the compressed and encrypted archive.
         */
        containerSize: number;
        /**
         * The encryption mode, such as symmetric key encryption.
         */
        encryptionMode: ArchiveEncryptionContext.EncryptionMode;
        /**
         * The compression algorithm, such as LZFSE.
         */
        compressionAlgorithm: ArchiveCompression;
        /**
         * The compression block size that defines the size of the blocks, in bytes, that the context splits data into.
         */
        compressionBlockSize: number;
        /**
         * An integer value that, if not zero, specifies that the size of the final archive is a multiple of the padding size.
         */
        paddingSize: number;
        /**
         * The profile of the archve.
         */
        profile: ArchiveEncryptionContext.Profile;
        /**
         * The size of the archive raw data.
         */
        rawSize: number;
        /**
         * The signature encryption key that the context requires to sign an encrypted archive.
         */
        signatureEncryptionKey: SymmetricKey | null;
        mainKey: SymmetricKey | null;
        password: string;
        symmetricKey: SymmetricKey | null;
        /**
         * Returns a new encryption context from the specified encrypted stream.
         */
        constructor (stream: ArchiveByteStream);
        /**
         * Returns a new encryption context from the specified profile, compression algorithm, and block size.
         */
        constructor (profile: ArchiveEncryptionContext.Profile, compressionAlgorithm: ArchiveCompression, compressionBlockSize: number);
        /**
         * Signs an encrypted archive using the credentials stored in the specified encryption context.
         */
        static sign(encryptedStream: ArchiveByteStream, context: ArchiveEncryptionContext):void;
        /**
         * Sets the symmetric encryption key that the context requires for symmetric encryption mode.
         */
        setSymmetricKey(key: SymmetricKey):void;
        /**
         * Sets the recipient private key that the context requires to decrypt an archive to a specific recipient in ECDHE encryption profiles.
         */
        setRecipientPrivateKey(key: P256.KeyAgreement.PrivateKey):void;
        /**
         * Sets the signing private key that corresponds to the signing public key that you used to create the archive.
         */
        setSigningPrivateKey(key: P256.Signing.PrivateKey):void;
        /**
         * Sets the recipient public key that the context requires to encrypt an archive to a specific recipient in ECDHE encryption profiles.
         */
        setRecipientPublicKey(key: P256.KeyAgreement.PublicKey):void;
        /**
         * Sets the signing public key that the context requires to unlock a signed archive.
         */
        setSigningPublicKey(key: P256.Signing.PublicKey):void;
        /**
         * Sets the password from the supplied string.
         */
        setPassword(password: string):void;
        decryptAttributes():boolean;
        generatePassword():string;
        generateSymmetricKey():SymmetricKey;
    }
    /**
     * the same name namespace of class ArchiveEncryptionContext
     */
    export namespace ArchiveEncryptionContext {
        export class SignatureMode {
            /**
             * A constant that represents no signature.
             */
            static none: ArchiveEncryptionContext.SignatureMode;
            /**
             * A constant that represents an ECDSA Nist P-256 signature.
             */
            static ecdsa_p256: ArchiveEncryptionContext.SignatureMode;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: UInt32;
            /**
             * A textual representation of this structure.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: UInt32);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class ChecksumMode {
            /**
             * A constant that represents no checksum.
             */
            static none: ArchiveEncryptionContext.ChecksumMode;
            /**
             * A constant that represents the 64-bit MurmurHash 2 checksum.
             */
            static murmurhash64: ArchiveEncryptionContext.ChecksumMode;
            /**
             * A constant that represents the 256-bit SHA-256 checksum.
             */
            static sha256: ArchiveEncryptionContext.ChecksumMode;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: UInt32;
            /**
             * A textual representation of this structure.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: UInt32);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class EncryptionMode {
            /**
             * A constant that represents no encryption.
             */
            static none: ArchiveEncryptionContext.EncryptionMode;
            /**
             * A constant that represents ephemeral Diffie-Hellman encryption mode.
             */
            static ecdhe_p256: ArchiveEncryptionContext.EncryptionMode;
            /**
             * A constant that represents ephemeral password encryption mode.
             */
            static scrypt: ArchiveEncryptionContext.EncryptionMode;
            /**
             * A constant that represents symmetric key encryption mode.
             */
            static symmetric: ArchiveEncryptionContext.EncryptionMode;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: UInt32;
            /**
             * A textual representation of this structure.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: UInt32);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Profile {
            /**
             * A constant that represents no encryption, authenticated container, signature is mandatory.
             */
            static hkdf_sha256_hmac__none__ecdsa_p256: ArchiveEncryptionContext.Profile;
            /**
             * A constant that represents unsigned, symmetric key encryption.
             */
            static hkdf_sha256_aesctr_hmac__symmetric__none: ArchiveEncryptionContext.Profile;
            /**
             * A constant that represents signed symmetric key encryption, signed with encrypted signature.
             */
            static hkdf_sha256_aesctr_hmac__symmetric__ecdsa_p256: ArchiveEncryptionContext.Profile;
            /**
             * A constant that represents unsigned ECDHE public key encryption, where only the recipient with the corresponding private key can unlock the container.
             */
            static hkdf_sha256_aesctr_hmac__ecdhe_p256__none: ArchiveEncryptionContext.Profile;
            /**
             * A constant that represents signed ECDHE public key encryption, where only the recipient with the corresponding private key can unlock the container.
             */
            static hkdf_sha256_aesctr_hmac__ecdhe_p256__ecdsa_p256: ArchiveEncryptionContext.Profile;
            /**
             * A constant that represents unsigned password encryption using scrypt.
             */
            static hkdf_sha256_aesctr_hmac__scrypt__none: ArchiveEncryptionContext.Profile;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: UInt32;
            /**
             * A textual representation of this structure.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: UInt32);
            hash(hasher: Hasher):void;
        }
    }
    export class ArchiveHeader {
        /**
         * The field types of the archive header.
         */
        fieldType: ArchiveHeader._FieldTypes;
        /**
         * The field keys of the archive header.
         */
        fieldKey: ArchiveHeader._FieldKeys;
        /**
         * The entry type from 
         *  field, or 
         *  if missing or invalid.
         */
        entryType: ArchiveHeader.EntryType | null;
        /**
         * The entry from the path field, or nil if missing or invalid.
         */
        entryPath: FilePath | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        endIndex: number;
        /**
         * The first element of the collection.
         */
        first: Field | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: Field | null;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<ArchiveHeader>;
        publisher: any;
        startIndex: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        append(newElement: ArchiveHeader.Field):void;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<ArchiveHeader>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<ArchiveHeader>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<ArchiveHeader>;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<ArchiveHeader>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Field[];
        /**
         * Returns the first index in which an element of the collection satisfies the given predicate.
         */
        firstIndex(predicate: Bool):number;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
         */
        index(i: number, distance: number, limit: number):number;
        /**
         * Returns the index of the last element in the collection that matches the given predicate.
         */
        lastIndex(predicate: Bool):number;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<ArchiveHeader>;
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Field | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Field | null;
        /**
         * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
         */
        partition(belongsInSecondPartition: Bool):number;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<ArchiveHeader>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Field | null;
        remove(i: number):ArchiveHeader.Field;
        removeAll():void;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<ArchiveHeader>;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Field[];
        /**
         * Sorts the collection in place, using the given predicate as the comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Field[];
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<ArchiveHeader>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<ArchiveHeader>;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: number, j: number):void;
        trimmingPrefix(predicate: Bool):Slice<ArchiveHeader>;
    }
    /**
     * the same name namespace of class ArchiveHeader
     */
    export namespace ArchiveHeader {
        export class FieldKey {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export enum Field {
            blob,
            flag,
            hash,
            string,
            timespec,
            uint,
        }
        export class FieldType {
            /**
             * A constant that indicates the field is a data blob.
             */
            static blob: ArchiveHeader.FieldType;
            /**
             * A constant that indicates the field is a flag.
             */
            static flag: ArchiveHeader.FieldType;
            /**
             * A constant that indicates the field is a hash.
             */
            static hash: ArchiveHeader.FieldType;
            /**
             * A constant that indicates the field is a string.
             */
            static string: ArchiveHeader.FieldType;
            /**
             * A constant that indicates the field is a time value.
             */
            static timespec: ArchiveHeader.FieldType;
            /**
             * A constant that indicates the field is an unsigned integer.
             */
            static uint: ArchiveHeader.FieldType;
            rawValue: UInt32;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            constructor (rawValue: UInt32);
        }
        export class FieldKeySet {
            /**
             * A constant that contains the default key set for an archive.
             */
            static defaultForArchive: ArchiveHeader.FieldKeySet;
            /**
             * A constant that contains the default key set for a manifest.
             */
            static defaultForManifest: ArchiveHeader.FieldKeySet;
            /**
             * The number of elements in the collection.
             */
            count: number;
            description: string;
            startIndex: number;
            /**
             * The “past the end” position—that is, the position one greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The first element of the collection.
             */
            first: ArchiveHeader.FieldKey | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: ArchiveHeader.FieldKey | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<ArchiveHeader.FieldKeySet>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * Creates a new empty field key set.
             */
            constructor ();
            /**
             * Creates a new field key set from the specified comma-separated string of 3-letter keys.
             */
            constructor (s: string);
            /**
             * Creates a copy of the specified field key set.
             */
            constructor (s: ArchiveHeader.FieldKeySet);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: ArchiveHeader.FieldKey);
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            contains(member: ArchiveHeader.FieldKey):boolean;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<ArchiveHeader.FieldKeySet>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<ArchiveHeader.FieldKeySet>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<ArchiveHeader.FieldKeySet>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<ArchiveHeader.FieldKeySet>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):ArchiveHeader.FieldKey[];
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: ArchiveHeader.FieldKey):number;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            formIntersection(other: ArchiveHeader.FieldKeySet):void;
            formSymmetricDifference(other: ArchiveHeader.FieldKeySet):void;
            formUnion(other: ArchiveHeader.FieldKeySet):void;
            /**
             * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
             */
            index(i: number, distance: number, limit: number):number;
            insert(newMember: ArchiveHeader.FieldKey):any;
            intersection(other: ArchiveHeader.FieldKeySet):ArchiveHeader.FieldKeySet;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: ArchiveHeader.FieldKeySet):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: ArchiveHeader.FieldKeySet):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: ArchiveHeader.FieldKeySet):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: ArchiveHeader.FieldKeySet):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: ArchiveHeader.FieldKeySet):boolean;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: ArchiveHeader.FieldKey):number;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<ArchiveHeader.FieldKeySet>;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):ArchiveHeader.FieldKey | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):ArchiveHeader.FieldKey | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<ArchiveHeader.FieldKeySet>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():ArchiveHeader.FieldKey | null;
            remove(member: ArchiveHeader.FieldKey):ArchiveHeader.FieldKey | null;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<ArchiveHeader.FieldKeySet>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():ArchiveHeader.FieldKey[];
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):ArchiveHeader.FieldKey[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<ArchiveHeader.FieldKeySet>[];
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: ArchiveHeader.FieldKeySet):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: ArchiveHeader.FieldKeySet):ArchiveHeader.FieldKeySet;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<ArchiveHeader.FieldKeySet>;
            symmetricDifference(other: ArchiveHeader.FieldKeySet):ArchiveHeader.FieldKeySet;
            union(other: ArchiveHeader.FieldKeySet):ArchiveHeader.FieldKeySet;
            update(newMember: ArchiveHeader.FieldKey):ArchiveHeader.FieldKey | null;
            trimmingPrefix(predicate: Bool):Slice<ArchiveHeader.FieldKeySet>;
        }
        export class EntryAttributes {
            /**
             * A time specification value that represents the backup time of the entry.
             */
            btm: timespec | null;
            /**
             * A time specification value that represents the creation time of the entry.
             */
            ctm: timespec | null;
            /**
             * An unsigned integer that represents the BSD flags of the entry.
             */
            flg: UInt32 | null;
            /**
             * An unsigned integer that represents the group ID of the entry.
             */
            gid: UInt32 | null;
            /**
             * An unsigned integer that represents the file modes of the entry.
             */
            mod: UInt32 | null;
            /**
             * A time specification value that represents the modification time of the entry.
             */
            mtm: timespec | null;
            /**
             * An unsigned integer that represents the user ID of the entry.
             */
            uid: UInt32 | null;
        }
        export class EntryXATBlob {
            /**
             * The number of elements in the collection.
             */
            count: number;
            endIndex: number;
            /**
             * The first element of the collection.
             */
            first: ExtendedAttribute | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: ExtendedAttribute | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<ArchiveHeader.EntryXATBlob>;
            publisher: any;
            startIndex: number;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * Creates a new empty extended attribute blob.
             */
            constructor ();
            /**
             * Creates a new extended attribute blob from the specified directory and path.
             */
            constructor (directory: FilePath, path: FilePath, flags: ArchiveFlags);
            /**
             * Creates a new archive header from encoded data.
             */
            constructor (data: UnsafeBufferPointer<UInt8>);
            /**
             * Applies extended attributes to a filesystem object.
             */
            apply(directory: FilePath, path: FilePath, flags: ArchiveFlags):void;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            append(newElement: ArchiveHeader.EntryXATBlob.ExtendedAttribute):void;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: ExtendedAttribute):boolean;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<ArchiveHeader.EntryXATBlob>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<ArchiveHeader.EntryXATBlob>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<ArchiveHeader.EntryXATBlob>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<ArchiveHeader.EntryXATBlob>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):ExtendedAttribute[];
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: ExtendedAttribute):number;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
             */
            index(i: number, distance: number, limit: number):number;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: ExtendedAttribute):number;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<ArchiveHeader.EntryXATBlob>;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):ExtendedAttribute | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):ExtendedAttribute | null;
            /**
             * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
             */
            partition(belongsInSecondPartition: Bool):number;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<ArchiveHeader.EntryXATBlob>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():ExtendedAttribute | null;
            remove(i: number):ArchiveHeader.EntryXATBlob.ExtendedAttribute;
            removeAll():void;
            /**
             * Reverses the elements of the collection in place.
             */
            reverse():void;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<ArchiveHeader.EntryXATBlob>;
            /**
             * Shuffles the collection in place.
             */
            shuffle():void;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():ExtendedAttribute[];
            /**
             * Sorts the collection in place, using the given predicate as the comparison between elements.
             */
            sort(areInIncreasingOrder: Bool):void;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):ExtendedAttribute[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<ArchiveHeader.EntryXATBlob>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<ArchiveHeader.EntryXATBlob>;
            /**
             * Exchanges the values at the specified indices of the collection.
             */
            swapAt(i: number, j: number):void;
            trimmingPrefix(predicate: Bool):Slice<ArchiveHeader.EntryXATBlob>;
        }
        /**
         * the same name namespace of class EntryXATBlob
         */
        export namespace EntryXATBlob {
            export class ExtendedAttribute {
                description: string;
                hashValue: number;
                /**
                 * Creates a new extended attribute structure.
                 */
                constructor (key: string, data: ContiguousArray<UInt8>);
                hash(hasher: Hasher):void;
            }
        }
        export class EntryType {
            /**
             * A constant that indicates the entry is a block device.
             */
            static blockSpecial: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a character device.
             */
            static characterSpecial: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a directory.
             */
            static directory: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a door.
             */
            static door: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a FIFO special file.
             */
            static fifo: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a symbolic link.
             */
            static link: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is metadata.
             */
            static metadata: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a port.
             */
            static port: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a regular file.
             */
            static regularFile: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a socket.
             */
            static socket: ArchiveHeader.EntryType;
            /**
             * A constant that indicates the entry is a whiteout.
             */
            static whiteout: ArchiveHeader.EntryType;
            /**
             * A textual representation of this instance.
             */
            description: string;
            rawValue: UInt32;
            hashValue: number;
            constructor (rawValue: UInt32);
            hash(hasher: Hasher):void;
        }
        export class EntryMessage {
            /**
             * An entry message indicating the conversion operation has skipped the entry as the path data is an archive header instance.
             */
            static convertExclude: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the decoder operation is reading the entry at path.
             */
            static decodeReading: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the encoder operation is scanning the entry at path.
             */
            static encodeScanning: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the encoder operation is writing the entry at path.
             */
            static encodeWriting: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the extraction operation has modified entry access control lists.
             */
            static extractACL: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the extraction operation has modified entry attributes, and that the data is an entry attributes instance.
             */
            static extractAttributes: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the extraction operation has began, this is the first message for this entry.
             */
            static extractBegin: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the extraction operation has ended, this is the last message for this entry.
             */
            static extractEnd: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the extraction operation has failed, this is the last message for this entry.
             */
            static extractFail: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the extraction operation has modified entry extended attributes, and that the data is an entry extended attributes blob.
             */
            static extractXAT: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the process operation has skipped this entry and that the data is an archive header instance.
             */
            static processExclude: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the operation has excluded the entry, specified by path, in search.
             */
            static searchExclude: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the operation has reported an error in search.
             */
            static searchFail: ArchiveHeader.EntryMessage;
            /**
             * An entry message indicating the operation has skipped the directory, specified by path, in search.
             */
            static searchPruneDirectory: ArchiveHeader.EntryMessage;
            /**
             * A textual representation of this instance.
             */
            description: string;
            rawValue: UInt32;
            hashValue: number;
            constructor (rawValue: UInt32);
            hash(hasher: Hasher):void;
        }
        export enum EntryFilterData {
            entryAttributes,
            entryXAT,
            header,
        }
        export class EntryMessageStatus {
            /**
             * An entry message status that indicates the operation cancels processing as soon as possible.
             */
            static cancel: ArchiveHeader.EntryMessageStatus;
            /**
             * An entry message status that indicates the operation keeps the entry.
             */
            static ok: ArchiveHeader.EntryMessageStatus;
            /**
             * An entry message status that indicates the operation skips the entry.
             */
            static skip: ArchiveHeader.EntryMessageStatus;
            /**
             * A textual representation of this instance.
             */
            description: string;
            rawValue: Int32;
            hashValue: number;
            constructor (rawValue: Int32);
            hash(hasher: Hasher):void;
        }
    }
    export interface ArchiveStreamProtocol {
        /**
         * Reads the current entry blob data.
         */
        readBlob(key: ArchiveHeader.FieldKey, buffer: UnsafeMutableRawBufferPointer):void;
        /**
         * Writes an entry blob data.
         */
        writeBlob(key: ArchiveHeader.FieldKey, buffer: UnsafeRawBufferPointer):void;
        /**
         * Reads the next entry header.
         */
        readHeader():ArchiveHeader | null;
        /**
         * Writes an entry header.
         */
        writeHeader(header: ArchiveHeader):void;
        /**
         * Cancels stream operations.
         */
        cancel():void;
        /**
         * Closes the stream and releases associated resources.
         */
        close():void;
    }
    export class ArchiveStream {
        /**
         * Returns a new archive stream from the specified traits and entry message processing callback.
         */
        constructor (aaObject: any, aaObjectOwned: boolean, filter: ArchiveHeader._EntryFilterWrapper | null);
        /**
         * Opens an extract output archive stream.
         */
        static extractStream(directory: FilePath, filter: ArchiveHeader.EntryFilter | null, flags: ArchiveFlags, threadCount: number):ArchiveStream | null;
        /**
         * Opens an encode output archive stream.
         */
        static encodeStream(stream: ArchiveByteStream, filter: ArchiveHeader.EntryFilter | null, flags: ArchiveFlags, threadCount: number):ArchiveStream | null;
        /**
         * Opens a decode input archive stream.
         */
        static decodeStream(stream: ArchiveByteStream, filter: ArchiveHeader.EntryFilter | null, flags: ArchiveFlags, threadCount: number):ArchiveStream | null;
        /**
         * Opens a convert output archive stream.
         */
        static convertStream(stream: ArchiveStream, insertKeySet: ArchiveHeader.FieldKeySet, removeKeySet: ArchiveHeader.FieldKeySet, filter: ArchiveHeader.EntryFilter | null, flags: ArchiveFlags, threadCount: number):ArchiveStream | null;
        /**
         * Processes archive elements between two archive streams.
         */
        static process(input: ArchiveStream, output: ArchiveStream, filter: ArchiveHeader.EntryFilter | null, flags: ArchiveFlags, threadCount: number):number;
        /**
         * Reads current entry blob data.
         */
        readBlob(key: ArchiveHeader.FieldKey, buffer: UnsafeMutableRawBufferPointer):void;
        /**
         * Writes entry blob data.
         */
        writeBlob(key: ArchiveHeader.FieldKey, buffer: UnsafeRawBufferPointer):void;
        /**
         * Reads the next entry header.
         */
        readHeader():ArchiveHeader | null;
        /**
         * Writes an entry header.
         */
        writeHeader(header: ArchiveHeader):void;
        /**
         * Writes all entries from a directory to the archive stream.
         */
        writeDirectoryContents(directory: FilePath, path: FilePath | null, keySet: ArchiveHeader.FieldKeySet, filter: ArchiveHeader.EntryFilter | null, flags: ArchiveFlags, threadCount: number):void;
        /**
         * Cancels stream operations.
         */
        cancel():void;
        /**
         * Closes the stream and releases associated resources.
         */
        close():void;
    }
    export class ArchiveCompression {
        /**
         * A constant that represents no compression.
         */
        static none: ArchiveCompression;
        /**
         * The LZFSE compression algorithm, that’s recommended for use on Apple platforms.
         */
        static lzfse: ArchiveCompression;
        /**
         * The LZ4 compression algorithm, that’s recommended for fast compression.
         */
        static lz4: ArchiveCompression;
        /**
         * The LZMA compression algorithm, that’s recommended for high-compression ratio.
         */
        static lzma: ArchiveCompression;
        /**
         * The zlib compression algorithm, that’s recommended for cross-platform compression.
         */
        static zlib: ArchiveCompression;
        description: string;
        hashValue: number;
        rawValue: ArchiveCompression.RawValue;
        constructor (algo: Algorithm);
        constructor (rawValue: UInt32);
        hash(hasher: Hasher):void;
    }
    export interface ArchiveByteStreamProtocol {
        /**
         * Reads data to the specified buffer, not exceeding the buffer’s previously allocated size.
         */
        read(buffer: UnsafeMutableRawBufferPointer):number;
        /**
         * Writes data from the specified buffer, not exceeding the buffer’s allocated size.
         */
        write(buffer: UnsafeRawBufferPointer):number;
        /**
         * Updates the internal stream position to the specified offset relative to the specified origin.
         */
        seek(offset: Int64, origin: FileDescriptor.SeekOrigin):Int64;
        /**
         * Cancels stream operations.
         */
        cancel():void;
        /**
         * Closes the stream and releases associated resources.
         */
        close():void;
    }
    export class ArchiveByteStream {
        /**
         * Returns a new archive byte stream from the specified traits and entry message processing callback.
         */
        constructor (aaObject: any, aaObjectOwned: boolean);
        /**
         * Creates a compression sequential output stream.
         */
        static compressionStream(compressionAlgorithm: ArchiveCompression, compressedStream: ArchiveByteStream, blockSize: Int):void;
        /**
         * Creates a decompression sequential input stream.
         */
        static decompressionStream(compressedStream: ArchiveByteStream, flags: ArchiveFlags, threadCount: number):ArchiveByteStream | null;
        /**
         * Creates a decompression random-access input stream.
         */
        static randomAccessDecompressionStream(compressedStream: ArchiveByteStream, allocationLimit: number, flags: ArchiveFlags, threadCount: number):ArchiveByteStream | null;
        /**
         * Reopens an existing encryption sequential output stream.
         */
        static encryptionStream(encryptedStream: ArchiveByteStream, context: ArchiveEncryptionContext, flags: ArchiveFlags, threadCount: number):ArchiveByteStream | null;
        /**
         * Creates a decryption sequential input stream.
         */
        static decryptionStream(encryptedStream: ArchiveByteStream, context: ArchiveEncryptionContext, flags: ArchiveFlags, threadCount: number):ArchiveByteStream | null;
        /**
         * Creates a decryption random access input stream.
         */
        static randomAccessDecryptionStream(encryptedStream: ArchiveByteStream, context: ArchiveEncryptionContext, allocationLimit: number, flags: ArchiveFlags, threadCount: number):ArchiveByteStream | null;
        /**
         * Processes data between two byte streams.
         */
        static process(input: ArchiveByteStream, output: ArchiveByteStream):Int64;
        /**
         * Creates a stream from an open file descriptor.
         */
        static fileStream(fd: FileDescriptor, automaticClose: boolean):ArchiveByteStream | null;
        /**
         * Creates a new temporary file stream.
         */
        static temporaryFileStream():ArchiveByteStream | null;
        /**
         * Creates a pair of streams and links them by a shared buffer.
         */
        static sharedBufferPipe(capacity: number):any;
        /**
         * Reads data to the specified buffer, not exceeding the buffer’s previously allocated size.
         */
        read(buffer: UnsafeMutableRawBufferPointer):number;
        /**
         * Writes data from the specified buffer, not exceeding the buffer’s allocated size.
         */
        write(buffer: UnsafeRawBufferPointer):number;
        /**
         * Updates the internal stream position to the specified offset relative to the specified origin.
         */
        seek(offset: Int64, origin: FileDescriptor.SeekOrigin):Int64;
        /**
         * Cancels stream operations.
         */
        cancel():void;
        /**
         * Closes the stream and releases associated resources.
         */
        close():void;
    }
    export enum ArchiveError {
        invalidValue,
        ioError,
    }
}

/**
 * Request user authorization to access app-related data for tracking the user or the device.
 */
declare module AppTrackingTransparency {
    export class ATTrackingManager extends NSObject {
        /**
         * The authorization status that is current for the calling application.
         */
        static trackingAuthorizationStatus: ATTrackingManager.AuthorizationStatus;
        /**
         * The request for user authorization to access app-related data.
         */
        static requestTrackingAuthorization(completion: ()=>any):void;
    }
    /**
     * the same name namespace of class ATTrackingManager
     */
    export namespace ATTrackingManager {
        export enum AuthorizationStatus {
            authorized = 3,
            denied = 2,
            notDetermined = 0,
            restricted = 1,
        }
    }
}

/**
 * Integrate iOS device camera and motion features to produce augmented reality experiences in your app or game. 
 */
declare module ARKit {
    export class ARSession extends NSObject {
        /**
         * An object that defines motion and scene tracking behaviors for the session.
         */
        configuration: ARConfiguration | null;
        /**
         * An object you provide to receive captured video images and tracking information, or to respond to changes in session status.
         */
        delegate: ARSessionDelegate | null;
        /**
         * The dispatch queue through which the session calls your delegate methods.
         */
        delegateQueue: DispatchQueue | null;
        /**
         * A unique identifier of the running session.
         */
        identifier: UUID;
        /**
         * The most recent still frame captured by the active camera feed, including ARKit's interpretation of it. 
         */
        currentFrame: ARFrame | null;
        captureHighResolutionFrame(completion: ()=>any):void;
        /**
         * Pauses processing in the session.
         */
        pause():void;
        /**
         * Starts AR processing for the session with the specified configuration and options.
         */
        run(configuration: ARConfiguration, options: ARSession.RunOptions):void;
        /**
         * Adds the specified anchor to be tracked by the session.
         */
        add(anchor: ARAnchor):void;
        /**
         * Removes the specified anchor from tracking by the session.
         */
        remove(anchor: ARAnchor):void;
        /**
         * Returns an object encapsulating the world-tracking session's space-mapping state and set of anchors.
         */
        getCurrentWorldMap(completionHandler: ()=>any):void;
        /**
         * Creates a reference object (for 3D object detection) from the specified region of the session’s world space.
         */
        createReferenceObject(transform: simd_float4x4, center: simd_float3, extent: simd_float3, completionHandler: ()=>any):void;
        /**
         * Changes the basis for the AR world coordinate space using the specified transform.
         */
        setWorldOrigin(relativeTransform: simd_float4x4):void;
        /**
         * Checks once for intersections between a ray and real-world surfaces. 
         */
        raycast(query: ARRaycastQuery):ARRaycastResult[];
        /**
         * Repeats a ray-cast query over time to notify you of updated surfaces in the physical environment.
         */
        trackedRaycast(query: ARRaycastQuery, updateHandler: ()=>any):ARTrackedRaycast | null;
        /**
         * Converts a position in the framework’s local coordinate system to latitude, longitude and altitude.
         */
        getGeoLocation(position: simd_float3, completionHandler: ()=>any):void;
        /**
         * Updates your session with information about the physical environment that is collected by another user. 
         */
        update(collaborationData: ARSession.CollaborationData):void;
    }
    /**
     * the same name namespace of class ARSession
     */
    export namespace ARSession {
        export class CollaborationData extends NSObject {
            /**
             * A property that gives you a hint about how to send a given data instance over the network. 
             */
            priority: ARSession.CollaborationData.Priority;
        }
        /**
         * the same name namespace of class CollaborationData
         */
        export namespace CollaborationData {
            export enum Priority {
                critical = 0,
                optional = 1,
            }
        }
        export class RunOptions {
            /**
             * An option to reset the device's position from the session's previous run.
             */
            static resetTracking: ARSession.RunOptions;
            /**
             * An option to remove any anchor objects associated with the session's previous run.
             */
            static removeExistingAnchors: ARSession.RunOptions;
            /**
             * An option to stop all active tracked raycasts.
             */
            static stopTrackedRaycasts: ARSession.RunOptions;
            /**
             * An option to reset the scene mesh.
             */
            static resetSceneReconstruction: ARSession.RunOptions;
            /**
             * Creates a run options.
             */
            constructor (rawValue: number);
        }
    }
    export interface ARSessionProviding extends NSObjectProtocol {
        /**
         * A contract to declare an AR session.
         */
        session: ARSession;
    }
    export class ARWorldTrackingConfiguration extends ARConfiguration {
        /**
         * A Boolean value that tells you whether the iOS device supports tracking the user's face during a world-tracking session.
         */
        static supportsUserFaceTracking: boolean;
        /**
         * A flag that indicates if the device tracks App Clip Codes.
         */
        static supportsAppClipCodeTracking: boolean;
        /**
         * The state from a previous AR session to attempt to resume with this session configuration.
         */
        initialWorldMap: ARWorldMap | null;
        /**
         * A value that specifies whether and how the session automatically attempts to detect flat surfaces in the camera-captured image.
         */
        planeDetection: ARWorldTrackingConfiguration.PlaneDetection;
        /**
         * A flag that enables scene reconstruction.
         */
        sceneReconstruction: ARConfiguration.SceneReconstruction;
        /**
         * A set of images that ARKit searches for in the user's environment.
         */
        detectionImages: Set<ARReferenceImage>!;
        /**
         * The number of image anchors to monitor closely for position and orientation updates.
         */
        maximumNumberOfTrackedImages: number;
        /**
         * A flag that instructs the framework to estimate and set the scale of a detected or tracked image on your behalf.
         */
        automaticImageScaleEstimationEnabled: boolean;
        /**
         * A set of 3D objects that the framework attempts to detect in the user’s environment. 
         */
        detectionObjects: Set<ARReferenceObject>;
        /**
         * A flag that determines whether ARKit tracks the user's face in a world-tracking session. 
         */
        userFaceTrackingEnabled: boolean;
        /**
         * An option that determines how the framework generates environment textures. 
         */
        environmentTexturing: ARWorldTrackingConfiguration.EnvironmentTexturing;
        /**
         * A flag that instructs the framework to create environment textures in HDR format. 
         */
        wantsHDREnvironmentTextures: boolean;
        /**
         * A Boolean value that determines whether the device camera uses fixed focus or autofocus behavior.
         */
        isAutoFocusEnabled: boolean;
        /**
         * A flag that opts you in to a peer-to-peer multiuser AR experience.
         */
        isCollaborationEnabled: boolean;
        /**
         * A Boolean value that indicates if the framework searches the physical environment for App Clip Codes.
         */
        appClipCodeTrackingEnabled: boolean;
        /**
         * Initializes a new world-tracking configuration.
         */
        constructor ();
        /**
         * Checks if the device supports scene reconstruction.
         */
        static supportsSceneReconstruction(sceneReconstruction: ARConfiguration.SceneReconstruction):boolean;
    }
    /**
     * the same name namespace of class ARWorldTrackingConfiguration
     */
    export namespace ARWorldTrackingConfiguration {
        export class PlaneDetection {
            /**
             * The session detects planar surfaces that are perpendicular to gravity.
             */
            static horizontal: ARWorldTrackingConfiguration.PlaneDetection;
            /**
             * The session detects surfaces that are parallel to gravity, regardless of other orientation.
             */
            static vertical: ARWorldTrackingConfiguration.PlaneDetection;
            /**
             * Creates plane detection options.
             */
            constructor (rawValue: number);
        }
        export enum EnvironmentTexturing {
            none = 0,
            manual = 1,
            automatic = 2,
        }
    }
    export class ARSCNView extends SCNView {
        /**
         * The AR session that manages motion tracking and camera image processing for the view's contents.
         */
        session: ARSession;
        /**
         * The SceneKit scene to be displayed in the view.
         */
        scene: SCNScene;
        /**
         * An object you provide to mediate synchronization of the view's AR scene information with SceneKit content. 
         */
        delegate: ARSCNViewDelegate | null;
        /**
         * A Boolean value that specifies whether ARKit creates and updates SceneKit lights in the view's scene.
         */
        automaticallyUpdatesLighting: boolean;
        /**
         * Determines whether the view renders motion blur.
         */
        rendersMotionBlur: boolean;
        /**
         * A flag that determines whether SceneKit applies image noise characteristics to your app's virtual content.
         */
        rendersCameraGrain: boolean;
        /**
         * Searches for real-world objects or AR anchors in the captured camera image corresponding to a point in the SceneKit view.
         */
        hitTest(point: CGPoint, types: ARHitTestResult.ResultType):ARHitTestResult[];
        /**
         * Creates a raycast query that originates from a point on the view, aligned with the center of the camera's field of view.
         */
        raycastQuery(point: CGPoint, target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment):ARRaycastQuery | null;
        /**
         * Returns the AR anchor associated with the specified SceneKit node, if any.
         */
        anchor(node: SCNNode):ARAnchor | null;
        /**
         * Returns the SceneKit node associated with the specified AR anchor, if any.
         */
        node(anchor: ARAnchor):SCNNode | null;
        /**
         * Returns the projection of a point from 2D view onto a plane in the 3D world space detected by ARKit.
         */
        unprojectPoint(point: CGPoint, planeTransform: simd_float4x4):simd_float3 | null;
    }
    export interface ARSCNViewDelegate extends ARSessionObserver,SCNSceneRendererDelegate {
        /**
         * Asks the delegate to provide a SceneKit node corresponding to a newly added anchor.
         */
        renderer(renderer: SCNSceneRenderer, anchor: ARAnchor):SCNNode | null;
    }
    export class ARSKView extends SKView {
        /**
         * The AR session that manages motion tracking and camera image processing for the view's contents.
         */
        session: ARSession;
        /**
         * An object you provide to mediate synchronization of the view's AR scene information with SpriteKit content. 
         */
        delegate: ARSKViewDelegate | null;
        /**
         * Searches for real-world objects or AR anchors in the captured camera image corresponding to a point in the SpriteKit view.
         */
        hitTest(point: CGPoint, types: ARHitTestResult.ResultType):ARHitTestResult[];
        /**
         * Returns the AR anchor associated with the specified SpriteKit node, if any.
         */
        anchor(node: SKNode):ARAnchor | null;
        /**
         * Returns the SpriteKit node associated with the specified AR anchor, if any.
         */
        node(anchor: ARAnchor):SKNode | null;
    }
    export class AREnvironmentProbeAnchor extends ARAnchor {
        /**
         * A cube-map texture that represents the view in all directions from the probe anchor's position. 
         */
        environmentTexture: MTLTexture | null;
        /**
         * The area around the anchor's position that contains the texture.
         */
        extent: simd_float3;
        /**
         * Creates a new environment probe anchor.
         */
        constructor (transform: simd_float4x4, extent: simd_float3);
        /**
         * Creates a new anchor object with a descriptive name.
         */
        constructor (name: string, transform: simd_float4x4, extent: simd_float3);
    }
    export interface ARSKViewDelegate extends ARSessionObserver,SKViewDelegate {
        /**
         * Asks the delegate to provide a SpriteKit node corresponding to a newly added anchor.
         */
        view(view: ARSKView, anchor: ARAnchor):SKNode | null;
    }
    export class ARCoachingOverlayView extends UIView {
        /**
         * An object you supply that implements coaching event callbacks.
         */
        delegate: ARCoachingOverlayViewDelegate | null;
        /**
         * A field that indicates your app's tracking requirements. 
         */
        goal: ARCoachingOverlayView.Goal;
        /**
         * A flag that indicates whether the coaching view activates automatically, depending on the current session state. 
         */
        activatesAutomatically: boolean;
        /**
         * A flag that indicates whether coaching is in progress. 
         */
        isActive: boolean;
        /**
         * The session this view uses to provide coaching. 
         */
        session: ARSession | null;
        /**
         * An object you designate that provides the current session. 
         */
        sessionProvider: ARSessionProviding | null;
        /**
         * Controls whether coaching is in progress. 
         */
        setActive(active: boolean, animated: boolean):void;
    }
    /**
     * the same name namespace of class ARCoachingOverlayView
     */
    export namespace ARCoachingOverlayView {
        export enum Goal {
            anyPlane = 3,
            horizontalPlane = 1,
            tracking = 0,
            verticalPlane = 2,
            geoTracking = 4,
        }
    }
    export interface ARCoachingOverlayViewDelegate extends NSObjectProtocol {
        /**
         * Tells you when the coaching overlay view activates. 
         */
        coachingOverlayViewWillActivate(coachingOverlayView: ARCoachingOverlayView):void;
        /**
         * Tells you when the coaching experience is completely deactivated. 
         */
        coachingOverlayViewDidDeactivate(coachingOverlayView: ARCoachingOverlayView):void;
        /**
         * Tells you when the user taps the coaching overlay view's Start Over button while the session is relocalizing. 
         */
        coachingOverlayViewDidRequestSessionReset(coachingOverlayView: ARCoachingOverlayView):void;
    }
    export class ARPlaneAnchor extends ARAnchor {
        /**
         * A Boolean value that indicates whether plane classification is available on the current device.
         */
        static isClassificationSupported: boolean;
        /**
         * The general orientation of the detected plane with respect to gravity.
         */
        alignment: ARPlaneAnchor.Alignment;
        /**
         * A coarse triangle mesh representing the general shape of the detected plane. 
         */
        geometry: ARPlaneGeometry;
        /**
         * The center point of the plane relative to its anchor position.
         */
        center: simd_float3;
        /**
         * The estimated width, length, and y-axis rotation of the detected plane.
         */
        planeExtent: ARPlaneExtent;
        /**
         * The estimated width and length of the detected plane.
         */
        extent: simd_float3;
        /**
         * A general characterization of what kind of real-world surface the plane anchor represents.
         */
        classification: ARPlaneAnchor.Classification;
    }
    /**
     * the same name namespace of class ARPlaneAnchor
     */
    export namespace ARPlaneAnchor {
        export enum Alignment {
            horizontal = 0,
            vertical = 1,
        }
        export enum Classification {
            wall,
            floor,
            ceiling,
            table,
            seat,
            door,
            window,
            none,
        }
    }
    export class ARPlaneGeometry extends NSObject {
        /**
         * An array of vertex positions for each point in the plane mesh.
         */
        vertices: vector_float3[];
        /**
         * An array of texture coordinate values for each point in the plane mesh.
         */
        textureCoordinates: vector_float2[];
        /**
         * The number of triangles described by the 
         *  buffer.
         */
        triangleCount: number;
        /**
         * An array of indices describing the triangle mesh formed by the plane geometry's vertex data. 
         */
        triangleIndices: Int16[];
        /**
         * An array of vertex positions for each point along the plane's boundary.
         */
        boundaryVertices: vector_float3[];
    }
    export class ARSCNPlaneGeometry extends SCNGeometry {
        /**
         * Creates a SceneKit plane geometry for rendering with the specified Metal device object.
         */
        constructor (device: MTLDevice);
        /**
         * Reshapes the SceneKit geometry to match the specified plane mesh.
         */
        update(planeGeometry: ARPlaneGeometry):void;
    }
    export class ARPlaneExtent extends NSObject {
        /**
         * The estimated width of the plane.
         */
        width: Float;
        /**
         * The estimated height of the plane.
         */
        height: Float;
        /**
         * A radian value that indicates a plane's y-axis orientation.
         */
        rotationOnYAxis: Float;
    }
    export class ARMeshAnchor extends ARAnchor {
        /**
         * 3D information about the mesh such as its shape and classifications.
         */
        geometry: ARMeshGeometry;
    }
    export class ARMeshGeometry extends NSObject {
        /**
         * The vertices of the mesh.
         */
        vertices: ARGeometrySource;
        /**
         * Classification for each face in the mesh.
         */
        classification: ARGeometrySource | null;
        /**
         * An object that contains a buffer of vertex indices of the geometry's faces.
         */
        faces: ARGeometryElement;
        /**
         * Rays that define which direction is outside for each face.
         */
        normals: ARGeometrySource;
    }
    export class ARGeometrySource extends NSObject {
        /**
         * A Metal buffer that contains a list of vectors.
         */
        buffer: MTLBuffer;
        /**
         * The number of scalar components in each vector.
         */
        componentsPerVector: number;
        /**
         * The number of vectors in the buffer.
         */
        count: number;
        /**
         * The type of vector data in the buffer.
         */
        format: MTLVertexFormat;
        /**
         * The offset, in bytes, from the beginning of the buffer.
         */
        offset: number;
        /**
         * The length, in bytes, of the start of one vector in the buffer to the start of the next vector.
         */
        stride: number;
    }
    export enum ARMeshClassification {
        ceiling = 3,
        door = 7,
        floor = 2,
        none = 0,
        seat = 5,
        table = 4,
        wall = 1,
        window = 6,
    }
    export class ARGeometryElement extends NSObject {
        /**
         * A Metal buffer containing primitive data.
         */
        buffer: MTLBuffer;
        /**
         * The number of bytes for each index.
         */
        bytesPerIndex: number;
        /**
         * The number of primitives in the buffer.
         */
        count: number;
        /**
         * The number of indices for each primitive.
         */
        indexCountPerPrimitive: number;
        /**
         * The geometry's type of data (triangle, or line).
         */
        primitiveType: ARGeometryPrimitiveType;
    }
    export class ARAppClipCodeAnchor extends ARAnchor {
        /**
         * The URL encoded in an App Clip Code. 
         */
        url: URL | null;
        /**
         * A state that indicates the process of decoding an App Clip Code URL.
         */
        urlDecodingState: ARAppClipCodeAnchor.URLDecodingState;
        /**
         * The App Clip Code's radius in meters.
         */
        radius: Float;
    }
    /**
     * the same name namespace of class ARAppClipCodeAnchor
     */
    export namespace ARAppClipCodeAnchor {
        export enum URLDecodingState {
            decoded = 2,
            decoding = 0,
            failed = 1,
        }
    }
    export enum ARGeometryPrimitiveType {
        line = 0,
        triangle = 1,
    }
    export class ARImageAnchor extends ARAnchor {
        /**
         * The detected image referenced by the image anchor.
         */
        referenceImage: ARReferenceImage;
        /**
         * A factor between the initial size and the estimated physical size.
         */
        estimatedScaleFactor: CGFloat;
    }
    export class ARReferenceImage extends NSObject {
        /**
         * A descriptive name for the image.
         */
        name: string;
        /**
         * The real-world dimensions, in meters, of the image.
         */
        physicalSize: CGSize;
        /**
         * The AR resource group name for this image.
         */
        resourceGroupName: string;
        /**
         * Creates a new reference image from a Core Graphics image object.
         */
        constructor (image: CGImage, orientation: CGImagePropertyOrientation, physicalWidth: CGFloat);
        /**
         * Loads all reference images in the specified AR Resource Group in your Xcode project's asset catalog.
         */
        static referenceImages(name: string, bundle: Bundle | null):Set<ARReferenceImage> | null;
        /**
         * Determines whether the reference image is valid.
         */
        validate(completionHandler: ()=>any):void;
    }
    export class ARObjectAnchor extends ARAnchor {
        /**
         * The detected object referenced by the object anchor.
         */
        referenceObject: ARReferenceObject;
    }
    export class ARReferenceObject extends NSObject {
        /**
         * The standard filename extension for exported 
         *  instances.
         */
        static archiveExtension: string;
        /**
         * A descriptive name for the reference object.
         */
        name: string;
        resourceGroupName: string;
        /**
         * The center point of the reference object's space-mapping data.
         */
        center: simd_float3;
        /**
         * The size of the reference object's space-mapping data.
         */
        extent: simd_float3;
        /**
         * A scale factor for the local coordinate space the reference object defines.
         */
        scale: simd_float3;
        /**
         * A coarse representation of the space-mapping data contained in the reference object.
         */
        rawFeaturePoints: ARPointCloud;
        /**
         * Loads a reference object from the specified file URL.
         */
        constructor (url: URL);
        /**
         * Loads all reference objects in the specified AR Resource Group in your Xcode project's asset catalog.
         */
        static referenceObjects(name: string, bundle: Bundle | null):Set<ARReferenceObject> | null;
        /**
         * Writes a binary representation of the object to the specified file URL.
         */
        export(url: URL, previewImage: UIImage | null):void;
        /**
         * Returns a new reference object created by applying the specified transform to this reference object's geometric data.
         */
        applyingTransform(transform: simd_float4x4):ARReferenceObject;
        /**
         * Returns a new reference object that combines spatial information from both this reference object and another.
         */
        merging(object: ARReferenceObject):ARReferenceObject;
    }
    export class ARBodyAnchor extends ARAnchor {
        /**
         * The tracked body in 3D.
         */
        skeleton: ARSkeleton3D;
        /**
         * A factor that relates the body's default height with the height ARKit estimates at runtime.
         */
        estimatedScaleFactor: CGFloat;
    }
    export class ARFaceAnchor extends ARAnchor {
        /**
         * A coarse triangle mesh representing the topology of the detected face. 
         */
        geometry: ARFaceGeometry;
        /**
         * A dictionary of named coefficients representing the detected facial expression in terms of the movement of specific facial features.
         */
        blendShapes: Record<ARFaceAnchor.BlendShapeLocation, NSNumber>;
        /**
         * A transform matrix indicating the position and orientation of the face's left eye.
         */
        leftEyeTransform: simd_float4x4;
        /**
         * A transform matrix indicating the position and orientation of the face's right eye.
         */
        rightEyeTransform: simd_float4x4;
        /**
         * A position in face coordinate space estimating the direction of the face's gaze.
         */
        lookAtPoint: simd_float3;
    }
    /**
     * the same name namespace of class ARFaceAnchor
     */
    export namespace ARFaceAnchor {
        export class BlendShapeLocation {
            /**
             * The coefficient describing closure of the eyelids over the left eye.
             */
            static eyeBlinkLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the left eyelids consistent with a downward gaze.
             */
            static eyeLookDownLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the left eyelids consistent with a rightward gaze.
             */
            static eyeLookInLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the left eyelids consistent with a leftward gaze.
             */
            static eyeLookOutLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the left eyelids consistent with an upward gaze.
             */
            static eyeLookUpLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing contraction of the face around the left eye.
             */
            static eyeSquintLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing a widening of the eyelids around the left eye.
             */
            static eyeWideLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing closure of the eyelids over the right eye.
             */
            static eyeBlinkRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the right eyelids consistent with a downward gaze.
             */
            static eyeLookDownRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the right eyelids consistent with a leftward gaze.
             */
            static eyeLookInRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the right eyelids consistent with a rightward gaze.
             */
            static eyeLookOutRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the right eyelids consistent with an upward gaze.
             */
            static eyeLookUpRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing contraction of the face around the right eye.
             */
            static eyeSquintRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing a widening of the eyelids around the right eye.
             */
            static eyeWideRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing forward movement of the lower jaw.
             */
            static jawForward: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing leftward movement of the lower jaw.
             */
            static jawLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing rightward movement of the lower jaw.
             */
            static jawRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing an opening of the lower jaw.
             */
            static jawOpen: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing closure of the lips 
             * .
             */
            static mouthClose: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing contraction of both lips into an open shape.
             */
            static mouthFunnel: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing contraction and compression of both closed lips.
             */
            static mouthPucker: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing leftward movement of both lips together.
             */
            static mouthLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing rightward movement of both lips together.
             */
            static mouthRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the left corner of the mouth.
             */
            static mouthSmileLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the right corner of the mouth.
             */
            static mouthSmileRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing downward movement of the left corner of the mouth.
             */
            static mouthFrownLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing downward movement of the right corner of the mouth.
             */
            static mouthFrownRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing backward movement of the left corner of the mouth.
             */
            static mouthDimpleLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing backward movement of the right corner of the mouth.
             */
            static mouthDimpleRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing leftward movement of the left corner of the mouth.
             */
            static mouthStretchLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing rightward movement of the left corner of the mouth.
             */
            static mouthStretchRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the lower lip toward the inside of the mouth.
             */
            static mouthRollLower: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing movement of the upper lip toward the inside of the mouth.
             */
            static mouthRollUpper: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing outward movement of the lower lip.
             */
            static mouthShrugLower: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing outward movement of the upper lip.
             */
            static mouthShrugUpper: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward compression of the lower lip on the left side.
             */
            static mouthPressLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward compression of the lower lip on the right side.
             */
            static mouthPressRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing downward movement of the lower lip on the left side.
             */
            static mouthLowerDownLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing downward movement of the lower lip on the right side.
             */
            static mouthLowerDownRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the upper lip on the left side.
             */
            static mouthUpperUpLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the upper lip on the right side.
             */
            static mouthUpperUpRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing downward movement of the outer portion of the left eyebrow.  
             */
            static browDownLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing downward movement of the outer portion of the right eyebrow.  
             */
            static browDownRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the inner portion of both eyebrows.
             */
            static browInnerUp: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the outer portion of the left eyebrow.  
             */
            static browOuterUpLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the outer portion of the right eyebrow.
             */
            static browOuterUpRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing outward movement of both cheeks.
             */
            static cheekPuff: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the cheek around and below the left eye.
             */
            static cheekSquintLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing upward movement of the cheek around and below the right eye.
             */
            static cheekSquintRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing a raising of the left side of the nose around the nostril.
             */
            static noseSneerLeft: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing a raising of the right side of the nose around the nostril.
             */
            static noseSneerRight: ARFaceAnchor.BlendShapeLocation;
            /**
             * The coefficient describing extension of the tongue.
             */
            static tongueOut: ARFaceAnchor.BlendShapeLocation;
            /**
             * Creates a blend shape location.
             */
            constructor (rawValue: string);
        }
    }
    export interface ARSessionDelegate extends ARSessionObserver {
        /**
         * Provides a newly captured camera image and accompanying AR information to the delegate.
         */
        session(session: ARSession, frame: ARFrame):void;
    }
    export class ARGeoTrackingConfiguration extends ARConfiguration {
        /**
         * A flag that indicates if the device tracks App Clip Codes. 
         */
        static supportsAppClipCodeTracking: boolean;
        /**
         * A value that specifies whether and how the session automatically attempts to detect flat surfaces in the camera-captured image.
         */
        planeDetection: ARWorldTrackingConfiguration.PlaneDetection;
        /**
         * A set of images that ARKit searches for in the user's environment.
         */
        detectionImages: Set<ARReferenceImage>!;
        /**
         * The number of image anchors to monitor closely for position and orientation updates.
         */
        maximumNumberOfTrackedImages: number;
        /**
         * A flag that instructs the framework to estimate and set the scale of a detected or tracked image on your behalf.
         */
        automaticImageScaleEstimationEnabled: boolean;
        /**
         * A set of 3D objects that the framework attempts to detect in the user's environment.
         */
        detectionObjects: Set<ARReferenceObject>;
        /**
         * An option that determines how the framework generates environment textures.
         */
        environmentTexturing: ARWorldTrackingConfiguration.EnvironmentTexturing;
        /**
         * A flag that instructs the framework to create environment textures in HDR format. 
         */
        wantsHDREnvironmentTextures: boolean;
        /**
         * A Boolean value that indicates if the framework searches the physical environment for App Clip Codes.
         */
        appClipCodeTrackingEnabled: boolean;
        /**
         * Initializes a new geotracking configuration.
         */
        constructor ();
        /**
         * Determines if geotracking supports the user’s current location.
         */
        static checkAvailability(completionHandler: ()=>any):void;
    }
    export class ARGeoAnchor extends ARAnchor {
        /**
         * The lattitude and longitude of the anchor’s geographic location.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * Vertical distance, in meters, between this anchor and sea level.
         */
        altitude: CLLocationDistance | null;
        /**
         * A record of the source from which an altitude came.
         */
        altitudeSource: ARGeoAnchor.AltitudeSource;
        /**
         * Initializes a location anchor with the given coordinate and altitude.
         */
        constructor (coordinate: CLLocationCoordinate2D, altitude: CLLocationDistance | null);
        /**
         * Initializes a named location anchor with the given coordinates and altitude.
         */
        constructor (name: string, coordinate: CLLocationCoordinate2D, altitude: CLLocationDistance);
    }
    /**
     * the same name namespace of class ARGeoAnchor
     */
    export namespace ARGeoAnchor {
        export enum AltitudeSource {
            precise = 2,
            coarse = 1,
            userDefined = 3,
            unknown = 0,
        }
    }
    export class ARParticipantAnchor extends ARAnchor {}
    export class ARAnchor extends NSObject {
        /**
         * A descriptive name for the anchor.
         */
        name: string;
        /**
         * A unique identifier for the anchor.
         */
        identifier: UUID;
        /**
         * The unique identifier of the session that owns this anchor.
         */
        sessionIdentifier: UUID | null;
        /**
         * A matrix encoding the position, orientation, and scale of the anchor relative to the world coordinate space of the AR session the anchor is placed in. 
         */
        transform: simd_float4x4;
        /**
         * Creates a new anchor object with the specified transform.
         */
        constructor (transform: simd_float4x4);
        /**
         * Creates a new anchor object with the specified transform and a descriptive name.
         */
        constructor (name: string, transform: simd_float4x4);
    }
    export interface ARAnchorCopying extends NSCopying {
        /**
         * Initializes a new anchor by copying custom information from another anchor.
         */
         (anchor: ARAnchor);
    }
    export interface ARTrackable extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the object’s transform is valid.
         */
        isTracked: boolean;
    }
    export class ARFrame extends NSObject {
        /**
         * Information about the camera position, orientation, and imaging parameters used to capture the frame.
         */
        camera: ARCamera;
        /**
         * A pixel buffer containing the image captured by the camera.
         */
        capturedImage: CVPixelBuffer;
        /**
         * The time at which the frame was captured.
         */
        timestamp: TimeInterval;
        /**
         * A value that specifies the amount of grain present in the camera grain texture.
         */
        cameraGrainIntensity: Float;
        /**
         * A tileable Metal texture created by ARKit to match the visual characteristics of the current video stream.
         */
        cameraGrainTexture: MTLTexture | null;
        /**
         * An estimate of lighting conditions based on the camera image.  
         */
        lightEstimate: ARLightEstimate | null;
        /**
         * The current intermediate results of the scene analysis ARKit uses to perform world tracking.
         */
        rawFeaturePoints: ARPointCloud | null;
        /**
         * Depth data captured in front-camera experiences.
         */
        capturedDepthData: AVDepthData | null;
        /**
         * The time at which depth data for the frame (if any) was captured.
         */
        capturedDepthDataTimestamp: TimeInterval;
        /**
         * Data on the distance between a device's rear camera and real-world objects in an AR experience.
         */
        sceneDepth: ARDepthData | null;
        /**
         * An average of distance measurements between a device's rear camera and real-world objects that creates smoother visuals in an AR experience.
         */
        smoothedSceneDepth: ARDepthData | null;
        /**
         * The list of anchors representing positions tracked or objects detected in the scene.
         */
        anchors: ARAnchor[];
        /**
         * The feasibility of generating or relocalizing a world map for this frame.
         */
        worldMappingStatus: ARFrame.WorldMappingStatus;
        /**
         * The screen position information of a body that ARKit recognizes in the camera image. 
         */
        detectedBody: ARBody2D | null;
        /**
         * A buffer that contains pixel information identifying the shape of objects from the camera feed that you use to occlude virtual content.
         */
        segmentationBuffer: CVPixelBuffer | null;
        /**
         * A buffer that represents the estimated depth values from the camera feed that you use to occlude virtual content.
         */
        estimatedDepthData: CVPixelBuffer | null;
        /**
         * The session’s condition with respect to geographic tracking at the time the session captured the frame.
         */
        geoTrackingStatus: ARGeoTrackingStatus | null;
        exifData: Record<string, any>;
        /**
         * Returns an affine transform for converting between normalized image coordinates and a coordinate space appropriate for rendering the camera image onscreen.
         */
        displayTransform(orientation: UIInterfaceOrientation, viewportSize: CGSize):CGAffineTransform;
        /**
         * Get a ray-cast query for a screen point.
         */
        raycastQuery(point: CGPoint, target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment):ARRaycastQuery;
        /**
         * Searches for real-world objects or AR anchors in the captured camera image.
         */
        hitTest(point: CGPoint, types: ARHitTestResult.ResultType):ARHitTestResult[];
    }
    /**
     * the same name namespace of class ARFrame
     */
    export namespace ARFrame {
        export enum WorldMappingStatus {
            notAvailable = 0,
            limited = 1,
            extending = 2,
            mapped = 3,
        }
        export enum SegmentationClass {
            person = 255,
            none = 0,
        }
    }
    export class ARBody2D extends NSObject {
        /**
         * An object that contains the screen position of a body's joints. 
         */
        skeleton: ARSkeleton2D;
    }
    export class ARGeoTrackingStatus extends NSObject {
        /**
         * A value that describes the session’s current geo-tracking state.
         */
        state: ARGeoTrackingStatus.State;
        /**
         * The reason for the frame’s geo-tracking state.
         */
        stateReason: ARGeoTrackingStatus.StateReason;
        /**
         * The accuracy of geo tracking at the time the session captured the frame.
         */
        accuracy: ARGeoTrackingStatus.Accuracy;
    }
    /**
     * the same name namespace of class ARGeoTrackingStatus
     */
    export namespace ARGeoTrackingStatus {
        export enum State {
            initializing = 1,
            localized = 3,
            localizing = 2,
            notAvailable = 0,
        }
        export enum StateReason {
            none = 0,
            notAvailableAtLocation = 1,
            needLocationPermissions = 2,
            devicePointedTooLow = 7,
            worldTrackingUnstable = 3,
            waitingForLocation = 4,
            waitingForAvailabilityCheck = 5,
            geoDataNotLoaded = 6,
            visualLocalizationFailed = 8,
        }
        export enum Accuracy {
            high = 3,
            undetermined = 0,
            low = 1,
            medium = 2,
        }
    }
    export class ARPointCloud extends NSObject {
        /**
         * The list of detected points.
         */
        points: vector_float3[];
        /**
         * A list of unique identifiers corresponding to detected feature points.
         */
        identifiers: UInt64[];
    }
    export class ARDepthData extends NSObject {
        /**
         * The estimated distance from the device to its environment, in meters.
         */
        depthMap: CVPixelBuffer;
        /**
         *  The framework’s confidence in the accuracy of the depth-map data.
         */
        confidenceMap: CVPixelBuffer | null;
    }
    export enum ARConfidenceLevel {
        low = 0,
        medium = 1,
        high = 2,
    }
    export class ARRaycastQuery extends NSObject {
        /**
         * A plane type that allows the raycast to terminate if it's encountered.
         */
        target: ARRaycastQuery.Target;
        /**
         * The target's alignment with respect to gravity.
         */
        targetAlignment: ARRaycastQuery.TargetAlignment;
        /**
         * A vector that describes the ray's trajectory in 3D space. 
         */
        direction: simd_float3;
        /**
         * A 3D coordinate that defines the ray's starting place.
         */
        origin: simd_float3;
        /**
         * Creates a new raycast query.
         */
        constructor (origin: simd_float3, direction: simd_float3, target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment);
    }
    /**
     * the same name namespace of class ARRaycastQuery
     */
    export namespace ARRaycastQuery {
        export enum Target {
            estimatedPlane = 2,
            existingPlaneGeometry = 0,
            existingPlaneInfinite = 1,
        }
        export enum TargetAlignment {
            any = 2,
            horizontal = 0,
            vertical = 1,
        }
    }
    export class ARTrackedRaycast extends NSObject {
        /**
         * Stops repeating the raycast query.
         */
        stopTracking():void;
    }
    export class ARRaycastResult extends NSObject {
        /**
         * The position, rotation, and scale, of the ray's intersection with the target.
         */
        worldTransform: simd_float4x4;
        /**
         * The anchor for the plane that the ray intersected. 
         */
        anchor: ARAnchor | null;
        /**
         * The type of surface that the ray intersects.
         */
        target: ARRaycastQuery.Target;
        /**
         * The alignment of the plane that the ray intersected.
         */
        targetAlignment: ARRaycastQuery.TargetAlignment;
    }
    export class ARHitTestResult extends NSObject {
        /**
         * The kind of detected feature the search result represents.
         */
        type: ARHitTestResult.ResultType;
        /**
         * The anchor representing the detected surface, if any.
         */
        anchor: ARAnchor | null;
        /**
         * The distance, in meters, from the camera to the detected surface.
         */
        distance: CGFloat;
        /**
         * The position and orientation of the result relative to the world coordinate system. 
         */
        worldTransform: simd_float4x4;
        /**
         * The position and orientation of the result relative to the nearest anchor or feature point.
         */
        localTransform: simd_float4x4;
    }
    /**
     * the same name namespace of class ARHitTestResult
     */
    export namespace ARHitTestResult {
        export class ResultType {
            /**
             * A point on a surface detected by ARKit, but not part of any detected planes.
             */
            static featurePoint: ARHitTestResult.ResultType;
            /**
             * A point on a real-world planar surface detected during the search, whose orientation is perpendicular to gravity.
             */
            static estimatedHorizontalPlane: ARHitTestResult.ResultType;
            /**
             * A point on a real-world planar surface detected during the search, whose orientation is parallel to gravity.
             */
            static estimatedVerticalPlane: ARHitTestResult.ResultType;
            /**
             * A point on a real-world plane (already detected with the 
             *  option), without considering the plane's size.
             */
            static existingPlane: ARHitTestResult.ResultType;
            /**
             * A point on a real-world plane (already detected with the 
             *  option), respecting the plane's estimated size.
             */
            static existingPlaneUsingExtent: ARHitTestResult.ResultType;
            /**
             * A point on a real-world plane (already detected with the 
             *  option), respecting the plane's estimated size and shape.
             */
            static existingPlaneUsingGeometry: ARHitTestResult.ResultType;
            /**
             * Creates a result type.
             */
            constructor (rawValue: number);
        }
    }
    export class ARCamera extends NSObject {
        /**
         * The general quality of position tracking available when the camera captured a frame.
         */
        trackingState: ARCamera.TrackingState;
        /**
         * The position and orientation of the camera in world coordinate space.
         */
        transform: simd_float4x4;
        /**
         * The orientation of the camera, expressed as roll, pitch, and yaw values.
         */
        eulerAngles: simd_float3;
        /**
         * The width and height, in pixels, of the captured camera image.
         */
        imageResolution: CGSize;
        /**
         * A matrix that converts between the 2D camera plane and 3D world coordinate space.
         */
        intrinsics: simd_float3x3;
        /**
         * A transform matrix appropriate for rendering 3D content to match the image captured by the camera.
         */
        projectionMatrix: simd_float4x4;
        /**
         * A value you use to effect motion blur when rendering your app's virtual content. 
         */
        exposureDuration: TimeInterval;
        /**
         * A value you supply to your custom renderer to light your scene. 
         */
        exposureOffset: Float;
        /**
         * Returns a transform matrix for converting from world space to camera space.
         */
        viewMatrix(orientation: UIInterfaceOrientation):simd_float4x4;
        /**
         * Returns the projection of a point from the 3D world space detected by ARKit into the 2D space of a view rendering the scene.
         */
        projectPoint(point: simd_float3, orientation: UIInterfaceOrientation, viewportSize: CGSize):CGPoint;
        /**
         * Returns the projection of a point from the 2D space of a view rendering the scene onto a plane in the 3D world space detected by ARKit.
         */
        unprojectPoint(point: CGPoint, planeTransform: simd_float4x4, orientation: UIInterfaceOrientation, viewportSize: CGSize):simd_float3 | null;
    }
    /**
     * the same name namespace of class ARCamera
     */
    export namespace ARCamera {
        export enum TrackingState {
            notAvailable,
            limited,
            normal,
        }
    }
    export class ARLightEstimate extends NSObject {
        /**
         * The estimated intensity, in lumens, of ambient light throughout the scene. 
         */
        ambientIntensity: CGFloat;
        /**
         * The estimated color temperature, in degrees Kelvin, of ambient light throughout the scene.
         */
        ambientColorTemperature: CGFloat;
    }
    export class ARDirectionalLightEstimate extends ARLightEstimate {
        /**
         * Data describing the estimated lighting environment in all directions. 
         */
        sphericalHarmonicsCoefficients: Data;
        /**
         * A vector indicating the orientation of the strongest directional light source in the scene.
         */
        primaryLightDirection: simd_float3;
        /**
         * The estimated intensity, in lumens, of the strongest directional light source in the scene.
         */
        primaryLightIntensity: CGFloat;
    }
    export class ARMatteGenerator extends NSObject {
        /**
         * Creates an AR matte generator. 
         */
        constructor (device: MTLDevice, matteResolution: ARMatteGenerator.Resolution);
        /**
         * Generates alpha matte at either full resolution or half the resolution of the captured image.
         */
        generateMatte(frame: ARFrame, commandBuffer: MTLCommandBuffer):MTLTexture;
        /**
         * Generates dilated depth at the resolution of the segmentation stencil.
         */
        generateDilatedDepth(frame: ARFrame, commandBuffer: MTLCommandBuffer):MTLTexture;
    }
    /**
     * the same name namespace of class ARMatteGenerator
     */
    export namespace ARMatteGenerator {
        export enum Resolution {
            full = 0,
            half = 1,
        }
    }
    export class ARSkeleton3D extends ARSkeleton {
        /**
         * The local space transforms for each joint.
         */
        jointLocalTransforms: simd_float4x4[];
        /**
         * The model space transforms for each joint.
         */
        jointModelTransforms: simd_float4x4[];
        /**
         * Returns the local transform for a joint with a given name.
         */
        localTransform(jointName: ARSkeleton.JointName):simd_float4x4 | null;
        /**
         * Returns the model transform for a joint with a given name.
         */
        modelTransform(jointName: ARSkeleton.JointName):simd_float4x4 | null;
    }
    export class ARSkeleton2D extends ARSkeleton {
        /**
         * The joint landmarks in normalized coordinates.
         */
        jointLandmarks: simd_float2[];
        /**
         * Returns the location of a joint with a given name.
         */
        landmark(jointName: ARSkeleton.JointName):simd_float2 | null;
    }
    export class ARSkeleton extends NSObject {
        /**
         * The particular configuration of joints that define a body's current state.  
         */
        definition: ARSkeletonDefinition;
        /**
         * Tells you whether ARKit tracks a joint at a particular index. 
         */
        isJointTracked(jointIndex: number):boolean;
    }
    /**
     * the same name namespace of class ARSkeleton
     */
    export namespace ARSkeleton {
        export class JointName {
            /**
             * A skeletal joint that's the root of all other joints.
             */
            static root: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the head. 
             */
            static head: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the left foot.
             */
            static leftFoot: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the left hand.
             */
            static leftHand: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the left shoulder.
             */
            static leftShoulder: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the right foot.
             */
            static rightFoot: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the right hand.
             */
            static rightHand: ARSkeleton.JointName;
            /**
             * A skeletal joint that ARKit tracks representing the right shoulder.
             */
            static rightShoulder: ARSkeleton.JointName;
            /**
             * Creates a new joint name.
             */
            constructor (rawValue: string);
            /**
             * Returns a joint name that corresponds to a key point defined in a human body pose.
             */
            constructor (recognizedPointKey: VNRecognizedPointKey);
        }
    }
    export class ARSkeletonDefinition extends NSObject {
        /**
         * The default skeleton definition for bodies defined in 3D.
         */
        static defaultBody3D: ARSkeletonDefinition;
        /**
         * The default skeleton definition for bodies defined in 2D.
         */
        static defaultBody2D: ARSkeletonDefinition;
        /**
         * The 3D skeleton in neutral pose.
         */
        neutralBodySkeleton3D: ARSkeleton3D | null;
        /**
         * A collection of unique joint names.
         */
        jointNames: string[];
        /**
         * The skeleton's total number of joints.
         */
        jointCount: number;
        /**
         * The parent index for each joint.
         */
        parentIndices: number[];
        /**
         * Returns the index for a given joint identifier.
         */
        index(jointName: ARSkeleton.JointName):number;
    }
    export class ARFaceGeometry extends NSObject {
        /**
         * An array of vertex positions for each point in the face mesh.
         */
        vertices: vector_float3[];
        /**
         * An array of texture coordinate values for each point in the face mesh.
         */
        textureCoordinates: vector_float2[];
        /**
         * The number of triangles described by the 
         *  buffer.
         */
        triangleCount: number;
        /**
         * An array of indices describing the triangle mesh formed by the face geometry's vertex data. 
         */
        triangleIndices: Int16[];
        /**
         * Creates a face geometry matching the facial expression described in the specified dictionary.
         */
        constructor (blendShapes: Record<ARFaceAnchor.BlendShapeLocation, NSNumber>);
    }
    export class ARSCNFaceGeometry extends SCNGeometry {
        /**
         * Creates a SceneKit face geometry for rendering with the specified Metal device object.
         */
        constructor (device: MTLDevice);
        /**
         * Creates a SceneKit face geometry, optionally filling in gaps in the mesh for the eyes and mouth.
         */
        constructor (device: MTLDevice, fillMesh: boolean);
        /**
         * Deforms the SceneKit geometry to match the specified face mesh.
         */
        update(faceGeometry: ARFaceGeometry):void;
    }
    export class ARWorldMap extends NSObject {
        /**
         * The set of anchors recorded in the world map.
         */
        anchors: ARAnchor[];
        /**
         * The center point of the world map's space-mapping data, relative to the world coordinate origin of the session the map was recorded in.
         */
        center: simd_float3;
        /**
         * The size of the world map's space-mapping data, relative to the world coordinate origin of the session the map was recorded in.
         */
        extent: simd_float3;
        /**
         * A coarse representation of the space-mapping data recorded in the world map.
         */
        rawFeaturePoints: ARPointCloud;
    }
    export class ARQuickLookPreviewItem extends NSObject {
        /**
         * A Boolean value that determines whether the user can scale your virtual content using pinch gestures.
         */
        allowsContentScaling: boolean;
        /**
         * The web URL to share when the user invokes the share sheet.
         */
        canonicalWebPageURL: URL | null;
        /**
         * Initializes a new AR Quick Look preview item.
         */
        constructor (url: URL);
    }
    export class ARError {
        /**
         * A string that indicates the error domain in Core Foundation.
         */
        static errorDomain: string;
        /**
         * An error the framework produces when a request fails.
         */
        static requestFailed: ARError.Code;
        /**
         * An error that indicates the app lacks user permission for the camera. 
         */
        static cameraUnauthorized: ARError.Code;
        /**
         * An error the framework produces when file access fails to read or write.
         */
        static fileIOFailed: ARError.Code;
        /**
         * An error that indicates the framework requires more features to complete a task.
         */
        static insufficientFeatures: ARError.Code;
        /**
         * An error that results when the framework fails to parse collaboration data the app receives over the network.
         */
        static invalidCollaborationData: ARError.Code;
        /**
         * An error that indicates the configuration contains ambiguous or erroneous data.
         */
        static invalidConfiguration: ARError.Code;
        /**
         * An error that indicates the framework failed to process a reference image.
         */
        static invalidReferenceImage: ARError.Code;
        /**
         * An error that indicates the framework failed to process a reference object.
         */
        static invalidReferenceObject: ARError.Code;
        /**
         * An error that indicates the framework failed to process a world map.
         */
        static invalidWorldMap: ARError.Code;
        /**
         * An error that indicates the app lacks user permission for the microphone. 
         */
        static microphoneUnauthorized: ARError.Code;
        /**
         * An error that indicates the framework failed to merge a detected object.
         */
        static objectMergeFailed: ARError.Code;
        /**
         * An error that indicates a sensor failed to provide required input.
         */
        static sensorFailed: ARError.Code;
        /**
         * An error that indicates the framework failed to access a required sensor.
         */
        static sensorUnavailable: ARError.Code;
        /**
         * An error that indicates the device doesn’t support the session's configuration.
         */
        static unsupportedConfiguration: ARError.Code;
        /**
         * An error the framework produces when world tracking experiences an unrecoverable problem.
         */
        static worldTrackingFailed: ARError.Code;
        /**
         * An error that indicates the framework failed to match localization imagery with the device’s camera captures.
         */
        static geoTrackingFailed: ARError.Code;
        /**
         * An error the framework produces when a location lacks geotracking support.
         */
        static geoTrackingNotAvailableAtLocation: ARError.Code;
        /**
         * An error that indicates the app lacks user permission for the device's current location.
         */
        static locationUnauthorized: ARError.Code;
        static highResolutionFrameCaptureFailed: ARError.Code;
        static highResolutionFrameCaptureInProgress: ARError.Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The error user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A string that contains a description of the error.
         */
        localizedDescription: string;
        /**
         * An integer value for an error.
         */
        errorCode: number;
        /**
         * A code that indicates the cause of the error.
         */
        code: Code;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ARError
     */
    export namespace ARError {
        export enum Code {
            requestFailed = 501,
            cameraUnauthorized = 103,
            fileIOFailed = 500,
            insufficientFeatures = 400,
            invalidCollaborationData = 304,
            invalidConfiguration = 303,
            invalidReferenceImage = 300,
            invalidReferenceObject = 301,
            invalidWorldMap = 302,
            microphoneUnauthorized = 104,
            objectMergeFailed = 401,
            sensorFailed = 102,
            sensorUnavailable = 101,
            unsupportedConfiguration = 100,
            worldTrackingFailed = 200,
            geoTrackingFailed = 202,
            geoTrackingNotAvailableAtLocation = 201,
            locationUnauthorized = 105,
            highResolutionFrameCaptureFailed = 107,
            highResolutionFrameCaptureInProgress = 106,
        }
    }
    export class AROrientationTrackingConfiguration extends ARConfiguration {
        /**
         * A Boolean value that determines whether the device camera uses fixed focus or autofocus behavior.
         */
        isAutoFocusEnabled: boolean;
        /**
         * Initializes a new orientation tracking configuration.
         */
        constructor ();
    }
    export class ARPositionalTrackingConfiguration extends ARConfiguration {
        /**
         * The state from a previous AR session to attempt to resume with this session configuration.
         */
        initialWorldMap: ARWorldMap | null;
        /**
         * A value that specifies if and how the session automatically attempts to detect flat surfaces in the camera-captured image.
         */
        planeDetection: ARWorldTrackingConfiguration.PlaneDetection;
        /**
         * Creates a new positional tracking configuration.
         */
        constructor ();
    }
    export class ARBodyTrackingConfiguration extends ARConfiguration {
        /**
         * A flag that indicates if the device tracks App Clip Codes.
         */
        static supportsAppClipCodeTracking: boolean;
        /**
         * The state from a previous AR session to attempt to resume with this session configuration.
         */
        initialWorldMap: ARWorldMap | null;
        /**
         * A flag that determines whether ARKit estimates the height of a body that it's tracking.
         */
        automaticSkeletonScaleEstimationEnabled: boolean;
        /**
         * A Boolean value that determines whether the device camera uses fixed focus or autofocus behavior.
         */
        isAutoFocusEnabled: boolean;
        /**
         * A value specifying whether and how the session attempts to automatically detect flat surfaces in the camera-captured image.
         */
        planeDetection: ARWorldTrackingConfiguration.PlaneDetection;
        /**
         * A flag that instructs ARKit to estimate and set the scale of a tracked image on your behalf.
         */
        automaticImageScaleEstimationEnabled: boolean;
        /**
         * A set of images that ARKit searches for in the user's environment.
         */
        detectionImages: Set<ARReferenceImage>;
        /**
         * The number of image anchors to monitor closely for position and orientation updates.
         */
        maximumNumberOfTrackedImages: number;
        /**
         * A flag that instructs ARKit to create environment textures in HDR format. 
         */
        wantsHDREnvironmentTextures: boolean;
        /**
         * The behavior ARKit uses for generating environment textures.
         */
        environmentTexturing: ARWorldTrackingConfiguration.EnvironmentTexturing;
        /**
         * A Boolean value that indicates if the framework searches the physical environment for App Clip Codes.
         */
        appClipCodeTrackingEnabled: boolean;
        /**
         * Creates a new body tracking configuration.
         */
        constructor ();
    }
    export interface ARSessionObserver extends NSObjectProtocol {
        /**
         * Informs the delegate of changes to the quality of ARKit's device position tracking.
         */
        session(session: ARSession, camera: ARCamera):void;
        /**
         * Tells the delegate that the session has temporarily stopped processing frames and tracking device position. 
         */
        sessionWasInterrupted(session: ARSession):void;
        /**
         * Tells the delegate that the session has resumed processing frames and tracking device position.
         */
        sessionInterruptionEnded(session: ARSession):void;
        /**
         * Asks the delegate whether to attempt recovery of world-tracking state after an interruption.
         */
        sessionShouldAttemptRelocalization(session: ARSession):boolean;
    }
    export class ARFaceTrackingConfiguration extends ARConfiguration {
        /**
         * A Boolean value that indicates whether the iOS device supports tracking the user's facial features in a world-tracking session.
         */
        static supportsWorldTracking: boolean;
        /**
         * The maximum number of faces that the framework can track.
         */
        static supportedNumberOfTrackedFaces: number;
        /**
         * A Boolean value that instructs a session to provide the app with user face data during a world-tracking session.
         */
        isWorldTrackingEnabled: boolean;
        /**
         * The number of faces to track during the session.
         */
        maximumNumberOfTrackedFaces: number;
        /**
         * Creates a new face-tracking configuration.
         */
        constructor ();
    }
    export class ARImageTrackingConfiguration extends ARConfiguration {
        /**
         * A set of images that ARKit searches for and tracks in the user's environment.
         */
        trackingImages: Set<ARReferenceImage>;
        /**
         * The number of image anchors to monitor closely for position and orientation updates.
         */
        maximumNumberOfTrackedImages: number;
        /**
         * A Boolean value that determines whether the device camera uses fixed focus or autofocus behavior.
         */
        isAutoFocusEnabled: boolean;
        /**
         * Initializes a new image-tracking configuration.
         */
        constructor ();
    }
    export class ARObjectScanningConfiguration extends ARConfiguration {
        /**
         * A value specifying whether and how the session attempts to automatically detect flat surfaces in the camera-captured image.
         */
        planeDetection: ARWorldTrackingConfiguration.PlaneDetection;
        /**
         * A Boolean value that determines whether the device camera uses fixed focus or autofocus behavior.
         */
        isAutoFocusEnabled: boolean;
        /**
         * Initializes a new object scanning configuration.
         */
        constructor ();
    }
    export class ARConfiguration extends NSObject {
        /**
         * A Boolean value indicating whether the current device supports this session configuration class.
         */
        static isSupported: boolean;
        /**
         * The set of video capture formats available on the current device.
         */
        static supportedVideoFormats: ARConfiguration.VideoFormat[];
        static configurableCaptureDeviceForPrimaryCamera: AVCaptureDevice | null;
        static recommendedVideoFormatFor4KResolution: ARConfiguration.VideoFormat | null;
        static recommendedVideoFormatForHighResolutionFrameCapturing: ARConfiguration.VideoFormat | null;
        /**
         * The set of active semantics on the frame.
         */
        frameSemantics: ARConfiguration.FrameSemantics;
        /**
         * A Boolean value specifying whether ARKit analyzes scene lighting in captured camera images.
         */
        isLightEstimationEnabled: boolean;
        /**
         * A value specifying how the session maps real-world device motion into a 3D scene coordinate system. 
         */
        worldAlignment: ARConfiguration.WorldAlignment;
        /**
         * A camera type, resolution, and frame rate for an AR session.
         */
        videoFormat: ARConfiguration.VideoFormat;
        /**
         * A Boolean value that specifies whether to capture audio during the AR session.
         */
        providesAudioData: boolean;
        videoHDRAllowed: boolean;
        /**
         * Checks whether a particular feature is supported. 
         */
        static supportsFrameSemantics(frameSemantics: ARConfiguration.FrameSemantics):boolean;
    }
    /**
     * the same name namespace of class ARConfiguration
     */
    export namespace ARConfiguration {
        export class FrameSemantics {
            /**
             * An option that indicates that 2D body detection is enabled.
             */
            static bodyDetection: ARConfiguration.FrameSemantics;
            /**
             * An option that indicates that people occlude your app's virtual content. 
             */
            static personSegmentation: ARConfiguration.FrameSemantics;
            /**
             * An option that indicates that people occlude your app's virtual content depending on depth. 
             */
            static personSegmentationWithDepth: ARConfiguration.FrameSemantics;
            /**
             * An option that provides the distance from the device to real-world objects viewed through the camera. 
             */
            static sceneDepth: ARConfiguration.FrameSemantics;
            /**
             * An option that provides the distance from the device to real-world objects, averaged across several frames. 
             */
            static smoothedSceneDepth: ARConfiguration.FrameSemantics;
            /**
             * Creates a frame semantics feature. 
             */
            constructor (rawValue: number);
        }
        export enum WorldAlignment {
            gravity = 0,
            gravityAndHeading = 1,
            camera = 2,
        }
        export class VideoFormat extends NSObject {
            /**
             * The rate at which the session captures video and provides AR frame information.
             */
            framesPerSecond: number;
            /**
             * The size, in pixels, of video images captured in the session.
             */
            imageResolution: CGSize;
            /**
             * The position of the capture device.
             */
            captureDevicePosition: AVCaptureDevice.Position;
            /**
             * The camera that supplies the video format.
             */
            captureDeviceType: AVCaptureDevice.DeviceType;
            isRecommendedForHighResolutionFrameCapturing: boolean;
            isVideoHDRSupported: boolean;
        }
        export class SceneReconstruction {
            /**
             * A polygonal mesh approximation of the physical environment.
             */
            static mesh: ARConfiguration.SceneReconstruction;
            /**
             * An approximate shape of the physical environment, including classification of the real-world objects within it.
             */
            static meshWithClassification: ARConfiguration.SceneReconstruction;
            /**
             * Initializes a scene-reconstruction object.
             */
            constructor (rawValue: number);
        }
    }
}

/**
 * Simulate and render 3D content for use in your augmented reality apps.
 */
declare module RealityKit {
    export class ARView extends NSView,UIView {
        /**
         * The class used to create the layer for view instances.
         */
        static layerClass: AnyClass;
        /**
         * A Boolean value that indicates whether the view accepts first responder
         *  
         * status.
         */
        acceptsFirstResponder: boolean;
        /**
         * The frame rectangle, which describes the view’s location and size in the
         *  
         * coordinate system of the view’s superview.
         */
        frame: NSRect;
        /**
         * The scale factor of the content in the view.
         */
        contentScaleFactor: CGFloat;
        /**
         * The current debugging options.
         */
        debugOptions: ARView.DebugOptions;
        /**
         * The AR session that supports the view’s rendering.
         */
        session: ARSession;
        /**
         * Finds the entity in the AR scene closest to the specified point.
         */
        entity(point: CGPoint):Entity | null;
        /**
         * Finds the collection of entities at the specified point in the scene.
         */
        entities(point: CGPoint):Entity[];
        /**
         * Searches for objects corresponding to a point in the view based on a
         *  
         * query and a collision mask.
         */
        hitTest(point: CGPoint, query: CollisionCastQueryType, mask: CollisionGroup):CollisionCastHit[];
        /**
         * Creates a ray-cast query originating from a point in the view, centered
         *  
         * on the camera’s field of view.
         */
        makeRaycastQuery(point: CGPoint, target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment):ARRaycastQuery | null;
        /**
         * Performs a ray cast, where a ray is cast into the scene from the center
         *  
         * of the camera through a point in the view, and the results are
         *  
         * immediately returned.
         */
        raycast(point: CGPoint, target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment):ARRaycastResult[];
        /**
         * Performs a tracked ray cast, where a ray is cast into the scene from the
         *  
         * center of the camera through a point in the view.
         */
        trackedRaycast(point: CGPoint, target: ARRaycastQuery.Target, alignment: ARRaycastQuery.TargetAlignment, updateHandler: ()=>any):ARTrackedRaycast | null;
        /**
         * Installs standard gestures onto the given entity, configured to be
         *  
         * recognized simultaneously.
         */
        installGestures(gestures: ARView.EntityGestures, entity: HasCollision):EntityGestureRecognizer[];
        /**
         * Determines whether two gesture recognizers should simultaneously
         *  
         * recognize a gesture.
         */
        gestureRecognizer(gestureRecognizer: UIGestureRecognizer, otherGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Projects a point from the 3D world coordinate system of the scene to the
         *  
         * 2D pixel coordinate system of the view.
         */
        project(point: SIMD3<Float>):CGPoint | null;
        /**
         * Unproject a 2D point from the view onto a plane in 3D world coordinates.
         */
        unproject(point: CGPoint, planeTransform: float4x4, relativeToCamera: boolean):SIMD3<Float> | null;
        /**
         * Determines the position and direction of a ray through the given point
         *  
         * in the 2D space of the view.
         */
        ray(screenPoint: CGPoint):any;
        /**
         * Tells the view that one or more new touches occurred.
         */
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        /**
         * Tells the view when one or more touches associated with an event
         *  
         * changed.
         */
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
        /**
         * Tells the view when one or more fingers are raised from the view.
         */
        touchesEnded(touches: Set<UITouch>, event: UIEvent | null):void;
        /**
         * Tells the view when a system event (such as a system alert) cancels a
         *  
         * touch sequence.
         */
        touchesCancelled(touches: Set<UITouch>, event: UIEvent | null):void;
        /**
         * Informs the view that the user has pressed a key.
         */
        keyDown(event: NSEvent):void;
        /**
         * Informs the view that the user has released a key.
         */
        keyUp(event: NSEvent):void;
        /**
         * Informs the view that the user has pressed the left mouse button.
         */
        mouseDown(event: NSEvent):void;
        /**
         * Informs the view that the user has moved the mouse with the left button
         *  
         * pressed.
         */
        mouseDragged(event: NSEvent):void;
        /**
         * Informs the view that the user has released the left mouse button.
         */
        mouseUp(event: NSEvent):void;
        /**
         * Informs the view that the mouse has moved.
         */
        mouseMoved(event: NSEvent):void;
        /**
         * Informs the view that the user has pressed the right mouse button.
         */
        rightMouseDown(event: NSEvent):void;
        /**
         * Informs the view that the user has moved the mouse with the right button
         *  
         * pressed.
         */
        rightMouseDragged(event: NSEvent):void;
        /**
         * Informs the view that the user has released the right mouse button.
         */
        rightMouseUp(event: NSEvent):void;
        /**
         * Informs the view that the user has pressed a mouse button other than the
         *  
         * left or right one.
         */
        otherMouseDown(event: NSEvent):void;
        /**
         * Informs the view that the user has moved the mouse with a button other
         *  
         * than the left or right button pressed.
         */
        otherMouseDragged(event: NSEvent):void;
        /**
         * Informs the view that the user has released a mouse button other than
         *  
         * the left or right button.
         */
        otherMouseUp(event: NSEvent):void;
        /**
         * Informs the view that the mouse’s scroll wheel has moved.
         */
        scrollWheel(event: NSEvent):void;
        /**
         * Tells the view that its superview changed.
         */
        didMoveToSuperview():void;
        /**
         * Tells the view that its window property is set to a new value.
         */
        didMoveToWindow():void;
        /**
         * Lays out subviews.
         */
        layoutSubviews():void;
        layout():void;
        /**
         * Creates the view’s backing layer.
         */
        makeBackingLayer():CALayer;
        /**
         * Tells the view when its backing store properties change.
         */
        viewDidChangeBackingProperties():void;
        /**
         * Tells the view that it has a new superview or that the view’s superview
         *  
         * has been removed.
         */
        viewDidMoveToSuperview():void;
        /**
         * Takes a screenshot.
         */
        snapshot(saveToHDR: boolean, completion: ()=>any):void;
    }
    /**
     * the same name namespace of class ARView
     */
    export namespace ARView {
        export class EntityGestures {
            /**
             * All gesture types.
             */
            static all: ARView.EntityGestures;
            /**
             * A multitouch gesture used to rotate an entity.
             */
            static rotation: ARView.EntityGestures;
            /**
             * A pinch gesture used to scale an entity.
             */
            static scale: ARView.EntityGestures;
            /**
             * A single touch pan gesture used to move entities along their
             *  
             * anchoring plane.
             */
            static translation: ARView.EntityGestures;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Creates a new option set from the given raw value.
             */
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the
             *  
             * option set.
             */
            contains(member: Self):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given
             *  
             * set.
             */
            subtracting(other: Self):Self;
            /**
             * Returns a new option set of the elements contained in this set, in the given set,
             *  
             * or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Returns a new option set with only the elements contained in both this set and the
             *  
             * given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Returns a new option set with the elements contained in this set or in the given
             *  
             * set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Replaces this set with a new set containing all elements contained in either this
             *  
             * set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the
             *  
             * given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given
             *  
             * set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the
             *  
             * given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with
             *  
             * the given set.
             */
            isDisjoint(other: Self):boolean;
        }
        export class DebugOptions {
            /**
             * Disable all debugging overlays.
             */
            static none: ARView.DebugOptions;
            /**
             * Draw visualizations for collision objects and rigid bodies.
             */
            static showPhysics: ARView.DebugOptions;
            /**
             * Collect performance statistics and display them in the view.
             */
            static showStatistics: ARView.DebugOptions;
            /**
             * Display anchor origins.
             */
            static showAnchorOrigins: ARView.DebugOptions;
            /**
             * Display anchor geometry.
             */
            static showAnchorGeometry: ARView.DebugOptions;
            /**
             * Display a coordinate axis indicating the position and orientation of the AR
             *  
             * world coordinate system.
             */
            static showWorldOrigin: ARView.DebugOptions;
            /**
             * Display a point cloud showing intermediate results of the scene analysis
             *  
             * used to track device position.
             */
            static showFeaturePoints: ARView.DebugOptions;
            /**
             * Display the depth-colored wireframe for scene understanding meshes.
             */
            static showSceneUnderstanding: ARView.DebugOptions;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Options for drawing overlay content in a scene that aids in
             *  
             * debugging the scene.
             */
            rawValue: number;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Create a debug options enumeration from a raw value.
             */
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the
             *  
             * option set.
             */
            contains(member: Self):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given
             *  
             * set.
             */
            subtracting(other: Self):Self;
            /**
             * Returns a new option set of the elements contained in this set, in the given set,
             *  
             * or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Returns a new option set with only the elements contained in both this set and the
             *  
             * given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Returns a new option set with the elements contained in this set or in the given
             *  
             * set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Replaces this set with a new set containing all elements contained in either this
             *  
             * set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the
             *  
             * given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given
             *  
             * set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the
             *  
             * given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with
             *  
             * the given set.
             */
            isDisjoint(other: Self):boolean;
        }
    }
    export class EntityRotationGestureRecognizer extends UIRotationGestureRecognizer {
        /**
         * The entity the receiver is associated with
         */
        entity: HasCollision | null;
        constructor (target: any, action: Selector | null);
        canPrevent(preventedGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Sent to the gesture recognizer when one or more fingers touch down on the associated entity.
         */
        touchesBegan(touches: Set<UITouch>, event: UIEvent):void;
    }
    export class EntityScaleGestureRecognizer extends UIPinchGestureRecognizer {
        /**
         * The entity the receiver is associated with
         */
        entity: HasCollision | null;
        constructor (target: any, action: Selector | null);
        canPrevent(preventedGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Sent to the gesture recognizer when one or more fingers touch down on the associated entity.
         */
        touchesBegan(touches: Set<UITouch>, event: UIEvent):void;
    }
    export class EntityTranslationGestureRecognizer extends UIGestureRecognizer {
        /**
         * The entity the receiver is associated with
         */
        entity: HasCollision | null;
        constructor (target: any, action: Selector | null);
        canPrevent(preventedGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Returns the unprojected location of the gesture represented by the receiver in the space of the given entity.
         */
        location(entity: Entity | null):SIMD3<Float> | null;
        /**
         * Overridden to reset internal state when a gesture recognition attempt completes.
         */
        reset():void;
        /**
         * Sets the translation of the receiver in the entity’s coordinate space
         */
        setTranslation(translation: SIMD3<Float>, entity: Entity | null):void;
        /**
         * Sent to the gesture recognizer when one or more fingers touch down on the associated entity.
         */
        touchesBegan(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when a system event (such as an incoming phone call) cancels a touch event.
         */
        touchesCancelled(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when one or more fingers lift from the associated view.
         */
        touchesEnded(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when one or more fingers move in the associated view.
         */
        touchesMoved(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * The translation of the gesture in the space of the specified entity.
         */
        translation(entity: Entity | null):SIMD3<Float> | null;
        /**
         * The velocity of the translation gesture in the space of the specified entity.
         */
        velocity(entity: Entity | null):SIMD3<Float>;
    }
    export class Scene {
        /**
         * A name for the scene.
         */
        name: string;
        /**
         * The collection of anchors contained in the scene.
         */
        anchors: Scene.AnchorCollection;
        /**
         * The service to use for network synchronization.
         */
        synchronizationService: SynchronizationService | null;
        /**
         * The hashed value of the scene.
         */
        hashValue: number;
        /**
         * The stable identity of the entity associated with this instance.
         */
        id: ObjectIdentifier;
        /**
         * Adds an anchor to the scene’s list of anchors.
         */
        addAnchor(anchor: HasAnchoring):void;
        /**
         * Removes the specified anchor from the scene.
         */
        removeAnchor(anchor: HasAnchoring):void;
        /**
         * Searches the scene’s anchor entity hierarchies for an entity with the
         *  
         * given name.
         */
        findEntity(name: string):Entity | null;
        /**
         * Returns all entities of the scene which pass the 
         *  of the 
         * .
         */
        performQuery(query: EntityQuery):QueryResult<Entity>;
        /**
         * Performs a convex ray cast against all the geometry in the scene for a
         *  
         * ray of a given origin, direction, and length.
         */
        raycast(origin: SIMD3<Float>, direction: SIMD3<Float>, length: Float, query: CollisionCastQueryType, mask: CollisionGroup, referenceEntity: Entity | null):CollisionCastHit[];
        /**
         * Performs a convex shape cast against all the geometry in the scene.
         */
        convexCast(convexShape: ShapeResource, fromPosition: SIMD3<Float>, fromOrientation: simd_quatf, toPosition: SIMD3<Float>, toOrientation: simd_quatf, query: CollisionCastQueryType, mask: CollisionGroup, referenceEntity: Entity | null):CollisionCastHit[];
        /**
         * Generates a publisher for events of the specified type.
         */
        publisher<E>(event: E.Type, sourceObject: EventSource | null):Event;
        /**
         * Receives events of the given type.
         */
        subscribe<E>(event: E.Type, sourceObject: EventSource | null, handler: ()=>any):Event;
        /**
         * Hashes the essential components of the scene by feeding them into the
         *  
         * given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Scene
     */
    export namespace Scene {
        export class AnchorCollection {
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations,
             *  
             * such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The position one greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<Self>;
            /**
             * Stores changes waiting to be published.
             */
            publisher: any;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * Returns a Boolean value indicating whether this sequence and another sequence contain
             *  
             * equivalent elements in the same order, using the given predicate as the equivalence
             *  
             * test.
             */
            elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
            /**
             * Returns a Boolean value indicating whether the initial elements of the sequence are
             *  
             * equivalent to the elements in another sequence, using the given predicate as the
             *  
             * equivalence test.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another sequence
             *  
             * in a lexicographical (dictionary) ordering, using the given predicate to compare
             *  
             * elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():Scene.AnchorCollection.Iterator;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  
             * loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer
             *  
             * starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Adds a new anchor at the end of the collection.
             */
            append(entity: Scene.AnchorCollection.Element):void;
            /**
             * Adds anchors from a sequence to the end of this collection.
             */
            append<S>(sequence: S):void;
            /**
             * Removes the anchor at the specified position.
             */
            remove(entity: Scene.AnchorCollection.Element):void;
            /**
             * Removes all anchors from the collection.
             */
            removeAll():void;
            /**
             * Replaces the existing anchor collection with a provided collection.
             */
            replaceAll(entities: Scene.AnchorCollection.Element[]):void;
            /**
             * Replaces the existing anchor collection with a provided sequence.
             */
            replaceAll<S>(entities: S):void;
            /**
             * Returns a Boolean value indicating whether the sequence contains an element that
             *  
             * satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies
             *  
             * a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison
             *  
             * between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison
             *  
             * between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy
             *  
             * the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial
             *  
             * elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements
             *  
             * of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as a source
             *  
             * for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns an array containing the results of mapping the given closure over the sequence’s
             *  
             * elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns an array containing the concatenated results of calling the given transformation
             *  
             * with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Returns an array containing the non-
             *  results of calling the given transformation
             *  
             * with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns the result of combining the elements of the sequence using the given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the non-nil results of calling the given transformation
             *  
             * with each element of this sequence.
             */
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison
             *  
             * between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator as a source
             *  
             * for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning
             *  
             * the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t
             *  
             * contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: Self.Index, distance: number):Self.Index;
            /**
             * Returns the first index in which an element of the collection satisfies the given
             *  
             * predicate.
             */
            firstIndex(predicate: Bool):Self.Index | null;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Self.Index, distance: number):void;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        }
        export class Publisher {
            /**
             * The elements produced by the publisher, as an asynchronous sequence.
             */
            values: AsyncPublisher<Self>;
            /**
             * Attaches the specified subscriber to this publisher.
             */
            receive<S>(subscriber: S):void;
            /**
             * Attaches the specified subscriber to this publisher.
             */
            subscribe<S>(subscriber: S):void;
            /**
             * Transforms all elements from the upstream publisher with a provided closure.
             */
            map<T>(transform: ()=>any):any;
            /**
             * Transforms all elements from the upstream publisher with a provided error-throwing closure.
             */
            tryMap<T>(transform: T):any;
            /**
             * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
             */
            flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
            /**
             * Converts any failure from the upstream publisher into a new error.
             */
            mapError<E>(transform: ()=>any):Error;
            /**
             * Replaces nil elements in the stream with the provided element.
             */
            replaceNil<T>(output: T):T | null;
            /**
             * Transforms elements from the upstream publisher by providing the current
             *  
             * element to a closure along with the last value returned by the closure.
             */
            scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
            /**
             * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
             */
            tryScan<T>(initialResult: T, nextPartialResult: T):any;
            /**
             * Changes the failure type declared by the upstream publisher.
             */
            setFailureType<E>(failureType: E.Type):Error;
            /**
             * Republishes all elements that match a provided closure.
             */
            filter(isIncluded: ()=>any):Publishers.Filter<Self>;
            /**
             * Republishes all elements that match a provided error-throwing closure.
             */
            tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
            /**
             * Calls a closure with each received element and publishes any returned optional that has a value.
             */
            compactMap<T>(transform: ()=>any | null):any;
            /**
             * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
             */
            tryCompactMap<T>(transform: T | null):any;
            /**
             * Publishes only elements that don’t match the previous element.
             */
            removeDuplicates():Publishers.RemoveDuplicates<Self>;
            /**
             * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
             */
            tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
            /**
             * Replaces an empty stream with the provided element.
             */
            replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
            /**
             * Replaces any errors in the stream with the provided element.
             */
            replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
            /**
             * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
             */
            collect():Publishers.Collect<Self>;
            /**
             * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
             */
            collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
             */
            ignoreOutput():Publishers.IgnoreOutput<Self>;
            /**
             * Applies a closure that collects each element of a stream and publishes a final result upon completion.
             */
            reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
            /**
             * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
             */
            tryReduce<T>(initialResult: T, nextPartialResult: T):any;
            /**
             * Publishes the number of elements received from the upstream publisher.
             */
            count():Publishers.Count<Self>;
            /**
             * Publishes the maximum value received from the upstream publisher, after it finishes.
             */
            max():Publishers.Comparison<Self>;
            /**
             * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
             */
            tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
            /**
             * Publishes the minimum value received from the upstream publisher, after it finishes.
             */
            min():Publishers.Comparison<Self>;
            /**
             * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
             */
            tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
            /**
             * Publishes a Boolean value upon receiving an element equal to the argument.
             */
            contains(output: Self.Output):Publishers.Contains<Self>;
            /**
             * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
             */
            tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
            /**
             * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
             */
            allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
            /**
             * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
             */
            tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
            /**
             * Ignores elements from the upstream publisher until it receives an element from a second publisher.
             */
            drop<P>(publisher: P):P.Failure;
            /**
             * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
             */
            drop(predicate: ()=>any):Publishers.DropWhile<Self>;
            /**
             * Omits the specified number of elements before republishing subsequent elements.
             */
            dropFirst(count: number):Publishers.Drop<Self>;
            /**
             * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
             */
            tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
            /**
             * Appends a publisher’s output with the specified elements.
             */
            append(...elements: Self.Output):any;
            /**
             * Prefixes a publisher’s output with the specified values.
             */
            prepend(...elements: Self.Output):any;
            /**
             * Republishes elements up to the specified maximum count.
             */
            prefix(maxLength: number):Publishers.Output<Self>;
            /**
             * Republishes elements until another publisher emits an element.
             */
            prefix<P>(publisher: P):Publisher;
            /**
             * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
             */
            tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
            /**
             * Publishes the first element of a stream, then finishes.
             */
            first():Publishers.First<Self>;
            /**
             * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
             */
            tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
            /**
             * Publishes the last element of a stream, after the stream finishes.
             */
            last():Publishers.Last<Self>;
            /**
             * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
             */
            tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
            /**
             * Publishes a specific element, indicated by its index in the sequence of published elements.
             */
            output(index: number):Publishers.Output<Self>;
            /**
             * Publishes elements specified by their range in the sequence of published elements.
             */
            output<R>(range: R):Int;
            /**
             * cancellable = pub1
             *  
             * .combineLatest(pub2) { (first, second) in
             *  
             * return first * second
             *  
             * }
             *  
             * .sink { print(“Result: ($0).”) }
             */
            combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
            /**
             * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
             */
            combineLatest<P>(other: P):P.Failure;
            /**
             * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
             */
            combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
            /**
             * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
             */
            combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
            /**
             * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
             */
            combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
            /**
             * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
             */
            combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
            /**
             * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
             */
            merge(other: Self):Publishers.MergeMany<Self>;
            /**
             * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C>(b: B, c: C):C.Output;
            /**
             * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D>(b: B, c: C, d: D):D.Output;
            /**
             * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
            /**
             * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
            /**
             * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
            /**
             * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
            /**
             * Combines elements from another publisher and deliver pairs of elements as tuples.
             */
            zip<P>(other: P):P.Failure;
            /**
             * Combines elements from another publisher and delivers a transformed output.
             */
            zip<P, T>(other: P, transform: ()=>any):P.Failure;
            /**
             * Combines elements from two other publishers and delivers groups of elements as tuples.
             */
            zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
            /**
             * Combines elements from two other publishers and delivers a transformed output.
             */
            zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
            /**
             * Combines elements from three other publishers and delivers groups of elements as tuples.
             */
            zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
            /**
             * Combines elements from three other publishers and delivers a transformed output.
             */
            zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
            /**
             * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
             */
            assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
            /**
             * Handles errors from an upstream publisher by replacing it with another publisher.
             */
            catch(handler: ()=>any):P.Output;
            /**
             * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
             */
            tryCatch<P>(handler: P):P.Output;
            /**
             * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
             */
            retry(retries: number):Publishers.Retry<Self>;
            /**
             * Measures and emits the time interval between events received from an upstream publisher.
             */
            measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Publishes elements only after a specified time interval elapses between events.
             */
            debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
             */
            delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
             */
            throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
            /**
             * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
             */
            timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
            /**
             * Shares the output of an upstream publisher with multiple subscribers.
             */
            share():Publishers.Share<Self>;
            /**
             * Encodes the output from upstream using a specified encoder.
             */
            encode<Coder>(encoder: Coder):TopLevelEncoder;
            /**
             * Decodes the output from the upstream using a specified decoder.
             */
            decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
            /**
             * Publishes the values of two key paths as a tuple.
             */
            map<T0, T1>(keyPath0: any, keyPath1: any):any;
            /**
             * Publishes the values of three key paths as a tuple.
             */
            map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
            /**
             * Applies a closure to create a subject that delivers elements to subscribers.
             */
            multicast<S>(createSubject: ()=>any):S.Output;
            /**
             * Buffers elements received from an upstream publisher.
             */
            buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
            /**
             * Wraps this publisher with a type eraser.
             */
            eraseToAnyPublisher():any;
            /**
             * Creates a connectable wrapper around the publisher.
             */
            makeConnectable():Publishers.MakeConnectable<Self>;
            /**
             * Assigns each element from a publisher to a property on an object.
             */
            assign<Root>(keyPath: any, object: Root):AnyCancellable;
            /**
             * Attaches a subscriber with closure-based behavior.
             */
            sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
            /**
             * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
             */
            breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
            /**
             * Raises a debugger signal upon receiving a failure.
             */
            breakpointOnError():Publishers.Breakpoint<Self>;
            /**
             * Performs the specified closures when publisher events occur.
             */
            handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
            /**
             * Prints log messages for all publishing events.
             */
            print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
            /**
             * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
             */
            assign(published: any):void;
            /**
             * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
             */
            flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Never;
            /**
             * Republishes elements sent by the most recently received publisher.
             */
            switchToLatest():any;
        }
    }
    export class QueryPredicate {
        /**
         * Creates a new predicate that describes entities that have a specific
         *  
         * component.
         */
        static has<T>(t: T.Type):Component;
    }
    export class CollisionCastHit {
        /**
         * The entity that was hit.
         */
        entity: Entity;
        /**
         * The position of the hit.
         */
        position: SIMD3<Float>;
        /**
         * The normal of the hit.
         */
        normal: SIMD3<Float>;
        /**
         * The distance from the ray origin to the hit, or the convex shape travel
         *  
         * distance.
         */
        distance: Float;
    }
    export enum CollisionCastQueryType {}
    export class CollisionGroup {
        /**
         * The default collision group for objects.
         */
        static default: CollisionGroup;
        /**
         * The collision group that represents all groups.
         */
        static all: CollisionGroup;
        /**
         * The default collision group for reconstructed meshes.
         */
        static sceneUnderstanding: CollisionGroup;
        /**
         * The raw value for this collision group.
         */
        rawValue: UInt32;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a collision group from a raw value.
         */
        constructor (rawValue: UInt32);
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Returns a Boolean value that indicates whether a given element is a member of the
         *  
         * option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that are not also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces this set with a new set containing all elements contained in either this
         *  
         * set or the given set, but not in both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in both this set and the
         *  
         * given set.
         */
        intersection(other: Self):Self;
        /**
         * Returns a Boolean value that indicates whether the set has no members in common with
         *  
         * the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict subset of the
         *  
         * given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict superset of the
         *  
         * given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of the given
         *  
         * set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur in the given
         *  
         * set.
         */
        subtracting(other: Self):Self;
        /**
         * Returns a new option set with the elements contained in this set or in the given
         *  
         * set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in the given set,
         *  
         * or in both.
         */
        union(other: Self):Self;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: Self.Element):Self.Element | null;
    }
    export enum SceneEvents {}
    export enum AnimationEvents {}
    export enum AudioEvents {}
    export enum CollisionEvents {}
    export class EnvironmentResource {
        /**
         * Blocks the calling thread while loading an environment resource from a bundle.
         */
        static load(name: string, bundle: Bundle | null):EnvironmentResource;
        /**
         * Loads an environment resource from a bundle asynchronously.
         */
        static loadAsync(name: string, bundle: Bundle | null):LoadRequest<EnvironmentResource>;
    }
    export class Entity {
        /**
         * The scene that owns the entity.
         */
        scene: Scene | null;
        /**
         * The name of the entity.
         */
        name: string;
        /**
         * The stable identity of the entity associated with this instance.
         */
        id: ObjectIdentifier;
        /**
         * A Boolean that you set to enable or disable the entity and its
         *  
         * descendants.
         */
        isEnabled: boolean;
        /**
         * A Boolean that indicates whether the entity and all of its ancestors are
         *  
         * enabled.
         */
        isEnabledInHierarchy: boolean;
        /**
         * A Boolean that indicates whether the entity is active.
         */
        isActive: boolean;
        /**
         * A Boolean that indicates whether the entity is anchored.
         */
        isAnchored: boolean;
        /**
         * The parent entity.
         */
        parent: Entity | null;
        /**
         * The child entities that the entity manages.
         */
        children: Entity.ChildCollection;
        /**
         * All the components stored on the entity.
         */
        components: Entity.ComponentSet;
        /**
         * The transform of an entity relative to its parent.
         */
        transform: Transform;
        /**
         * The scale of the entity relative to its parent.
         */
        scale: SIMD3<Float>;
        /**
         * The rotation of the entity relative to its parent.
         */
        orientation: simd_quatf;
        /**
         * The position of the entity relative to its parent.
         */
        position: SIMD3<Float>;
        /**
         * The entity’s synchronization component.
         */
        synchronization: SynchronizationComponent | null;
        /**
         * A Boolean that indicates whether the calling process owns the entity.
         */
        isOwner: boolean;
        /**
         * The nearest ancestor entity that can act as an anchor.
         */
        anchor: HasAnchoring | null;
        /**
         * The list of animations associated with the entity.
         */
        availableAnimations: AnimationResource[];
        /**
         * Returns the default animation clock for this entity.
         */
        defaultAnimationClock: CMClockOrTimebase;
        bindableValues: BindableValuesReference;
        /**
         * Represents a reference to the parameters for a particular entity.
         */
        parameters: Entity.ParameterSet;
        /**
         * The character controller component for the entity.
         */
        characterController: CharacterControllerComponent | null;
        /**
         * The character controller state for  the entity.
         */
        characterControllerState: CharacterControllerStateComponent | null;
        /**
         * A human readable description of the entity.
         */
        debugDescription: string;
        /**
         * The hashed value of the entity.
         */
        hashValue: number;
        /**
         * A Boolean value indicating whether the receiver is an accessibility
         *  
         * element that an assistive application can access.
         */
        isAccessibilityElement: boolean;
        /**
         * A succinct label that identifies the purpose of the image.
         */
        accessibilityLabel: string;
        /**
         * A longer description of the entity for use by assistive technologies.
         */
        accessibilityDescription: string;
        /**
         * Creates a new entity.
         */
        constructor ();
        /**
         * Blocks your app while loading an entity from a file in a bundle.
         */
        static load(name: string, bundle: Bundle | null):Entity;
        /**
         * Loads an entity from a file in a bundle asynchronously.
         */
        static loadAsync(name: string, bundle: Bundle | null):LoadRequest<Entity>;
        /**
         * Blocks your app while loading an anchor entity from a file in a bundle.
         */
        static loadAnchor(name: string, bundle: Bundle | null):AnchorEntity;
        /**
         * Loads an anchor entity from a file in a bundle asynchronously.
         */
        static loadAnchorAsync(name: string, bundle: Bundle | null):LoadRequest<AnchorEntity>;
        /**
         * Blocks your app while loading a model entity from a file in a bundle.
         */
        static loadModel(name: string, bundle: Bundle | null):ModelEntity;
        /**
         * Loads a model entity from a file in a bundle asynchronously.
         */
        static loadModelAsync(name: string, bundle: Bundle | null):LoadRequest<ModelEntity>;
        /**
         * Blocks your app while loading a body-tracked entity from a file in a
         *  
         * bundle.
         */
        static loadBodyTracked(name: string, bundle: Bundle | null):BodyTrackedEntity;
        /**
         * Loads a body-tracked entity from a file in a bundle asynchronously.
         */
        static loadBodyTrackedAsync(name: string, bundle: Bundle | null):LoadRequest<BodyTrackedEntity>;
        /**
         * Duplicates an entity to create a new entity.
         */
        clone(recursive: boolean):Self;
        /**
         * Tells a newly cloned entity that cloning is complete.
         */
        didClone(source: Entity):void;
        /**
         * Recursively searches all descendant entities for one with the given
         *  
         * name.
         */
        findEntity(name: string):Entity | null;
        /**
         * Attaches the entity as a child to the specified entity.
         */
        setParent(parent: Entity | null, preservingWorldTransform: boolean):void;
        /**
         * Removes the entity from its current parent or from the scene if it is a
         *  
         * root entity.
         */
        removeFromParent(preservingWorldTransform: boolean):void;
        /**
         * Adds the given entity to the collection of child entities.
         */
        addChild(entity: Entity, preservingWorldTransform: boolean):void;
        /**
         * Removes the given child from the entity.
         */
        removeChild(entity: Entity, preservingWorldTransform: boolean):void;
        /**
         * Sets the scale factor of the entity relative to the given reference
         *  
         * entity.
         */
        setScale(scale: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Sets the orientation of the entity relative to the given reference
         *  
         * entity.
         */
        setOrientation(orientation: simd_quatf, referenceEntity: Entity | null):void;
        /**
         * Sets the position of the entity relative to the given reference entity.
         */
        setPosition(position: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Gets the 4 x 4 transform matrix of an entity relative to the given
         *  
         * entity.
         */
        transformMatrix(referenceEntity: Entity | null):float4x4;
        /**
         * Sets the transform of the entity relative to the given reference entity
         *  
         * using a 4x4 matrix representation.
         */
        setTransformMatrix(transform: float4x4, referenceEntity: Entity | null):void;
        /**
         * Moves an entity instantly to a new location given by a transform.
         */
        move(transform: Transform, referenceEntity: Entity | null):void;
        /**
         * Positions and orients the entity to look at a target from a given
         *  
         * position.
         */
        look(target: SIMD3<Float>, position: SIMD3<Float>, upVector: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Converts a position from the local space of a reference entity to the
         *  
         * local space of the entity on which you called this method.
         */
        convert(position: SIMD3<Float>, referenceEntity: Entity | null):SIMD3<Float>;
        /**
         * Computes a bounding box for the entity in the specified space,
         *  
         * optionally including child entities.
         */
        visualBounds(recursive: boolean, referenceEntity: Entity | null, excludeInactive: boolean):BoundingBox;
        /**
         * Requests ownership of the entity.
         */
        requestOwnership(timeout: TimeInterval, callback: ()=>any):void;
        /**
         * Calls the given closure in a way such that component changes that the
         *  
         * closure makes don’t trigger synchronization.
         */
        withUnsynchronized(changes: ()=>any):void;
        /**
         * Creates the shape used to detect collisions between two entities that
         *  
         * have collision components.
         */
        generateCollisionShapes(recursive: boolean):void;
        /**
         * Plays an animation with the specified options.
         */
        playAnimation(animation: AnimationResource, transitionDuration: TimeInterval, blendLayerOffset: number, separateAnimatedValue: boolean, startsPaused: boolean, clock: CMClockOrTimebase | null):AnimationPlaybackController;
        /**
         * Stops all playing of animations on this entity.
         */
        stopAllAnimations(recursive: boolean):void;
        /**
         * Moves the character along a specified vector over a period of time.
         */
        moveCharacter(moveDelta: SIMD3<Float>, deltaTime: Float, referenceEntity: Entity | null, collisionHandler: ()=>any | null):CharacterControllerComponent.CollisionFlags;
        /**
         * Moves the character instantly to a new position.
         */
        teleportCharacter(position: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Plays sound from an audio resource on this entity.
         */
        playAudio(resource: AudioResource):AudioPlaybackController;
        /**
         * Prepares an audio resource for playback.
         */
        prepareAudio(resource: AudioResource):AudioPlaybackController;
        /**
         * Stops audio playback.
         */
        stopAllAudio():void;
        /**
         * Hashes the essential components of the entity by feeding them into the
         *  
         * given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Entity
     */
    export namespace Entity {
        export class ChildCollection {
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations,
             *  
             * such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A textual representation of this instance. (See 
             * .)
             */
            description: string;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<Self>;
            /**
             * The position of the first element in a nonempty collection. (See 
             * .)
             */
            startIndex: number;
            /**
             * TThe collection’s “past the end” position—that is, the position one greater than the
             *  
             * last valid subscript argument. (See 
             * .)
             */
            endIndex: number;
            publisher: any;
            /**
             * Adds the specified list of entity as children to this entity.
             */
            append<S>(sequence: S, preservingWorldTransforms: boolean):void;
            /**
             * Adds the specified entity as a child to this entity.
             */
            append(child: Entity, preservingWorldTransform: boolean):void;
            /**
             * Removes the specified child from this entity.
             */
            remove(child: Entity, preservingWorldTransform: boolean):void;
            removeAll(preservingWorldTransforms: boolean):void;
            /**
             * Removes all children from this entity and adds the specified list of entities as the new
             *  
             * children.
             */
            replaceAll(children: Entity[], preservingWorldTransforms: boolean):void;
            /**
             * Removes all children from this entity and adds the specified list of entities as the new
             *  
             * children.
             */
            replaceAll<S>(children: S, preservingWorldTransforms: boolean):void;
            /**
             * Returns a Boolean value indicating whether this sequence and another sequence contain
             *  
             * the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a Boolean value indicating whether the initial elements of the sequence are
             *  
             * the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another sequence
             *  
             * in a lexicographical (dictionary) ordering, using the given predicate to compare
             *  
             * elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  
             * loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer
             *  
             * starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies
             *  
             * a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison
             *  
             * between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison
             *  
             * between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as a source
             *  
             * for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy
             *  
             * the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial
             *  
             * elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements
             *  
             * of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns an array containing the results of mapping the given closure over the sequence’s
             *  
             * elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns an array containing the concatenated results of calling the given transformation
             *  
             * with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the non-
             *  results of calling the given transformation
             *  
             * with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns the result of combining the elements of the sequence using the given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison
             *  
             * between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator as a source
             *  
             * for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t
             *  
             * contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning
             *  
             * the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Self.Index, distance: number):void;
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: Self.Index, distance: number):Self.Index;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():Entity.ChildCollection.Iterator;
            /**
             * Finds and returns the range of the first occurrence of a given collection
             *  
             * within this collection.
             */
            firstRange<C>(other: C):C.Element;
            /**
             * Finds and returns the ranges of the all occurrences of a given sequence
             *  
             * within the collection.
             */
            ranges<C>(other: C):C.Element;
            /**
             * Returns a new collection of the same type by removing initial elements
             *  
             * that satisfy the given predicate from the start.
             */
            trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        }
        /**
         * the same name namespace of class ChildCollection
         */
        export namespace ChildCollection {
            export class IndexingIterator {
                /**
                 * A value less than or equal to the number of elements in the sequence, calculated
                 *  
                 * nondestructively.
                 */
                underestimatedCount: number;
                /**
                 * A sequence containing the same elements as this sequence, but on which some operations,
                 *  
                 * such as 
                 *  and 
                 * , are implemented lazily.
                 */
                lazy: LazySequence<Self>;
                publisher: any;
                /**
                 * Returns a sequence of pairs (
                 * , 
                 * ), where 
                 *  represents a consecutive integer
                 *  
                 * starting at zero and 
                 *  represents an element of the sequence.
                 */
                enumerated():EnumeratedSequence<Self>;
                /**
                 * Advances to the next element and returns it, or 
                 *  if no next element
                 *  
                 * exists.
                 */
                next():Elements.Element | null;
                /**
                 * Calls the given closure on each element in the sequence in the same order as a 
                 * -
                 *  
                 * loop.
                 */
                forEach(body: Void):void;
                /**
                 * Returns an iterator over the elements of this sequence.
                 */
                makeIterator():Self;
                /**
                 * Returns a Boolean value indicating whether the sequence contains the given element.
                 */
                contains(element: Self.Element):boolean;
                /**
                 * Returns a Boolean value indicating whether every element of a sequence satisfies
                 *  
                 * a given predicate.
                 */
                allSatisfy(predicate: Bool):boolean;
                /**
                 * Returns the first element of the sequence that satisfies the given predicate.
                 */
                first(predicate: Bool):Self.Element | null;
                /**
                 * Returns the maximum element in the sequence.
                 */
                max():Self.Element | null;
                /**
                 * Returns the minimum element in the sequence.
                 */
                min():Self.Element | null;
                /**
                 * Returns an array containing, in order, the elements of the sequence that satisfy
                 *  
                 * the given predicate.
                 */
                filter(isIncluded: Bool):Self.Element[];
                /**
                 * Returns a sequence, up to the specified maximum length, containing the initial elements
                 *  
                 * of the sequence.
                 */
                prefix(maxLength: number):PrefixSequence<Self>;
                /**
                 * Returns a subsequence, up to the given maximum length, containing the final elements
                 *  
                 * of the sequence.
                 */
                suffix(maxLength: number):Self.Element[];
                /**
                 * Returns an array containing the results of mapping the given closure over the sequence’s
                 *  
                 * elements.
                 */
                map<T>(transform: T):T[];
                /**
                 * Returns an array containing the concatenated results of calling the given transformation
                 *  
                 * with each element of this sequence.
                 */
                flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
                flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
                /**
                 * Returns an array containing the non-
                 *  results of calling the given transformation
                 *  
                 * with each element of this sequence.
                 */
                compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
                /**
                 * Returns the result of combining the elements of the sequence using the given closure.
                 */
                reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
                /**
                 * Returns the elements of the sequence, sorted.
                 */
                sorted():Self.Element[];
                /**
                 * Returns an array containing the elements of this sequence in reverse order.
                 */
                reversed():Self.Element[];
                /**
                 * Returns the elements of the sequence, shuffled.
                 */
                shuffled():Self.Element[];
                /**
                 * Returns the elements of the sequence, shuffled using the given generator as a source
                 *  
                 * for randomness.
                 */
                shuffled<T>(generator: T):RandomNumberGenerator;
                /**
                 * Returns the longest possible subsequences of the sequence, in order, that don’t contain
                 *  
                 * elements satisfying the given predicate. Elements that are used to split the sequence
                 *  
                 * are not returned as part of any subsequence.
                 */
                split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
                /**
                 * Returns the elements of this sequence of sequences, concatenated.
                 */
                joined():FlattenSequence<Self>;
                /**
                 * Returns the concatenated elements of this sequence of sequences, inserting the given
                 *  
                 * separator between each element.
                 */
                joined<Separator>(separator: Separator):Self.Element.Element;
                /**
                 * Returns a Boolean value indicating whether this sequence and another sequence contain
                 *  
                 * the same elements in the same order.
                 */
                elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
                /**
                 * Returns a Boolean value indicating whether the initial elements of the sequence are
                 *  
                 * the same as the elements in another sequence.
                 */
                starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
                /**
                 * Returns a Boolean value indicating whether the sequence precedes another sequence
                 *  
                 * in a lexicographical (dictionary) ordering, using the less-than operator (
                 * ) to
                 *  
                 * compare elements.
                 */
                lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
                /**
                 * Returns a sequence containing all but the given number of initial elements.
                 */
                dropFirst(k: number):DropFirstSequence<Self>;
                /**
                 * Returns a sequence containing all but the given number of final elements.
                 */
                dropLast(k: number):Self.Element[];
                /**
                 * Returns a sequence by skipping the initial, consecutive elements that satisfy the
                 *  
                 * given predicate.
                 */
                drop(predicate: Bool):DropWhileSequence<Self>;
                /**
                 * Executes a closure on the sequence’s contiguous storage.
                 */
                withContiguousStorageIfAvailable<R>(body: R):R | null;
                /**
                 * Modifies the current graphics context clipping path by intersecting it
                 *  
                 * with the graphical union of this list of rects
                 *  
                 * This permanently modifies the graphics state, so the current state should
                 *  
                 * be saved beforehand and restored afterwards.
                 */
                clip():void;
                /**
                 * Fills this list of rects in the current NSGraphicsContext in the context’s
                 *  
                 * fill color.
                 *  
                 * The compositing operation of the fill defaults to the context’s
                 *  
                 * compositing operation, not necessarily using 
                 *  like 
                 * .
                 */
                fill(operation: NSCompositingOperation):void;
                /**
                 * If 
                 *  is ordered before 
                 *  in the ordering described by the given
                 *  
                 * sequence of 
                 * s
                 */
                compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
                formatted():string;
                formatted<S>(style: S):FormatStyle;
                /**
                 * Returns the elements of the sequence, sorted using the given comparator
                 *  
                 * to compare elements.
                 */
                sorted<Comparator>(comparator: Comparator):Comparator.Compared;
                /**
                 * Returns the elements of the sequence, sorted using the given array of
                 *  
                 * s to compare elements.
                 */
                sorted<S, Comparator>(comparators: S):Comparator.Compared;
            }
        }
        export class ComponentSet {
            /**
             * The number of components in this collection.
             */
            count: number;
            set<T>(component: T):void;
            /**
             * Adds all the component in the input array to the set.
             */
            set(components: Component[]):void;
            /**
             * Removes the component of the specified type from the collection.
             */
            remove(componentType: Component.Type):void;
            /**
             * Removes all components from the collection.
             */
            removeAll():void;
            /**
             * Returns a Boolean that indicates whether the set contains a
             *  
             * component of the given type.
             */
            has(componentType: Component.Type):boolean;
        }
        export class ParameterSet {}
    }
    export class LoadRequest {
        /**
         * The result of the load operation.
         */
        result: any;
        /**
         * The elements produced by the publisher, as a throwing asynchronous sequence.
         */
        values: AsyncThrowingPublisher<Self>;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Never;
    }
    export class Transform {
        /**
         * The identity transform.
         */
        static identity: Transform;
        /**
         * The scaling factor applied to the entity.
         */
        scale: SIMD3<Float>;
        /**
         * The rotation of the entity specified as a unit quaternion.
         */
        rotation: simd_quatf;
        /**
         * The position of the entity along the x, y, and z axes.
         */
        translation: SIMD3<Float>;
        /**
         * The transform represented as a 4x4 matrix.
         */
        matrix: float4x4;
        /**
         * The hashed value of the transform.
         */
        hashValue: number;
        /**
         * Creates a transform with the values of the identity transform.
         */
        constructor ();
        /**
         * Creates a new transformation using the given values.
         */
        constructor (scale: SIMD3<Float>, rotation: simd_quatf, translation: SIMD3<Float>);
        /**
         * Creates a new transform from the specified Euler angles.
         */
        constructor (x: Float, y: Float, z: Float);
        /**
         * Creates a new transform represented as a 4x4 matrix.
         */
        constructor (matrix: float4x4);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
        /**
         * Hashes the essential components of the transform by feeding them into
         *  
         * the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class SynchronizationComponent {
        /**
         * A unique identifier of an entity within a network session.
         */
        identifier: UInt64;
        /**
         * A Boolean that indicates whether the calling process owns the entity.
         */
        isOwner: boolean;
        /**
         * The entity’s transfer ownership mode.
         */
        ownershipTransferMode: SynchronizationComponent.OwnershipTransferMode;
        /**
         * Creates a synchronization component.
         */
        constructor ();
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class SynchronizationComponent
     */
    export namespace SynchronizationComponent {
        export enum OwnershipTransferMode {}
        export enum OwnershipTransferCompletionResult {}
    }
    export class FromToByAnimation {
        /**
         * A textual name for the animation.
         */
        name: string;
        /**
         * A textual name that identifies the particular property that animates.
         */
        bindTarget: BindTarget;
        /**
         * The order in which the framework composites the animation.
         */
        blendLayer: Int32;
        /**
         * Joint names that define the joints in the skeletal pose.
         */
        jointNames: string[];
        /**
         * A Boolean value that indicates whether that animation interpolates
         *  
         * changes to the target’s size.
         */
        isScaleAnimated: boolean;
        /**
         * A Boolean value that indicates whether the animation interpolates
         *  
         * rotational changes.
         */
        isRotationAnimated: boolean;
        /**
         * A Boolean value that indicates whether the animation interpolates
         *  
         * changes to the target object’s position.
         */
        isTranslationAnimated: boolean;
        /**
         * A Boolean value that indicates whether the animation blends additively
         *  
         * with concurrent animations.
         */
        isAdditive: boolean;
        fromValue: JointTransforms | null;
        byValue: JointTransforms | null;
        toValue: JointTransforms | null;
        /**
         * A factor that increases or decreases the animation’s rate of playback.
         */
        speed: Float;
        /**
         * An amount of time that lapses before the animation plays.
         */
        delay: TimeInterval;
        /**
         * The total playback time of the animation.
         */
        duration: TimeInterval;
        /**
         * The time, in seconds, at which the animation begins within the duration.
         */
        offset: TimeInterval;
        /**
         * An option that determines the animation’s pace over time.
         */
        timing: AnimationTimingFunction;
        /**
         * An optional duration that overrides the calculated duration.
         */
        trimDuration: TimeInterval | null;
        /**
         * The time, in seconds, at which the animation plays.
         */
        trimStart: TimeInterval | null;
        /**
         * The time, in seconds, at which the animation stops.
         */
        trimEnd: TimeInterval | null;
        /**
         * An option that determines how the animation repeats.
         */
        repeatMode: AnimationRepeatMode;
        /**
         * An option that determines which data displays outside of the normal
         *  
         * duration.
         */
        fillMode: AnimationFillMode;
        /**
         * Creates an animation that interpolates between two values for a property
         *  
         * of the target entity.
         */
        constructor (name: string, from: Value | null, to: Value | null, by: Value | null, duration: TimeInterval, timing: AnimationTimingFunction, isAdditive: boolean, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Creates an animation that interpolates between two configurations of the
         *  
         * given joints.
         */
        constructor (jointNames: string[], name: string, isScaleAnimated: boolean, isRotationAnimated: boolean, isTranslationAnimated: boolean, from: Value | null, to: Value | null, by: Value | null, duration: TimeInterval, timing: AnimationTimingFunction, isAdditive: boolean, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Create a FromToByAnimation.
         */
        constructor (name: string, from: Value | null, to: Value | null, by: Value | null, duration: TimeInterval, additive: boolean, targetPath: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Edits the animation duration according to the specified time.
         */
        trimmed(start: TimeInterval | null, end: TimeInterval | null, duration: TimeInterval | null):Self;
        /**
         * Repeats an animation the number of times specified by an irrational
         *  
         * number.
         */
        repeated(count: TimeInterval):Self;
        /**
         * Shortens or lengthens the animation timeline.
         */
        repeatingForever():Self;
    }
    export class SampledAnimation {
        /**
         * A textual name for the animation.
         */
        name: string;
        /**
         * A textual name that identifies the particular property that animates.
         */
        bindTarget: BindTarget;
        /**
         * The order in which the framework composites the animation.
         */
        blendLayer: Int32;
        /**
         * The names of the joints to animate.
         */
        jointNames: string[];
        /**
         * A Boolean value that indicates whether the animation observes rotational
         *  
         * changes in the entity’s transform.
         */
        isRotationAnimated: boolean;
        /**
         * A Boolean value that indicates whether the animation observes changes in
         *  
         * the entity’s size.
         */
        isScaleAnimated: boolean;
        /**
         * A Boolean value that indicates whether the animation observes
         *  
         * translational changes in the entity’s transform.
         */
        isTranslationAnimated: boolean;
        /**
         * A Boolean value that indicates whether the animation builds on the
         *  
         * current state of the target entity or resets the state before running.
         */
        additive: boolean;
        /**
         * An option that determines how animation frames transition.
         */
        tweenMode: TweenMode;
        /**
         * An array of joint transforms in which each element represents a discrete
         *  
         * state of the target entity at a given point in the animation’s timeline.
         */
        frames: JointTransforms[];
        /**
         * The duration within the animation timeline for each frame in the frames
         *  
         * array.
         */
        frameInterval: Float;
        /**
         * An integer multiple of the frame interval at which the animation plays.
         */
        start: TimeInterval;
        /**
         * An integer multiple of the frame interval at which the animation stops.
         */
        end: TimeInterval;
        /**
         * A factor that changes the animation’s rate of playback.
         */
        speed: Float;
        /**
         * An amount of time that lapses before the animation plays.
         */
        delay: TimeInterval;
        /**
         * The total playback time of the animation.
         */
        duration: TimeInterval;
        /**
         * The time, in seconds, at which the animation begins within the duration.
         */
        offset: TimeInterval;
        /**
         * An optional duration that overrides the calculated duration.
         */
        trimDuration: TimeInterval | null;
        /**
         * The optional time, in seconds, at which the animation plays.
         */
        trimStart: TimeInterval | null;
        /**
         * The optional time, in seconds, at which the animation stops.
         */
        trimEnd: TimeInterval | null;
        /**
         * An option that determines how the animation repeats.
         */
        repeatMode: AnimationRepeatMode;
        /**
         * An option that determines which data displays outside of the normal
         *  
         * duration.
         */
        fillMode: AnimationFillMode;
        /**
         * Creates an animation with a collection of frames that represent
         *  
         * incremental steps in the overall timeline.
         */
        constructor (frames: Value[], name: string, tweenMode: TweenMode, frameInterval: Float, isAdditive: boolean, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Creates an animation that interpolates between two configurations of the
         *  
         * given joints.
         */
        constructor (jointNames: string[], frames: Value[], name: string, tweenMode: TweenMode, frameInterval: Float, isAdditive: boolean, isScaleAnimated: boolean, isRotationAnimated: boolean, isTranslationAnimated: boolean, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Edits the animation duration according to the specified time.
         */
        trimmed(start: TimeInterval | null, end: TimeInterval | null, duration: TimeInterval | null):Self;
        /**
         * Repeats an animation the number of times specified by an irrational
         *  
         * number.
         */
        repeated(count: TimeInterval):Self;
        /**
         * Shortens or lengthens the animation timeline.
         */
        repeatingForever():Self;
    }
    export class OrbitAnimation {
        /**
         * The pose of the orbiting object at the start of the animation.
         */
        startTransform: Transform;
        /**
         * A 3D vector that points in the direction of the axis around which to
         *  
         * rotate.
         */
        axis: SIMD3<Float>;
        /**
         * A textual name for the animation.
         */
        name: string;
        /**
         * A textual name that identifies the particular property that animates.
         */
        bindTarget: BindTarget;
        /**
         * The order in which the framework composites the animation.
         */
        blendLayer: Int32;
        /**
         * The number of times to rotate the target entity before stopping.
         */
        rotationCount: Float;
        /**
         * A Boolean value that indicates whether the object orbits the center
         *  
         * point in the clockwise direction.
         */
        spinClockwise: boolean;
        /**
         * A Boolean value that indicates whether the orbiting object updates its
         *  
         * orientation during the animation to orient itself along the rotation
         *  
         * path.
         */
        orientToPath: boolean;
        /**
         * A Boolean value that indicates whether the animation builds on the
         *  
         * current state of the target entity or resets the state before running.
         */
        additive: boolean;
        /**
         * A factor that changes the animation’s rate of playback.
         */
        speed: Float;
        /**
         * An amount of time that lapses before the animation plays.
         */
        delay: TimeInterval;
        /**
         * The elapsed time for one complete rotation.
         */
        duration: TimeInterval;
        /**
         * The time, in seconds, at which the animation begins within the duration.
         */
        offset: TimeInterval;
        /**
         * An optional duration that overrides the calculated duration.
         */
        trimDuration: TimeInterval | null;
        /**
         * The optional time, in seconds, at which the animation plays.
         */
        trimStart: TimeInterval | null;
        /**
         * The optional time, in seconds, at which the animation stops.
         */
        trimEnd: TimeInterval | null;
        /**
         * An option that determines how the animation repeats.
         */
        repeatMode: AnimationRepeatMode;
        /**
         * An option that determines which data displays outside of the normal
         *  
         * duration.
         */
        fillMode: AnimationFillMode;
        /**
         * Creates an animation that revolves an entity around its origin.
         */
        constructor (name: string, duration: TimeInterval, axis: SIMD3<Float>, startTransform: Transform, spinClockwise: boolean, orientToPath: boolean, rotationCount: Float, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, isAdditive: boolean, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Create a new OrbitAnimation.
         */
        constructor (name: string, duration: TimeInterval, axis: SIMD3<Float>, startTransform: Transform, spinClockwise: boolean, orientToPath: boolean, rotationCount: Float, additive: boolean, targetPath: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Edits the animation duration according to the specified time.
         */
        trimmed(start: TimeInterval | null, end: TimeInterval | null, duration: TimeInterval | null):Self;
        /**
         * Repeats an animation the number of times specified by an irrational
         *  
         * number.
         */
        repeated(count: TimeInterval):Self;
        /**
         * Shortens or lengthens the animation timeline.
         */
        repeatingForever():Self;
    }
    export class BlendTreeAnimation {
        /**
         * The first node in a tree of animations.
         */
        root: BlendTreeNode;
        /**
         * A textual name for the animation.
         */
        name: string;
        /**
         * A textual name that identifies the particular property that animates.
         */
        bindTarget: BindTarget;
        /**
         * The order in which the framework composites the animation.
         */
        blendLayer: Int32;
        /**
         * A Boolean value that indicates whether the animation builds on the
         *  
         * current state of the target entity or resets the state before running.
         */
        isAdditive: boolean;
        /**
         * A factor that increases or decreases the animation’s rate of playback.
         */
        speed: Float;
        /**
         * An amount of time that lapses before the animation plays.
         */
        delay: TimeInterval;
        /**
         * The total playback time of the animation.
         */
        duration: TimeInterval;
        /**
         * The time, in seconds, at which the animation begins within the duration.
         */
        offset: TimeInterval;
        /**
         * An optional duration that overrides the calculated duration.
         */
        trimDuration: TimeInterval | null;
        /**
         * The optional time, in seconds, at which the source animation plays.
         */
        trimStart: TimeInterval | null;
        /**
         * The optional time, in seconds, at which the source animation stops.
         */
        trimEnd: TimeInterval | null;
        /**
         * An option that determines how the animation repeats.
         */
        repeatMode: AnimationRepeatMode;
        /**
         * An option that determines which data displays outside of the normal
         *  
         * duration.
         */
        fillMode: AnimationFillMode;
        /**
         * Creates a unique animation from a combination of other animations in the
         *  
         * form of a tree.
         */
        constructor (root: BlendTreeNode, name: string, isAdditive: boolean, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Edits the animation duration according to the specified time.
         */
        trimmed(start: TimeInterval | null, end: TimeInterval | null, duration: TimeInterval | null):Self;
        /**
         * Repeats an animation the number of times specified by an irrational
         *  
         * number.
         */
        repeated(count: TimeInterval):Self;
        /**
         * Shortens or lengthens the animation timeline.
         */
        repeatingForever():Self;
    }
    export class BlendTreeBlendNode {
        /**
         * A textual name for the blend node.
         */
        name: string;
        /**
         * A normalized percentage that designates how much effect this node has
         *  
         * compared to peer nodes.
         */
        weight: BlendWeight;
        /**
         * A Boolean value that indicates whether the animation builds on the
         *  
         * current state of the target entity or resets the state before running.
         */
        isAdditive: boolean;
        /**
         * The nodes that branch from a node to form part of a blend tree.
         */
        sources: BlendTreeNode[];
        /**
         * Creates a tree node made up of multiple branches.
         */
        constructor (sources: BlendTreeNode[], name: string, weight: BlendWeight, isAdditive: boolean);
    }
    export class BlendTreeInvalidNode {
        /**
         * A textual name for the blend node.
         */
        name: string;
        /**
         * The amount that an animation impacts the entity it applies to.
         */
        weight: BlendWeight;
    }
    export class BlendTreeSourceNode {
        /**
         * A textual name for the blend node.
         */
        name: string;
        /**
         * The blend node’s animation.
         */
        source: AnimationDefinition | null;
        /**
         * A normalized percentage that designates how much effect this node has
         *  
         * compared to peer nodes.
         */
        weight: BlendWeight;
        /**
         * Creates a node that defines an animation within a tree of other blend
         *  
         * nodes.
         */
        constructor (source: AnimationDefinition, name: string, weight: BlendWeight);
    }
    export enum BlendWeight {}
    export enum TweenMode {}
    export class BindPath {
        /**
         * An array of the individual components of a complete bind path.
         */
        parts: BindPath.Part[];
    }
    /**
     * the same name namespace of class BindPath
     */
    export namespace BindPath {
        export enum Part {}
    }
    export enum BindTarget {}
    export class BindableValue {
        /**
         * The main accessor for the bind value.
         */
        value: T;
        /**
         * A value that reflects the state of the animated property before or after
         *  
         * an animation.
         */
        baseValue: T;
        /**
         * A value that represents the state of the animated property as an
         *  
         * animation progresses.
         */
        animatedValue: T | null;
        /**
         * Creates a bindable value.
         */
        constructor (value: T, animatedValue: T | null);
    }
    export class BindableValuesReference {}
    export class InternalBindPath {}
    export class CharacterControllerComponent {
        static defaultHeight: Float;
        static defaultRadius: Float;
        static defaultSkinWidth: Float;
        static defaultSlopeLimit: Float;
        static defaultStepLimit: Float;
        static defaultUpVector: SIMD3<Float>;
        /**
         * The capsule height.
         */
        height: Float;
        /**
         * The capsule radius.
         */
        radius: Float;
        /**
         * An added tolerance around the character capsule.
         */
        skinWidth: Float;
        /**
         * The slope limit expressed as a limit angle in radians.
         */
        slopeLimit: Float;
        /**
         * The maximum obstacle height that the controller can move over.
         */
        stepLimit: Float;
        /**
         * Y axis direction relative to the physics origin.
         */
        upVector: SIMD3<Float>;
        /**
         * The character’s collision filter.
         */
        collisionFilter: CollisionFilter;
        /**
         * Initializes a character controller component using default values.
         */
        constructor ();
        /**
         * Initializes a character controller component using specified values.
         */
        constructor (radius: Float, height: Float, skinWidth: Float, slopeLimit: Float, stepLimit: Float, upVector: SIMD3<Float>, collisionFilter: CollisionFilter);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class CharacterControllerComponent
     */
    export namespace CharacterControllerComponent {
        export class Collision {
            /**
             * Entity owning the character controller component.
             */
            characterEntity: Entity;
            /**
             * The entity that was hit by the character controller.
             */
            hitEntity: Entity;
            /**
             * Hit normal relative to physics origin. In physics space.
             */
            hitNormal: SIMD3<Float>;
            /**
             * Hit position relative to physics origin. In physics space.
             */
            hitPosition: SIMD3<Float>;
            /**
             * Move direction controller was moving (unit vector). In physics space.
             */
            moveDirection: SIMD3<Float>;
            /**
             * Move distance controller was attempting to move. In physics space.
             */
            moveDistance: Float;
            /**
             * Create Collision and initialize all fields.
             */
            constructor (characterEntity: Entity, hitEntity: Entity, hitPosition: SIMD3<Float>, hitNormal: SIMD3<Float>, moveDirection: SIMD3<Float>, moveDistance: Float);
        }
        export class CollisionFlags {
            /**
             * The bottom of capsule was hit when moving in the down direction.
             */
            static bottom: CharacterControllerComponent.CollisionFlags;
            /**
             * No collision.
             */
            static none: CharacterControllerComponent.CollisionFlags;
            /**
             * The side of capsule was hit when moving in the direction tangent to the up vector.
             */
            static side: CharacterControllerComponent.CollisionFlags;
            /**
             * The top of capsule was hit when moving in the up direction.
             */
            static top: CharacterControllerComponent.CollisionFlags;
            /**
             * The bitmask representation of the option set.
             */
            rawValue: UInt8;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Initializes collisions flags from a raw value.
             */
            constructor (rawValue: UInt8);
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the
             *  
             * option set.
             */
            contains(member: Self):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this
             *  
             * set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the
             *  
             * given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Returns a new option set with the elements contained in this set or in the given
             *  
             * set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Returns a new option set of the elements contained in this set, in the given set,
             *  
             * or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with
             *  
             * the given set.
             */
            isDisjoint(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the
             *  
             * given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the
             *  
             * given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given
             *  
             * set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given
             *  
             * set.
             */
            subtracting(other: Self):Self;
        }
    }
    export class CharacterControllerStateComponent {
        /**
         * True if character controller is grounded, otherwise false.
         */
        isOnGround: boolean;
        /**
         * The linear speed relative to the phyics origin. In physics space.
         */
        velocity: SIMD3<Float>;
        constructor ();
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    export class JointTransforms {
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first joint transform in the collection.
         */
        first: Self.Element | null;
        /**
         * The indices, in ascending order, that map to elements in the collection.
         */
        indices: DefaultIndices<Self>;
        /**
         * An index to the first joint transform in the collection.
         */
        startIndex: JointTransforms.Index;
        /**
         * An index to the last joint transform in the collection.
         */
        endIndex: JointTransforms.Index;
        /**
         * A Boolean value indicating whether the collection contains any elements.
         */
        isEmpty: boolean;
        /**
         * The last joint transform in the collection.
         */
        last: Self.Element | null;
        /**
         * A copy of this sequence that provides lazy maps and filters.
         */
        lazy: LazySequence<Self>;
        /**
         * An object that transmits a sequence of joint transforms in real time.
         */
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Initializes a collection of animatable transforms for a single skeletal
         *  
         * pose.
         */
        constructor ();
        /**
         * Initializes a collection of transforms of a specific type for a single
         *  
         * skeletal pose.
         */
        constructor (transforms: S);
        /**
         * Initializes a collection of animatable transforms using the argument
         *  
         * elements for a single skeletal pose.
         */
        constructor (...elements: Transform);
        /**
         * Returns a Boolean value that indicates whether every element of a sequence satisfies
         *  
         * a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Provides an array containing the transformed results of the sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value that indicates whether the sequence contains the given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Provides all the elements that differ across this collection and another.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns the distance between two indices.
         */
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Provides a subsequence that omits elements according to the given predicate.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Provides a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Provides a subsequence containing all but the given number of trailing elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Checks whether the sequence contains equivalent elements in the same order as another
         *  
         * sequence.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs that each contain the element index followed by the element.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy
         *  
         * the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the concatenated results of calling the given transformation
         *  
         * with each element of the sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Formats a sequence to the given style.
         */
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Checks whether the sequence precedes another sequence in lexicographical order, according
         *  
         * to the given predicate.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure over the sequence’s
         *  
         * elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence according to the given predicate.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Reorders the elements of the collection based on the given predicate criteria.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial
         *  
         * elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as a source
         *  
         * for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Calculates an accumulated value from the sequence members.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator as a source
         *  
         * for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison
         *  
         * between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns a sorted collection of transforms based on one comparator.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns a sorted collection of transforms based on more than one comparator.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t
         *  
         * contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Checks whether the initial elements of the sequence are the same as the elements
         *  
         * in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements
         *  
         * of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Determines how two collections of joints relate to each other in terms of size.
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns an element that results from calling the given transformation with each element
         *  
         * of the sequence.
         */
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
    }
    export enum ComponentEvents {}
    export enum SystemDependency {}
    export class SceneUpdateContext {
        /**
         * The updating scene.
         */
        scene: Scene;
        /**
         * The number of seconds elapsed since the last update.
         */
        deltaTime: TimeInterval;
    }
    export class EntityQuery {
        /**
         * Creates a query that returns all entities in a scene.
         */
        constructor ();
        /**
         * Creates a query that returns all entities in a scene that match specific
         *  
         * criteria.
         */
        constructor (predicate: QueryPredicate<Entity>);
    }
    export class QueryResult {
        /**
         * A sequence containing the same elements as this sequence, but on which some operations,
         *  
         * such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated
         *  
         * nondestructively.
         */
        underestimatedCount: number;
        /**
         * A Combine publisher that publishes each member of the sequence as a separate element.
         */
        publisher: any;
        /**
         * Returns an iterator for the contained entities.
         */
        makeIterator():any;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies
         *  
         * a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements
         *  
         * of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements
         *  
         * of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the
         *  
         * given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy
         *  
         * the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the results of mapping the given closure over the sequence’s
         *  
         * elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns an array containing the concatenated results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Returns an array containing the non-
         *  results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the results of calling the given transformation with
         *  
         * each element of this sequence.
         */
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  
         * loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer
         *  
         * starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator as a source
         *  
         * for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain
         *  
         * elements satisfying the given predicate. Elements that are used to split the sequence
         *  
         * are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences, inserting the given
         *  
         * separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether this sequence and another sequence contain
         *  
         * the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a Boolean value indicating whether the initial elements of the sequence are
         *  
         * the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Modifies the current graphics context clipping path by intersecting it
         *  
         * with the graphical union of this list of rects
         *  
         * This permanently modifies the graphics state, so the current state should
         *  
         * be saved beforehand and restored afterwards.
         */
        clip():void;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Fills this list of rects in the current NSGraphicsContext with that rect’s
         *  
         * associated color
         *  
         * The compositing operation of the fill defaults to the context’s
         *  
         * compositing operation, not necessarily using 
         *  like 
         * .
         */
        fill(operation: NSCompositingOperation):void;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        formatted():string;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
    }
    /**
     * the same name namespace of class QueryResult
     */
    export namespace QueryResult {
        export class Iterator {
            /**
             * Advances to the next entity and returns it.
             */
            next():Element | null;
        }
    }
    export class AnchorEntity extends Entity {
        anchoring: AnchoringComponent;
        /**
         * The identifier of the AR anchor with which the anchor entity is
         *  
         * associated, or 
         *  if it isn’t currently anchored.
         */
        anchorIdentifier: UUID | null;
        /**
         * Creates a new anchor entity.
         */
        constructor ();
        constructor (target: AnchoringComponent.Target);
        /**
         * Creates an anchor entity that uses an existing AR anchor.
         */
        constructor (anchor: ARAnchor);
        /**
         * Creates an anchor entity that targets a plane with the given
         *  
         * characteristics.
         */
        constructor (alignment: AnchoringComponent.Target.Alignment, classification: AnchoringComponent.Target.Classification, minimumBounds: SIMD2<Float>);
        /**
         * Creates an anchor entity using the information about a real-world
         *  
         * surface discovered using a ray-cast query.
         */
        constructor (raycastResult: ARRaycastResult);
        /**
         * Creates an anchor entity with a target fixed at the given position in
         *  
         * the scene.
         */
        constructor (transform: float4x4);
        /**
         * Changes the entity’s anchoring, preserving either the world transform or
         *  
         * the local transform.
         */
        reanchor(target: AnchoringComponent.Target, preservingWorldTransform: boolean):void;
    }
    export class AnchoringComponent {
        /**
         * The kind of real world object to which the anchor entity should anchor.
         */
        target: AnchoringComponent.Target;
        /**
         * Creates an anchoring component for a given target.
         */
        constructor (target: AnchoringComponent.Target);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class AnchoringComponent
     */
    export namespace AnchoringComponent {
        export enum Target {}
    }
    export class ModelEntity extends Entity {
        /**
         * The model component for the entity.
         */
        model: ModelComponent | null;
        /**
         * The names of all the joints in the model entity.
         */
        jointNames: string[];
        /**
         * The relative joint transforms of the model entity.
         */
        jointTransforms: Transform[];
        /**
         * The collision component that gives the entity the ability to participate
         *  
         * in collision simulations.
         */
        collision: CollisionComponent | null;
        /**
         * A component that is used for physics simulations of the model entity in
         *  
         * accordance with the laws of Newtonian mechanics.
         */
        physicsBody: PhysicsBodyComponent | null;
        /**
         * The physics motion component used by physics simulations of the model
         *  
         * entity.
         */
        physicsMotion: PhysicsMotionComponent | null;
        debugModel: ModelDebugOptionsComponent | null;
        /**
         * Configures the debug visualization of this model.
         */
        modelDebugOptions: ModelDebugOptionsComponent | null;
        /**
         * Creates a model entity.
         */
        constructor ();
        /**
         * Creates a model entity with a particular mesh and set of materials.
         */
        constructor (mesh: MeshResource, materials: Material[]);
        /**
         * Creates a model entity with a particular mesh, set of materials,
         *  
         * collision shape, and mass.
         */
        constructor (mesh: MeshResource, materials: Material[], collisionShape: ShapeResource, mass: Float);
        /**
         * Creates a model entity with a particular mesh, set of materials, a
         *  
         * composite collision shape, and mass.
         */
        constructor (mesh: MeshResource, materials: Material[], collisionShapes: ShapeResource[], mass: Float);
        /**
         * Applies a force to the physics body at its center of mass.
         */
        addForce(force: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Applies a torque to the physics body at its center of mass.
         */
        addTorque(torque: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Clears all forces previously added to the physics body.
         */
        clearForcesAndTorques():void;
        /**
         * Applies an impulse to the physics body at its center of mass.
         */
        applyLinearImpulse(impulse: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Applies an angular (torque) impulse to the physics body at its center of
         *  
         * mass.
         */
        applyAngularImpulse(impulse: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Applies an impulse to the physics body at the specified position.
         */
        applyImpulse(impulse: SIMD3<Float>, position: SIMD3<Float>, referenceEntity: Entity | null):void;
        /**
         * Resets the position, orientation, and velocities of the simulated
         *  
         * physics body.
         */
        resetPhysicsTransform(recursive: boolean):void;
    }
    export class ModelComponent {
        /**
         * The mesh that defines the shape of the entity.
         */
        mesh: MeshResource;
        /**
         * The materials used by the model.
         */
        materials: Material[];
        /**
         * A margin applied to an entity’s bounding box that determines object
         *  
         * visibility.
         */
        boundsMargin: Float;
        /**
         * Creates a model component from a mesh and a collection of materials.
         */
        constructor (mesh: MeshResource, materials: Material[]);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    export class MeshResource {
        /**
         * The number of material entries required to render the mesh resource.
         */
        expectedMaterialCount: number;
        /**
         * Get the contents of the mesh asset.
         */
        contents: MeshResource.Contents;
        /**
         * A box that bounds the mesh.
         */
        bounds: BoundingBox;
        /**
         * Create a mesh resource from contents.
         */
        static generate(content: MeshResource.Contents):MeshResource;
        /**
         * Create a mesh resource from contents asynchronously.
         */
        static generateAsync(content: MeshResource.Contents):LoadRequest<MeshResource>;
        /**
         * Creates a new box mesh with sides of equal length.
         */
        static generateBox(size: Float, cornerRadius: Float):MeshResource;
        /**
         * Creates a new rectangle mesh with the specified dimensions in the
         *  
         * entity’s XY-plane.
         */
        static generatePlane(width: Float, height: Float, cornerRadius: Float):MeshResource;
        /**
         * Creates a new sphere mesh with the specified radius.
         */
        static generateSphere(radius: Float):MeshResource;
        /**
         * Generates a 3D mesh for rendering static text.
         */
        static generateText(_string: string, extrusionDepth: Float, font: MeshResource.Font, containerFrame: CGRect, alignment: CTTextAlignment, lineBreakMode: CTLineBreakMode):MeshResource;
        /**
         * Replace the contents of this mesh resource.
         */
        replace(content: MeshResource.Contents):void;
        /**
         * Replace the contents of this mesh resource asynchronously.
         */
        replaceAsync(content: MeshResource.Contents):LoadRequest<MeshResource>;
    }
    /**
     * the same name namespace of class MeshResource
     */
    export namespace MeshResource {
        export class Contents {
            /**
             * Table of instances.
             */
            instances: MeshInstanceCollection;
            /**
             * Table of models.
             */
            models: MeshModelCollection;
            constructor ();
        }
        export class Instance {
            /**
             * The stable identity of the entity associated with this instance.
             */
            id: string;
            /**
             * Name of the model to instance.
             */
            model: string;
            /**
             * Transform for the instance.
             */
            transform: simd_float4x4;
            constructor (id: string, model: string, transform: simd_float4x4 | null);
        }
        export class Model {
            /**
             * The stable identity of the entity associated with this instance.
             */
            id: string;
            /**
             * Table of parts composing this mesh.
             */
            parts: MeshPartCollection;
            constructor (modelID: string, descriptors: MeshDescriptor[]);
            constructor (id: string, parts: MeshResource.Part[]);
        }
        export class Part {
            /**
             * Descriptors for the buffers.
             */
            buffers: Record<MeshBuffers.Identifier, AnyMeshBuffer>;
            /**
             * The stable identity of the entity associated with this instance.
             */
            id: string;
            /**
             * Material index for the part.
             */
            materialIndex: number;
            /**
             * Index buffer for triangles.
             */
            triangleIndices: MeshBuffers.TriangleIndices | null;
            /**
             * Buffer of bitangents, if any.
             */
            bitangents: MeshBuffers.Tangents | null;
            /**
             * Buffer of normals, if any.
             */
            normals: MeshBuffers.Normals | null;
            /**
             * Positions of all the points.
             */
            positions: MeshBuffers.Positions;
            /**
             * Buffer of tangents, if any.
             */
            tangents: MeshBuffers.Tangents | null;
            /**
             * Buffer of texture coordinates, if any.
             */
            textureCoordinates: MeshBuffers.TextureCoordinates | null;
            /**
             * Create a new part.
             */
            constructor (id: string, materialIndex: number);
        }
    }
    export class BoundingBox {
        /**
         * An empty bounding box.
         */
        static empty: BoundingBox;
        /**
         * A Boolean that indicates whether a box is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the maximum corner of the box.
         */
        max: SIMD3<Float>;
        /**
         * The position of the minimum corner of the box.
         */
        min: SIMD3<Float>;
        /**
         * The center of the bounding box.
         */
        center: SIMD3<Float>;
        /**
         * The extents of the bounding box.
         */
        extents: SIMD3<Float>;
        /**
         * The radius of a bounding sphere that encompasses the bounding box.
         */
        boundingRadius: Float;
        /**
         * The hashed value of the bounding box.
         */
        hashValue: number;
        /**
         * Creates an empty bounding box.
         */
        constructor ();
        /**
         * Creates a bounding box with the given settings.
         */
        constructor (min: SIMD3<Float>, max: SIMD3<Float>);
        /**
         * Creates a bounding box containing the current bounds and the specified
         *  
         * bounds.
         */
        union(other: BoundingBox):BoundingBox;
        /**
         * Expands the bounding box to contain the specified bounds.
         */
        formUnion(other: BoundingBox):void;
        /**
         * Checks whether the bounding box contains the specified bounds.
         */
        contains(boundingBox: BoundingBox):boolean;
        /**
         * Checks whether the bounding box intersects the specified bounds.
         */
        intersects(boundingBox: BoundingBox):boolean;
        /**
         * Calculates the distance from a point to the bounding box.
         */
        distanceSquared(toPoint: SIMD3<Float>):Float;
        /**
         * Transforms the bounding box.
         */
        transform(transform: float4x4):void;
        /**
         * Transforms the bounding box and finds the bounds of the result.
         */
        transformed(transform: float4x4):BoundingBox;
        /**
         * Hashes the essential components of the bounding box by feeding them into
         *  
         * the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class OrientedBoundingBox {
        /**
         * Axis aligned bounding box
         */
        boundingBox: BoundingBox;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Orientation (rotation) of the bounding box
         */
        orientation: simd_quatf;
        constructor (orientation: simd_quatf, boundingBox: BoundingBox);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MeshBuffer {
        /**
         * The number of elements in the buffer.
         */
        count: number;
        /**
         * Access the buffer as an array. This may create a copy if the data are not already an array.
         */
        elements: Element[];
        /**
         * Rate of the buffer.
         */
        rate: MeshBuffers.Rate;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations,
         *  
         * such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated
         *  
         * nondestructively.
         */
        underestimatedCount: number;
        /**
         * Create a buffer from any sequence of elements.
         */
        constructor (sequence: S);
        /**
         * Create buffer from an array of element values and an array of indices into that value array.
         */
        constructor (elements: Element[], indices: UInt32[]);
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Iterate over pairs of elements.
         */
        forEach(body: Void):void;
        /**
         * New object with updated rate.
         */
        usingRate(rate: MeshBuffers.Rate):MeshBuffer<Element>;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies
         *  
         * a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Modifies the current graphics context clipping path by intersecting it
         *  
         * with the graphical union of this list of rects
         *  
         * This permanently modifies the graphics state, so the current state should
         *  
         * be saved beforehand and restored afterwards.
         */
        clip():void;
        /**
         * Returns an array containing the non-
         *  results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the
         *  
         * given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another sequence contain
         *  
         * the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer
         *  
         * starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Fills this list of rects in the current NSGraphicsContext in the context’s
         *  
         * fill color.
         *  
         * The compositing operation of the fill defaults to the context’s
         *  
         * compositing operation, not necessarily using 
         *  like 
         * .
         */
        fill(operation: NSCompositingOperation):void;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy
         *  
         * the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        formatted():string;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences, inserting the given
         *  
         * separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another sequence
         *  
         * in a lexicographical (dictionary) ordering, using the less-than operator (
         * ) to
         *  
         * compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an array containing the results of mapping the given closure over the sequence’s
         *  
         * elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements
         *  
         * of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator as a source
         *  
         * for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain
         *  
         * elements satisfying the given predicate. Elements that are used to split the sequence
         *  
         * are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the sequence are
         *  
         * the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements
         *  
         * of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class MeshBuffer
     */
    export namespace MeshBuffer {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():Element | null;
        }
    }
    export class AnyMeshBuffer {
        count: number;
        elementType: MeshBuffers.ElementType;
        id: MeshBuffers.Identifier;
        rate: MeshBuffers.Rate;
        get<Value>(_: Value.Type):MeshBuffer<Value> | null;
    }
    export enum MeshBuffers {}
    export class MeshDescriptor {
        /**
         * Descriptors for the buffers.
         */
        buffers: Record<MeshBuffers.Identifier, AnyMeshBuffer>;
        /**
         * Material assignments.
         */
        materials: MeshDescriptor.Materials;
        /**
         * Name of the mesh.
         */
        name: string;
        /**
         * The primitives that make up the mesh.
         */
        primitives: MeshDescriptor.Primitives | null;
        /**
         * Buffer of bitangents, if any.
         */
        bitangents: MeshBuffers.Tangents | null;
        /**
         * Buffer of normals, if any.
         */
        normals: MeshBuffers.Normals | null;
        /**
         * Positions of all the points.
         */
        positions: MeshBuffers.Positions;
        /**
         * Buffer of tangents, if any.
         */
        tangents: MeshBuffers.Tangents | null;
        /**
         * Buffer of texture coordinates, if any.
         */
        textureCoordinates: MeshBuffers.TextureCoordinates | null;
        /**
         * Create an empty mesh descriptor.
         */
        constructor (name: string);
    }
    /**
     * the same name namespace of class MeshDescriptor
     */
    export namespace MeshDescriptor {
        export enum Materials {}
        export enum Primitives {}
    }
    export class MeshInstanceCollection {
        /**
         * Number of instances.
         */
        count: number;
        /**
         * True if there are no instances.
         */
        isEmpty: boolean;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations,
         *  
         * such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated
         *  
         * nondestructively.
         */
        underestimatedCount: number;
        constructor ();
        constructor (instances: MeshResource.Instance[]);
        /**
         * Creates an instance initialized with the given elements.
         */
        constructor (...arrayLiteral: MeshResource.Instance);
        /**
         * Add a new instance to the container. Returns true if added.
         */
        insert(instance: MeshResource.Instance):boolean;
        /**
         * Remove an instance by name.
         */
        remove(id: string):MeshResource.Instance | null;
        /**
         * Remove all the instances.
         */
        removeAll():void;
        /**
         * Update an existing instance. The old instance is returned.
         */
        update(instance: MeshResource.Instance):MeshResource.Instance | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies
         *  
         * a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that
         *  
         * satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the
         *  
         * given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another sequence contain
         *  
         * equivalent elements in the same order, using the given predicate as the equivalence
         *  
         * test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer
         *  
         * starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy
         *  
         * the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  
         * loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another sequence
         *  
         * in a lexicographical (dictionary) ordering, using the given predicate to compare
         *  
         * elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():MeshInstanceCollection.Iterator;
        /**
         * Returns an array containing the results of mapping the given closure over the sequence’s
         *  
         * elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements
         *  
         * of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator as a source
         *  
         * for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison
         *  
         * between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain
         *  
         * elements satisfying the given predicate. Elements that are used to split the sequence
         *  
         * are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the sequence are
         *  
         * equivalent to the elements in another sequence, using the given predicate as the
         *  
         * equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements
         *  
         * of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class MeshInstanceCollection
     */
    export namespace MeshInstanceCollection {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():MeshResource.Instance | null;
        }
    }
    export class MeshModelCollection {
        /**
         * Number of models.
         */
        count: number;
        /**
         * True if there are no models.
         */
        isEmpty: boolean;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations,
         *  
         * such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated
         *  
         * nondestructively.
         */
        underestimatedCount: number;
        constructor ();
        constructor (models: MeshResource.Model[]);
        /**
         * Creates an instance initialized with the given elements.
         */
        constructor (...arrayLiteral: MeshResource.Model);
        /**
         * Add a new model to the container. Returns true if added.
         */
        insert(model: MeshResource.Model):boolean;
        /**
         * Remove a model by name.
         */
        remove(id: string):MeshResource.Model | null;
        /**
         * Remove all the models.
         */
        removeAll():void;
        /**
         * Update an existing model. The old model is returned.
         */
        update(model: MeshResource.Model):MeshResource.Model | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies
         *  
         * a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that
         *  
         * satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the
         *  
         * given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another sequence contain
         *  
         * equivalent elements in the same order, using the given predicate as the equivalence
         *  
         * test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer
         *  
         * starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy
         *  
         * the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  
         * loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another sequence
         *  
         * in a lexicographical (dictionary) ordering, using the given predicate to compare
         *  
         * elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():MeshModelCollection.Iterator;
        /**
         * Returns an array containing the results of mapping the given closure over the sequence’s
         *  
         * elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements
         *  
         * of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator as a source
         *  
         * for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison
         *  
         * between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain
         *  
         * elements satisfying the given predicate. Elements that are used to split the sequence
         *  
         * are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the sequence are
         *  
         * equivalent to the elements in another sequence, using the given predicate as the
         *  
         * equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements
         *  
         * of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class MeshModelCollection
     */
    export namespace MeshModelCollection {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():MeshResource.Model | null;
        }
    }
    export class MeshPartCollection {
        /**
         * Number of parts.
         */
        count: number;
        /**
         * True if there are no parts.
         */
        isEmpty: boolean;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations,
         *  
         * such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated
         *  
         * nondestructively.
         */
        underestimatedCount: number;
        constructor ();
        constructor (parts: MeshResource.Part[]);
        /**
         * Creates an instance initialized with the given elements.
         */
        constructor (...arrayLiteral: MeshResource.Part);
        /**
         * Add a new part to the container. Returns true if added.
         */
        insert(part: MeshResource.Part):boolean;
        /**
         * Remove a part by name.
         */
        remove(id: string):MeshResource.Part | null;
        /**
         * Remove all the parts.
         */
        removeAll():void;
        /**
         * Update an existing part. The old part is returned.
         */
        update(part: MeshResource.Part):MeshResource.Part | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies
         *  
         * a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that
         *  
         * satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the
         *  
         * given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another sequence contain
         *  
         * equivalent elements in the same order, using the given predicate as the equivalence
         *  
         * test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer
         *  
         * starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy
         *  
         * the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the given transformation
         *  
         * with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  
         * loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another sequence
         *  
         * in a lexicographical (dictionary) ordering, using the given predicate to compare
         *  
         * elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():MeshPartCollection.Iterator;
        /**
         * Returns an array containing the results of mapping the given closure over the sequence’s
         *  
         * elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison
         *  
         * between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements
         *  
         * of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator as a source
         *  
         * for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison
         *  
         * between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain
         *  
         * elements satisfying the given predicate. Elements that are used to split the sequence
         *  
         * are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the sequence are
         *  
         * equivalent to the elements in another sequence, using the given predicate as the
         *  
         * equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements
         *  
         * of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class MeshPartCollection
     */
    export namespace MeshPartCollection {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():MeshResource.Part | null;
        }
    }
    export class SimpleMaterial {
        /**
         * The material’s color.
         */
        color: SimpleMaterial.BaseColor;
        /**
         * The base color of the material.
         */
        baseColor: MaterialColorParameter;
        /**
         * A tint color applied to the base color in macOS.
         */
        tintColor: UIColor;
        /**
         * A Boolean value that you set to control whether the material has a
         *  
         * metallic look.
         */
        metallic: MaterialScalarParameter;
        /**
         * The roughness of the material.
         */
        roughness: MaterialScalarParameter;
        /**
         * Creates a simple material.
         */
        constructor ();
        /**
         * Creates a simple material with specific characteristics in macOS.
         */
        constructor (color: SimpleMaterial.Color, roughness: MaterialScalarParameter, isMetallic: boolean);
    }
    export class PhysicallyBasedMaterial {
        /**
         * The color of an entity unmodified by lighting.
         */
        baseColor: PhysicallyBasedMaterial.BaseColor;
        /**
         * The amount the surface of the 3D object scatters reflected light.
         */
        roughness: PhysicallyBasedMaterial.Roughness;
        /**
         * The reflectiveness of an entity.
         */
        metallic: PhysicallyBasedMaterial.Metallic;
        /**
         * The normal map for the entity.
         */
        normal: PhysicallyBasedMaterial.Normal;
        /**
         * The transparency of an entity.
         */
        blending: PhysicallyBasedMaterial.Blending;
        /**
         * A threshold below which RealityKit ignores opacity.
         */
        opacityThreshold: Float | null;
        /**
         * The ambient occlusion values for a material.
         */
        ambientOcclusion: PhysicallyBasedMaterial.AmbientOcclusion;
        /**
         * The specular highlight applied to the entity.
         */
        specular: PhysicallyBasedMaterial.Specular;
        /**
         * The intensity of an entity’s sheen.
         */
        sheen: PhysicallyBasedMaterial.SheenColor | null;
        /**
         * The transparent highlights that simulate a clear, shiny coating on an
         *  
         * entity.
         */
        clearcoat: PhysicallyBasedMaterial.Clearcoat;
        /**
         * The degree to which an entity’s clear, shiny coating scatters light to
         *  
         * create soft highlights.
         */
        clearcoatRoughness: PhysicallyBasedMaterial.ClearcoatRoughness;
        /**
         * The degree to which an entity reflects light to create stretched or
         *  
         * oblong highlights.
         */
        anisotropyLevel: PhysicallyBasedMaterial.AnisotropyLevel;
        /**
         * The anistropy angle.
         */
        anisotropyAngle: PhysicallyBasedMaterial.AnisotropyAngle;
        /**
         * The intensity of light emitted by the entity.
         */
        emissiveIntensity: Float;
        /**
         * The color of the light the entity emits.
         */
        emissiveColor: PhysicallyBasedMaterial.EmissiveColor;
        /**
         * A two-dimensional transformation to apply to the entity’s primary
         *  
         * texture coordinates.
         */
        textureCoordinateTransform: PhysicallyBasedMaterial.TextureCoordinateTransform;
        /**
         * A two-dimensional transformation to apply to the entity’s secondary
         *  
         * texture coordinates.
         */
        secondaryTextureCoordinateTransform: PhysicallyBasedMaterial.TextureCoordinateTransform;
        /**
         * A process in which the system specifies polygons to remove before
         *  
         * rendering a scene.
         */
        faceCulling: PhysicallyBasedMaterial.FaceCulling;
        /**
         * Creates a physically based material.
         */
        constructor ();
    }
    /**
     * the same name namespace of class PhysicallyBasedMaterial
     */
    export namespace PhysicallyBasedMaterial {
        export class BaseColor {
            /**
             * The intended use of this object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The base color as a UV Image map.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            tint: UIColor;
            /**
             * Creates a base color object from a color or texture on macOS.
             */
            constructor (tint: UIColor, texture: MaterialParameters.Texture | null);
            /**
             * Creates a base color object from a custom material’s base color
             *  
             * property.
             */
            constructor (value: CustomMaterial.BaseColor);
        }
        export class Roughness {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The roughness values as a UV-mapped image texture.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The roughness value for the entire entity.
             */
            scale: Float;
            /**
             * Creates an object from a single value.
             */
            constructor (value: Float);
            /**
             * Creates a roughness object from a color or texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates a roughness object from a custom material’s roughness
             *  
             * property.
             */
            constructor (value: CustomMaterial.Roughness);
        }
        export class Metallic {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The reflectiveness as a UV-mapped image texture.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The reflectiveness for the entire entity.
             */
            scale: Float;
            /**
             * Creates an object from single value.
             */
            constructor (value: Float);
            /**
             * Creates an object from a color or texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates a metallic object from a custom material’s metallic
             *  
             * property.
             */
            constructor (value: CustomMaterial.Metallic);
        }
        export class Normal {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The material’s normal map.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * Creates an object from a specified texture.
             */
            constructor (texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates a normal object from a custom material’s normal property.
             */
            constructor (value: CustomMaterial.Normal);
        }
        export enum Blending {}
        export class Opacity {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The amount of opacity specified using a UV-mapped image.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The amount of opacity, specified as a single value.
             */
            scale: Float;
            /**
             * Creates an opacity object using a single value.
             */
            constructor (value: Float);
            /**
             * Creates an opacity object using a single value or a texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates an opacity object using a custom material’s opacity
             *  
             * property.
             */
            constructor (value: CustomMaterial.Opacity);
        }
        export class AmbientOcclusion {
            /**
             * The intended use of this object’s texture parameter.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The amount of ambient occlusion specified using a UV-mapped image.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * Creates an object from an image texture.
             */
            constructor (texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates an object from a custom material’s ambient occlusion
             *  
             * property.
             */
            constructor (value: CustomMaterial.AmbientOcclusion);
        }
        export class Specular {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The amount of specular as a UV-mapped image texture.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The amount of specular for the entire entity.
             */
            scale: Float;
            /**
             * Creates an object from single value.
             */
            constructor (value: Float);
            /**
             * Creates an object from a single value or a texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates an object from a custom material’s specular property.
             */
            constructor (value: CustomMaterial.Specular);
        }
        export class SheenColor {
            /**
             * The intended use of this object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * An optional image texture for defining the property.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            tint: UIColor;
            /**
             * Creates a sheen color in macOS.
             */
            constructor (tint: UIColor, texture: MaterialParameters.Texture | null);
        }
        export class Clearcoat {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The clearcoat intensity specified using a UV-mapped image.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The clearcoat intensity specified as a single value.
             */
            scale: Float;
            /**
             * Creates a clearcoat object using a single value.
             */
            constructor (value: Float);
            /**
             * Creates a clearcoat object using a single value or a texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates a clearcoat object from a custom material’s clearcoat
             *  
             * property.
             */
            constructor (value: CustomMaterial.Clearcoat);
        }
        export class ClearcoatRoughness {
            /**
             * The intended use of this object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The clearcoat roughness specified using a UV-mapped image.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The clearcoat roughness specified as a single value.
             */
            scale: Float;
            /**
             * Creates a clearcoat roughness object using a single value.
             */
            constructor (value: Float);
            /**
             * Creates a clearcoat roughness object using a single value or a
             *  
             * texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
            /**
             * Creates a clearcoat roughness object from a custom material’s
             *  
             * clearcoat roughness property.
             */
            constructor (value: CustomMaterial.ClearcoatRoughness);
        }
        export class AnisotropyLevel {
            /**
             * The intended use of this object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The anisotropy level values specified using a UV-mapped image.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The anistropy level specified as a single value.
             */
            scale: Float;
            /**
             * Creates an anisotropy level object from a single value.
             */
            constructor (value: Float);
            /**
             * Creates an anisotropy level object using a single value or a
             *  
             * texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
        }
        export class AnisotropyAngle {
            /**
             * The intended use of this object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * The anisotropy angle values specified using a UV-mapped image.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            /**
             * The anistropy angle specified as a single value.
             */
            scale: Float;
            /**
             * Creates an anisotropy angle object from a single value.
             */
            constructor (value: Float);
            /**
             * Creates an anisotropy angle object using a single value or a
             *  
             * texture.
             */
            constructor (scale: Float, texture: PhysicallyBasedMaterial.Texture | null);
        }
        export class EmissiveColor {
            /**
             * The intended use of the object’s texture property.
             */
            static textureSemantic: TextureResource.Semantic;
            /**
             * An optional image texture that defines the color of light emission.
             */
            texture: PhysicallyBasedMaterial.Texture | null;
            color: UIColor;
            /**
             * Creates a color of emitted light in iOS.
             */
            constructor (color: UIColor, texture: MaterialParameters.Texture | null);
            /**
             * Creates a color of emitted light from a custom material’s emissive
             *  
             * color property.
             */
            constructor (value: CustomMaterial.EmissiveColor);
        }
    }
    export class MaterialParameterTypes {}
    /**
     * the same name namespace of class MaterialParameterTypes
     */
    export namespace MaterialParameterTypes {
        export class TextureCoordinateTransform {
            /**
             * The amount by which the framework offsets the entity’s UV texture
             *  
             * coordinates.
             */
            offset: SIMD2<Float>;
            /**
             * The amount by which the framework scale the UV texture coordinates.
             */
            scale: SIMD2<Float>;
            /**
             * The amount by which the framework rotates the UV texture coordinates
             *  
             * you specify in radians.
             */
            rotation: Float;
            /**
             * Creates a texture coordinate transform object.
             */
            constructor (offset: SIMD2<Float>, scale: SIMD2<Float>, rotation: Float);
        }
        export enum FaceCulling {}
    }
    export class CustomMaterial {
        /**
         * The lighting model that the material uses.
         */
        lightingModel: CustomMaterial.LightingModel;
        /**
         * The color of an entity unmodified by lighting.
         */
        baseColor: CustomMaterial.BaseColor;
        /**
         * The amount the surface of the 3D object scatters reflected light.
         */
        roughness: CustomMaterial.Roughness;
        /**
         * The reflectiveness of an entity.
         */
        metallic: CustomMaterial.Metallic;
        /**
         * User-defined properties for the material’s shader functions.
         */
        custom: CustomMaterial.Custom;
        /**
         * A texture map that stores fine surface details for the entity.
         */
        normal: CustomMaterial.Normal;
        /**
         * The color of light this material emits.
         */
        emissiveColor: CustomMaterial.EmissiveColor;
        /**
         * The minimum opacity value to treat as fully opaque.
         */
        opacityThreshold: Float | null;
        /**
         * The transparency of an entity.
         */
        blending: CustomMaterial.Blending;
        /**
         * The ambient light exposure for a material.
         */
        ambientOcclusion: CustomMaterial.AmbientOcclusion;
        /**
         * The bright highlights to apply to the entity.
         */
        specular: CustomMaterial.Specular;
        /**
         * The transparent highlights that simulate a clear, shiny coating on an
         *  
         * entity.
         */
        clearcoat: CustomMaterial.Clearcoat;
        /**
         * The degree to which an entity’s clear, shiny coating scatters light to
         *  
         * create soft highlights.
         */
        clearcoatRoughness: CustomMaterial.ClearcoatRoughness;
        /**
         * A two-dimensional transformation RealityKit applies to the entity’s
         *  
         * primary texture coordinates.
         */
        textureCoordinateTransform: CustomMaterial.TextureCoordinateTransform;
        /**
         * A two-dimensional transformation RealityKit applies to the entity’s
         *  
         * secondary texture coordinates.
         */
        secondaryTextureCoordinateTransform: CustomMaterial.TextureCoordinateTransform;
        /**
         * A process in which the system specifies polygons to remove before
         *  
         * rendering a scene.
         */
        faceCulling: CustomMaterial.FaceCulling;
        /**
         * Creates a custom material from an existing material and a geometry
         *  
         * modifier.
         */
        constructor (material: Material, geometryModifier: CustomMaterial.GeometryModifier);
        /**
         * Creates a custom material from an existing material, surface shader, and
         *  
         * geometry modifier.
         */
        constructor (material: Material, surfaceShader: CustomMaterial.SurfaceShader, geometryModifier: CustomMaterial.GeometryModifier | null);
        /**
         * Creates a custom material from a lighting model, surface shader, and
         *  
         * geometry modifier.
         */
        constructor (surfaceShader: CustomMaterial.SurfaceShader, geometryModifier: CustomMaterial.GeometryModifier | null, lightingModel: CustomMaterial.LightingModel);
    }
    /**
     * the same name namespace of class CustomMaterial
     */
    export namespace CustomMaterial {
        export enum LightingModel {}
        export class SurfaceShader {
            /**
             * The name of the surface shader function.
             */
            name: string;
            /**
             * The Metal library that contains this surface shader function.
             */
            library: MTLLibrary;
            /**
             * Creates a surface shader object from a named function in a Metal
             *  
             * library.
             */
            constructor (name: string, library: MTLLibrary);
        }
        export class GeometryModifier {
            /**
             * The name of the geometry modifier function.
             */
            name: string;
            /**
             * The Metal library that contains this surface shader function.
             */
            library: MTLLibrary;
            /**
             * Creates a geometry modifier object from a named function in a Metal
             *  
             * library.
             */
            constructor (name: string, library: MTLLibrary);
        }
        export class BaseColor {
            /**
             * The base color as a UV-mapped image.
             */
            texture: CustomMaterial.Texture | null;
            tint: UIColor;
            /**
             * Creates a custom base color object from an existing physically based
             *  
             * material’s base color object.
             */
            constructor (value: PhysicallyBasedMaterial.BaseColor);
            /**
             * Creates a base color object from a color or texture on macOS.
             */
            constructor (tint: UIColor, texture: CustomMaterial.Texture | null);
        }
        export class Roughness {
            /**
             * The roughness value for the entire entity or a multiplier for its
             *  
             * texture.
             */
            scale: Float;
            /**
             * The roughness values as a UV-mapped image texture.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates an object to specify the amount of roughness, using a single
             *  
             * value that applies to the entire material.
             */
            constructor (value: Float);
            /**
             * Creates a roughness object from a color or texture.
             */
            constructor (scale: Float, texture: CustomMaterial.Texture | null);
            /**
             * Creates a roughness object from a physically based material’s
             *  
             * roughness property.
             */
            constructor (value: PhysicallyBasedMaterial.Roughness);
        }
        export class Metallic {
            /**
             * The reflectiveness value for the entire entity or a multiplier for
             *  
             * the metallic texture.
             */
            scale: Float;
            /**
             * The reflectiveness as a UV-mapped image texture.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates an object from a single value.
             */
            constructor (value: Float);
            /**
             * Creates an object from a color or texture.
             */
            constructor (scale: Float, texture: CustomMaterial.Texture | null);
            /**
             * Creates a metallic object from a physically based material’s
             *  
             * metallic property.
             */
            constructor (value: PhysicallyBasedMaterial.Metallic);
        }
        export class Custom {
            /**
             * A custom vector that the framework sends to the material’s shader
             *  
             * functions.
             */
            value: SIMD4<Float>;
            /**
             * A custom UV-mapped image texture that the framework sends to the
             *  
             * material’s shader functions.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates a custom object from a vector and texture.
             */
            constructor (value: SIMD4<Float>, texture: CustomMaterial.Texture | null);
        }
        export class CustomMaterialTexture {
            /**
             * The texture resource you use to create a custom texture.
             */
            resource: TextureResource;
            /**
             * Creates a custom texture from a texture resource.
             */
            constructor (resource: TextureResource);
        }
        export class Normal {
            /**
             * The material’s normal map.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Create an object from a specified texture.
             */
            constructor (texture: CustomMaterial.Texture | null);
            /**
             * Creates an object containing surface details for an entity from a
             *  
             * custom material’s normal property.
             */
            constructor (value: PhysicallyBasedMaterial.Normal);
        }
        export class EmissiveColor {
            /**
             * An optional image texture that defines the color of light emission.
             */
            texture: CustomMaterial.Texture | null;
            color: UIColor;
            /**
             * Creates a color of emitted light based on the emissive color
             *  
             * property from a physically based material.
             */
            constructor (value: PhysicallyBasedMaterial.EmissiveColor);
            /**
             * Creates a color of emitted light in macOS.
             */
            constructor (color: NSColor, texture: CustomMaterial.Texture | null);
        }
        export enum Blending {}
        export class Opacity {
            /**
             * The amount of opacity specified as a single value.
             */
            scale: Float;
            /**
             * The amount of opacity specified using a UV-mapped image.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates an opacity object from a single value.
             */
            constructor (value: Float);
            /**
             * Creates an object that defines the opacity of an entity using a
             *  
             * single value, a UV-mapped image texture, or both.
             */
            constructor (scale: Float, texture: CustomMaterial.Texture | null);
            /**
             * Creates an object from the opacity property of an existing
             *  
             * physically based material.
             */
            constructor (value: PhysicallyBasedMaterial.Opacity);
        }
        export class AmbientOcclusion {
            /**
             * The entity’s exposure to ambient light specified using a UV-mapped
             *  
             * image.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates an object from an image texture.
             */
            constructor (texture: CustomMaterial.Texture | null);
            /**
             * Creates an object from a physically based material’s ambient
             *  
             * occlusion property.
             */
            constructor (value: PhysicallyBasedMaterial.AmbientOcclusion);
        }
        export class Specular {
            /**
             * The specular value for the entire entity or a multiplier for values
             *  
             * sampled from the material’s texture.
             */
            scale: Float;
            /**
             * The specular value as a UV-mapped image texture.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates an object from a single value.
             */
            constructor (value: Float);
            /**
             * Creates an object from a single value, a UV-mapped texture, or both.
             */
            constructor (scale: Float, texture: CustomMaterial.Texture | null);
            /**
             * Creates an object from a physically based material’s specular
             *  
             * property.
             */
            constructor (value: PhysicallyBasedMaterial.Specular);
        }
        export class Clearcoat {
            /**
             * The intensity of the clearcoat.
             */
            scale: Float;
            /**
             * The clearcoat intensity specified using a UV-mapped image.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates a clearcoat object using a single value.
             */
            constructor (value: Float);
            /**
             * Creates a clearcoat object using a single value or a texture.
             */
            constructor (scale: Float, texture: CustomMaterial.Texture | null);
            /**
             * Creates a custom clearcoat object from a physically based material’s
             *  
             * clearcoat property.
             */
            constructor (value: PhysicallyBasedMaterial.Clearcoat);
        }
        export class ClearcoatRoughness {
            /**
             * The clearcoat intensity specified as a single value.
             */
            scale: Float;
            /**
             * The clearcoat intensity specified using a UV-mapped image.
             */
            texture: CustomMaterial.Texture | null;
            /**
             * Creates a clearcoat object using a single value.
             */
            constructor (value: Float);
            /**
             * Creates a clearcoat object using a single value or a texture.
             */
            constructor (scale: Float, texture: CustomMaterial.Texture | null);
            /**
             * Creates a custom clearcoat object from a physically based material’s
             *  
             * clearcoat property.
             */
            constructor (value: PhysicallyBasedMaterial.ClearcoatRoughness);
        }
    }
    export enum CustomMaterialError {}
    export class UnlitMaterial {
        /**
         * The material’s base color.
         */
        color: UnlitMaterial.BaseColor;
        /**
         * The base color of the material.
         */
        baseColor: MaterialColorParameter;
        /**
         * The transparency options for the material.
         */
        blending: UnlitMaterial.Blending;
        /**
         * A threshold below which RealityKit ignores opacity.
         */
        opacityThreshold: Float | null;
        /**
         * A tint color applied to the base color.
         */
        tintColor: NSColor;
        /**
         * Creates an unlit material.
         */
        constructor ();
        /**
         * Creates an unlit material with the given base color.
         */
        constructor (color: UIColor);
    }
    export class OcclusionMaterial {
        /**
         * A Boolean that indicates whether the occlusion material receives dynamic
         *  
         * lighting.
         */
        receivesDynamicLighting: boolean;
        /**
         * Creates an occlusion material.
         */
        constructor (receivesDynamicLighting: boolean);
    }
    export class VideoMaterial {
        /**
         * The material’s video playback controller.
         */
        avPlayer: AVPlayer | null;
        /**
         * An object that configures framework-specific video options.
         */
        controller: VideoPlaybackController;
        /**
         * Creates a new video material.
         */
        constructor (avPlayer: AVPlayer);
    }
    export class VideoPlaybackController {
        audioInputMode: AudioResource.InputMode;
        reverbSendLevel: AudioPlaybackController.Decibel;
    }
    export class ParameterSet {}
    export class MaterialParameters {}
    /**
     * the same name namespace of class MaterialParameters
     */
    export namespace MaterialParameters {
        export class Texture {
            resource: TextureResource;
            sampler: MaterialParameters.Texture.Sampler;
            uvIndex: number;
            constructor (resource: TextureResource);
            constructor (resource: TextureResource, sampler: MaterialParameters.Texture.Sampler);
        }
        /**
         * the same name namespace of class Texture
         */
        export namespace Texture {
            export class Sampler {
                constructor ();
                constructor (v: MTLSamplerDescriptor);
                access<R>(closure: R):R;
                modify<R>(closure: R):R;
            }
        }
    }
    export enum MaterialColorParameter {}
    export class TextureResource {
        /**
         * The texture’s height in pixels.
         */
        height: number;
        /**
         * The texture’s width in pixels.
         */
        width: number;
        /**
         * The number of mipmaps contained in this texture.
         */
        mipmapLevelCount: number;
        /**
         * The intended usage of the texture resource.
         */
        semantic: TextureResource.Semantic | null;
        /**
         * The drawable queue that was used to replace the texture.
         */
        drawableQueue: TextureResource.DrawableQueue | null;
        /**
         * Creates a texture resource from an in-memory Core Graphics image.
         */
        static generate(cgImage: CGImage, resourceName: string, options: TextureResource.CreateOptions):TextureResource;
        /**
         * Asynchronously creates a texture resource from an in-memory Core
         *  
         * Graphics image.
         */
        static generateAsync(cgImage: CGImage, resourceName: string, options: TextureResource.CreateOptions):LoadRequest<TextureResource>;
        /**
         * Loads a texture resource from a bundle.
         */
        static load(name: string, bundle: Bundle | null):TextureResource;
        /**
         * Loads a texture resource from a bundle asynchronously.
         */
        static loadAsync(name: string, bundle: Bundle | null):LoadRequest<TextureResource>;
        /**
         * Copies texture data to another texture.
         */
        copy(texture: MTLTexture):void;
        /**
         * Asynchronously copies texture data to another texture.
         */
        copyAsync(texture: MTLTexture, completionHandler: ()=>any):void;
        /**
         * Dynamically replaces the texture with a drawable queue.
         */
        replace(drawableQueue: TextureResource.DrawableQueue):void;
        /**
         * Asynchronously and dynamically replaces the texture with a CoreGraphics image.
         */
        replaceAsync(cgImage: CGImage, options: TextureResource.CreateOptions):LoadRequest<TextureResource>;
    }
    /**
     * the same name namespace of class TextureResource
     */
    export namespace TextureResource {
        export class CreateOptions {
            /**
             * Whether the texture resource automatically generates mipmaps.
             */
            mipmapsMode: TextureResource.MipmapsMode;
            /**
             * The intended use of the texture.
             */
            semantic: TextureResource.Semantic | null;
            /**
             * Creates a new texture creation options structure.
             */
            constructor (semantic: TextureResource.Semantic | null, mipmapsMode: TextureResource.MipmapsMode);
        }
        export enum MipmapsMode {}
        export enum Semantic {}
        export class Drawable {
            /**
             * The DrawableQueue that this Drawable is owned by
             */
            drawableQueue: TextureResource.DrawableQueue;
            /**
             * A Metal texture object that contains the drawable’s contents.
             */
            texture: MTLTexture;
            /**
             * Presents the updated texture to the renderer as soon as possible.
             */
            present():void;
        }
        export class DrawableQueue {
            /**
             * A Boolean value that determines whether requests for a new drawable expire if the system can’t satisfy them.
             */
            allowsNextDrawableTimeout: boolean;
            /**
             * The height of each drawable’s texture for the base level mipmap, in pixels.
             */
            height: number;
            /**
             * Options that determine how mipmaps are handled for each drawable’s textures.
             */
            mipmapsMode: TextureResource.MipmapsMode;
            /**
             * The size and bit layout of all pixels in each drawable’s texture.
             */
            pixelFormat: MTLPixelFormat;
            /**
             * Options that determine how you can use each drawable’s textures.
             */
            usage: MTLTextureUsage;
            /**
             * The width of each drawable’s texture for the base level mipmap, in pixels.
             */
            width: number;
            /**
             * Create a new drawable queue.
             */
            constructor (descriptor: TextureResource.DrawableQueue.Descriptor);
            /**
             * Waits until a drawable is available and then returns it. This call can block the calling thread while waiting.
             */
            nextDrawable():TextureResource.Drawable;
        }
        /**
         * the same name namespace of class DrawableQueue
         */
        export namespace DrawableQueue {
            export class Descriptor {
                /**
                 * The height of each drawable’s texture for the base level mipmap, in pixels.
                 */
                height: number;
                /**
                 * A Boolean value that determines whether the resource should generate mipmaps for each drawable’s texture after it was updated.
                 */
                mipmapsMode: TextureResource.MipmapsMode;
                /**
                 * The size and bit layout of all pixels in each drawable’s texture.
                 */
                pixelFormat: MTLPixelFormat;
                /**
                 * Options that determine how you can use each drawable’s textures.
                 */
                usage: MTLTextureUsage;
                /**
                 * The width of each drawable’s texture for the base level mipmap, in pixels.
                 */
                width: number;
                constructor (pixelFormat: MTLPixelFormat, width: number, height: number, usage: MTLTextureUsage, mipmapsMode: TextureResource.MipmapsMode);
            }
        }
    }
    export enum MaterialScalarParameter {}
    export class CollisionComponent {
        /**
         * The collision mode.
         */
        mode: CollisionComponent.Mode;
        /**
         * The collision filter used to segregate entities into different collision
         *  
         * groups.
         */
        filter: CollisionFilter;
        /**
         * A collection of shape resources that collectively represent the outer
         *  
         * dimensions of an entity for the purposes of collision detection.
         */
        shapes: ShapeResource[];
        /**
         * Creates a collision component with the given collision shape, mode, and
         *  
         * filter parameters.
         */
        constructor (shapes: ShapeResource[], mode: CollisionComponent.Mode, filter: CollisionFilter);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class CollisionComponent
     */
    export namespace CollisionComponent {
        export enum Mode {}
    }
    export class CollisionFilter {
        /**
         * The default collision filter.
         */
        static default: CollisionFilter;
        /**
         * A collision filter for an entity that collides with everything.
         */
        static sensor: CollisionFilter;
        /**
         * The collision group or groups, stored as a bit mask, to which the entity
         *  
         * belongs.
         */
        group: CollisionGroup;
        /**
         * The collision group or groups, stored as a bitmask, with which the
         *  
         * entity can collide.
         */
        mask: CollisionGroup;
        /**
         * Creates a collision filter.
         */
        constructor (group: CollisionGroup, mask: CollisionGroup);
    }
    export class ShapeResource {
        /**
         * The hashed value of the shape.
         */
        hashValue: number;
        /**
         * Creates a box shape with the specified extent.
         */
        static generateBox(size: SIMD3<Float>):ShapeResource;
        /**
         * Creates a sphere shape with the specified radius.
         */
        static generateSphere(radius: Float):ShapeResource;
        /**
         * Creates a capsule shape with the specified height and radius.
         */
        static generateCapsule(height: Float, radius: Float):ShapeResource;
        /**
         * Creates a convex shape from the given points.
         */
        static generateConvex(points: SIMD3<Float>[]):ShapeResource;
        /**
         * Creates a new shape resource by applying a rotation.
         */
        offsetBy(rotation: simd_quatf):ShapeResource;
        /**
         * Hashes the essential components of the shape by feeding them into the
         *  
         * given hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class PhysicsBodyComponent {
        /**
         * A Boolean that controls whether the physics simulation performs
         *  
         * continuous collision detection.
         */
        isContinuousCollisionDetectionEnabled: boolean;
        /**
         * A tuple of Boolean values that you use to lock rotation of the physics
         *  
         * body around any of the three axes.
         */
        isRotationLocked: any;
        /**
         * A tuple of Boolean values that you use to lock the position of the
         *  
         * physics body along any of the three axes.
         */
        isTranslationLocked: any;
        /**
         * The physics body’s mode, indicating how or if it moves.
         */
        mode: PhysicsBodyMode;
        /**
         * The physics body’s material properties, like friction.
         */
        material: PhysicsMaterialResource;
        /**
         * The physics body’s mass properties, like inertia and center of mass.
         */
        massProperties: PhysicsMassProperties;
        /**
         * Creates a physics body component with default settings.
         */
        constructor ();
        /**
         * Creates a physics body component with the given mass properties,
         *  
         * material, and mode.
         */
        constructor (massProperties: PhysicsMassProperties, material: PhysicsMaterialResource | null, mode: PhysicsBodyMode);
        /**
         * Creates a physics body component deriving mass properties from shape and
         *  
         * density.
         */
        constructor (shapes: ShapeResource[], density: Float, material: PhysicsMaterialResource | null, mode: PhysicsBodyMode);
        /**
         * Creates a physics body component deriving mass properties from shape and
         *  
         * mass.
         */
        constructor (shapes: ShapeResource[], mass: Float, material: PhysicsMaterialResource | null, mode: PhysicsBodyMode);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    export enum PhysicsBodyMode {}
    export class PhysicsMaterialResource {
        /**
         * A default material resource.
         */
        static default: PhysicsMaterialResource;
        /**
         * Generates a new material with the given characteristics.
         */
        static generate(friction: Float, restitution: Float):PhysicsMaterialResource;
    }
    export class PhysicsMassProperties {
        /**
         * The default mass properties, equivalent to a unit sphere with a mass of
         *  
         * 1 kilogram.
         */
        static default: PhysicsMassProperties;
        /**
         * The mass in kilograms.
         */
        mass: Float;
        /**
         * The inertia in kilograms per square meter.
         */
        inertia: SIMD3<Float>;
        /**
         * The position of the center of mass and the orientation of the principal
         *  
         * axes.
         */
        centerOfMass: any;
        /**
         * Creates a mass properties instance with default settings.
         */
        constructor ();
        /**
         * Creates a mass properties instance with the given settings.
         */
        constructor (mass: Float, inertia: SIMD3<Float>, centerOfMass: any);
        /**
         * Creates the mass properties for a solid shape with the specified
         *  
         * density.
         */
        constructor (shape: ShapeResource, density: Float);
        /**
         * Creates the mass properties for a solid shape with the specified mass.
         */
        constructor (shape: ShapeResource, mass: Float);
    }
    export class PhysicsMotionComponent {
        /**
         * The angular velocity of the body around the center of mass.
         */
        angularVelocity: SIMD3<Float>;
        /**
         * The linear velocity of the body in the physics simulation.
         */
        linearVelocity: SIMD3<Float>;
        /**
         * Creates a physics motion component at rest.
         */
        constructor ();
        /**
         * Creates a physics motion component with the given velocities.
         */
        constructor (linearVelocity: SIMD3<Float>, angularVelocity: SIMD3<Float>);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    export class TriggerVolume extends Entity {
        /**
         * The collision component that gives the entity the ability to participate
         *  
         * in collision simulations.
         */
        collision: CollisionComponent | null;
        /**
         * Creates a trigger volume.
         */
        constructor ();
        /**
         * Creates a trigger volume with the given shape and collision filter.
         */
        constructor (shape: ShapeResource, filter: CollisionFilter);
        /**
         * Creates a trigger volume with the given composite shape and collision
         *  
         * filter.
         */
        constructor (shapes: ShapeResource[], filter: CollisionFilter);
    }
    export class BodyTrackedEntity extends Entity {
        /**
         * The body-tracking component for the body-tracked entity.
         */
        bodyTracking: BodyTrackingComponent;
        /**
         * The model component for the entity.
         */
        model: ModelComponent | null;
        /**
         * The names of all the joints in the model entity.
         */
        jointNames: string[];
        /**
         * The relative joint transforms of the model entity.
         */
        jointTransforms: Transform[];
        /**
         * Configures the debug visualization of this model.
         */
        modelDebugOptions: ModelDebugOptionsComponent | null;
        debugModel: ModelDebugOptionsComponent | null;
    }
    export class BodyTrackingComponent {
        /**
         * A Boolean that you can set to temporarily stop applying body tracking to
         *  
         * the model and freeze the model in its current pose.
         */
        isPaused: boolean;
        /**
         * The body-tracking setting.
         */
        target: BodyTrackingComponent.Target;
        /**
         * Creates a body-tracking component.
         */
        constructor ();
        /**
         * Creates a body-tracking component for the given target.
         */
        constructor (target: BodyTrackingComponent.Target);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class BodyTrackingComponent
     */
    export namespace BodyTrackingComponent {
        export enum Target {}
    }
    export class PerspectiveCamera extends Entity {
        /**
         * A camera component for the perspective camera entity.
         */
        camera: PerspectiveCameraComponent;
        /**
         * Creates a perspective camera entity.
         */
        constructor ();
    }
    export class PerspectiveCameraComponent {
        /**
         * The maximum distance in meters from the camera that the camera can see.
         */
        far: Float;
        /**
         * The minimum distance in meters from the camera that the camera can see.
         */
        near: Float;
        /**
         * The camera’s total vertical field of view in degrees.
         */
        fieldOfViewInDegrees: Float;
        /**
         * Creates a new perspective camera component with the given settings.
         */
        constructor (near: Float, far: Float, fieldOfViewInDegrees: Float);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    export class PointLight extends Entity {
        /**
         * A point light component for the entity.
         */
        light: PointLightComponent;
        /**
         * Creates a new point light entity.
         */
        constructor ();
    }
    export class PointLightComponent {
        /**
         * A color for the point light.
         */
        color: PointLightComponent.Color;
        /**
         * The point light attenuation radius in meters.
         */
        attenuationRadius: Float;
        /**
         * The intensity of the point light, measured in lumen.
         */
        intensity: Float;
        /**
         * Creates a point light component with the given configuration.
         */
        constructor (color: PointLightComponent.Color, intensity: Float, attenuationRadius: Float);
        /**
         * Creates a new instance with the specified color, intensity and attenuation.
         */
        constructor (cgColor: CGColor, intensity: Float, attenuationRadius: Float);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    export class DirectionalLight extends Entity {
        /**
         * A directional light component for the entity.
         */
        light: DirectionalLightComponent;
        /**
         * The shadow settings for a directional light.
         */
        shadow: DirectionalLightComponent.Shadow | null;
        /**
         * Creates a directional light entity.
         */
        constructor ();
    }
    export class DirectionalLightComponent {
        /**
         * A color for the directional light.
         */
        color: DirectionalLightComponent.Color;
        /**
         * The intensity of the directional light, measured in lumen per square
         *  
         * meter.
         */
        intensity: Float;
        /**
         * A Boolean that you use to control whether the directional light operates
         *  
         * as a proxy for a real-world light.
         */
        isRealWorldProxy: boolean;
        /**
         * Creates a directional light with the given configuration.
         */
        constructor (color: DirectionalLightComponent.Color, intensity: Float, isRealWorldProxy: boolean);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class DirectionalLightComponent
     */
    export namespace DirectionalLightComponent {
        export class Shadow {
            /**
             * The maximum distance for the shadow.
             */
            maximumDistance: Float;
            /**
             * The depth bias for the shadow.
             */
            depthBias: Float;
            /**
             * Creates a directional light shadow using default values.
             */
            constructor ();
            /**
             * Creates a directional light shadow with a maximum distance and depth
             *  
             * bias.
             */
            constructor (maximumDistance: Float, depthBias: Float);
            /**
             * Registers a new component type.
             */
            static registerComponent():void;
        }
    }
    export class SpotLight extends Entity {
        /**
         * A spotlight component for the entity.
         */
        light: SpotLightComponent;
        /**
         * The shadow for the spotlight.
         */
        shadow: SpotLightComponent.Shadow | null;
        /**
         * Creates a spotlight entity.
         */
        constructor ();
    }
    export class SpotLightComponent {
        /**
         * A color for the spotlight.
         */
        color: SpotLightComponent.Color;
        /**
         * The intensity of the spotlight measured in lumen.
         */
        intensity: Float;
        /**
         * The inner angle of the spotlight in degrees.
         */
        innerAngleInDegrees: Float;
        /**
         * The outer angle of the spotlight in degrees.
         */
        outerAngleInDegrees: Float;
        /**
         * The attenuation radius in meters, after which the intensity of the
         *  
         * spotlight is zero.
         */
        attenuationRadius: Float;
        /**
         * Creates a spotlight with the given parameters.
         */
        constructor (color: SpotLightComponent.Color, intensity: Float, innerAngleInDegrees: Float, outerAngleInDegrees: Float, attenuationRadius: Float);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class SpotLightComponent
     */
    export namespace SpotLightComponent {
        export class Shadow {
            /**
             * Creates a new spot light shadow object.
             */
            constructor ();
            /**
             * Registers a new component type.
             */
            static registerComponent():void;
        }
    }
    export class AnimationPlaybackController {
        /**
         * A Boolean value that indicates whether the animation plays.
         */
        isPlaying: boolean;
        /**
         * A Boolean value that indicates whether the animation stopped.
         */
        isStopped: boolean;
        /**
         * A Boolean value that indicates whether the animation controller is
         *  
         * functional.
         */
        isValid: boolean;
        /**
         * The level of influence the controller gives to its animation.
         */
        blendFactor: Float;
        /**
         * A Boolean that indicates whether the animation has finished running.
         */
        isComplete: boolean;
        /**
         * A Boolean that indicates whether the animation is paused.
         */
        isPaused: boolean;
        /**
         * The entity to which the animation applies.
         */
        entity: Entity | null;
        /**
         * The length of time the animation spans, in seconds.
         */
        duration: TimeInterval;
        /**
         * The animation’s rate of playback.
         */
        speed: Float;
        /**
         * A reference clock to synchronize the animation with other events.
         */
        clock: CMClockOrTimebase;
        /**
         * The animation’s location within the timeline.
         */
        time: TimeInterval;
        /**
         * The hashed value of the controller.
         */
        hashValue: number;
        /**
         * Pauses the animation.
         */
        pause():void;
        /**
         * Resumes a paused animation.
         */
        resume():void;
        /**
         * Stops an animation.
         */
        stop():void;
        /**
         * Hashes the essential components of the controller by feeding them into
         *  
         * the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class AnimationResource {
        /**
         * The name of the animation resource.
         */
        name: string;
        /**
         * The timeframe, target object, and visual semantics of the animation.
         */
        definition: AnimationDefinition;
        /**
         * Creates an animation resource from a definition.
         */
        static generate(definition: AnimationDefinition):AnimationResource;
        /**
         * Creates an animation resource that plays a collection of animations in a
         *  
         * specified sequence.
         */
        static sequence(resources: AnimationResource[]):AnimationResource;
        /**
         * Creates an animation resource that simultaneously plays back a
         *  
         * collection of animations.
         */
        static group(resources: AnimationResource[]):AnimationResource;
        /**
         * Creates an animation that repeats the specified number of times.
         */
        repeat(count: number):AnimationResource;
        /**
         * Adds the animation to an entity without playing it.
         */
        store(_in: Entity):void;
    }
    export class AnimationFillMode {
        /**
         * An option that indicates an animation doesn’t display frame data outside
         *  
         * of its normal duration.
         */
        static none: AnimationFillMode;
        /**
         * An option that freezes the last frame of the animation until it stops.
         */
        static forwards: AnimationFillMode;
        /**
         * An option that shows the first animation frame while playback progresses
         *  
         * to the beginning position.
         */
        static backwards: AnimationFillMode;
        /**
         * An option that displays the animation’s initial frame or final frame
         *  
         * when playback occurs outside of the normal duration.
         */
        static both: AnimationFillMode;
        /**
         * The raw value of an animation’s fill mode.
         */
        rawValue: Int8;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a new set from the given finite sequence.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Creates a fill mode from its backing data type.
         */
        constructor (rawValue: Int8);
        /**
         * Returns a Boolean value that indicates whether a given element is a member of the
         *  
         * option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that aren’t also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces a set with a new set that contains all elements of the original set or of
         *  
         * a different set, but not both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into an option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds an element to an option set if it isn’t already included in the set.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in the original set and
         *  
         * another set.
         */
        intersection(other: Self):Self;
        /**
         * Returns a Boolean value that indicates whether a set has no members in common with
         *  
         * another set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether a set is a strict subset of another
         *  
         * set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether a set is a strict superset of another
         *  
         * set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of the given
         *  
         * set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes an element from the set.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Removes the elements of another set from a set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of a set that don’t occur in another set.
         */
        subtracting(other: Self):Self;
        /**
         * Returns a new option set with the elements contained in this set or in the given
         *  
         * set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in another set, or
         *  
         * in both.
         */
        union(other: Self):Self;
        /**
         * Inserts an element into a set.
         */
        update(newMember: Self.Element):Self.Element | null;
    }
    export class AnimationTimingFunction {
        /**
         * A timing function that produces the default curve for the transition.
         */
        static default: AnimationTimingFunction;
        /**
         * A timing function that produces a gradual starting transition.
         */
        static easeIn: AnimationTimingFunction;
        /**
         * A timing function that produces a gradual starting and ending
         *  
         * transition.
         */
        static easeInOut: AnimationTimingFunction;
        /**
         * A timing function that produces a gradual ending transition.
         */
        static easeOut: AnimationTimingFunction;
        /**
         * A timing function that produces a linear transition.
         */
        static linear: AnimationTimingFunction;
        /**
         * The hashed value of the timing function.
         */
        hashValue: number;
        /**
         * Creates a timing function that accelerates and then decelerates towards
         *  
         * the target value with the cubic bezier shape specified by two control
         *  
         * points.
         */
        static cubicBezier(controlPoint1: SIMD2<Float>, controlPoint2: SIMD2<Float>):AnimationTimingFunction;
        /**
         * Hashes the essential components of the timing function by feeding them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class AnimationGroup {
        /**
         * A collection of animations to run.
         */
        group: AnimationDefinition[];
        /**
         * A textual name for the group.
         */
        name: string;
        /**
         * A textual name that refers to a property on which to run the grouped
         *  
         * animations.
         */
        bindTarget: BindTarget;
        /**
         * The order in which the framework composites the animation.
         */
        blendLayer: Int32;
        /**
         * A Boolean value that indicates whether the animation builds on the
         *  
         * current state of the target entity or resets the state before running.
         */
        additive: boolean;
        /**
         * An optional collection of animations to run.
         */
        group_: AnimationDefinition[] | null;
        /**
         * A factor that increases or decreases the animation’s rate of playback.
         */
        speed: Float;
        /**
         * An amount of time that lapses before the animation plays.
         */
        delay: TimeInterval;
        /**
         * The total playback time of the animation.
         */
        duration: TimeInterval;
        /**
         * The time, in seconds, at which the animations begin within the duration.
         */
        offset: TimeInterval;
        /**
         * An optional duration that overrides the calculated duration.
         */
        trimDuration: TimeInterval | null;
        /**
         * The time, in seconds, at which the animations play.
         */
        trimStart: TimeInterval | null;
        /**
         * The time, in seconds, at which the animations stop.
         */
        trimEnd: TimeInterval | null;
        /**
         * An option that determines how the animations repeat.
         */
        repeatMode: AnimationRepeatMode;
        /**
         * An option that determines which data displays outside of the normal
         *  
         * duration.
         */
        fillMode: AnimationFillMode;
        /**
         * Creates a collection of animations that play simultaneously.
         */
        constructor (group: AnimationDefinition[], name: string, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Edits the animation duration according to the specified time.
         */
        trimmed(start: TimeInterval | null, end: TimeInterval | null, duration: TimeInterval | null):Self;
        /**
         * Repeats an animation the number of times specified by an irrational
         *  
         * number.
         */
        repeated(count: TimeInterval):Self;
        /**
         * Shortens or lengthens the animation timeline.
         */
        repeatingForever():Self;
    }
    export class AnimationView {
        /**
         * The original animation that this structure modifies.
         */
        source: AnimationDefinition | null;
        /**
         * A textual name for the animation.
         */
        name: string;
        /**
         * A textual name that identifies the animated property.
         */
        bindTarget: BindTarget;
        /**
         * The order in which the framework composites the animation.
         */
        blendLayer: Int32;
        /**
         * A factor that increases or decreases the animation’s rate of playback.
         */
        speed: Float;
        /**
         * An amount of time that lapses before the animation plays.
         */
        delay: TimeInterval;
        /**
         * The total playback time of the animation.
         */
        duration: TimeInterval;
        /**
         * The time, in seconds, at which the animation begins within the duration.
         */
        offset: TimeInterval;
        /**
         * An optional duration that overrides the calculated duration.
         */
        trimDuration: TimeInterval | null;
        /**
         * The time, in seconds, at which the source animation plays.
         */
        trimStart: TimeInterval | null;
        /**
         * The time, in seconds, at which the source animation stops.
         */
        trimEnd: TimeInterval | null;
        /**
         * An option that determines how the animation repeats.
         */
        repeatMode: AnimationRepeatMode;
        /**
         * An option that determines which data displays outside of the normal
         *  
         * duration.
         */
        fillMode: AnimationFillMode;
        /**
         * Creates a variation of the given animation by overriding its properties.
         */
        constructor (source: AnimationDefinition, name: string, bindTarget: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Creates a new animation view.
         */
        constructor (name: string, source: AnimationDefinition, targetPath: BindTarget | null, blendLayer: Int32, repeatMode: AnimationRepeatMode, fillMode: AnimationFillMode, trimStart: TimeInterval | null, trimEnd: TimeInterval | null, trimDuration: TimeInterval | null, offset: TimeInterval, delay: TimeInterval, speed: Float);
        /**
         * Edits the animation duration according to the specified time.
         */
        trimmed(start: TimeInterval | null, end: TimeInterval | null, duration: TimeInterval | null):Self;
        /**
         * Repeats an animation the number of times specified by an irrational
         *  
         * number.
         */
        repeated(count: TimeInterval):Self;
        /**
         * Shortens or lengthens the animation timeline.
         */
        repeatingForever():Self;
    }
    export enum AnimationRepeatMode {}
    export class AudioPlaybackController {
        /**
         * The stable identity of the entity associated with this instance.
         */
        id: ObjectIdentifier;
        /**
         * The resource that provides the audio stream.
         */
        resource: AudioResource;
        /**
         * The gain in decibels of the audio playback controller output.
         */
        gain: AudioPlaybackController.Decibel;
        /**
         * The rate of playback of the audio resource, with a range from half speed
         *  
         * to double speed.
         */
        speed: number;
        /**
         * The send level in decibels from the playback controller to the reverb
         *  
         * system.
         */
        reverbSendLevel: AudioPlaybackController.Decibel;
        /**
         * A Boolean that indicates whether playback is currently active.
         */
        isPlaying: boolean;
        /**
         * A closure that the playback controller executes when it comes to the end
         *  
         * of the audio stream.
         */
        completionHandler: ()=>any | null;
        /**
         * The entity from which the audio stream emanates.
         */
        entity: Entity | null;
        /**
         * Transitions the gain to the given value over a time interval using a
         *  
         * linear curve.
         */
        fade(gain: AudioPlaybackController.Decibel, duration: TimeInterval):void;
        /**
         * Plays the audio resource.
         */
        play():void;
        /**
         * Pauses playback of the audio resource while maintaining the position in
         *  
         * the audio stream.
         */
        pause():void;
        /**
         * Stops playback of the audio resource and discards the location in the
         *  
         * audio stream.
         */
        stop():void;
    }
    export class AudioResource {
        /**
         * The input mode used by an audio resource.
         */
        inputMode: AudioResource.InputMode;
    }
    /**
     * the same name namespace of class AudioResource
     */
    export namespace AudioResource {
        export enum InputMode {}
    }
    export class AudioFileResource extends AudioResource {
        /**
         * The strategy a resource uses to access data.
         */
        loadingStrategy: AudioFileResource.LoadingStrategy;
        /**
         * A Boolean you set to indicate whether the resource loops during
         *  
         * playback.
         */
        shouldLoop: boolean;
        /**
         * Loads an audio file resource from a bundle synchronously.
         */
        static load(name: string, bundle: Bundle | null, inputMode: AudioResource.InputMode, loadingStrategy: AudioFileResource.LoadingStrategy, shouldLoop: boolean):AudioFileResource;
        /**
         * Loads an audio file resource from a bundle file asynchronously.
         */
        static loadAsync(name: string, bundle: Bundle | null, inputMode: AudioResource.InputMode, loadingStrategy: AudioFileResource.LoadingStrategy, shouldLoop: boolean):LoadRequest<AudioFileResource>;
    }
    /**
     * the same name namespace of class AudioFileResource
     */
    export namespace AudioFileResource {
        export enum LoadingStrategy {}
    }
    export class AudioBufferResource extends AudioResource {
        /**
         * A Boolean value that indicates whether the audio restarts from the
         *  
         * beginning after it finishes.
         */
        shouldLoop: boolean;
        /**
         * Creates an audio resource from the given buffer that optionally plays
         *  
         * with a 3D effect or restarts from the beginning after it finishes.
         */
        constructor (buffer: AVAudioBuffer, inputMode: AudioResource.InputMode, shouldLoop: boolean);
    }
    export class MultipeerConnectivityService {
        /**
         * The multipeer connectivity session used by the service.
         */
        session: MCSession;
        /**
         * Creates a new connectivity service.
         */
        constructor (session: MCSession);
        /**
         * Gets the device that owns a given entity.
         */
        owner(entity: Entity):SynchronizationPeerID | null;
        /**
         * Transfers ownership of the given entity to the named network device.
         */
        giveOwnership(entity: Entity, peer: SynchronizationPeerID):boolean;
        /**
         * Gets the entity with the given identifier.
         */
        entity(identifier: MultipeerConnectivityService.Identifier):Entity | null;
        /**
         * Stops multipeer synchronization.
         */
        stopSync():void;
        /**
         * Begins multipeer synchronization.
         */
        startSync():void;
        /**
         * Configures handshake and timeout settings.
         */
        setHandshake(count: UInt32, timeoutMs: UInt32):void;
    }
    export enum SynchronizationEvents {}
    export class NetworkCompatibilityToken {
        /**
         * A token containing the local peer’s networking compatibility info.
         */
        static local: NetworkCompatibilityToken;
        /**
         * Creates a new instance from a decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Compares network compatibility tokens between the local device and
         *  
         * another device.
         */
        compatibilityWith(otherToken: NetworkCompatibilityToken):NetworkCompatibilityToken.Compatibility;
        /**
         * Writes the token’s data into an encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class NetworkCompatibilityToken
     */
    export namespace NetworkCompatibilityToken {
        export enum Compatibility {}
    }
    export class ModelDebugOptionsComponent {
        /**
         * The part of the rendering process to display as the entity’s surface
         *  
         * texture.
         */
        visualizationMode: ModelDebugOptionsComponent.VisualizationMode;
        /**
         * Creates a component that isolates a portion of the rendering process and
         *  
         * displays it as the entity’s surface texture.
         */
        constructor (visualizationMode: ModelDebugOptionsComponent.VisualizationMode);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class ModelDebugOptionsComponent
     */
    export namespace ModelDebugOptionsComponent {
        export enum VisualizationMode {}
    }
    export class PhotogrammetrySession {
        /**
         * Returns 
         *  if the current hardware supports Object Capture.
         */
        static isSupported: boolean;
        /**
         * Readonly property  containing the session configuration set in the construction.
         */
        configuration: PhotogrammetrySession.Configuration;
        /**
         * The session’s active request objects.
         */
        activeRequests: PhotogrammetrySession.Request[];
        /**
         * Creates a session from images in a specified directory URL.
         */
        isProcessing: boolean;
        /**
         * Returns the outputs AsyncSequence
         *  message stream which can be asynchronously iterated on.
         */
        outputs: PhotogrammetrySession.Outputs;
        /**
         * Creates a session that will use all images found in the given 
         *  directory URL as samples for reconstruction.
         */
        constructor (input: URL, configuration: PhotogrammetrySession.Configuration);
        /**
         * Starts processing of the provided processing 
         * .  Messages begin to be produced to
         *  
         * the 
         *  publisher.  Only one batch of requests can be in-flight at a time and it is an error to call this
         *  
         * while 
         * .
         */
        process(requests: PhotogrammetrySession.Request[]):void;
        /**
         * Requests cancellation of any running requests.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class PhotogrammetrySession
     */
    export namespace PhotogrammetrySession {
        export class Configuration {
            /**
             * A Boolean value that indicates whether the session uses object masks.
             */
            isObjectMaskingEnabled: boolean;
            /**
             * The order of the image samples.
             */
            sampleOrdering: PhotogrammetrySession.Configuration.SampleOrdering;
            /**
             * The precision of landmark detection.
             */
            featureSensitivity: PhotogrammetrySession.Configuration.FeatureSensitivity;
            /**
             * Creates a configuration using default values.
             */
            constructor ();
        }
        /**
         * the same name namespace of class Configuration
         */
        export namespace Configuration {
            export enum SampleOrdering {}
            export enum FeatureSensitivity {}
        }
        export enum Output {}
        export class Outputs {
            /**
             * Creates an asynchronous iterator for the collection.
             */
            makeAsyncIterator():PhotogrammetrySession.Outputs.Iterator;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous
             *  
             * sequence satisfies the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Creates an asynchronous sequence that maps an error-throwing closure over the base
             *  
             * sequence’s elements, omitting results that don’t return a value.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains
             *  
             * an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns
             *  
             * false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Self>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes
             *  
             * through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Self>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base
             *  
             * sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Self>;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Creates an asynchronous sequence that concatenates the results of calling the given
             *  
             * error-throwing transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
            /**
             * Creates an asynchronous sequence that maps the given error-throwing closure over
             *  
             * the asynchronous sequence’s elements.
             */
            map<Transformed>(transform: Transformed):any;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing
             *  
             * the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Self>;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the result of combining the elements of the asynchronous sequence
             *  
             * using the given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        }
        /**
         * the same name namespace of class Outputs
         */
        export namespace Outputs {
            export class Iterator {
                /**
                 * Asynchronously advances to the next element and returns it, or ends the
                 *  
                 * sequence if there is no next element.
                 */
                next():PhotogrammetrySession.Output | null;
            }
        }
        export enum Request {}
        export enum Result {}
        export class PointCloud {
            /**
             * The fixed array of points describing the point cloud.
             */
            points: PhotogrammetrySession.PointCloud.Point[];
        }
        /**
         * the same name namespace of class PointCloud
         */
        export namespace PointCloud {
            export class Point {
                /**
                 * Color of the point ordered as RGBA.
                 */
                color: SIMD4<UInt8>;
                /**
                 * 3D position of the point
                 */
                position: SIMD3<Float>;
            }
        }
    }
    export class PhotogrammetrySample {
        /**
         * A unique identifier for the sample.
         */
        id: number;
        /**
         * The image data for this sample.
         */
        image: CVPixelBuffer;
        /**
         * An image’s EXIF metadata.
         */
        metadata: Record<string, any>;
        /**
         * The image’s depth data.
         */
        depthDataMap: CVPixelBuffer | null;
        /**
         * An image’s gravity vector.
         */
        gravity: CMAcceleration | null;
        /**
         * The image’s object mask.
         */
        objectMask: CVPixelBuffer | null;
        /**
         * Creates a new sample.
         */
        constructor (id: number, image: CVPixelBuffer);
    }
    export class SceneUnderstandingComponent {
        /**
         * The type of real-world object that the component models.
         */
        entityType: SceneUnderstandingComponent.EntityType | null;
        /**
         * Creates a component that makes an entity aware of certain aspects of the
         *  
         * physical environment.
         */
        constructor ();
        /**
         * Creates a component for the given entity type that makes an entity aware
         *  
         * of certain aspects of the physical environment.
         */
        constructor (entityType: SceneUnderstandingComponent.EntityType | null);
        /**
         * Registers a new component type.
         */
        static registerComponent():void;
    }
    /**
     * the same name namespace of class SceneUnderstandingComponent
     */
    export namespace SceneUnderstandingComponent {
        export enum EntityType {}
    }
}

/**
 * Create 3D games and add 3D content to apps using high-level scene descriptions. Easily add animations, physics simulation, particle effects, and realistic physically based rendering.
 */
declare module SceneKit {
    export class SCNDebugOptions {
        /**
         * Display a coordinate axis visualization indicating the position and orientation of the AR world coordinate system.
         */
        static showWorldOrigin: SCNDebugOptions;
        /**
         * Display a point cloud showing intermediate results of the scene analysis that ARKit uses to track device position.
         */
        static showFeaturePoints: SCNDebugOptions;
    }
    export class SCNScene extends NSObject {
        /**
         * The distance from a point of view at which the scene’s contents begin to be obscured by fog. Animatable.
         */
        fogStartDistance: CGFloat;
        /**
         * The distance from a point of view at which the scene’s contents are completely obscured by fog. Animatable.
         */
        fogEndDistance: CGFloat;
        /**
         * The transition curve for the fog’s intensity between its start and end distances. Animatable.
         */
        fogDensityExponent: CGFloat;
        /**
         * The color of the fog effect to be rendered with the scene. Animatable.
         */
        fogColor: any;
        /**
         * The physics simulation associated with the scene.
         */
        physicsWorld: SCNPhysicsWorld;
        /**
         * The particle systems attached to the scene.
         */
        particleSystems: SCNParticleSystem[] | null;
        screenSpaceReflectionMaximumDistance: CGFloat;
        screenSpaceReflectionSampleCount: number;
        screenSpaceReflectionStride: CGFloat;
        wantsScreenSpaceReflection: boolean;
        /**
         * A Boolean value that determines whether to run actions, animations, particle systems, and physics simulations in the scene graph.
         */
        isPaused: boolean;
        /**
         * The root node of the scene graph.
         */
        rootNode: SCNNode;
        /**
         * A background to be rendered before the rest of the scene.
         */
        background: SCNMaterialProperty;
        /**
         * A cube map texture that depicts the environment surrounding the scene’s contents, used for advanced lighting effects.
         */
        lightingEnvironment: SCNMaterialProperty;
        /**
         * Loads a scene from a file with the specified name in the app’s main bundle.
         */
        constructor (name: string);
        /**
         * Loads a scene from a file with the specified name in a specific subdirectory of the app’s main bundle.
         */
        constructor (name: string, directory: string, options: Record<SCNSceneSource.LoadingOption, any> | null);
        /**
         * Loads a scene from the specified URL.
         */
        constructor (url: URL, options: Record<SCNSceneSource.LoadingOption, any> | null);
        /**
         * Sets a scene attribute for the specified key.
         */
        setAttribute(attribute: any, key: string):void;
        /**
         * Exports the scene and its contents to a file at the specified URL.
         */
        write(url: URL, options: Record<string, any> | null, delegate: SCNSceneExportDelegate | null, progressHandler: SCNSceneExportProgressHandler | null):boolean;
        /**
         * Attaches a particle system to the scene, using the specified transform.
         */
        addParticleSystem(system: SCNParticleSystem, transform: SCNMatrix4):void;
        /**
         * Removes a particle system attached to the scene.
         */
        removeParticleSystem(system: SCNParticleSystem):void;
        /**
         * Removes any particle systems directly attached to the scene.
         */
        removeAllParticleSystems():void;
        /**
         * Returns the scene attribute for the specified key.
         */
        attribute(key: string):any;
    }
    /**
     * the same name namespace of class SCNScene
     */
    export namespace SCNScene {
        export class Attribute {
            /**
             * A floating-point value (in an 
             *  object) for the end time of the scene.
             */
            static endTime: SCNScene.Attribute;
            /**
             * A floating-point value (in an 
             *  object) for the frame rate of the scene.
             */
            static frameRate: SCNScene.Attribute;
            /**
             * A floating-point value (in an 
             *  object) for the start time of the scene.
             */
            static startTime: SCNScene.Attribute;
            /**
             * An 
             *  structure (in an 
             *  object) specifying the orientation of the scene.
             */
            static upAxis: SCNScene.Attribute;
            constructor (rawValue: string);
        }
    }
    export class SCNCameraController extends NSObject {
        frameNodes(nodes: SCNNode[]):void;
        roll(delta: Float, point: CGPoint, viewport: CGSize):void;
        rollAroundTarget(delta: Float):void;
        rotateBy(deltaX: Float, deltaY: Float):void;
        stopInertia():void;
        translateInCameraSpaceBy(deltaX: Float, deltaY: Float, deltaZ: Float):void;
    }
    export class SCNPhysicsBody extends NSObject {
        /**
         * A vector describing both the current speed (in meters per second) and direction of motion of the physics body.
         */
        velocity: SCNVector3;
        /**
         * A vector describing both the current rotation axis and rotational speed (in radians per second) of the physics body.
         */
        angularVelocity: SCNVector4;
        /**
         * A Boolean value that indicates whether the physics body is at rest.
         */
        isResting: boolean;
        /**
         * A Boolean value that specifies whether SceneKit can automatically mark the physics body at rest.
         */
        allowsResting: boolean;
        angularRestingThreshold: CGFloat;
        linearRestingThreshold: CGFloat;
        /**
         * Applies a force or impulse to the body at its center of mass.
         */
        applyForce(direction: SCNVector3, impulse: boolean):void;
        /**
         * Applies a net torque or a change in angular momentum to the body.
         */
        applyTorque(torque: SCNVector4, impulse: boolean):void;
        /**
         * Cancels all continuous forces and torques acting on the physics body during the current simulation step.
         */
        clearAllForces():void;
        /**
         * Tells SceneKit whether to treat the body as currently being in motion.
         */
        setResting(resting: boolean):void;
        /**
         * Updates the position and orientation of a body in the physics simulation to match that of the node to which the body is attached.
         */
        resetTransform():void;
    }
    export class SCNPhysicsShape extends NSObject {
        /**
         * The object that was used to create the shape.
         */
        sourceObject: any;
        /**
         * The options dictionary that was used to create the shape.
         */
        options: Record<SCNPhysicsShape.Option, any> | null;
        /**
         * The array of transforms that was used to create a compound shape.
         */
        transforms: NSValue[] | null;
        /**
         * Creates a physics shape based on a geometry object.
         */
        constructor (geometry: SCNGeometry, options: Record<SCNPhysicsShape.Option, any> | null);
        /**
         * Creates a physics shape from a node or hierarchy of nodes.
         */
        constructor (node: SCNNode, options: Record<SCNPhysicsShape.Option, any> | null);
        /**
         * Creates a new physics shape by combining others.
         */
        constructor (shapes: SCNPhysicsShape[], transforms: NSValue[] | null);
    }
    /**
     * the same name namespace of class SCNPhysicsShape
     */
    export namespace SCNPhysicsShape {
        export class Option {
            static collisionMargin: SCNPhysicsShape.Option;
            /**
             * An option for selecting whether to create a group of independent shapes or combine them into a single shape.
             */
            static keepAsCompound: SCNPhysicsShape.Option;
            /**
             * An option for selecting the scale factor of the shape relative to the local coordinate space of the node containing it.
             */
            static scale: SCNPhysicsShape.Option;
            /**
             * An option for selecting the level of detail at which to create shapes from geometry.
             */
            static type: SCNPhysicsShape.Option;
            constructor (rawValue: string);
        }
        export class ShapeType {
            /**
             * The physics shape is the smallest box containing the geometry.
             */
            static boundingBox: SCNPhysicsShape.ShapeType;
            /**
             * The physics shape is a concave polyhedron closely following the surface of the geometry.
             */
            static concavePolyhedron: SCNPhysicsShape.ShapeType;
            /**
             * The physics shape is a convex polyhedron roughly enclosing the geometry.
             */
            static convexHull: SCNPhysicsShape.ShapeType;
            constructor (rawValue: string);
        }
    }
    export interface SCNPhysicsContactDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that two bodies have come into contact.
         */
        physicsWorld(world: SCNPhysicsWorld, contact: SCNPhysicsContact):void;
    }
    export class SCNPhysicsContact extends NSObject {
        /**
         * The node containing the first body in the contact.
         */
        nodeA: SCNNode;
        /**
         * The node containing the second body in the contact.
         */
        nodeB: SCNNode;
        /**
         * The contact point between the two physics bodies, in scene coordinates.
         */
        contactPoint: SCNVector3;
        /**
         * The normal vector at the contact point between the two physics bodies, in scene coordinates.
         */
        contactNormal: SCNVector3;
        /**
         * The force over time of the collision, in newton-seconds.
         */
        collisionImpulse: CGFloat;
        /**
         * The distance of overlap, in units of scene coordinate space, between the two physics bodies.
         */
        penetrationDistance: CGFloat;
        sweepTestFraction: CGFloat;
    }
    export class SCNPhysicsWorld extends NSObject {
        /**
         * A vector that specifies the gravitational acceleration applied to physics bodies in the physics world.
         */
        gravity: SCNVector3;
        /**
         * The rate at which the simulation executes.
         */
        speed: CGFloat;
        /**
         * The time interval between updates to the physics simulation.
         */
        timeStep: TimeInterval;
        /**
         * The list of behaviors affecting bodies in the physics world.
         */
        allBehaviors: SCNPhysicsBehavior[];
        /**
         * A delegate that is called when two physics bodies come in contact with each other.
         */
        contactDelegate: SCNPhysicsContactDelegate | null;
        /**
         * Forces the physics engine to reevaluate possible collisions between physics bodies.
         */
        updateCollisionPairs():void;
        /**
         * Adds a behavior to the physics world.
         */
        addBehavior(behavior: SCNPhysicsBehavior):void;
        /**
         * Removes a behavior from the physics world.
         */
        removeBehavior(behavior: SCNPhysicsBehavior):void;
        /**
         * Removes all behaviors affecting bodies in the physics world.
         */
        removeAllBehaviors():void;
        /**
         * Checks for contacts between two physics bodies.
         */
        contactTestBetween(bodyA: SCNPhysicsBody, bodyB: SCNPhysicsBody, options: Record<SCNPhysicsWorld.TestOption, any> | null):SCNPhysicsContact[];
        /**
         * Checks for contacts between one physics body and any other bodies in the physics world.
         */
        contactTest(body: SCNPhysicsBody, options: Record<SCNPhysicsWorld.TestOption, any> | null):SCNPhysicsContact[];
        /**
         * Searches for physics bodies along a line segment between two points in the physics world.
         */
        rayTestWithSegment(origin: SCNVector3, dest: SCNVector3, options: Record<SCNPhysicsWorld.TestOption, any> | null):SCNHitTestResult[];
        /**
         * Searches for physics bodies in the space formed by moving a convex shape through the physics world.
         */
        convexSweepTest(shape: SCNPhysicsShape, from: SCNMatrix4, to: SCNMatrix4, options: Record<SCNPhysicsWorld.TestOption, any> | null):SCNPhysicsContact[];
    }
    /**
     * the same name namespace of class SCNPhysicsWorld
     */
    export namespace SCNPhysicsWorld {
        export class TestOption {
            /**
             * The key for choosing whether to ignore back-facing polygons in physics shapes when searching for contacts.
             */
            static backfaceCulling: SCNPhysicsWorld.TestOption;
            /**
             * The key for selecting which categories of physics bodies that SceneKit should test for contacts.
             */
            static collisionBitMask: SCNPhysicsWorld.TestOption;
            /**
             * The key for selecting the number and order of contacts to be tested.
             */
            static searchMode: SCNPhysicsWorld.TestOption;
            constructor (rawValue: string);
        }
        export class TestSearchMode {
            /**
             * Searches should return all contacts matching the search parameters.
             */
            static all: SCNPhysicsWorld.TestSearchMode;
            /**
             * Searches should return only the first contact found regardless of its position relative to the search parameters.
             */
            static any: SCNPhysicsWorld.TestSearchMode;
            /**
             * Searches should return only the closest contact to the beginning of the search.
             */
            static closest: SCNPhysicsWorld.TestSearchMode;
            constructor (rawValue: string);
        }
    }
    export class SCNView extends NSView,UIView {
        /**
         * The OpenGL ES context that the view uses to render its contents.
         */
        eaglContext: EAGLContext | null;
        /**
         * The OpenGL context that the view uses to render its contents.
         */
        openGLContext: NSOpenGLContext | null;
        /**
         * The view’s OpenGL pixel format.
         */
        pixelFormat: NSOpenGLPixelFormat | null;
        drawableResizesAsynchronously: boolean;
        /**
         * Pauses playback of the view’s scene.
         */
        pause(sender: any):void;
        /**
         * Resumes playback of the view’s scene.
         */
        play(sender: any):void;
        /**
         * Stops playback of the view’s scene and resets the scene time to its start time.
         */
        stop(sender: any):void;
        /**
         * Renders the view’s scene into a new image object.
         */
        snapshot():UIImage;
    }
    export class SCNPhysicsField extends NSObject {
        /**
         * A location marking the end of the field’s area of effect.
         */
        halfExtent: SCNVector3;
        /**
         * The area affected by the field, either inside or outside its region.
         */
        scope: SCNPhysicsFieldScope;
        /**
         * A Boolean value that determines whether the field’s area of effect is shaped like a box or ellipsoid.
         */
        usesEllipsoidalExtent: boolean;
        /**
         * The offset of the field’s center within its area of effect.
         */
        offset: SCNVector3;
        /**
         * The field’s directional axis.
         */
        direction: SCNVector3;
        /**
         * A multiplier for the force that the field applies to objects in its area of effect.
         */
        strength: CGFloat;
        /**
         * An exponent that determines how the field’s strength diminishes with distance.
         */
        falloffExponent: CGFloat;
        /**
         * The minimum value for distance-based effects.
         */
        minimumDistance: CGFloat;
        /**
         * A Boolean value that determines whether the field’s effect is enabled.
         */
        isActive: boolean;
        /**
         * A Boolean value that determines whether the field overrides other fields whose areas of effect it overlaps.
         */
        isExclusive: boolean;
        /**
         * A mask that defines which categories this physics field belongs to.
         */
        categoryBitMask: number;
        /**
         * Creates a field that slows any object in its area of effect with a force proportional to the object’s velocity.
         */
        static drag():SCNPhysicsField;
        /**
         * Creates a field whose forces circulate around an axis.
         */
        static vortex():SCNPhysicsField;
        /**
         * Creates a field that accelerates objects toward its center.
         */
        static radialGravity():SCNPhysicsField;
        /**
         * Creates a field that accelerates objects in a specific direction.
         */
        static linearGravity():SCNPhysicsField;
        /**
         * Creates a field that applies random forces to objects in its area of effect.
         */
        static noiseField(smoothness: CGFloat, speed: CGFloat):SCNPhysicsField;
        /**
         * Creates a field that applies random forces to objects in its area of effect, with magnitudes proportional to those objects’ velocities.
         */
        static turbulenceField(smoothness: CGFloat, speed: CGFloat):SCNPhysicsField;
        /**
         * Creates a field that pulls objects toward its center with a spring-like force.
         */
        static spring():SCNPhysicsField;
        /**
         * Creates a field that attracts or repels objects based on their electrical charge and on their distance from the field’s center.
         */
        static electric():SCNPhysicsField;
        /**
         * Creates a field that attracts or repels objects based on their electrical charge, velocity, and distance from the field’s axis.
         */
        static magnetic():SCNPhysicsField;
        /**
         * Creates a field that runs the specified block to determine the force a field applies to each object in its area of effect.
         */
        static customField(block: SCNFieldForceEvaluator):SCNPhysicsField;
    }
    export enum SCNPhysicsFieldScope {
        insideExtent = 0,
        outsideExtent = 1,
    }
    export class SCNPhysicsBehavior extends NSObject {}
    export class SCNPhysicsHingeJoint extends SCNPhysicsBehavior {
        /**
         * The first physics body connected by the joint.
         */
        bodyA: SCNPhysicsBody;
        /**
         * The axis that the hinge pivots around, relative to the node containing the first body.
         */
        axisA: SCNVector3;
        /**
         * The point at which the hinge connects, relative to the node containing the first body.
         */
        anchorA: SCNVector3;
        /**
         * The second physics body connected by the joint.
         */
        bodyB: SCNPhysicsBody | null;
        /**
         * The axis that the hinge pivots around, relative to the node containing the second body.
         */
        axisB: SCNVector3;
        /**
         * The point at which the hinge connects, relative to the node containing the second body.
         */
        anchorB: SCNVector3;
        /**
         * Creates a hinge joint connecting two physics bodies.
         */
        constructor (bodyA: SCNPhysicsBody, axisA: SCNVector3, anchorA: SCNVector3, bodyB: SCNPhysicsBody, axisB: SCNVector3, anchorB: SCNVector3);
        /**
         * Creates a hinge joint that anchors a single physics body in space and lets it rotate around a specific axis.
         */
        constructor (body: SCNPhysicsBody, axis: SCNVector3, anchor: SCNVector3);
    }
    export class SCNPhysicsSliderJoint extends SCNPhysicsBehavior {
        /**
         * The first physics body connected by the joint.
         */
        bodyA: SCNPhysicsBody;
        /**
         * The axis along which the first body can slide, relative to the node containing it.
         */
        axisA: SCNVector3;
        /**
         * The point at which the joint connects, relative to the node containing the first body.
         */
        anchorA: SCNVector3;
        /**
         * The second physics body connected by the joint.
         */
        bodyB: SCNPhysicsBody | null;
        /**
         * The axis along which the second body can slide, relative to the node containing it.
         */
        axisB: SCNVector3;
        /**
         * The point at which the joint connects, relative to the node containing the second body.
         */
        anchorB: SCNVector3;
        /**
         * The minimum distance between the anchor points of the two bodies, relative to their initial positions.
         */
        minimumLinearLimit: CGFloat;
        /**
         * The maximum distance between the anchor points of the two bodies, relative to their initial positions.
         */
        maximumLinearLimit: CGFloat;
        /**
         * The minimum rotation angle between the two bodies, measured in radians relative to their initial orientations.
         */
        minimumAngularLimit: CGFloat;
        /**
         * The maximum rotation angle between the two bodies, measured in radians relative to their initial orientations.
         */
        maximumAngularLimit: CGFloat;
        /**
         * The velocity at which the joint’s connected bodies should slide.
         */
        motorTargetLinearVelocity: CGFloat;
        /**
         * The maximum linear force that the joint can apply to its connected bodies, in newtons.
         */
        motorMaximumForce: CGFloat;
        /**
         * The angular velocity at which the joint’s connected bodies should rotate around it.
         */
        motorTargetAngularVelocity: CGFloat;
        /**
         * The maximum torque that the joint can apply to its connected bodies, in newton-meters.
         */
        motorMaximumTorque: CGFloat;
        /**
         * Creates a slider joint connecting two physics bodies.
         */
        constructor (bodyA: SCNPhysicsBody, axisA: SCNVector3, anchorA: SCNVector3, bodyB: SCNPhysicsBody, axisB: SCNVector3, anchorB: SCNVector3);
        /**
         * Creates a slider joint that anchors a single physics body in space and allows it to slide along a specific axis.
         */
        constructor (body: SCNPhysicsBody, axis: SCNVector3, anchor: SCNVector3);
    }
    export class SCNPhysicsBallSocketJoint extends SCNPhysicsBehavior {
        /**
         * The first physics body connected by the joint.
         */
        bodyA: SCNPhysicsBody;
        /**
         * The point at which the joint connects, relative to the node containing the first body.
         */
        anchorA: SCNVector3;
        /**
         * The second physics body connected by the joint.
         */
        bodyB: SCNPhysicsBody | null;
        /**
         * The point at which the joint connects, relative to the node containing the second body.
         */
        anchorB: SCNVector3;
        /**
         * Creates a ball and socket joint connecting two physics bodies.
         */
        constructor (bodyA: SCNPhysicsBody, anchorA: SCNVector3, bodyB: SCNPhysicsBody, anchorB: SCNVector3);
        /**
         * Creates a ball and socket joint that anchors a single physics body in space and allows it to rotate freely around an anchor point.
         */
        constructor (body: SCNPhysicsBody, anchor: SCNVector3);
    }
    export class SCNPhysicsConeTwistJoint extends SCNPhysicsBehavior {
        bodyA: SCNPhysicsBody;
        bodyB: SCNPhysicsBody | null;
        frameA: SCNMatrix4;
        frameB: SCNMatrix4;
        maximumAngularLimit1: CGFloat;
        maximumAngularLimit2: CGFloat;
        maximumTwistAngle: CGFloat;
        constructor (body: SCNPhysicsBody, frame: SCNMatrix4);
        constructor (bodyA: SCNPhysicsBody, frameA: SCNMatrix4, bodyB: SCNPhysicsBody, frameB: SCNMatrix4);
    }
    export class SCNPhysicsVehicle extends SCNPhysicsBehavior {
        /**
         * The physics body representing the vehicle’s chassis.
         */
        chassisBody: SCNPhysicsBody;
        /**
         * An array of 
         *  objects representing the vehicle’s wheels.
         */
        wheels: SCNPhysicsVehicleWheel[];
        /**
         * The vehicle’s ground speed, in kilometers per hour.
         */
        speedInKilometersPerHour: CGFloat;
        /**
         * Creates a vehicle behavior.
         */
        constructor (chassisBody: SCNPhysicsBody, wheels: SCNPhysicsVehicleWheel[]);
        /**
         * Applies a force between the specified wheel and the ground under the vehicle.
         */
        applyEngineForce(value: CGFloat, index: number):void;
        /**
         * Applies a force between the specified wheel and the ground under the vehicle.
         */
        applyBrakingForce(value: CGFloat, index: number):void;
        /**
         * Pivots the specified wheel around its steering axis.
         */
        setSteeringAngle(value: CGFloat, index: number):void;
    }
    export class SCNNode extends NSObject {
        /**
         * The direction SceneKit treats as "right" in local space for all nodes.
         */
        static simdLocalRight: simd_float3;
        /**
         * The direction SceneKit treats as "up" in local space for all nodes.
         */
        static simdLocalUp: simd_float3;
        /**
         * The unit vector SceneKit treats as "forward" in local space for all nodes.
         */
        static simdLocalFront: simd_float3;
        /**
         * The direction SceneKit treats as "right" in local space for all nodes.
         */
        static localRight: SCNVector3;
        /**
         * The direction SceneKit treats as "up" in local space for all nodes.
         */
        static localUp: SCNVector3;
        /**
         * The unit vector SceneKit treats as "forward" in local space for all nodes.
         */
        static localFront: SCNVector3;
        /**
         * The transform applied to the node relative to its parent. Animatable.
         */
        simdTransform: simd_float4x4;
        /**
         * The translation applied to the node. Animatable.
         */
        simdPosition: simd_float3;
        /**
         * The node’s orientation, expressed as a rotation angle about an axis. Animatable.
         */
        simdRotation: simd_float4;
        /**
         * The node’s orientation, expressed as pitch, yaw, and roll angles in radians. Animatable.
         */
        simdEulerAngles: simd_float3;
        /**
         * The node’s orientation, expressed as a quaternion. Animatable.
         */
        simdOrientation: simd_quatf;
        /**
         * The scale factor applied to the node. Animatable.
         */
        simdScale: simd_float3;
        /**
         * The pivot point for the node’s position, rotation, and scale. Animatable.
         */
        simdPivot: simd_float4x4;
        /**
         * A name associated with the node.
         */
        name: string;
        /**
         * The light attached to the node.
         */
        light: SCNLight | null;
        /**
         * The camera attached to the node.
         */
        camera: SCNCamera | null;
        /**
         * The geometry attached to the node.
         */
        geometry: SCNGeometry | null;
        /**
         * The morpher object responsible for blending the node’s geometry.
         */
        morpher: SCNMorpher | null;
        /**
         * The skinner object responsible for skeletal animations of node’s contents.
         */
        skinner: SCNSkinner | null;
        /**
         * A mask that defines which categories the node belongs to.
         */
        categoryBitMask: number;
        /**
         * A list of constraints affecting the node’s transformation.
         */
        constraints: SCNConstraint[] | null;
        /**
         * A node object representing the state of the node as it currently appears onscreen.
         */
        presentation: SCNNode;
        /**
         * A Boolean value that determines whether to run actions and animations attached to the node and its child nodes.
         */
        isPaused: boolean;
        /**
         * A Boolean value that determines the visibility of the node’s contents. Animatable.
         */
        isHidden: boolean;
        /**
         * The opacity value of the node. Animatable.
         */
        opacity: CGFloat;
        /**
         * The order the node’s content is drawn in relative to that of other nodes.
         */
        renderingOrder: number;
        /**
         * A Boolean value that determines whether SceneKit renders the node’s contents into shadow maps.
         */
        castsShadow: boolean;
        /**
         * A value that indicates how SceneKit should handle the node when rendering movement-related effects.
         */
        movabilityHint: SCNMovabilityHint;
        /**
         * The node’s parent in the scene graph hierarchy.
         */
        parent: SCNNode | null;
        /**
         * An array of the node’s children in the scene graph hierarchy.
         */
        childNodes: SCNNode[];
        /**
         * An array of Core Image filters to be applied to the rendered contents of the node.
         */
        filters: CIFilter[] | null;
        /**
         * An object responsible for rendering custom contents for the node using Metal or OpenGL.
         */
        rendererDelegate: SCNNodeRendererDelegate | null;
        /**
         * The physics body associated with the node.
         */
        physicsBody: SCNPhysicsBody | null;
        /**
         * The physics field associated with the node.
         */
        physicsField: SCNPhysicsField | null;
        /**
         * The particle systems attached to the node.
         */
        particleSystems: SCNParticleSystem[] | null;
        /**
         * The audio players currently attached to the node.
         */
        audioPlayers: SCNAudioPlayer[];
        /**
         * The "right" (+X) direction vector relative to the node, expressed in world space.
         */
        simdWorldRight: simd_float3;
        /**
         * The "up" (+Y) direction vector relative to the node, expressed in world space.
         */
        simdWorldUp: simd_float3;
        /**
         * The "forward" (-Z) direction vector relative to the node, expressed in world space.
         */
        simdWorldFront: simd_float3;
        /**
         * The world transform applied to the node.
         */
        simdWorldTransform: simd_float4x4;
        /**
         * The node's orientation relative to the scene's world coordinate space.
         */
        simdWorldOrientation: simd_quatf;
        /**
         * The node's position relative to the scene's world coordinate space.
         */
        simdWorldPosition: simd_float3;
        /**
         * The focus behavior for a node.
         */
        focusBehavior: SCNNodeFocusBehavior;
        /**
         * The GameplayKit entity this node represents.
         */
        entity: GKEntity | null;
        /**
         * The transform applied to the node relative to its parent. Animatable.
         */
        transform: SCNMatrix4;
        /**
         * The translation applied to the node. Animatable.
         */
        position: SCNVector3;
        /**
         * The node’s orientation, expressed as a rotation angle about an axis. Animatable.
         */
        rotation: SCNVector4;
        /**
         * The node’s orientation, expressed as pitch, yaw, and roll angles in radians. Animatable.
         */
        eulerAngles: SCNVector3;
        /**
         * The node’s orientation, expressed as a quaternion. Animatable.
         */
        orientation: SCNQuaternion;
        /**
         * The scale factor applied to the node. Animatable.
         */
        scale: SCNVector3;
        /**
         * The pivot point for the node’s position, rotation, and scale. Animatable.
         */
        pivot: SCNMatrix4;
        /**
         * The "right" (+X) direction vector relative to the node, expressed in world space.
         */
        worldRight: SCNVector3;
        /**
         * The "up" (+Y) direction vector relative to the node, expressed in world space.
         */
        worldUp: SCNVector3;
        /**
         * The "forward" (-Z) direction vector relative to the node, expressed in world space.
         */
        worldFront: SCNVector3;
        /**
         * The world transform applied to the node.
         */
        worldTransform: SCNMatrix4;
        /**
         * The node's orientation relative to the scene's world coordinate space.
         */
        worldOrientation: SCNQuaternion;
        /**
         * The node's position relative to the scene's world coordinate space.
         */
        worldPosition: SCNVector3;
        /**
         * Creates and returns a node object with the specified geometry attached.
         */
        constructor (geometry: SCNGeometry | null);
        /**
         * Adds a node to the node’s array of children.
         */
        addChildNode(child: SCNNode):void;
        /**
         * Adds a node to the node’s array of children at a specified index.
         */
        insertChildNode(child: SCNNode, index: number):void;
        /**
         * Removes the node from its parent’s array of child nodes.
         */
        removeFromParentNode():void;
        /**
         * Removes a child from the node’s array of children and inserts another node in its place.
         */
        replaceChildNode(oldChild: SCNNode, newChild: SCNNode):void;
        /**
         * Returns the first node in the node’s child node subtree with the specified name.
         */
        childNode(name: string, recursively: boolean):SCNNode | null;
        /**
         * Executes the specified block for each of the node’s child and descendant nodes.
         */
        enumerateChildNodes(block: ()=>any):void;
        /**
         * Executes the specified block for each of the node’s child and descendant nodes, as well as for the node itself.
         */
        enumerateHierarchy(block: ()=>any):void;
        /**
         * Attaches a particle system to the node.
         */
        addParticleSystem(system: SCNParticleSystem):void;
        /**
         * Removes a particle system attached to the node.
         */
        removeParticleSystem(system: SCNParticleSystem):void;
        /**
         * Removes any particle systems directly attached to the node.
         */
        removeAllParticleSystems():void;
        /**
         * Adds the specified auto player to the node and begins playback.
         */
        addAudioPlayer(player: SCNAudioPlayer):void;
        /**
         * Removes the specified audio player from the node, stopping playback.
         */
        removeAudioPlayer(player: SCNAudioPlayer):void;
        /**
         * Removes all audio players attached to the node, stopping playback.
         */
        removeAllAudioPlayers():void;
        /**
         * Creates a copy of the node and its children.
         */
        clone():Self;
        /**
         * Creates an optimized copy of the node and its children.
         */
        flattenedClone():Self;
        /**
         * Searches the node’s child node subtree for objects intersecting a line segment between two specified points.
         */
        hitTestWithSegment(pointA: SCNVector3, pointB: SCNVector3, options: Record<string, any> | null):SCNHitTestResult[];
        /**
         * Changes the node's position and orientation, relative to its current transform, through a rotation around the specified point in scene space.
         */
        simdRotate(worldRotation: simd_quatf, worldTarget: simd_float3):void;
        /**
         * Changes the node's position relative to its current position.
         */
        simdLocalTranslate(translation: simd_float3):void;
        /**
         * Changes the node's orientation relative to its current orientation.
         */
        simdLocalRotate(rotation: simd_quatf):void;
        /**
         * Changes the node's orientation so that its local forward vector points toward the specified location.
         */
        simdLook(worldTarget: simd_float3):void;
        /**
         * Converts a position to the node’s local coordinate space from that of another node.
         */
        simdConvertPosition(position: simd_float3, node: SCNNode | null):simd_float3;
        /**
         * Converts a transform to the node’s local coordinate space from that of another node.
         */
        simdConvertTransform(transform: simd_float4x4, node: SCNNode | null):simd_float4x4;
        /**
         * Converts a direction vector to the node’s local coordinate space from that of another node.
         */
        simdConvertVector(vector: simd_float3, node: SCNNode | null):simd_float3;
        /**
         * Changes the node's position and orientation, relative to its current transform, through a rotation around the specified point in scene space.
         */
        rotate(worldRotation: SCNQuaternion, worldTarget: SCNVector3):void;
        /**
         * Changes the node's position relative to its current position.
         */
        localTranslate(translation: SCNVector3):void;
        /**
         * Changes the node's orientation relative to its current orientation.
         */
        localRotate(rotation: SCNQuaternion):void;
        /**
         * Changes the node's orientation so that its local forward vector points toward the specified location.
         */
        look(worldTarget: SCNVector3):void;
        /**
         * Sets the world transform applied to the node.
         */
        setWorldTransform(worldTransform: SCNMatrix4):void;
        /**
         * Converts a position to the node’s local coordinate space from that of another node.
         */
        convertPosition(position: SCNVector3, node: SCNNode | null):SCNVector3;
        /**
         * Converts a transform to the node’s local coordinate space from that of another node.
         */
        convertTransform(transform: SCNMatrix4, node: SCNNode | null):SCNMatrix4;
        /**
         * Converts a direction vector to the node’s local coordinate space from that of another node.
         */
        convertVector(vector: SCNVector3, node: SCNNode | null):SCNVector3;
    }
    export class SCNPhysicsVehicleWheel extends NSObject {
        /**
         * The position of the wheel’s connection to the vehicle’s chassis.
         */
        connectionPosition: SCNVector3;
        /**
         * The direction of the axis that the wheel spins around to move the vehicle.
         */
        axle: SCNVector3;
        /**
         * The direction of the axis that the wheel pivots around to steer the vehicle.
         */
        steeringAxis: SCNVector3;
        /**
         * The radius of the wheel.
         */
        radius: CGFloat;
        /**
         * The traction between the wheel and any surface in contact with it.
         */
        frictionSlip: CGFloat;
        /**
         * The spring coefficient of the suspension between the vehicle and the wheel.
         */
        suspensionStiffness: CGFloat;
        /**
         * The coefficient that limits the speed of the suspension returning to its rest length when compressed.
         */
        suspensionCompression: CGFloat;
        /**
         * The damping ratio that limits oscillation in the vehicle’s suspension.
         */
        suspensionDamping: CGFloat;
        /**
         * The maximum distance that the wheel is allowed to move up or down relative to its connection point, in centimeters.
         */
        maximumSuspensionTravel: CGFloat;
        /**
         * The maximum force of the suspension between the vehicle and the wheel, in newtons.
         */
        maximumSuspensionForce: CGFloat;
        /**
         * The resting length of the suspension, in meters.
         */
        suspensionRestLength: CGFloat;
        /**
         * The node providing the wheel’s visual representation.
         */
        node: SCNNode;
        /**
         * Creates a wheel object.
         */
        constructor (node: SCNNode);
    }
    export class SCNParticleSystem extends NSObject {
        /**
         * The duration, in seconds, over which the system spawns new particles. Animatable.
         */
        emissionDuration: CGFloat;
        /**
         * The range, in seconds, of randomized emission duration values. Animatable.
         */
        emissionDurationVariation: CGFloat;
        /**
         * The duration, in seconds, of periods when the system emits no particles. Animatable.
         */
        idleDuration: CGFloat;
        /**
         * The range, in seconds, of randomized idle duration values. Animatable.
         */
        idleDurationVariation: CGFloat;
        /**
         * A Boolean value that determines whether the system repeats its emission and idle periods.
         */
        loops: boolean;
        /**
         * The duration, in seconds, for which particles are spawned before the system is first rendered. Animatable.
         */
        warmupDuration: CGFloat;
        /**
         * The number of particles spawned during each emission period. Animatable.
         */
        birthRate: CGFloat;
        /**
         * The range of randomized particle birth rate values. Animatable.
         */
        birthRateVariation: CGFloat;
        /**
         * The shape of the region of space where the system spawns new particles.
         */
        emitterShape: SCNGeometry | null;
        /**
         * The possible locations for newly spawned particles, relative to the emitter shape.
         */
        birthLocation: SCNParticleBirthLocation;
        /**
         * The possible initial directions for newly spawned particles, relative to the emitter shape.
         */
        birthDirection: SCNParticleBirthDirection;
        /**
         * The initial direction for newly spawned particles. Animatable.
         */
        emittingDirection: SCNVector3;
        /**
         * The range, in degrees, of randomized initial particle directions. Animatable.
         */
        spreadingAngle: CGFloat;
        /**
         * The rotation angle, in degrees, of newly spawned particles. Animatable.
         */
        particleAngle: CGFloat;
        /**
         * The range, in degrees of randomized initial particle angles. Animatable.
         */
        particleAngleVariation: CGFloat;
        /**
         * The initial speed, in units per second, for newly spawned particles. Animatable.
         */
        particleVelocity: CGFloat;
        /**
         * The range, in units per second, of randomized initial particle speeds. Animatable.
         */
        particleVelocityVariation: CGFloat;
        /**
         * The initial spin rate, in degrees per second, of newly spawned particles. Animatable.
         */
        particleAngularVelocity: CGFloat;
        /**
         * The range, in degrees per second, of randomized initial angular velocities for particles. Animatable.
         */
        particleAngularVelocityVariation: CGFloat;
        /**
         * The duration, in seconds, for which each particle is rendered before being removed from the scene. Animatable.
         */
        particleLifeSpan: CGFloat;
        /**
         * The range, in seconds, of randomized particle life spans. Animatable.
         */
        particleLifeSpanVariation: CGFloat;
        /**
         * The rendered size, in units of the scene’s world coordinate space, of the particle image. Animatable.
         */
        particleSize: CGFloat;
        /**
         * The range of randomized particle sizes. Animatable.
         */
        particleSizeVariation: CGFloat;
        /**
         * The color of newly spawned particles. Animatable.
         */
        particleColor: UIColor;
        /**
         * The ranges of randomized particle color components. Animatable.
         */
        particleColorVariation: SCNVector4;
        /**
         * The texture image SceneKit uses to render each particle.
         */
        particleImage: any;
        /**
         * The reflectivity exponent SceneKit uses when rendering the particle’s image as a cube map. Animatable.
         */
        fresnelExponent: CGFloat;
        /**
         * A multiplier for stretching particle images along their direction of motion. Animatable.
         */
        stretchFactor: CGFloat;
        /**
         * The number of rows for treating the particle image as a grid of animation frames.
         */
        imageSequenceRowCount: number;
        /**
         * The number of columns for treating the particle image as a grid of animation frames.
         */
        imageSequenceColumnCount: number;
        /**
         * The index of the first frame in a particle image animation. Animatable.
         */
        imageSequenceInitialFrame: CGFloat;
        /**
         * The range of randomized initial frames for particle image animation. Animatable.
         */
        imageSequenceInitialFrameVariation: CGFloat;
        /**
         * The rate, in frames per second, of particle image animation. Animatable.
         */
        imageSequenceFrameRate: CGFloat;
        /**
         * The range, in frames per second, of randomized frame rates for particle image animation. Animatable.
         */
        imageSequenceFrameRateVariation: CGFloat;
        /**
         * The animation mode for particle image animation.
         */
        imageSequenceAnimationMode: SCNParticleImageSequenceAnimationMode;
        /**
         * A Boolean value that determines whether gravity, as defined by the scene’s physics simulation, affects the motion of particles.
         */
        isAffectedByGravity: boolean;
        /**
         * A Boolean value that determines whether physics fields in the scene affect the motion of particles.
         */
        isAffectedByPhysicsFields: boolean;
        /**
         * The nodes whose geometry the system’s particles can collide with.
         */
        colliderNodes: SCNNode[] | null;
        /**
         * A Boolean value that determines whether particles are removed from the scene upon colliding with another object.
         */
        particleDiesOnCollision: boolean;
        /**
         * The constant acceleration vector, in units per second per second, applied to all particles in the system. Animatable.
         */
        acceleration: SCNVector3;
        /**
         * A factor that slows particles relative to their velocity. Animatable.
         */
        dampingFactor: CGFloat;
        /**
         * The mass, in kilograms, of each particle in the system. Animatable.
         */
        particleMass: CGFloat;
        /**
         * The range, in kilograms, of randomized particle masses. Animatable.
         */
        particleMassVariation: CGFloat;
        /**
         * The electric charge, in coulombs, of each particle in the system. Animatable.
         */
        particleCharge: CGFloat;
        /**
         * The range, in coulombs, of randomized particle charges. Animatable.
         */
        particleChargeVariation: CGFloat;
        /**
         * The restitution coefficient of each particle in the system. Animatable.
         */
        particleBounce: CGFloat;
        /**
         * The range of randomized restitution coefficients for particles. Animatable.
         */
        particleBounceVariation: CGFloat;
        /**
         * The friction coefficient of each particle in the system. Animatable.
         */
        particleFriction: CGFloat;
        /**
         * The range of randomized friction coefficients for particles. Animatable.
         */
        particleFrictionVariation: CGFloat;
        /**
         * Another particle system to be added to the scene when a particle collides with scene geometry.
         */
        systemSpawnedOnCollision: SCNParticleSystem | null;
        /**
         * Another particle system to be added to the scene when a particle dies.
         */
        systemSpawnedOnDying: SCNParticleSystem | null;
        /**
         * Another particle system to be added to the scene for each living particle in the system.
         */
        systemSpawnedOnLiving: SCNParticleSystem | null;
        /**
         * The blending mode for compositing particle images into the rendered scene.
         */
        blendMode: SCNParticleBlendMode;
        /**
         * The mode defining whether and how particles may rotate.
         */
        orientationMode: SCNParticleOrientationMode;
        /**
         * The mode defining the order in which SceneKit renders the system’s particles.
         */
        sortingMode: SCNParticleSortingMode;
        /**
         * A Boolean value that determines whether SceneKit applies lighting to particle images when rendering.
         */
        isLightingEnabled: boolean;
        /**
         * A Boolean value that determines whether SceneKit renders particles in black before rendering the particle image.
         */
        isBlackPassEnabled: boolean;
        /**
         * A Boolean value that specifies whether the particle simulation runs in the local coordinate space of the node containing it.
         */
        isLocal: boolean;
        /**
         * A multiplier for the speed at which SceneKit runs the particle simulation. Animatable.
         */
        speedFactor: CGFloat;
        /**
         * A dictionary that optionally associates particle properties with objects that animate a property’s value for each particle.
         */
        propertyControllers: Record<SCNParticleSystem.ParticleProperty, SCNParticlePropertyController> | null;
        orientationDirection: SCNVector3;
        particleIntensity: CGFloat;
        particleIntensityVariation: CGFloat;
        writesToDepthBuffer: boolean;
        /**
         * Loads a particle system from a file in the app’s bundle resources.
         */
        constructor (name: string, directory: string);
        /**
         * Returns the particle system to its initial state.
         */
        reset():void;
        /**
         * Adds a block that modifies particle properties, to be executed at a specified event in the lifetimes of particles in the system.
         */
        handle(event: SCNParticleEvent, properties: SCNParticleSystem.ParticleProperty[], block: SCNParticleEventBlock):void;
        /**
         * Adds a block that modifies particle properties, to be executed each time SceneKit renders a frame.
         */
        addModifier(properties: SCNParticleSystem.ParticleProperty[], stage: SCNParticleModifierStage, block: SCNParticleModifierBlock):void;
        /**
         * Removes particle modifier blocks for the specified stage of the particle simulation.
         */
        removeModifiers(stage: SCNParticleModifierStage):void;
        /**
         * Removes all particle modifier blocks associated with the particle system.
         */
        removeAllModifiers():void;
    }
    /**
     * the same name namespace of class SCNParticleSystem
     */
    export namespace SCNParticleSystem {
        export class ParticleProperty {
            /**
             * The rotation angle, in radians, of the particle about its axis.
             */
            static angle: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s angular velocity (or rate of spin), in radians per second.
             */
            static angularVelocity: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s restitution coefficient.
             */
            static bounce: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s electric charge, in coulombs.
             */
            static charge: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s tint color, as a vector of red, green, blue, and alpha component values.
             */
            static color: SCNParticleSystem.ParticleProperty;
            /**
             * The normal vector, in scene coordinate space, of a collision between a particle and a geometry in the scene.
             */
            static contactNormal: SCNParticleSystem.ParticleProperty;
            /**
             * The location, in scene coordinate space, of a collision between a particle and a geometry in the scene.
             */
            static contactPoint: SCNParticleSystem.ParticleProperty;
            /**
             * The current frame index of the particle’s image animation.
             */
            static frame: SCNParticleSystem.ParticleProperty;
            /**
             * The rate, in frames per second, of the particle’s image animation.
             */
            static frameRate: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s friction coefficient.
             */
            static friction: SCNParticleSystem.ParticleProperty;
            /**
             * The remaining time in the particle’s life span, in seconds.
             */
            static life: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s opacity (or alpha value).
             */
            static opacity: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s position vector in scene coordinate space.
             */
            static position: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s axis of rotation, expressed as a vector in the particle’s local coordinate space.
             */
            static rotationAxis: SCNParticleSystem.ParticleProperty;
            /**
             * The width and height of the rendered particle image, in units of scene coordinate space.
             */
            static size: SCNParticleSystem.ParticleProperty;
            /**
             * The particle’s velocity vector in units (of scene coordinate space) per second.
             */
            static velocity: SCNParticleSystem.ParticleProperty;
            constructor (rawValue: string);
        }
    }
    export enum SCNParticleBirthLocation {
        surface = 0,
        volume = 1,
        vertex = 2,
    }
    export enum SCNParticleBirthDirection {
        constant = 0,
        surfaceNormal = 1,
        random = 2,
    }
    export enum SCNParticleImageSequenceAnimationMode {
        repeat = 0,
        clamp = 1,
        autoReverse = 2,
    }
    export enum SCNParticleBlendMode {
        additive = 0,
        subtract = 1,
        multiply = 2,
        screen = 3,
        alpha = 4,
        replace = 5,
    }
    export enum SCNParticleOrientationMode {
        billboardScreenAligned = 0,
        billboardViewAligned = 1,
        free = 2,
        billboardYAligned = 3,
    }
    export enum SCNParticleSortingMode {
        none = 0,
        projectedDepth = 1,
        distance = 2,
        oldestFirst = 3,
        youngestFirst = 4,
    }
    export enum SCNParticleEvent {
        birth = 0,
        death = 1,
        collision = 2,
    }
    export enum SCNParticleModifierStage {
        preDynamics = 0,
        postDynamics = 1,
        preCollision = 2,
        postCollision = 3,
    }
    export class SCNParticlePropertyController extends NSObject {
        /**
         * The Core Animation object defining the behavior of the property animation.
         */
        animation: CAAnimation;
        /**
         * The mode that determines input values for the property controller’s animation.
         */
        inputMode: SCNParticleInputMode;
        /**
         * An offset to add to the input value of the controller’s animation.
         */
        inputBias: CGFloat;
        /**
         * A factor for multiplying the input value of the controller’s animation. 
         */
        inputScale: CGFloat;
        /**
         * A node whose distance to each particle provides input values for the controller’s animation.
         */
        inputOrigin: SCNNode | null;
        /**
         * A particle property that provides input values for this property controller’s animation.
         */
        inputProperty: SCNParticleSystem.ParticleProperty | null;
        /**
         * Creates a particle property controller with the specified Core Animation animation.
         */
        constructor (animation: CAAnimation);
    }
    export enum SCNParticleInputMode {
        overLife = 0,
        overDistance = 1,
        overOtherProperty = 2,
    }
    export interface SCNBoundingVolume extends NSObjectProtocol {
        /**
         * The minimum and maximum corner points of the object’s bounding box.
         */
        boundingBox: any;
        /**
         * The center point and radius of the object’s bounding sphere.
         */
        boundingSphere: any;
    }
    export class SCNAudioSource extends NSObject {
        /**
         * A Boolean value that determines whether audio from this source uses 3D positional mixing.
         */
        isPositional: boolean;
        /**
         * The default playback volume for the audio source.
         */
        volume: Float;
        /**
         * The default playback rate for the audio source.
         */
        rate: Float;
        /**
         * The default blend of blend of unmodified and reverb-processed (also called dry and wet) audio for playback of the audio source.
         */
        reverbBlend: Float;
        /**
         * A Boolean value that determines whether the audio source should play repeatedly.
         */
        loops: boolean;
        /**
         * A Boolean value that determines whether the audio source should stream content from its source URL when playing.
         */
        shouldStream: boolean;
        /**
         * Returns the audio source associated with the specified filename.
         */
        constructor (fileName: string);
        /**
         * Initializes an audio source from an audio file in the application’s main bundle.
         */
        constructor (name: string);
        /**
         * Initializes an audio source from the specified audio file.
         */
        constructor (url: URL);
        /**
         * Loads audio data from the source and prepares it for playing.
         */
        load():void;
    }
    export class SCNAudioPlayer extends NSObject {
        /**
         * The source of audio played by this player.
         */
        audioSource: SCNAudioSource | null;
        /**
         * The audio node SceneKit uses for mixing audio from this player.
         */
        audioNode: AVAudioNode | null;
        /**
         * A block called by SceneKit when playback of the player’s audio source is about to begin.
         */
        willStartPlayback: ()=>any | null;
        /**
         * A block called by SceneKit when playback of the player’s audio source has completed.
         */
        didFinishPlayback: ()=>any | null;
        /**
         * Initializes an audio player for playing the specified simple audio source.
         */
        constructor (source: SCNAudioSource);
        /**
         * Initializes an audio player for playing the specified AVFoundation audio node.
         */
        constructor (audioNode: AVAudioNode);
    }
    export interface SCNShadable extends NSObjectProtocol {
        /**
         * A program used when rendering the object.
         */
        program: SCNProgram | null;
        /**
         * A dictionary of GLSL source code snippets for customizing the shader programs provided by SceneKit.
         */
        shaderModifiers: Record<SCNShaderModifierEntryPoint, string> | null;
        /**
         * Specifies a block to be called before rendering with programs with the specified GLSL uniform variable or attribute name.
         */
        handleBinding(symbol: string, block: SCNBindingBlock | null):void;
        /**
         * Specifies a block to be called after rendering with programs with the specified GLSL uniform variable or attribute name.
         */
        handleUnbinding(symbol: string, block: SCNBindingBlock | null):void;
        minimumLanguageVersion: NSNumber | null;
    }
    export class SCNShaderModifierEntryPoint {
        /**
         * Use this entry point to change the color of a fragment after all other shading has been performed.
         */
        static fragment: SCNShaderModifierEntryPoint;
        /**
         * Use this entry point to deform a geometry’s surface or alter its vertex attributes.
         */
        static geometry: SCNShaderModifierEntryPoint;
        /**
         * Use this entry point to provide a custom lighting equation.
         */
        static lightingModel: SCNShaderModifierEntryPoint;
        /**
         * Use this entry point to modify the surface properties of a material before lighting is computed.
         */
        static surface: SCNShaderModifierEntryPoint;
        constructor (rawValue: string);
    }
    export class SCNProgram extends NSObject {
        /**
         * GLSL source code for the program’s vertex shader.
         */
        vertexShader: string;
        /**
         * GLSL source code for the program’s fragment shader.
         */
        fragmentShader: string;
        /**
         * GLSL source code for the program’s optional geometry shader.
         */
        geometryShader: string;
        /**
         * GLSL source code for the program’s optional tessellation control shader.
         */
        tessellationControlShader: string;
        /**
         * GLSL source code for the program’s optional tessellation evaluation shader.
         */
        tessellationEvaluationShader: string;
        /**
         * The delegate of the program object.
         */
        delegate: SCNProgramDelegate | null;
        /**
         * A Boolean value that indicates whether fragments rendered by the program are fully opaque.
         */
        isOpaque: boolean;
        /**
         * The name of the vertex shader function to load from a Metal shader library.
         */
        vertexFunctionName: string;
        /**
         * The name of the fragment shader function to load from a Metal shader library.
         */
        fragmentFunctionName: string;
        /**
         * The Metal shader library containing shader functions to be used by this program.
         */
        library: MTLLibrary | null;
        /**
         * Associates a SceneKit semantic identifier with the specified GLSL vertex attribute or uniform variable.
         */
        setSemantic(semantic: string, symbol: string, options: Record<string, any> | null):void;
        /**
         * Returns the SceneKit semantic identifiers associated with the specified GLSL vertex attribute or uniform variable.
         */
        semantic(symbol: string):string;
        /**
         * Registers a block for SceneKit to call at render time for binding a Metal buffer to the shader program.
         */
        handleBinding(name: string, frequency: SCNBufferFrequency, block: SCNBufferBindingBlock):void;
    }
    export interface SCNProgramDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that an error occurred when compiling GLSL source code.
         */
        program(program: SCNProgram, error: Error):void;
        /**
         * Asks the delegate whether fragments rendered by a program are opaque.
         */
        programIsOpaque(program: SCNProgram):boolean;
    }
    export enum SCNBufferFrequency {
        perFrame = 0,
        perNode = 1,
        perShadable = 2,
    }
    export interface SCNBufferStream extends NSObjectProtocol {
        /**
         * Copies the specified data bytes into the underlying Metal buffer for use by a shader.
         */
        writeBytes(bytes: UnsafeRawPointer, length: number):void;
    }
    export class SCNTechnique extends NSObject {
        /**
         * The dictionary defining the rendering technique.
         */
        dictionaryRepresentation: Record<string, any>;
        library: MTLLibrary | null;
        /**
         * Creates a technique from a technique definition dictionary.,
         */
        constructor (dictionary: Record<string, any>);
        /**
         * Creates a new rendering technique that combines a series of techniques.
         */
        constructor (techniques: SCNTechnique[]);
        /**
         * Specifies a block to be called before rendering using programs with the specified GLSL uniform variable or attribute name.
         */
        handleBinding(symbol: string, block: SCNBindingBlock | null):void;
        /**
         * Sets a value for the specified shader  variable or attribute name, using subscript syntax.
         */
        setObject(obj: any, key: NSCopying):void;
    }
    export interface SCNTechniqueSupport extends NSObjectProtocol {
        /**
         * The technique SceneKit uses when rendering the object.
         */
        technique: SCNTechnique | null;
    }
    export interface SCNNodeRendererDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to perform rendering for a node.
         */
        renderNode(node: SCNNode, renderer: SCNRenderer, arguments: Record<string, any>):void;
    }
    export class SCNSceneSource extends NSObject {
        /**
         * The URL identifying the file from which the scene source was created.
         */
        url: URL | null;
        /**
         * The data object from which the scene source loads scene content.
         */
        data: Data | null;
        /**
         * Initializes a scene source for reading the scene graph from a specified file.
         */
        constructor (url: URL, options: Record<SCNSceneSource.LoadingOption, any> | null);
        /**
         * Initializes a scene source for reading the scene graph contained in an 
         *  object.
         */
        constructor (data: Data, options: Record<SCNSceneSource.LoadingOption, any> | null);
        /**
         * Loads the entire scene graph from the scene source and calls the specified block to provide progress information.
         */
        scene(options: Record<SCNSceneSource.LoadingOption, any> | null, statusHandler: SCNSceneSourceStatusHandler | null):SCNScene | null;
        /**
         * Returns the identifiers for all objects in the scene source of the specified class.
         */
        identifiersOfEntries(entryClass: AnyClass):string[];
        /**
         * Loads and returns all objects in the scene source that pass the test in a given block.
         */
        entries(predicate: ()=>any):any[];
        /**
         * Returns metadata about the scene.
         */
        property(key: string):any;
    }
    /**
     * the same name namespace of class SCNSceneSource
     */
    export namespace SCNSceneSource {
        export class LoadingOption {
            /**
             * An option for controlling the playback of animations in a scene file.
             */
            static animationImportPolicy: SCNSceneSource.LoadingOption;
            /**
             * Locations to use for resolving relative URLs to external resources.
             */
            static assetDirectoryURLs: SCNSceneSource.LoadingOption;
            /**
             * An option to validate scene files while loading.
             */
            static checkConsistency: SCNSceneSource.LoadingOption;
            /**
             * An option for whether to transform assets loaded from the scene file for use in a coordinate system where the y-axis points up.
             */
            static convertToYUp: SCNSceneSource.LoadingOption;
            /**
             * An option for whether to automatically scale the scene’s contents.
             */
            static convertUnitsToMeters: SCNSceneSource.LoadingOption;
            /**
             * An option for automatically generating surface normals if they are absent when loading geometry.
             */
            static createNormalsIfAbsent: SCNSceneSource.LoadingOption;
            /**
             * An option for automatically merging portions of a scene graph during loading.
             */
            static flattenScene: SCNSceneSource.LoadingOption;
            /**
             * An option to attempt loading external resources using their URLs as specified in a scene file.
             */
            static overrideAssetURLs: SCNSceneSource.LoadingOption;
            static preserveOriginalTopology: SCNSceneSource.LoadingOption;
            /**
             * An option to interpret scene files exactly as specified by the scene file format.
             */
            static strictConformance: SCNSceneSource.LoadingOption;
            /**
             * An option to limit filesystem and network access for external resources referenced by a scene file.
             */
            static useSafeMode: SCNSceneSource.LoadingOption;
            constructor (rawValue: string);
        }
        export class AnimationImportPolicy {
            /**
             * Animations are not loaded from the scene file.
             */
            static doNotPlay: SCNSceneSource.AnimationImportPolicy;
            /**
             * Animations loaded from the scene file are immediately added to the scene and played once.
             */
            static play: SCNSceneSource.AnimationImportPolicy;
            /**
             * Animations loaded from the scene file are immediately added to the scene and played repeatedly.
             */
            static playRepeatedly: SCNSceneSource.AnimationImportPolicy;
            /**
             * Animations loaded from the scene file are immediately added to the scene and played according to the scene’s 
             *  property.
             */
            static playUsingSceneTimeBase: SCNSceneSource.AnimationImportPolicy;
            constructor (rawValue: string);
        }
    }
    export enum SCNMovabilityHint {
        fixed = 0,
        movable = 1,
    }
    export enum SCNSceneSourceStatus {
        error = -1,
        parsing = 4,
        validating = 8,
        processing = 12,
        complete = 16,
    }
    export class SCNVector3 {
        /**
         * The first component in the vector.
         */
        x: Float;
        /**
         * The second component in the vector.
         */
        y: Float;
        /**
         * The third component in the vector.
         */
        z: Float;
        constructor ();
        constructor (v: SIMD3<Float>);
        constructor (x: number, y: number, z: number);
        constructor (x: CGFloat, y: CGFloat, z: CGFloat);
    }
    export class SCNVector4 {
        /**
         * The first component in the vector.
         */
        x: Float;
        /**
         * The second component in the vector.
         */
        y: Float;
        /**
         * The third component in the vector.
         */
        z: Float;
        /**
         * The fourth component in the vector.
         */
        w: Float;
        constructor ();
        constructor (v: SIMD4<Float>);
        constructor (x: number, y: number, z: number, w: number);
        constructor (x: CGFloat, y: CGFloat, z: CGFloat, w: CGFloat);
    }
    export class SCNMatrix4 {
        m11: Float;
        m12: Float;
        m13: Float;
        m14: Float;
        m21: Float;
        m22: Float;
        m23: Float;
        m24: Float;
        m31: Float;
        m32: Float;
        m33: Float;
        m34: Float;
        m41: Float;
        m42: Float;
        m43: Float;
        m44: Float;
        constructor ();
        constructor (m: double4x4);
        constructor (m11: Float, m12: Float, m13: Float, m14: Float, m21: Float, m22: Float, m23: Float, m24: Float, m31: Float, m32: Float, m33: Float, m34: Float, m41: Float, m42: Float, m43: Float, m44: Float);
    }
    export class SceneView {
        constructor (scene: SCNScene | null, pointOfView: SCNNode | null, options: SceneView.Options, preferredFramesPerSecond: number, antialiasingMode: SCNAntialiasingMode, delegate: SCNSceneRendererDelegate | null, technique: SCNTechnique | null);
        fontDesign(design: Font.Design | null):View;
        monospaced(isActive: boolean):View;
        scrollContentBackground(visibility: Visibility):View;
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
    }
    /**
     * the same name namespace of class SceneView
     */
    export namespace SceneView {
        export class Options {
            static allowsCameraControl: SceneView.Options;
            static autoenablesDefaultLighting: SceneView.Options;
            static jitteringEnabled: SceneView.Options;
            static rendersContinuously: SceneView.Options;
            static temporalAntialiasingEnabled: SceneView.Options;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: number;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: SceneView.Options);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: SceneView.Options):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: SceneView.Options):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: SceneView.Options):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: SceneView.Options):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: SceneView.Options):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: SceneView.Options):SceneView.Options;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: SceneView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: SceneView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: SceneView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: SceneView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: SceneView.Options):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: SceneView.Options):SceneView.Options | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: SceneView.Options):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: SceneView.Options):SceneView.Options;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: SceneView.Options):SceneView.Options;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: SceneView.Options):SceneView.Options;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: SceneView.Options):SceneView.Options | null;
        }
    }
    export enum SCNLightAreaType {
        polygon = 4,
        rectangle = 1,
    }
    export enum SCNLightProbeType {
        irradiance = 0,
        radiance = 1,
    }
    export enum SCNLightProbeUpdateType {
        never = 0,
        realtime = 1,
    }
    export class SCNHitTestOption {
        /**
         * An option to ignore faces not oriented toward the camera.
         */
        static backFaceCulling: SCNHitTestOption;
        /**
         * An option to search for objects by bounding box only.
         */
        static boundingBoxOnly: SCNHitTestOption;
        /**
         * An option to search only for objects matching a specified bitmask.
         */
        static categoryBitMask: SCNHitTestOption;
        /**
         * An option to search for objects only within the depth range of the current point of view.
         */
        static clipToZRange: SCNHitTestOption;
        /**
         * An option to ignore child nodes when searching.
         */
        static ignoreChildNodes: SCNHitTestOption;
        /**
         * An option to ignore hidden nodes when searching.
         */
        static ignoreHiddenNodes: SCNHitTestOption;
        /**
         * The root of the node hierarchy to be searched.
         */
        static rootNode: SCNHitTestOption;
        /**
         * An option for the number and order of hit test results to provide.
         */
        static searchMode: SCNHitTestOption;
        /**
         * An option to return only the first object found.
         */
        static firstFoundOnly: SCNHitTestOption;
        /**
         * An option to sort the results of a hit-test.
         */
        static sortResults: SCNHitTestOption;
        static ignoreLightArea: SCNHitTestOption;
        constructor (rawValue: string);
    }
    export enum SCNHitTestSearchMode {
        all = 1,
        any = 2,
        closest = 0,
    }
    export interface SCNSceneExportDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to export an image attached to a scene.
         */
        write(image: UIImage, documentURL: URL, originalImageURL: URL | null):URL | null;
    }
    export enum SCNNodeFocusBehavior {
        none = 0,
        occluding = 1,
        focusable = 2,
    }
    export class SCNReferenceNode extends SCNNode {
        /**
         * The URL to a scene file from which to load content for the reference node.
         */
        referenceURL: URL;
        /**
         * An option for whether to load the node’s content automatically.
         */
        loadingPolicy: SCNReferenceLoadingPolicy;
        /**
         * A Boolean value that indicates whether the reference node has already loaded its content.
         */
        isLoaded: boolean;
        /**
         * Initializes a node whose content is to be loaded from the referenced URL.
         */
        constructor (referenceURL: URL);
        constructor (aDecoder: NSCoder);
        /**
         * Loads content into the node from its referenced external scene file.
         */
        load():void;
        /**
         * Removes the node’s children and marks the node as not loaded.
         */
        unload():void;
    }
    export enum SCNReferenceLoadingPolicy {
        immediate = 0,
        onDemand = 1,
    }
    export interface SCNSceneRenderer extends NSObjectProtocol {
        /**
         * The scene to be displayed.
         */
        scene: SCNScene | null;
        /**
         * Displays the specified scene with an animated transition.
         */
        present(scene: SCNScene, transition: SKTransition, pointOfView: SCNNode | null, completionHandler: ()=>any | null):void;
        /**
         * The node from which the scene’s contents are viewed for rendering.
         */
        pointOfView: SCNNode | null;
        /**
         * A Boolean value that determines whether SceneKit automatically adds lights to a scene.
         */
        autoenablesDefaultLighting: boolean;
        /**
         * A Boolean value that determines whether SceneKit applies jittering to reduce aliasing artifacts.
         */
        isJitteringEnabled: boolean;
        /**
         * A Boolean value that determines whether SceneKit displays rendering performance statistics in an accessory view.
         */
        showsStatistics: boolean;
        /**
         * Options for drawing overlay content in a scene that can aid debugging.
         */
        debugOptions: SCNDebugOptions;
        /**
         * The graphics technology SceneKit uses to render the scene.
         */
        renderingAPI: SCNRenderingAPI;
        /**
         * The current scene time.
         */
        sceneTime: TimeInterval;
        /**
         * A Boolean value that determines whether the scene is playing.
         */
        isPlaying: boolean;
        /**
         * A Boolean value that determines whether SceneKit restarts the scene time after all animations in the scene have played.
         */
        loops: boolean;
        /**
         * Prepares a SceneKit object for rendering.
         */
        prepare(object: any, block: ()=>any | null):boolean;
        /**
         * Searches the renderer’s scene for objects corresponding to a point in the rendered image.
         */
        hitTest(point: CGPoint, options: Record<SCNHitTestOption, any> | null):SCNHitTestResult[];
        /**
         * Returns a Boolean value indicating whether a node might be visible from a specified point of view.
         */
        isNode(node: SCNNode, pointOfView: SCNNode):boolean;
        /**
         * Returns all nodes that might be visible from a specified point of view.
         */
        nodesInsideFrustum(pointOfView: SCNNode):SCNNode[];
        /**
         * Projects a point from the 3D world coordinate system of the scene to the 2D pixel coordinate system of the renderer.
         */
        projectPoint(point: SCNVector3):SCNVector3;
        /**
         * Unprojects a point from the 2D pixel coordinate system of the renderer to the 3D world coordinate system of the scene.
         */
        unprojectPoint(point: SCNVector3):SCNVector3;
        /**
         * A delegate object that receives messages about SceneKit’s rendering process.
         */
        delegate: SCNSceneRendererDelegate | null;
        /**
         * The Metal render command encoder in use for the current SceneKit rendering pass.
         */
        currentRenderCommandEncoder: MTLRenderCommandEncoder | null;
        /**
         * The Metal device this renderer uses for rendering.
         */
        device: MTLDevice | null;
        /**
         * The Metal command queue this renderer uses for rendering.
         */
        commandQueue: MTLCommandQueue | null;
        /**
         * The Metal pixel format for the renderer’s color output.
         */
        colorPixelFormat: MTLPixelFormat;
        /**
         * The Metal pixel format for the renderer’s depth buffer.
         */
        depthPixelFormat: MTLPixelFormat;
        /**
         * The Metal pixel format for the renderer’s stencil buffer.
         */
        stencilPixelFormat: MTLPixelFormat;
        /**
         * The OpenGL rendering context that SceneKit uses for rendering the scene.
         */
        context: UnsafeMutableRawPointer | null;
        /**
         * A Sprite Kit scene to be rendered on top of the SceneKit content.
         */
        overlaySKScene: SKScene | null;
        /**
         * The node representing the listener’s position in the scene for use with positional audio effects.
         */
        audioListener: SCNNode | null;
        /**
         * The 3D audio mixing node SceneKit uses for positional audio effects.
         */
        audioEnvironmentNode: AVAudioEnvironmentNode;
        /**
         * The audio engine SceneKit uses for playing scene sounds.
         */
        audioEngine: AVAudioEngine;
        currentRenderPassDescriptor: MTLRenderPassDescriptor;
        currentTime: TimeInterval;
        currentViewport: CGRect;
        isTemporalAntialiasingEnabled: boolean;
        usesReverseZ: boolean;
    }
    export enum SCNRenderingAPI {
        metal = 0,
        openGLES2 = 1,
        openGLLegacy = 1,
        openGLCore32 = 2,
        openGLCore41 = 3,
    }
    export interface SCNSceneRendererDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to perform any updates that need to occur before actions, animations, and physics are evaluated.
         */
        renderer(renderer: SCNSceneRenderer, time: TimeInterval):void;
    }
    export class SCNLayer extends CAOpenGLLayer {
        /**
         * The scene to be displayed in the layer.
         */
        scene: SCNScene | null;
    }
    export class SCNRenderer extends NSObject {
        /**
         * The scene to be rendered.
         */
        scene: SCNScene | null;
        /**
         * The timestamp for the next frame to be rendered.
         */
        nextFrameTime: CFTimeInterval;
        /**
         * Creates a renderer with the specified Metal device.
         */
        constructor (device: MTLDevice | null, options: Record<AnyHashable, any> | null);
        /**
         * Creates a renderer with the specified OpenGL context.
         */
        constructor (context: EAGLContext | null, options: Record<AnyHashable, any> | null);
        /**
         * Renders the scene’s contents at the specified system time in the specified Metal command buffer.
         */
        render(time: CFTimeInterval, viewport: CGRect, commandBuffer: MTLCommandBuffer, renderPassDescriptor: MTLRenderPassDescriptor):void;
        /**
         * Creates an image by drawing the renderer’s content at the specified system time.
         */
        snapshot(time: CFTimeInterval, size: CGSize, antialiasingMode: SCNAntialiasingMode):UIImage;
        update(time: CFTimeInterval):void;
        updateProbes(lightProbes: SCNNode[], time: CFTimeInterval):void;
    }
    export class SCNHitTestResult extends NSObject {
        /**
         * The node whose geometry intersects the search ray.
         */
        node: SCNNode;
        /**
         * The index of the geometry element whose surface the search ray intersects.
         */
        geometryIndex: number;
        /**
         * The index of the primitive in the geometry element intersected by the search ray.
         */
        faceIndex: number;
        /**
         * The point of intersection between the geometry and the search ray, in the local coordinate system of the node containing the geometry.
         */
        localCoordinates: SCNVector3;
        /**
         * The point of intersection between the geometry and the search ray, in the scene’s world coordinate system.
         */
        worldCoordinates: SCNVector3;
        /**
         * The surface normal vector at the point of intersection, in the local coordinate system of the node containing the geometry intersected by the search ray.
         */
        localNormal: SCNVector3;
        /**
         * The surface normal vector at the point of intersection, in the scene’s world coordinate system.
         */
        worldNormal: SCNVector3;
        /**
         * The world transform matrix of the node containing the intersection.
         */
        modelTransform: SCNMatrix4;
        boneNode: SCNNode | null;
        simdLocalCoordinates: simd_float3;
        simdLocalNormal: simd_float3;
        simdModelTransform: simd_float4x4;
        simdWorldCoordinates: simd_float3;
        simdWorldNormal: simd_float3;
        /**
         * Returns the texture coordinates at the point of intersection for the specified texture mapping channel.
         */
        textureCoordinates(channel: number):CGPoint;
    }
    export class SCNLight extends NSObject {
        /**
         * A constant identifying the general behavior of the light.
         */
        type: SCNLight.LightType;
        /**
         * The color of the light. Animatable.
         */
        color: any;
        /**
         * The color temperature, in degrees Kelvin, of the light source. Animatable.
         */
        temperature: CGFloat;
        /**
         * The luminous flux, in lumens, or total brightness of the light. Animatable.
         */
        intensity: CGFloat;
        /**
         * Data describing the estimated lighting environment in all directions for a light probe.
         */
        sphericalHarmonicsCoefficients: Data;
        /**
         * A name associated with the light.
         */
        name: string;
        /**
         * The distance from the light at which its intensity begins to diminish. Animatable.
         */
        attenuationStartDistance: CGFloat;
        /**
         * The distance from the light at which its intensity is completely diminished. Animatable.
         */
        attenuationEndDistance: CGFloat;
        /**
         * The transition curve for the light’s intensity between its attenuation start and end distances. Animatable.
         */
        attenuationFalloffExponent: CGFloat;
        /**
         * The angle, in degrees, of the area fully lit by a spotlight. Animatable.
         */
        spotInnerAngle: CGFloat;
        /**
         * The angle, in degrees, of the area partially lit by a spotlight. Animatable.
         */
        spotOuterAngle: CGFloat;
        /**
         * An image or other visual content affecting the shape and color of a light’s illuminated area.
         */
        gobo: SCNMaterialProperty | null;
        /**
         * A Boolean value that determines whether the light casts shadows.
         */
        castsShadow: boolean;
        /**
         * A number that specifies the amount of blurring around the edges of shadows cast by the light. Animatable.
         */
        shadowRadius: CGFloat;
        /**
         * The color of shadows cast by the light. Animatable.
         */
        shadowColor: any;
        /**
         * The size of the shadow map image that SceneKit renders when creating shadows.
         */
        shadowMapSize: CGSize;
        /**
         * The number of samples from the shadow map that SceneKit uses to render each pixel.
         */
        shadowSampleCount: number;
        /**
         * The mode SceneKit uses to render shadows.
         */
        shadowMode: SCNShadowMode;
        /**
         * The amount of correction to apply to the shadow to prevent rendering artifacts.
         */
        shadowBias: CGFloat;
        /**
         * The orthographic scale SceneKit uses when rendering the shadow map for a directional light.
         */
        orthographicScale: CGFloat;
        /**
         * The maximum distance between the light and a visible surface for casting shadows.
         */
        zFar: CGFloat;
        /**
         * The minimum distance between the light and a visible surface for casting shadows. Animatable.
         */
        zNear: CGFloat;
        /**
         * A mask that defines which categories this light belongs to.
         */
        categoryBitMask: number;
        /**
         * The URL for a file that contains photometry data describing the intended appearance of the light.
         */
        iesProfileURL: URL | null;
        areaExtents: simd_float3;
        areaPolygonVertices: NSValue[] | null;
        areaType: SCNLightAreaType;
        automaticallyAdjustsShadowProjection: boolean;
        doubleSided: boolean;
        drawsArea: boolean;
        forcesBackFaceCasters: boolean;
        maximumShadowDistance: CGFloat;
        parallaxCenterOffset: simd_float3;
        parallaxCorrectionEnabled: boolean;
        parallaxExtentsFactor: simd_float3;
        probeEnvironment: SCNMaterialProperty | null;
        probeExtents: simd_float3;
        probeOffset: simd_float3;
        probeType: SCNLightProbeType;
        probeUpdateType: SCNLightProbeUpdateType;
        sampleDistributedShadowMaps: boolean;
        shadowCascadeCount: number;
        shadowCascadeSplittingFactor: CGFloat;
        /**
         * Returns the value of a lighting attribute.
         */
        attribute(key: string):any;
        /**
         * Sets the value for a lighting attribute.
         */
        setAttribute(attribute: any, key: string):void;
    }
    /**
     * the same name namespace of class SCNLight
     */
    export namespace SCNLight {
        export class LightType {
            /**
             * A light source whose shape, direction, and intensity of illumination is determined by a photometric profile.
             */
            static IES: SCNLight.LightType;
            /**
             * A light that illuminates all objects in the scene from all directions.
             */
            static ambient: SCNLight.LightType;
            /**
             * A light source with a uniform direction and constant intensity.
             */
            static directional: SCNLight.LightType;
            /**
             * An omnidirectional light, also known as a 
             * . 
             */
            static omni: SCNLight.LightType;
            /**
             * A sample of the environment around a point in a scene to be used in environment-based lighting.
             */
            static probe: SCNLight.LightType;
            /**
             * A light source that illuminates a cone-shaped area.
             */
            static spot: SCNLight.LightType;
            static area: SCNLight.LightType;
            constructor (rawValue: string);
        }
    }
    export enum SCNShadowMode {
        forward = 0,
        deferred = 1,
        modulated = 2,
    }
    export class SCNCamera extends NSObject {
        /**
         * A name associated with the camera object.
         */
        name: string;
        /**
         * The camera's near depth limit. Animatable.
         */
        zNear: number;
        /**
         * The camera’s far depth limit. Animatable.
         */
        zFar: number;
        /**
         * A Boolean value that determines whether the camera automatically adjusts its 
         *  and 
         *  depth limits.
         */
        automaticallyAdjustsZRange: boolean;
        /**
         * The vertical or horizontal viewing angle of the camera.
         */
        fieldOfView: CGFloat;
        /**
         * The camera's focal length, in millimeters.
         */
        focalLength: CGFloat;
        /**
         * The vertical size of the camera's imaging plane, in millimeters.
         */
        sensorHeight: CGFloat;
        /**
         * The axis used to determine field of view or orthographic scale.
         */
        projectionDirection: SCNCameraProjectionDirection;
        /**
         * The camera’s projection transformation.
         */
        projectionTransform: SCNMatrix4;
        /**
         * A Boolean value that determines whether the camera uses an orthographic projection.
         */
        usesOrthographicProjection: boolean;
        /**
         * Specifies the camera’s magnification factor when using an orthographic projection.
         */
        orthographicScale: number;
        /**
         * A mask that defines which categories this camera belongs to.
         */
        categoryBitMask: number;
        /**
         * A Boolean value that determines whether SceneKit renders depth-of-field blur effects for the camera.
         */
        wantsDepthOfField: boolean;
        /**
         * The distance from the camera at which objects appear in sharp focus. Animatable.
         */
        focusDistance: CGFloat;
        /**
         * The physical camera aperture simulated by SceneKit for depth-of-field effects. Animatable.
         */
        fStop: CGFloat;
        /**
         * The number of physical camera aperture blades simulated by SceneKit for depth-of-field effects.
         */
        apertureBladeCount: number;
        /**
         * The number of pixel samples SceneKit uses to create depth-of-field blur effects.
         */
        focalBlurSampleCount: number;
        /**
         * A factor that determines the intensity of motion blur effects. Animatable.
         */
        motionBlurIntensity: CGFloat;
        /**
         * A Boolean value that determines whether SceneKit applies High Dynamic Range (HDR) postprocessing effects to a scene.
         */
        wantsHDR: boolean;
        /**
         * A logarithmic bias that adjusts the results of SceneKit’s tone mapping operation, brightening or darkening the visible scene.
         */
        exposureOffset: CGFloat;
        /**
         * The luminance level to use as the midpoint of a tone mapping curve.
         */
        averageGray: CGFloat;
        /**
         * The luminance level to use as the upper end of a tone mapping curve.
         */
        whitePoint: CGFloat;
        /**
         * The minimum exposure value to use in tone mapping.
         */
        minimumExposure: CGFloat;
        /**
         * The minimum exposure value to use in tone mapping.
         */
        maximumExposure: CGFloat;
        /**
         * A Boolean value that determines whether SceneKit automatically adjusts the exposure level.
         */
        wantsExposureAdaptation: boolean;
        /**
         * The relative duration of automatically animated exposure transitions from dark to bright areas.
         */
        exposureAdaptationBrighteningSpeedFactor: CGFloat;
        /**
         * The relative duration of automatically animated exposure transitions from bright to dark areas.
         */
        exposureAdaptationDarkeningSpeedFactor: CGFloat;
        /**
         * An adjustment factor to apply to the overall visual contrast of the rendered scene.
         */
        contrast: CGFloat;
        /**
         * An adjustment factor to apply to the overall color saturation of the rendered scene.
         */
        saturation: CGFloat;
        /**
         * A texture for applying color grading effects to the entire rendered scene.
         */
        colorGrading: SCNMaterialProperty;
        /**
         * The magnitude of bloom effect to apply to highlights in the rendered scene. Animatable.
         */
        bloomIntensity: CGFloat;
        /**
         * The brightness threshold at which to apply a bloom effect to highlights in the rendered scene. Animatable.
         */
        bloomThreshold: CGFloat;
        /**
         * The radius, in pixels, for the blurring portion of the bloom effect applied to highlights in the rendered scene. Animatable.
         */
        bloomBlurRadius: CGFloat;
        /**
         * The blend factor for fading the color fringing effect applied to the rendered scene.
         */
        colorFringeIntensity: CGFloat;
        /**
         * The magnitude of color fringing effect to apply to the rendered scene.
         */
        colorFringeStrength: CGFloat;
        /**
         * The magnitude of vignette (darkening around edges) effect to apply to the rendered scene.
         */
        vignettingIntensity: CGFloat;
        /**
         * The amount of the rendered scene to darken with a vignette effect.
         */
        vignettingPower: CGFloat;
        /**
         * The intensity of the screen-space ambient occlusion effect applied in camera rendering.
         */
        screenSpaceAmbientOcclusionIntensity: CGFloat;
        /**
         * The distance, in units of scene space, at which ambient occlusion takes effect.
         */
        screenSpaceAmbientOcclusionRadius: CGFloat;
        /**
         * An offset for modulating ambient occlusion effects.
         */
        screenSpaceAmbientOcclusionBias: CGFloat;
        /**
         * The maximum depth difference, in units of scene space, at which to apply ambient occlusion effects. 
         */
        screenSpaceAmbientOcclusionDepthThreshold: CGFloat;
        /**
         * The magnitude of the blur effect applied to create ambient occlusion shadows.
         */
        screenSpaceAmbientOcclusionNormalThreshold: CGFloat;
        /**
         * The camera’s field of view, in degrees, on the vertical axis. Animatable.
         */
        yFov: number;
        /**
         * The camera's field of view, in degrees, on the horizontal axis. Animatable.
         */
        xFov: number;
        /**
         * The distance from the camera at which objects appear in sharp focus. Animatable.
         */
        focalDistance: CGFloat;
        /**
         * The width of the distance range at which objects appear in sharp focus. Animatable.
         */
        focalSize: CGFloat;
        /**
         * The maximum amount of blurring, in pixels, applied to areas outside the camera’s depth of field. Animatable.
         */
        focalBlurRadius: CGFloat;
        /**
         * A factor that determines the transition between in-focus and out-of-focus areas. Animatable.
         */
        aperture: CGFloat;
        bloomIterationCount: number;
        bloomIterationSpread: CGFloat;
        grainIntensity: CGFloat;
        grainIsColored: boolean;
        grainScale: CGFloat;
        whiteBalanceTemperature: CGFloat;
        whiteBalanceTint: CGFloat;
    }
    export enum SCNCameraProjectionDirection {
        vertical = 0,
        horizontal = 1,
    }
    export class SCNMaterial extends NSObject {
        /**
         * A name associated with the material.
         */
        name: string;
        /**
         * The lighting formula that SceneKit uses to render the material.
         */
        lightingModel: SCNMaterial.LightingModel;
        /**
         * An object that manages the material’s diffuse response to lighting.
         */
        diffuse: SCNMaterialProperty;
        /**
         * An object that provides color values to determine how metallic the material’s surface appears.
         */
        metalness: SCNMaterialProperty;
        /**
         * An object that provides color values to determine the apparent smoothness of the surface.
         */
        roughness: SCNMaterialProperty;
        /**
         * An object that defines the nominal orientation of the surface at each point for use in lighting.
         */
        normal: SCNMaterialProperty;
        displacement: SCNMaterialProperty;
        /**
         * An object that defines the color emitted by each point on a surface.
         */
        emission: SCNMaterialProperty;
        /**
         * An object that provides color values representing the global illumination of the surface.
         */
        selfIllumination: SCNMaterialProperty;
        /**
         * An object that provides color values to be multiplied with the ambient light affecting the material.
         */
        ambientOcclusion: SCNMaterialProperty;
        /**
         * An object that manages the material’s response to ambient lighting.
         */
        ambient: SCNMaterialProperty;
        /**
         * An object that manages the material’s specular response to lighting.
         */
        specular: SCNMaterialProperty;
        /**
         * An object that defines the reflected color for each point on a surface.
         */
        reflective: SCNMaterialProperty;
        /**
         * An object that provides color values that are multiplied with pixels in a material after all other shading is complete.
         */
        multiply: SCNMaterialProperty;
        /**
         * An object that determines the opacity of each point in a material.
         */
        transparent: SCNMaterialProperty;
        /**
         * The sharpness of specular highlights. Animatable.
         */
        shininess: CGFloat;
        /**
         * A factor affecting the material’s reflectivity. Animatable.
         */
        fresnelExponent: CGFloat;
        /**
         * A Boolean value that determines whether the material responds identically to both ambient and diffuse lighting. Animatable.
         */
        locksAmbientWithDiffuse: boolean;
        /**
         * The uniform transparency of the material. Animatable.
         */
        transparency: CGFloat;
        /**
         * The mode SceneKit uses to calculate transparency for the material.
         */
        transparencyMode: SCNTransparencyMode;
        /**
         * The mode that determines how pixel colors rendered using this material blend with other pixel colors in the rendering target.
         */
        blendMode: SCNBlendMode;
        /**
         * A Boolean value that determines whether SceneKit performs lighting calculations per vertex or per pixel. Animatable.
         */
        isLitPerPixel: boolean;
        /**
         * A Boolean value that determines whether SceneKit renders both front and back faces of a surface.
         */
        isDoubleSided: boolean;
        /**
         * The mode determining which faces of a surface SceneKit renders. Animatable.
         */
        cullMode: SCNCullMode;
        fillMode: SCNFillMode;
        /**
         * A Boolean value that determines whether SceneKit produces depth information when rendering the material.
         */
        writesToDepthBuffer: boolean;
        /**
         * A Boolean value that determines whether SceneKit uses depth information when rendering the material.
         */
        readsFromDepthBuffer: boolean;
        colorBufferWriteMask: SCNColorMask;
        clearCoat: SCNMaterialProperty;
        clearCoatNormal: SCNMaterialProperty;
        clearCoatRoughness: SCNMaterialProperty;
    }
    /**
     * the same name namespace of class SCNMaterial
     */
    export namespace SCNMaterial {
        export class LightingModel {
            /**
             * Shading that incorporates ambient, diffuse, and specular properties, where specular highlights are calculated using the Blinn-Phong  formula.
             */
            static blinn: SCNMaterial.LightingModel;
            /**
             * Uniform shading that incorporates ambient lighting only.
             */
            static constant: SCNMaterial.LightingModel;
            /**
             * Shading that incorporates ambient and diffuse properties only.
             */
            static lambert: SCNMaterial.LightingModel;
            /**
             * Shading that incorporates ambient, diffuse, and specular properties, where specular highlights are calculated using the Phong  formula.
             */
            static phong: SCNMaterial.LightingModel;
            /**
             * Shading based on a realistic abstraction of physical lights and materials.
             */
            static physicallyBased: SCNMaterial.LightingModel;
            static shadowOnly: SCNMaterial.LightingModel;
            constructor (rawValue: string);
        }
    }
    export enum SCNTransparencyMode {
        aOne = 0,
        rgbZero = 1,
        dualLayer = 3,
        singleLayer = 2,
    }
    export enum SCNBlendMode {
        alpha = 0,
        add = 1,
        subtract = 2,
        multiply = 3,
        screen = 4,
        replace = 5,
        max = 6,
    }
    export enum SCNAntialiasingMode {
        none = 0,
        multisampling2X = 1,
        multisampling4X = 2,
        multisampling8X = 3,
        multisampling16X = 4,
    }
    export enum SCNCullMode {
        back = 0,
        front = 1,
    }
    export enum SCNFillMode {
        fill = 0,
        lines = 1,
    }
    export class SCNColorMask {
        static all: SCNColorMask;
        static alpha: SCNColorMask;
        static blue: SCNColorMask;
        static green: SCNColorMask;
        static red: SCNColorMask;
        constructor (rawValue: number);
    }
    export class SCNMaterialProperty extends NSObject {
        /**
         * The visual contents of the material property—a color, image, or source of animated content. Animatable.
         */
        contents: any;
        /**
         * A number between 
         *  and 
         *  that modulates the effect of the material property. Animatable.
         */
        intensity: CGFloat;
        /**
         * The transformation applied to the material property’s visual contents. Animatable.
         */
        contentsTransform: SCNMatrix4;
        /**
         * The wrapping behavior for the S texture coordinate.
         */
        wrapS: SCNWrapMode;
        /**
         * The wrapping behavior for the T texture coordinate.
         */
        wrapT: SCNWrapMode;
        /**
         * Texture filtering for rendering the material property’s image contents at a size smaller than that of the original image.
         */
        minificationFilter: SCNFilterMode;
        /**
         * Texture filtering for rendering the material property’s image contents at a size larger than that of the original image.
         */
        magnificationFilter: SCNFilterMode;
        /**
         * Texture filtering for using mipmaps to render the material property’s image contents at a size smaller than that of the original image.
         */
        mipFilter: SCNFilterMode;
        /**
         * The amount of anisotropic texture filtering to be used when rendering the material property’s image contents.
         */
        maxAnisotropy: CGFloat;
        /**
         * The source of texture coordinates for mapping the material property’s image contents.
         */
        mappingChannel: number;
        /**
         * A color used to fill in areas of a material’s surface not covered by the material property’s image contents.
         */
        borderColor: any;
        textureComponents: SCNColorMask;
        /**
         * Creates a new material property object with the specified contents.
         */
        constructor (contents: any);
    }
    export enum SCNWrapMode {
        clamp = 1,
        repeat = 2,
        clampToBorder = 3,
        mirror = 4,
    }
    export enum SCNFilterMode {
        none = 0,
        nearest = 1,
        linear = 2,
    }
    export class SCNGeometry extends NSObject {
        /**
         * A name associated with the geometry object.
         */
        name: string;
        /**
         * An array of 
         *  objects that determine the geometry’s appearance when rendered.
         */
        materials: SCNMaterial[];
        /**
         * The first material attached to the geometry.
         */
        firstMaterial: SCNMaterial | null;
        /**
         * An array of geometry elements that describe the geometry’s shape.
         */
        elements: SCNGeometryElement[];
        /**
         * An array of geometry sources that provide vertex data for the geometry.
         */
        sources: SCNGeometrySource[];
        /**
         * The number of geometry elements in the geometry.
         */
        elementCount: number;
        /**
         * An array of 
         *  objects for managing the geometry’s appearance when viewed from far away.
         */
        levelsOfDetail: SCNLevelOfDetail[] | null;
        /**
         * The number of subdivisions SceneKit uses to smooth the geometry’s surface at render time.
         */
        subdivisionLevel: number;
        /**
         * The geometry element identifying which edges of the geometry’s surface should remain sharp after subdivision.
         */
        edgeCreasesElement: SCNGeometryElement | null;
        /**
         * The geometry source specifying the smoothness or sharpness of edges after surface subdivision.
         */
        edgeCreasesSource: SCNGeometrySource | null;
        wantsAdaptiveSubdivision: boolean;
        tessellator: SCNGeometryTessellator | null;
        /**
         * Creates a new geometry built from the specified geometry sources and elements.
         */
        constructor (sources: SCNGeometrySource[], elements: SCNGeometryElement[] | null);
        /**
         * Returns the first material attached to the geometry with the specified name.
         */
        material(name: string):SCNMaterial | null;
        /**
         * Attaches a material to the geometry at the specified index.
         */
        insertMaterial(material: SCNMaterial, index: number):void;
        /**
         * Removes a material attached to the geometry.
         */
        removeMaterial(index: number):void;
        /**
         * Replaces a material attached to the geometry with another.
         */
        replaceMaterial(index: number, material: SCNMaterial):void;
        /**
         * Returns the geometry element at a specified index.
         */
        element(elementIndex: number):SCNGeometryElement;
    }
    export class SCNLevelOfDetail extends NSObject {
        /**
         * The geometry associated with this level of detail.
         */
        geometry: SCNGeometry | null;
        /**
         * The maximum radius (in pixels) of the geometry’s bounding sphere for this level of detail to appear.
         */
        screenSpaceRadius: CGFloat;
        /**
         * The minimum distance from the current point of view for this level of detail to appear.
         */
        worldSpaceDistance: CGFloat;
        /**
         * Creates a level of detail with the specified geometry and threshold pixel radius.
         */
        constructor (geometry: SCNGeometry | null, radius: CGFloat);
        /**
         * Creates a level of detail with the specified geometry and threshold camera distance.
         */
        constructor (geometry: SCNGeometry | null, distance: CGFloat);
    }
    export class SCNGeometryTessellator extends NSObject {
        smoothingMode: SCNTessellationSmoothingMode;
        edgeTessellationFactor: CGFloat;
        insideTessellationFactor: CGFloat;
        isAdaptive: boolean;
        isScreenSpace: boolean;
        maximumEdgeLength: CGFloat;
        tessellationFactorScale: CGFloat;
        tessellationPartitionMode: MTLTessellationPartitionMode;
    }
    export interface SCNCameraControlConfiguration extends NSObjectProtocol {
        allowsTranslation: boolean;
        autoSwitchToFreeCamera: boolean;
        flyModeVelocity: CGFloat;
        panSensitivity: CGFloat;
        rotationSensitivity: CGFloat;
        truckSensitivity: CGFloat;
    }
    export enum SCNTessellationSmoothingMode {
        none = 0,
        phong = 2,
        pnTriangles = 1,
    }
    export class SCNGeometrySource extends NSObject {
        /**
         * The data for the geometry source.
         */
        data: Data;
        /**
         * The semantic value (or attribute) the geometry source describes for each vertex.
         */
        semantic: SCNGeometrySource.Semantic;
        /**
         * The number of vectors in the data.
         */
        vectorCount: number;
        /**
         * A Boolean value that indicates whether vector components are floating-point values.
         */
        usesFloatComponents: boolean;
        /**
         * The number of scalar components in each vector.
         */
        componentsPerVector: number;
        /**
         * The size, in bytes, of each vector component.
         */
        bytesPerComponent: number;
        /**
         * The offset, in bytes, from the beginning of the data to the first vector component to be used in the geometry source.
         */
        dataOffset: number;
        /**
         * The number of bytes from a vector to the next one in the data.
         */
        dataStride: number;
        /**
         * Creates a geometry source from the specified data and options.
         */
        constructor (data: Data, semantic: SCNGeometrySource.Semantic, vectorCount: number, floatComponents: boolean, componentsPerVector: number, bytesPerComponent: number, offset: number, stride: number);
        /**
         * Creates a geometry source from an array of vertex positions. 
         */
        constructor (vertices: SCNVector3[]);
        /**
         * Creates a geometry source from an array of normal vectors.
         */
        constructor (normals: SCNVector3[]);
        /**
         * Creates a geometry source from an array of texture coordinate points. 
         */
        constructor (textureCoordinates: CGPoint[]);
        /**
         * Creates a geometry source whose vertex data resides in the specified Metal buffer, allowing modification through a Metal compute shader.
         */
        constructor (buffer: MTLBuffer, vertexFormat: MTLVertexFormat, semantic: SCNGeometrySource.Semantic, vertexCount: number, offset: number, stride: number);
    }
    /**
     * the same name namespace of class SCNGeometrySource
     */
    export namespace SCNGeometrySource {
        export class Semantic {
            /**
             * The semantic for vertex position data.
             */
            static vertex: SCNGeometrySource.Semantic;
            /**
             * The semantic for surface normal data.
             */
            static normal: SCNGeometrySource.Semantic;
            /**
             * The semantic for texture coordinate data.
             */
            static texcoord: SCNGeometrySource.Semantic;
            /**
             * The semantic for per-vertex color data.
             */
            static color: SCNGeometrySource.Semantic;
            /**
             * The semantic for surface tangent vector data.
             */
            static tangent: SCNGeometrySource.Semantic;
            /**
             * The semantic for edge crease data, used for subdividing surfaces.
             */
            static edgeCrease: SCNGeometrySource.Semantic;
            /**
             * The semantic for vertex crease data, used for subdividing surfaces.
             */
            static vertexCrease: SCNGeometrySource.Semantic;
            /**
             * The semantic for bone index data, used for skeletal animation of skinned surfaces.
             */
            static boneIndices: SCNGeometrySource.Semantic;
            /**
             * The semantic for bone weight data, used for skeletal animation of skinned surfaces.
             */
            static boneWeights: SCNGeometrySource.Semantic;
            constructor (rawValue: string);
            constructor (rawValue: string);
        }
    }
    export class SCNGeometryElement extends NSObject {
        /**
         * The data describing the geometry element.
         */
        data: Data;
        /**
         * The number of bytes that represent each index value in the element’s data.
         */
        bytesPerIndex: number;
        /**
         * The drawing primitive that connects vertices when rendering the geometry element.
         */
        primitiveType: SCNGeometryPrimitiveType;
        /**
         * The number of primitives in the element.
         */
        primitiveCount: number;
        /**
         * The range of primitives from the geometry element to render.
         */
        primitiveRange: NSRange;
        /**
         * The width of each point in the geometry element, as measured in the geometry's local 3D coordinate space.
         */
        pointSize: CGFloat;
        /**
         * The smallest radius, measured in screen points, at which to render any point in the geometry element.
         */
        minimumPointScreenSpaceRadius: CGFloat;
        /**
         * The largest radius, measured in screen points, at which to render any point in the geometry element.
         */
        maximumPointScreenSpaceRadius: CGFloat;
        /**
         * Creates a geometry element from the specified data and options.
         */
        constructor (data: Data | null, primitiveType: SCNGeometryPrimitiveType, primitiveCount: number, bytesPerIndex: number);
        constructor (buffer: MTLBuffer, primitiveType: SCNGeometryPrimitiveType, primitiveCount: number, bytesPerIndex: number);
    }
    export enum SCNGeometryPrimitiveType {
        triangles = 0,
        triangleStrip = 1,
        line = 2,
        point = 3,
        polygon = 4,
    }
    export class SCNText extends SCNGeometry {
        /**
         * The string object whose text the geometry represents.
         */
        string: any;
        /**
         * The font that SceneKit uses to create geometry from the text.
         */
        font: UIFont!;
        /**
         * A rectangle specifying the area in which SceneKit should lay out the text.
         */
        containerFrame: CGRect;
        /**
         * A Boolean value that specifies whether SceneKit wraps long lines of text.
         */
        isWrapped: boolean;
        /**
         * A constant that specifies how SceneKit horizontally aligns each line of text within its container.
         */
        alignmentMode: string;
        /**
         * A constant that specifies how SceneKit truncates text that is too long to fit its container.
         */
        truncationMode: string;
        /**
         * The two-dimensional extent of the text after layout.
         */
        textSize: CGSize;
        /**
         * A number that determines the accuracy or smoothness of the text geometry.
         */
        flatness: CGFloat;
        /**
         * The extent of the extruded text in the z-axis direction. Animatable.
         */
        extrusionDepth: CGFloat;
        /**
         * The width or depth of each chamfered edge. Animatable.
         */
        chamferRadius: CGFloat;
        /**
         * A path that determines the cross-sectional contour of each chamfered edge.
         */
        chamferProfile: UIBezierPath | null;
        /**
         * Creates a text geometry from a specified string, extruded with a specified depth.
         */
        constructor (_string: any, extrusionDepth: CGFloat);
    }
    export class SCNShape extends SCNGeometry {
        /**
         * The thickness of the extruded shape along the z-axis. Animatable.
         */
        extrusionDepth: CGFloat;
        /**
         * The two-dimensional path forming the basis of the shape.
         */
        path: UIBezierPath | null;
        /**
         * A constant specifying which ends of the extruded shape’s profile are chamfered.
         */
        chamferMode: SCNChamferMode;
        /**
         * A path that determines the cross-sectional contour of each chamfered edge.
         */
        chamferProfile: UIBezierPath | null;
        /**
         * The width or depth of each chamfered edge. Animatable.
         */
        chamferRadius: CGFloat;
        /**
         * Creates a shape geometry with the specified path and extrusion depth.
         */
        constructor (path: UIBezierPath | null, extrusionDepth: CGFloat);
    }
    export enum SCNChamferMode {
        both = 0,
        front = 1,
        back = 2,
    }
    export class SCNFloor extends SCNGeometry {
        /**
         * The intensity of the scene’s reflection on the floor. Animatable.
         */
        reflectivity: CGFloat;
        /**
         * The distance from the floor at which scene contents are no longer reflected. Animatable.
         */
        reflectionFalloffEnd: CGFloat;
        /**
         * The distance from the floor at which scene contents are reflected at full intensity. Animatable.
         */
        reflectionFalloffStart: CGFloat;
        /**
         * The resolution scale factor of the offscreen buffer that SceneKit uses to render reflections.
         */
        reflectionResolutionScaleFactor: CGFloat;
        /**
         * A mask that defines which categories of other objects show reflections on the floor.
         */
        reflectionCategoryBitMask: number;
        /**
         * The extent of the floor along its x-axis. Animatable.
         */
        width: CGFloat;
        /**
         * The extent of the floor along its z-axis. Animatable.
         */
        length: CGFloat;
    }
    export class SCNBox extends SCNGeometry {
        /**
         * The extent of the box along its x-axis. Animatable.
         */
        width: CGFloat;
        /**
         * The extent of the box along its y-axis. Animatable.
         */
        height: CGFloat;
        /**
         * The extent of the box along its z-axis. Animatable.
         */
        length: CGFloat;
        /**
         * The number of subdivisions in each face of the box along its x-axis. Animatable.
         */
        widthSegmentCount: number;
        /**
         * The number of subdivisions in each face of the box along its y-axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * The number of subdivisions in each face of the box along its z-axis. Animatable.
         */
        lengthSegmentCount: number;
        /**
         * The radius of curvature for the edges and corners of the box. Animatable.
         */
        chamferRadius: CGFloat;
        /**
         * The number of line segments used to create each rounded edge of the box. Animatable.
         */
        chamferSegmentCount: number;
        /**
         * Creates a box geometry with the specified width, height, length, and chamfer radius.
         */
        constructor (width: CGFloat, height: CGFloat, length: CGFloat, chamferRadius: CGFloat);
    }
    export class SCNCapsule extends SCNGeometry {
        /**
         * The radius both of the capsule’s circular center cross section and of its hemispherical ends. Animatable.
         */
        capRadius: CGFloat;
        /**
         * The extent of the capsule along its y-axis. Animatable.
         */
        height: CGFloat;
        /**
         * The number of subdivisions around the lateral circumference of the capsule. Animatable.
         */
        radialSegmentCount: number;
        /**
         * The number of subdivisions in the height of each hemispherical end of the capsule. Animatable.
         */
        capSegmentCount: number;
        /**
         * The number of subdivisions in the sides of the capsule along its y-axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * Creates a capsule geometry with the specified radius and height.
         */
        constructor (capRadius: CGFloat, height: CGFloat);
    }
    export interface SCNCameraControllerDelegate extends NSObjectProtocol {
        cameraInertiaDidEnd(cameraController: SCNCameraController):void;
        cameraInertiaWillStart(cameraController: SCNCameraController):void;
    }
    export class SCNCone extends SCNGeometry {
        /**
         * The radius of the cone’s circular top. Animatable.
         */
        topRadius: CGFloat;
        /**
         * The radius of the cone’s circular base. Animatable.
         */
        bottomRadius: CGFloat;
        /**
         * The extent of the cylinder along its y-axis. Animatable.
         */
        height: CGFloat;
        /**
         * The number of subdivisions around the circumference of the cone. Animatable.
         */
        radialSegmentCount: number;
        /**
         * The number of subdivisions in the sides of the cone along its y-axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * Creates a cone geometry with the given top radius, bottom radius, and height.
         */
        constructor (topRadius: CGFloat, bottomRadius: CGFloat, height: CGFloat);
    }
    export class SCNCylinder extends SCNGeometry {
        /**
         * The radius of the cylinder’s circular cross section. Animatable.
         */
        radius: CGFloat;
        /**
         * The extent of the cylinder along its y-axis. Animatable.
         */
        height: CGFloat;
        /**
         * The number of subdivisions around the circumference of the cylinder. Animatable.
         */
        radialSegmentCount: number;
        /**
         * The number of subdivisions in the sides of the cylinder along its y-axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * Creates a cylinder geometry with the specified radius and height.
         */
        constructor (radius: CGFloat, height: CGFloat);
    }
    export class SCNPlane extends SCNGeometry {
        /**
         * The extent of the plane along its horizontal axis. Animatable.
         */
        width: CGFloat;
        /**
         * The extent of the plane along its vertical axis. Animatable.
         */
        height: CGFloat;
        /**
         * The number of subdivisions in the plane’s surface along its horizontal axis. Animatable.
         */
        widthSegmentCount: number;
        /**
         * The number of subdivisions in the plane’s surface along its vertical axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * The radius of curvature for the plane’s corners. Animatable.
         */
        cornerRadius: CGFloat;
        /**
         * The number of line segments used to create each rounded corner of the plane. Animatable.
         */
        cornerSegmentCount: number;
        /**
         * Creates a plane geometry with the specified width and height.
         */
        constructor (width: CGFloat, height: CGFloat);
    }
    export class SCNPyramid extends SCNGeometry {
        /**
         * The extent of the pyramid along its x-axis. Animatable.
         */
        width: CGFloat;
        /**
         * The extent of the pyramid along its y-axis. Animatable.
         */
        height: CGFloat;
        /**
         * The extent of the pyramid along its z-axis. Animatable.
         */
        length: CGFloat;
        /**
         * The number of subdivisions in each face of the pyramid along its x-axis. Animatable.
         */
        widthSegmentCount: number;
        /**
         * The number of subdivisions in each face of the pyramid along its y-axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * The number of subdivisions in each face of the pyramid along its z-axis. Animatable.
         */
        lengthSegmentCount: number;
        /**
         * Creates a pyramid geometry with the specified width, height, and length.
         */
        constructor (width: CGFloat, height: CGFloat, length: CGFloat);
    }
    export enum SCNInteractionMode {
        fly = 0,
        orbitAngleMapping = 2,
        orbitArcball = 4,
        orbitCenteredArcball = 3,
        orbitTurntable = 1,
        pan = 5,
        truck = 6,
    }
    export class SCNSphere extends SCNGeometry {
        /**
         * The radius of the sphere. Animatable.
         */
        radius: CGFloat;
        /**
         * A Boolean value specifying whether SceneKit uses a geodesic polygon mesh to render the sphere.
         */
        isGeodesic: boolean;
        /**
         * A number determining the detail of the polygon mesh SceneKit uses to render the sphere. Animatable.
         */
        segmentCount: number;
        /**
         * Creates a sphere geometry with the specified radius.
         */
        constructor (radius: CGFloat);
    }
    export class SCNTorus extends SCNGeometry {
        /**
         * The major radius of the torus, defining a circle in the x- and z-axis dimensions. Animatable.
         */
        ringRadius: CGFloat;
        /**
         * The minor radius of the torus, defining the pipe that encircles the torus ring. Animatable.
         */
        pipeRadius: CGFloat;
        /**
         * The number of subdivisions around the torus ring. Animatable.
         */
        ringSegmentCount: number;
        /**
         * The number of subdivisions around the torus pipe. Animatable.
         */
        pipeSegmentCount: number;
        /**
         * Creates a torus geometry with the specified ring radius and pipe radius.
         */
        constructor (ringRadius: CGFloat, pipeRadius: CGFloat);
    }
    export class SCNTube extends SCNGeometry {
        /**
         * The radius of the tube’s outer circular cross section. Animatable.
         */
        outerRadius: CGFloat;
        /**
         * The radius of the circular hole through the tube. Animatable.
         */
        innerRadius: CGFloat;
        /**
         * The extent of the tube along its y-axis. Animatable.
         */
        height: CGFloat;
        /**
         * The number of subdivisions around the circumference of the tube. Animatable.
         */
        radialSegmentCount: number;
        /**
         * The number of subdivisions in the inner and outer surfaces of the tube along its y-axis. Animatable.
         */
        heightSegmentCount: number;
        /**
         * Creates a tube geometry with the specified inner radius, outer radius, and height.
         */
        constructor (innerRadius: CGFloat, outerRadius: CGFloat, height: CGFloat);
    }
    export class SCNAction extends NSObject {
        /**
         * The duration required to complete an action.
         */
        duration: TimeInterval;
        /**
         * A speed factor that modifies how fast an action runs.
         */
        speed: CGFloat;
        /**
         * The timing mode used to execute an action.
         */
        timingMode: SCNActionTimingMode;
        /**
         * A block SceneKit calls to determine the action’s animation timing.
         */
        timingFunction: SCNActionTimingFunction | null;
        /**
         * Creates an action that moves a node relative to its current position.
         */
        static moveBy(deltaX: CGFloat, deltaY: CGFloat, deltaZ: CGFloat, duration: TimeInterval):SCNAction;
        /**
         * Creates an action that moves a node relative to its current position.
         */
        static move(delta: SCNVector3, duration: TimeInterval):SCNAction;
        /**
         * Creates an action that rotates the node in each of the three principal axes by angles relative to its current orientation.
         */
        static rotateBy(xAngle: CGFloat, yAngle: CGFloat, zAngle: CGFloat, duration: TimeInterval):SCNAction;
        /**
         * Creates an action that rotates the node to absolute angles in each of the three principal axes.
         */
        static rotateTo(xAngle: CGFloat, yAngle: CGFloat, zAngle: CGFloat, duration: TimeInterval):SCNAction;
        /**
         * Creates an action that rotates the node by an angle around a specified axis.
         */
        static rotate(angle: CGFloat, axis: SCNVector3, duration: TimeInterval):SCNAction;
        /**
         * Creates an action that uniformly changes the scale factor of a node by a relative value.
         */
        static scale(scale: CGFloat, sec: TimeInterval):SCNAction;
        /**
         * Creates an action that changes the opacity of the node to 
         * .
         */
        static fadeIn(sec: TimeInterval):SCNAction;
        /**
         * Creates an action that changes the opacity of the node to 
         * .
         */
        static fadeOut(sec: TimeInterval):SCNAction;
        /**
         * Creates an action that adjusts the opacity of a node by a relative value.
         */
        static fadeOpacity(factor: CGFloat, sec: TimeInterval):SCNAction;
        /**
         * Creates an action that hides a node.
         */
        static hide():SCNAction;
        /**
         * Creates an action that ensures a node is not hidden.
         */
        static unhide():SCNAction;
        /**
         * Creates an action that removes the node from its parent.
         */
        static removeFromParentNode():SCNAction;
        /**
         * Creates an action that plays an audio source.
         */
        static playAudio(source: SCNAudioSource, wait: boolean):SCNAction;
        /**
         * Creates an action that runs a collection of actions in parallel.
         */
        static group(actions: SCNAction[]):SCNAction;
        /**
         * Creates an action that runs a collection of actions sequentially.
         */
        static sequence(actions: SCNAction[]):SCNAction;
        /**
         * Creates an action that repeats another action a specified number of times.
         */
        static repeat(action: SCNAction, count: number):SCNAction;
        /**
         * Creates an action that repeats another action forever.
         */
        static repeatForever(action: SCNAction):SCNAction;
        /**
         * Creates an action that idles for a specified period of time.
         */
        static wait(sec: TimeInterval):SCNAction;
        /**
         * Creates an action that executes a block.
         */
        static run(block: ()=>any):SCNAction;
        /**
         * Creates an action that executes a block periodically over a specified duration.
         */
        static customAction(seconds: TimeInterval, block: ()=>any):SCNAction;
        /**
         * Creates an action that executes a JavaScript script periodically over a specified duration.
         */
        static javaScriptAction(script: string, seconds: TimeInterval):SCNAction;
        /**
         * Creates an action that reverses the behavior of another action.
         */
        reversed():SCNAction;
    }
    export enum SCNActionTimingMode {
        linear = 0,
        easeIn = 1,
        easeOut = 2,
        easeInEaseOut = 3,
    }
    export interface SCNActionable extends NSObjectProtocol {
        /**
         * Adds an action to the list of actions executed by the node.
         */
        runAction(action: SCNAction):void;
        /**
         * Returns an action associated with a specific key.
         */
        action(key: string):SCNAction | null;
        /**
         * A Boolean value that indicates whether the node is currently executing any actions.
         */
        hasActions: boolean;
        /**
         * The list of keys for which the node has attached actions.
         */
        actionKeys: string[];
        /**
         * Removes an action associated with a specific key.
         */
        removeAction(key: string):void;
        /**
         * Ends and removes all actions from the node.
         */
        removeAllActions():void;
    }
    export class SCNTransaction extends NSObject {
        /**
         * Returns the duration, in seconds, of all animations within the current transaction.
         */
        static animationDuration: CFTimeInterval;
        /**
         * Returns the timing function that SceneKit uses for all animations within this transaction group. 
         */
        static animationTimingFunction: CAMediaTimingFunction | null;
        /**
         * Returns a Boolean value indicating whether changes to animatable properties during the transaction are implicitly animated.
         */
        static disableActions: boolean;
        /**
         * Returns the block previously associated with the current transaction.
         */
        static completionBlock: ()=>any | null;
        /**
         * Begins a new transaction for the current thread.
         */
        static begin():void;
        /**
         * Commits all changes made during the current transaction.
         */
        static commit():void;
        /**
         * Applies all changes from the current automatic transaction.
         */
        static flush():void;
        /**
         * Attempts to acquire a recursive spinlock to ensure the validity of values you retrieve during the transaction.
         */
        static lock():void;
        /**
         * Relinquishes a previously acquired transaction lock.
         */
        static unlock():void;
        /**
         * Associates an arbitrary object with the current transaction using the specified key.
         */
        static setValue(value: any, key: string):void;
        /**
         * Returns the object previously associated with the current transaction using the specified key.
         */
        static value(key: string):any;
    }
    export interface SCNAnimatable extends NSObjectProtocol {
        /**
         * Adds an animation object for the specified key.
         */
        addAnimation(animation: SCNAnimationProtocol, key: string):void;
        /**
         * Returns the animation with the specified key.
         */
        animation(key: string):CAAnimation | null;
        /**
         * An array containing the keys of all animations currently attached to the object.
         */
        animationKeys: string[];
        /**
         * Removes all the animations currently attached to the object.
         */
        removeAllAnimations():void;
        /**
         * Removes the animation attached to the object with the specified key.
         */
        removeAnimation(key: string):void;
        /**
         * Pauses the animation attached to the object with the specified key.
         */
        pauseAnimation(key: string):void;
        /**
         * Resumes a previously paused animation attached to the object with the specified key.
         */
        resumeAnimation(key: string):void;
        /**
         * Returns a Boolean value indicating whether the animation attached to the object with the specified key is paused.
         */
        isAnimationPaused(key: string):boolean;
        addAnimationPlayer(player: SCNAnimationPlayer, key: string):void;
        animationPlayer(key: string):SCNAnimationPlayer | null;
        setAnimationSpeed(speed: CGFloat, key: string):void;
    }
    export class SCNAnimationEvent extends NSObject {
        /**
         * Creates an animation event.
         */
        constructor (time: CGFloat, eventBlock: SCNAnimationEventBlock);
    }
    export class SCNAnimation extends NSObject {
        animationDidStart: SCNAnimationDidStartBlock | null;
        animationDidStop: SCNAnimationDidStopBlock | null;
        animationEvents: SCNAnimationEvent[] | null;
        autoreverses: boolean;
        blendInDuration: TimeInterval;
        blendOutDuration: TimeInterval;
        duration: TimeInterval;
        fillsBackward: boolean;
        fillsForward: boolean;
        isAdditive: boolean;
        isAppliedOnCompletion: boolean;
        isCumulative: boolean;
        isRemovedOnCompletion: boolean;
        keyPath: string;
        repeatCount: CGFloat;
        startDelay: TimeInterval;
        timeOffset: TimeInterval;
        timingFunction: SCNTimingFunction;
        usesSceneTimeBase: boolean;
        constructor (caAnimation: CAAnimation);
        constructor (animationUrl: URL);
        constructor (animationName: string);
    }
    export class SCNAnimationPlayer extends NSObject {
        animation: SCNAnimation;
        blendFactor: CGFloat;
        paused: boolean;
        speed: CGFloat;
        constructor (animation: SCNAnimation);
        play():void;
        stop():void;
    }
    export class SCNTimingFunction extends NSObject {
        constructor (caTimingFunction: CAMediaTimingFunction);
        constructor (timingMode: SCNActionTimingMode);
    }
    export interface SCNAnimationProtocol extends NSObjectProtocol {}
    export class SCNConstraint extends NSObject {
        /**
         * The influence of the constraint on the node’s transformation.
         */
        influenceFactor: CGFloat;
        isEnabled: boolean;
        isIncremental: boolean;
    }
    export class SCNBillboardConstraint extends SCNConstraint {
        /**
         * An option that specifies which degrees of freedom the constraint affects.
         */
        freeAxes: SCNBillboardAxis;
    }
    export class SCNBillboardAxis {
        /**
         * Align an affected node such that its x-axis is always parallel to that of the view, leaving it free to rotate otherwise.
         */
        static X: SCNBillboardAxis;
        /**
         * Align an affected node such that its y-axis is always parallel to that of the view, leaving it free to rotate otherwise.
         */
        static Y: SCNBillboardAxis;
        /**
         * Align an affected node such that its z-axis is always perpendicular to the viewing plane, leaving it free to rotate otherwise.
         */
        static Z: SCNBillboardAxis;
        /**
         * Align an affected node such that its orientation always matches that of the view.
         */
        static all: SCNBillboardAxis;
        constructor (rawValue: number);
    }
    export class SCNLookAtConstraint extends SCNConstraint {
        /**
         * A Boolean value that specifies whether constrained nodes are allowed to rotate.
         */
        isGimbalLockEnabled: boolean;
        /**
         * The node toward which constrained nodes will point after being reoriented.
         */
        target: SCNNode | null;
        localFront: SCNVector3;
        targetOffset: SCNVector3;
        worldUp: SCNVector3;
        /**
         * Creates a look-at constraint for a specified target node.
         */
        constructor (target: SCNNode | null);
    }
    export class SCNDistanceConstraint extends SCNConstraint {
        maximumDistance: CGFloat;
        minimumDistance: CGFloat;
        target: SCNNode | null;
        constructor (target: SCNNode | null);
    }
    export class SCNAvoidOccluderConstraint extends SCNConstraint {
        bias: CGFloat;
        occluderCategoryBitMask: number;
        target: SCNNode | null;
        delegate: SCNAvoidOccluderConstraintDelegate;
        constructor (target: SCNNode | null);
    }
    export interface SCNAvoidOccluderConstraintDelegate extends NSObjectProtocol {
        avoidOccluderConstraint(constraint: SCNAvoidOccluderConstraint, occluder: SCNNode, node: SCNNode):void;
    }
    export class SCNAccelerationConstraint extends SCNConstraint {
        damping: CGFloat;
        decelerationDistance: CGFloat;
        maximumLinearAcceleration: CGFloat;
        maximumLinearVelocity: CGFloat;
    }
    export class SCNSliderConstraint extends SCNConstraint {
        collisionCategoryBitMask: number;
        offset: SCNVector3;
        radius: CGFloat;
    }
    export class SCNReplicatorConstraint extends SCNConstraint {
        orientationOffset: SCNQuaternion;
        positionOffset: SCNVector3;
        replicatesOrientation: boolean;
        replicatesPosition: boolean;
        replicatesScale: boolean;
        scaleOffset: SCNVector3;
        target: SCNNode | null;
        constructor (target: SCNNode | null);
    }
    export class SCNIKConstraint extends SCNConstraint {
        /**
         * The parent node of the hierarchy affected by the constraint.
         */
        chainRootNode: SCNNode;
        /**
         * The desired position for the constrained node, in the scene’s world coordinate space. Animatable.
         */
        targetPosition: SCNVector3;
        /**
         * Initializes an inverse kinematics constraint whose chain of nodes begins with the specified node.
         */
        constructor (chainRootNode: SCNNode);
        /**
         * Creates an inverse kinematics constraint whose chain of nodes begins with the specified node.
         */
        static inverseKinematicsConstraint(chainRootNode: SCNNode):Self;
        /**
         * Returns the rotation limit, in degrees, for the specified node.
         */
        maxAllowedRotationAngle(node: SCNNode):CGFloat;
        /**
         * Sets the rotation limit, in degrees, for the specified node.
         */
        setMaxAllowedRotationAngle(angle: CGFloat, node: SCNNode):void;
    }
    export class SCNTransformConstraint extends SCNConstraint {
        /**
         * Creates a new transform constraint.
         */
        constructor (world: boolean, block: ()=>any);
        static orientationConstraint(world: boolean, block: ()=>any):Self;
        static positionConstraint(world: boolean, block: ()=>any):Self;
    }
    export class SCNSkinner extends NSObject {
        /**
         * The geometry whose surface the skinner’s animation skeleton deforms.
         */
        baseGeometry: SCNGeometry | null;
        /**
         * The coordinate transformation for the skinner’s geometry in its default state.
         */
        baseGeometryBindTransform: SCNMatrix4;
        /**
         * The root node of the skinner object’s animation skeleton.
         */
        skeleton: SCNNode | null;
        /**
         * The control nodes of the animation skeleton.
         */
        bones: SCNNode[];
        /**
         * The default transforms for the animation skeleton’s bone nodes.
         */
        boneInverseBindTransforms: NSValue[] | null;
        /**
         * The geometry source that defines the influence of each bone on the positions the geometry’s vertices.
         */
        boneWeights: SCNGeometrySource;
        /**
         * The geometry source defining the mapping from bone indices in skeleton data to the skinner’s bones array.
         */
        boneIndices: SCNGeometrySource;
        /**
         * Creates a skinner object with the specified visible geometry and skeleton information.
         */
        constructor (baseGeometry: SCNGeometry | null, bones: SCNNode[], boneInverseBindTransforms: NSValue[] | null, boneWeights: SCNGeometrySource, boneIndices: SCNGeometrySource);
    }
    export class SCNMorpher extends NSObject {
        /**
         * The array of target geometries to morph between.
         */
        targets: SCNGeometry[];
        /**
         * The interpolation formula for blending between target geometries.
         */
        calculationMode: SCNMorpherCalculationMode;
        unifiesNormals: boolean;
        weights: NSNumber[];
        /**
         * Returns the weight value for the specified target index.
         */
        weight(targetIndex: number):CGFloat;
        /**
         * Specifies a weight value at a specified target index.
         */
        setWeight(weight: CGFloat, targetIndex: number):void;
    }
    export enum SCNMorpherCalculationMode {
        normalized = 0,
        additive = 1,
    }
    export enum SCNPhysicsBodyType {
        static = 0,
        dynamic = 1,
        kinematic = 2,
    }
    export class SCNPhysicsCollisionCategory {
        /**
         * The default 
         *  value for dynamic and kinematic bodies.
         */
        static default: SCNPhysicsCollisionCategory;
        /**
         * The default 
         *  value for static bodies.
         */
        static static: SCNPhysicsCollisionCategory;
        /**
         * This is the default value for a physics body’s 
         *  property.
         */
        static all: SCNPhysicsCollisionCategory;
        constructor (rawValue: number);
    }
}

/**
 * Apply computer vision algorithms to perform a variety of tasks on input images and video.
 */
declare module Vision {
    export class VNRecognizedPointKey {
        /**
         * The left eye.
         */
        static bodyLandmarkKeyLeftEye: VNRecognizedPointKey;
        /**
         * The right eye.
         */
        static bodyLandmarkKeyRightEye: VNRecognizedPointKey;
        /**
         * The left ear.
         */
        static bodyLandmarkKeyLeftEar: VNRecognizedPointKey;
        /**
         * The right ear.
         */
        static bodyLandmarkKeyRightEar: VNRecognizedPointKey;
        /**
         * The nose.
         */
        static bodyLandmarkKeyNose: VNRecognizedPointKey;
        /**
         * The center point of the neck.
         */
        static bodyLandmarkKeyNeck: VNRecognizedPointKey;
        /**
         * The left shoulder.
         */
        static bodyLandmarkKeyLeftShoulder: VNRecognizedPointKey;
        /**
         * The right shoulder.
         */
        static bodyLandmarkKeyRightShoulder: VNRecognizedPointKey;
        /**
         * The left hip.
         */
        static bodyLandmarkKeyLeftHip: VNRecognizedPointKey;
        /**
         * The right hip.
         */
        static bodyLandmarkKeyRightHip: VNRecognizedPointKey;
        /**
         * The center point of the waist.
         */
        static bodyLandmarkKeyRoot: VNRecognizedPointKey;
        /**
         * The right wrist.
         */
        static bodyLandmarkKeyRightWrist: VNRecognizedPointKey;
        /**
         * The right elbow.
         */
        static bodyLandmarkKeyRightElbow: VNRecognizedPointKey;
        /**
         * The left wrist.
         */
        static bodyLandmarkKeyLeftWrist: VNRecognizedPointKey;
        /**
         * The left elbow.
         */
        static bodyLandmarkKeyLeftElbow: VNRecognizedPointKey;
        /**
         * The right knee.
         */
        static bodyLandmarkKeyRightKnee: VNRecognizedPointKey;
        /**
         * The right ankle.
         */
        static bodyLandmarkKeyRightAnkle: VNRecognizedPointKey;
        /**
         * The left knee.
         */
        static bodyLandmarkKeyLeftKnee: VNRecognizedPointKey;
        /**
         * The left ankle.
         */
        static bodyLandmarkKeyLeftAnkle: VNRecognizedPointKey;
        /**
         * Creates a recognized point key with a string value.
         */
        constructor (rawValue: string);
    }
    export class VNRecognizedPointGroupKey {
        /**
         * A group key identifying the face, which includes the eyes, ears, and nose.
         */
        static bodyLandmarkRegionKeyFace: VNRecognizedPointGroupKey;
        /**
         * A group key identifying the torso, which includes the neck, shoulders, hips, and root.
         */
        static bodyLandmarkRegionKeyTorso: VNRecognizedPointGroupKey;
        /**
         * A group key identifying the landmarks of the right arm.
         */
        static bodyLandmarkRegionKeyRightArm: VNRecognizedPointGroupKey;
        /**
         * A group key identifying the landmarks of the left arm.
         */
        static bodyLandmarkRegionKeyLeftArm: VNRecognizedPointGroupKey;
        /**
         * A group key identifying the landmarks of the right leg.
         */
        static bodyLandmarkRegionKeyRightLeg: VNRecognizedPointGroupKey;
        /**
         * A group key identifying the landmarks of the left leg.
         */
        static bodyLandmarkRegionKeyLeftLeg: VNRecognizedPointGroupKey;
        /**
         * A group key identifying all landmarks.
         */
        static all: VNRecognizedPointGroupKey;
    }
    export class VNRequest extends NSObject {
        /**
         * The current revison supported by the request.
         */
        static currentRevision: number;
        /**
         * The revision of the latest request for the particular SDK linked with the client application.
         */
        static defaultRevision: number;
        /**
         * The collection of currently-supported algorithm versions for the class of request.
         */
        static supportedRevisions: IndexSet;
        /**
         * The completion handler block that’s invoked after the request has finished processing.
         */
        completionHandler: VNRequestCompletionHandler | null;
        /**
         * A hint to minimize the resource burden of the request.
         */
        preferBackgroundProcessing: boolean;
        /**
         * The collection of 
         *  results generated by request processing.
         */
        results: VNObservation[] | null;
        /**
         * A Boolean signifying that the Vision request should execute exclusively on the CPU.
         */
        usesCPUOnly: boolean;
        /**
         * The specific algorithm or implementation revision that’s used to perform the request.
         */
        revision: number;
        /**
         * Creates a new Vision request with no completion handler.
         */
        constructor ();
        /**
         * Creates a new Vision request with an optional completion handler.
         */
        constructor (completionHandler: VNRequestCompletionHandler | null);
        /**
         * Cancels the request before it can finish executing.
         */
        cancel():void;
    }
    export class VNGeneratePersonSegmentationRequest extends VNStatefulRequest {
        /**
         * The pixel format of the output image.
         */
        outputPixelFormat: OSType;
        /**
         * A value that indicates how the request balances accuracy and performance.
         */
        qualityLevel: VNGeneratePersonSegmentationRequest.QualityLevel;
        /**
         * The results of the segmentation request.
         */
        results: VNPixelBufferObservation[] | null;
        /**
         * Creates a generate person segmentation request.
         */
        constructor ();
        /**
         * Creates a generate person segmentation request with a completion handler.
         */
        constructor (completionHandler: VNRequestCompletionHandler | null);
    }
    /**
     * the same name namespace of class VNGeneratePersonSegmentationRequest
     */
    export namespace VNGeneratePersonSegmentationRequest {
        export enum QualityLevel {
            accurate = 0,
            balanced = 1,
            fast = 2,
        }
    }
    export class VNPixelBufferObservation extends VNObservation {
        /**
         * The image that results from a request with image output.
         */
        pixelBuffer: CVPixelBuffer;
        /**
         * A feature name that the CoreML model defines.
         */
        featureName: string;
    }
    export interface VNRequestRevisionProviding {
        /**
         * The revision of the 
         *  subclass used to generate the implementing object.
         */
        requestRevision: number;
    }
    export class VNDetectDocumentSegmentationRequest extends VNImageBasedRequest {
        /**
         * The results of a document segmentation request.
         */
        results: VNRectangleObservation[] | null;
    }
    export class VNRectangleObservation extends VNDetectedObjectObservation {
        /**
         * The coordinates of the lower-left corner of the observation bounding box.
         */
        bottomLeft: CGPoint;
        /**
         * The coordinates of the lower-right corner of the observation bounding box.
         */
        bottomRight: CGPoint;
        /**
         * The coordinates of the upper-left corner of the observation bounding box.
         */
        topLeft: CGPoint;
        /**
         * The coordinates of the upper-right corner of the observation bounding box.
         */
        topRight: CGPoint;
        /**
         * Creates a rectangle observation from its corner points.
         */
        constructor (requestRevision: number, topLeft: CGPoint, bottomLeft: CGPoint, bottomRight: CGPoint, topRight: CGPoint);
    }
    export class VNSequenceRequestHandler extends NSObject {
        /**
         * Initializes a sequence request handler.
         */
        constructor ();
        /**
         * Schedules Vision requests to be performed on a Core Graphics image.
         */
        perform(requests: VNRequest[], image: CGImage):void;
    }
    export class VNGenerateAttentionBasedSaliencyImageRequest extends VNImageBasedRequest {
        /**
         * The results of the image saliency request.
         */
        results: VNSaliencyImageObservation[] | null;
    }
    export class VNGenerateObjectnessBasedSaliencyImageRequest extends VNImageBasedRequest {
        /**
         * The results of the image saliency request.
         */
        results: VNSaliencyImageObservation[] | null;
    }
    export class VNSaliencyImageObservation extends VNPixelBufferObservation {
        /**
         * A collection of objects describing the distinct areas of the saliency heat map.
         */
        salientObjects: VNRectangleObservation[] | null;
    }
    export class VNTrackingRequest extends VNImageBasedRequest {
        /**
         * The observation object defining a region to track.
         */
        inputObservation: VNDetectedObjectObservation;
        /**
         * A value for specifying whether to prioritize speed or location accuracy.
         */
        trackingLevel: VNRequestTrackingLevel;
        /**
         * A Boolean that indicates the last frame in a tracking sequence.
         */
        isLastFrame: boolean;
    }
    export enum VNRequestTrackingLevel {
        accurate = 0,
        fast = 1,
    }
    export class VNTrackRectangleRequest extends VNTrackingRequest {
        /**
         * Creates a new rectangle tracking request with a rectangle observation.
         */
        constructor (observation: VNRectangleObservation);
        /**
         * Creates a new rectangle tracking request with a rectangle observation.
         */
        constructor (observation: VNRectangleObservation, completionHandler: VNRequestCompletionHandler | null);
    }
    export class VNTrackObjectRequest extends VNTrackingRequest {
        /**
         * Creates a new object tracking request with a detected object observation.
         */
        constructor (observation: VNDetectedObjectObservation);
        /**
         * Creates a new object tracking request with a detected object observation.
         */
        constructor (observation: VNDetectedObjectObservation, completionHandler: VNRequestCompletionHandler | null);
    }
    export class VNDetectedObjectObservation extends VNObservation {
        /**
         * The bounding box of the object that the request detects.
         */
        boundingBox: CGRect;
        /**
         * A resulting pixel buffer from a request to generate a segmentation mask for an image.
         */
        globalSegmentationMask: VNPixelBufferObservation | null;
        /**
         * Creates an observation with a bounding box.
         */
        constructor (boundingBox: CGRect);
        /**
         * Creates an observation with a revision number and bounding box.
         */
        constructor (requestRevision: number, boundingBox: CGRect);
    }
    export class VNDetectRectanglesRequest extends VNImageBasedRequest {
        /**
         * A 
         *  specifying the minimum aspect ratio of the rectangle to detect, defined as the shorter dimension over the longer dimension.
         */
        minimumAspectRatio: VNAspectRatio;
        /**
         * A 
         *  specifying the maximum aspect ratio of the rectangle to detect, defined as the shorter dimension over the longer dimension.
         */
        maximumAspectRatio: VNAspectRatio;
        /**
         * A float specifying the number of degrees a rectangle corner angle can deviate from 90°.
         */
        quadratureTolerance: VNDegrees;
        /**
         * The minimum size of a rectangle to detect, as a proportion of the smallest dimension.
         */
        minimumSize: Float;
        /**
         * A value specifying the minimum acceptable confidence level.
         */
        minimumConfidence: VNConfidence;
        /**
         * An integer specifying the maximum number of rectangles Vision returns.
         */
        maximumObservations: number;
        /**
         * The results of the request to detect rectangles.
         */
        results: VNRectangleObservation[] | null;
    }
    export class VNDetectFaceCaptureQualityRequest extends VNImageBasedRequest {
        /**
         * The results of the face-capture quality request.
         */
        results: VNFaceObservation[] | null;
    }
    export class VNFaceObservation extends VNDetectedObjectObservation {
        /**
         * The facial features of the detected face.
         */
        landmarks: VNFaceLandmarks2D | null;
        /**
         * The roll angle of a face in radians.
         */
        roll: NSNumber | null;
        /**
         * The yaw angle of a face in radians.
         */
        yaw: NSNumber | null;
        /**
         * The pitch angle of a face in radians.
         */
        pitch: NSNumber | null;
        /**
         * The capture quality of the face, normalized between 
         *  and 
         * .
         */
        faceCaptureQuality: Float | null;
        /**
         * Creates an observation that contains the roll, yaw, and pitch of the face.
         */
        constructor (requestRevision: number, boundingBox: CGRect, roll: NSNumber | null, yaw: NSNumber | null, pitch: NSNumber | null);
        /**
         * Creates an observation that contains the roll and yaw of the face.
         */
        constructor (requestRevision: number, boundingBox: CGRect, roll: NSNumber | null, yaw: NSNumber | null);
    }
    export class VNFaceLandmarks2D extends VNFaceLandmarks {
        /**
         * The region containing all face landmark points.
         */
        allPoints: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that trace the face contour from the left cheek, over the chin, to the right cheek.
         */
        faceContour: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that outline the left eye.
         */
        leftEye: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that outline the right eye.
         */
        rightEye: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that trace the left eyebrow.
         */
        leftEyebrow: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that trace the right eyebrow.
         */
        rightEyebrow: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that outline the nose.
         */
        nose: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that trace the center crest of the nose.
         */
        noseCrest: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that trace a vertical line down the center of the face.
         */
        medianLine: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that outline the outside of the lips.
         */
        outerLips: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing points that outline the space between the lips.
         */
        innerLips: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing the point where the left pupil is located.
         */
        leftPupil: VNFaceLandmarkRegion2D | null;
        /**
         * The region containing the point where the right pupil is located.
         */
        rightPupil: VNFaceLandmarkRegion2D | null;
    }
    export class VNFaceLandmarkRegion2D extends VNFaceLandmarkRegion {
        /**
         * The array of normalized landmark points.
         */
        normalizedPoints: CGPoint[];
        /**
         * Requests an array of precision estimates for each landmark point.
         */
        precisionEstimatesPerPoint: Float[] | null;
        pointsClassification: VNPointsClassification;
        /**
         * An array containing landmark points in the coordinate space of the specified image size.
         */
        pointsInImage(imageSize: CGSize):CGPoint[];
    }
    export class VNFaceLandmarks extends NSObject {
        /**
         * A confidence estimate for the detected landmarks.
         */
        confidence: VNConfidence;
    }
    export class VNFaceLandmarkRegion extends NSObject {
        /**
         * The number of points in the face region.
         */
        pointCount: number;
    }
    export class VNDetectFaceLandmarksRequest extends VNImageBasedRequest {
        /**
         * The results of the face landmarks request.
         */
        results: VNFaceObservation[] | null;
        /**
         * A variable that describes how a face landmarks request orders or enumerates the resulting features.
         */
        constellation: VNRequestFaceLandmarksConstellation;
        /**
         * Returns a Boolean value that indicates whether a revision supports a constellation.
         */
        static revision(requestRevision: number, constellation: VNRequestFaceLandmarksConstellation):boolean;
    }
    export interface VNFaceObservationAccepting extends NSObjectProtocol {
        /**
         * An array of 
         *  objects to process as part of the request.
         */
        inputFaceObservations: VNFaceObservation[] | null;
    }
    export enum VNRequestFaceLandmarksConstellation {
        constellationNotDefined = 0,
        constellation65Points = 1,
        constellation76Points = 2,
    }
    export class VNDetectFaceRectanglesRequest extends VNImageBasedRequest {
        /**
         * The results of the face detection request.
         */
        results: VNFaceObservation[] | null;
    }
    export class VNDetectHumanRectanglesRequest extends VNImageBasedRequest {
        /**
         * A Boolean value that indicates whether the request requires detecting a full body or upper body only to produce a result.
         */
        upperBodyOnly: boolean;
        /**
         * The results of the request to find rectangular regions that contain people in an image.
         */
        results: VNHumanObservation[] | null;
    }
    export class VNHumanObservation extends VNDetectedObjectObservation {
        /**
         * A Boolean value that indicates whether the observation represents an upper-body or full-body rectangle.
         */
        upperBodyOnly: boolean;
    }
    export class VNDetectHumanBodyPoseRequest extends VNImageBasedRequest {
        /**
         * The observed body poses.
         */
        results: VNHumanBodyPoseObservation[] | null;
        /**
         * Retrieves the supported joint names for a revision.
         */
        static supportedJointNames(revision: number):VNHumanBodyPoseObservation.JointName[];
        /**
         * Retrieves the supported joint group names for a revision.
         */
        static supportedJointsGroupNames(revision: number):VNHumanBodyPoseObservation.JointsGroupName[];
    }
    export class VNDetectHumanHandPoseRequest extends VNImageBasedRequest {
        /**
         * The maximum number of hands to detect in an image.
         */
        maximumHandCount: number;
        /**
         * The observed hand poses.
         */
        results: VNHumanHandPoseObservation[] | null;
        /**
         * Retrieves the supported joint names for a revision.
         */
        static supportedJointNames(revision: number):VNHumanHandPoseObservation.JointName[];
        /**
         * Retrieves the supported joint group names for a revision.
         */
        static supportedJointsGroupNames(revision: number):VNHumanHandPoseObservation.JointsGroupName[];
    }
    export class VNRecognizedPointsObservation extends VNObservation {
        /**
         * The available point keys in the observation.
         */
        availableKeys: VNRecognizedPointKey[];
        /**
         * The available point group keys in the observation.
         */
        availableGroupKeys: VNRecognizedPointGroupKey[];
        /**
         * Retrieves a recognized point for a key.
         */
        recognizedPoint(pointKey: VNRecognizedPointKey):VNRecognizedPoint;
        /**
         * Retrieves the recognized points for a key.
         */
        recognizedPoints(groupKey: VNRecognizedPointGroupKey):Record<VNRecognizedPointKey, VNRecognizedPoint>;
        /**
         * Retrieves the grouping of normalized point coordinates and confidence scores in a format compatible with Core ML.
         */
        keypointsMultiArray():MLMultiArray;
    }
    export class VNHumanBodyPoseObservation extends VNRecognizedPointsObservation {
        /**
         * The names of the available joints in the observation.
         */
        availableJointNames: VNHumanBodyPoseObservation.JointName[];
        /**
         * The available joint group names in the observation.
         */
        availableJointsGroupNames: VNHumanBodyPoseObservation.JointsGroupName[];
        /**
         * Retrieves the recognized point for a joint name.
         */
        recognizedPoint(jointName: VNHumanBodyPoseObservation.JointName):VNRecognizedPoint;
        /**
         * Retrieves the recognized points associated with the joint group name.
         */
        recognizedPoints(jointsGroupName: VNHumanBodyPoseObservation.JointsGroupName):Record<VNHumanBodyPoseObservation.JointName, VNRecognizedPoint>;
    }
    /**
     * the same name namespace of class VNHumanBodyPoseObservation
     */
    export namespace VNHumanBodyPoseObservation {
        export class JointName {
            /**
             * The left ear.
             */
            static leftEar: VNHumanBodyPoseObservation.JointName;
            /**
             * The left eye.
             */
            static leftEye: VNHumanBodyPoseObservation.JointName;
            /**
             * The right ear.
             */
            static rightEar: VNHumanBodyPoseObservation.JointName;
            /**
             * The right eye.
             */
            static rightEye: VNHumanBodyPoseObservation.JointName;
            /**
             * The neck.
             */
            static neck: VNHumanBodyPoseObservation.JointName;
            /**
             * The nose.
             */
            static nose: VNHumanBodyPoseObservation.JointName;
            /**
             * The left shoulder.
             */
            static leftShoulder: VNHumanBodyPoseObservation.JointName;
            /**
             * The left elbow.
             */
            static leftElbow: VNHumanBodyPoseObservation.JointName;
            /**
             * The left wrist.
             */
            static leftWrist: VNHumanBodyPoseObservation.JointName;
            /**
             * The right shoulder.
             */
            static rightShoulder: VNHumanBodyPoseObservation.JointName;
            /**
             * The right elbow.
             */
            static rightElbow: VNHumanBodyPoseObservation.JointName;
            /**
             * The right wrist.
             */
            static rightWrist: VNHumanBodyPoseObservation.JointName;
            /**
             * The root (waist).
             */
            static root: VNHumanBodyPoseObservation.JointName;
            /**
             * The left hip.
             */
            static leftHip: VNHumanBodyPoseObservation.JointName;
            /**
             * The left knee.
             */
            static leftKnee: VNHumanBodyPoseObservation.JointName;
            /**
             * The left ankle.
             */
            static leftAnkle: VNHumanBodyPoseObservation.JointName;
            /**
             * The right hip.
             */
            static rightHip: VNHumanBodyPoseObservation.JointName;
            /**
             * The right knee.
             */
            static rightKnee: VNHumanBodyPoseObservation.JointName;
            /**
             * The right ankle.
             */
            static rightAnkle: VNHumanBodyPoseObservation.JointName;
            /**
             * Creates a joint name with a recognized point key.
             */
            constructor (rawValue: VNRecognizedPointKey);
        }
        export class JointsGroupName {
            /**
             * The face.
             */
            static face: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * The torso.
             */
            static torso: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * The left arm.
             */
            static leftArm: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * The right arm.
             */
            static rightArm: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * The left leg.
             */
            static leftLeg: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * The right leg.
             */
            static rightLeg: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * All body point groups.
             */
            static all: VNHumanBodyPoseObservation.JointsGroupName;
            /**
             * Creates a joint group name with a recognized point group key.
             */
            constructor (rawValue: VNRecognizedPointGroupKey);
        }
    }
    export class VNHumanHandPoseObservation extends VNRecognizedPointsObservation {
        /**
         * The names of the available joints in the observation.
         */
        availableJointNames: VNHumanHandPoseObservation.JointName[];
        /**
         * The joint group names available in the observation.
         */
        availableJointsGroupNames: VNHumanHandPoseObservation.JointsGroupName[];
        /**
         * The chirality, or handedness, of a pose.
         */
        chirality: VNChirality;
        /**
         * Retrieves the recognized point for a joint name.
         */
        recognizedPoint(jointName: VNHumanHandPoseObservation.JointName):VNRecognizedPoint;
        /**
         * Retrieves the recognized points associated with the joint group name.
         */
        recognizedPoints(jointsGroupName: VNHumanHandPoseObservation.JointsGroupName):Record<VNHumanHandPoseObservation.JointName, VNRecognizedPoint>;
    }
    /**
     * the same name namespace of class VNHumanHandPoseObservation
     */
    export namespace VNHumanHandPoseObservation {
        export class JointName {
            /**
             * The tip of the thumb.
             */
            static thumbTip: VNHumanHandPoseObservation.JointName;
            /**
             * The thumb’s interphalangeal (IP) joint.
             */
            static thumbIP: VNHumanHandPoseObservation.JointName;
            /**
             * The thumb’s metacarpophalangeal (MP) joint.
             */
            static thumbMP: VNHumanHandPoseObservation.JointName;
            /**
             * The thumb’s carpometacarpal (CMC) joint.
             */
            static thumbCMC: VNHumanHandPoseObservation.JointName;
            /**
             * The tip of the index finger.
             */
            static indexTip: VNHumanHandPoseObservation.JointName;
            /**
             * The index finger’s distal interphalangeal (DIP) joint.
             */
            static indexDIP: VNHumanHandPoseObservation.JointName;
            /**
             * The index finger’s proximal interphalangeal (PIP) joint.
             */
            static indexPIP: VNHumanHandPoseObservation.JointName;
            /**
             * The index finger’s metacarpophalangeal (MCP) joint.
             */
            static indexMCP: VNHumanHandPoseObservation.JointName;
            /**
             * The tip of the middle finger.
             */
            static middleTip: VNHumanHandPoseObservation.JointName;
            /**
             * The middle finger’s distal interphalangeal (DIP) joint.
             */
            static middleDIP: VNHumanHandPoseObservation.JointName;
            /**
             * The middle finger’s proximal interphalangeal (PIP) joint.
             */
            static middlePIP: VNHumanHandPoseObservation.JointName;
            /**
             * The middle finger’s metacarpophalangeal (MCP) joint.
             */
            static middleMCP: VNHumanHandPoseObservation.JointName;
            /**
             * The tip of the ring finger.
             */
            static ringTip: VNHumanHandPoseObservation.JointName;
            /**
             * The ring finger’s distal interphalangeal (DIP) joint.
             */
            static ringDIP: VNHumanHandPoseObservation.JointName;
            /**
             * The ring finger’s proximal interphalangeal (PIP) joint.
             */
            static ringPIP: VNHumanHandPoseObservation.JointName;
            /**
             * The ring finger’s metacarpophalangeal (MCP) joint.
             */
            static ringMCP: VNHumanHandPoseObservation.JointName;
            /**
             * The tip of the little finger.
             */
            static littleTip: VNHumanHandPoseObservation.JointName;
            /**
             * The little finger’s distal interphalangeal (DIP) joint.
             */
            static littleDIP: VNHumanHandPoseObservation.JointName;
            /**
             * The little finger’s proximal interphalangeal (PIP) joint.
             */
            static littlePIP: VNHumanHandPoseObservation.JointName;
            /**
             * The little finger’s metacarpophalangeal (MCP) joint.
             */
            static littleMCP: VNHumanHandPoseObservation.JointName;
            /**
             * The wrist.
             */
            static wrist: VNHumanHandPoseObservation.JointName;
            /**
             * Creates a joint name with a recognized point key.
             */
            constructor (rawValue: VNRecognizedPointKey);
        }
        export class JointsGroupName {
            /**
             * The thumb.
             */
            static thumb: VNHumanHandPoseObservation.JointsGroupName;
            /**
             * The index finger.
             */
            static indexFinger: VNHumanHandPoseObservation.JointsGroupName;
            /**
             * The little finger.
             */
            static littleFinger: VNHumanHandPoseObservation.JointsGroupName;
            /**
             * The middle finger.
             */
            static middleFinger: VNHumanHandPoseObservation.JointsGroupName;
            /**
             * The ring finger.
             */
            static ringFinger: VNHumanHandPoseObservation.JointsGroupName;
            /**
             * All hand group names.
             */
            static all: VNHumanHandPoseObservation.JointsGroupName;
            /**
             * Creates a joint group name with a recognized point group key.
             */
            constructor (rawValue: VNRecognizedPointGroupKey);
        }
    }
    export class VNImageBasedRequest extends VNRequest {
        /**
         * The region of the image in which Vision will perform the request. 
         */
        regionOfInterest: CGRect;
    }
    export enum VNChirality {
        left = -1,
        right = 1,
        unknown = 0,
    }
    export class VNPoint extends NSObject {
        /**
         * A point object that represents the origin.
         */
        static zero: VNPoint;
        /**
         * The x-coordinate.
         */
        x: number;
        /**
         * The y-coordinate.
         */
        y: number;
        /**
         * The Core Graphics point for this point.
         */
        location: CGPoint;
        /**
         * Creates a point object with the specified coordinates.
         */
        constructor (x: number, y: number);
        /**
         * Creates a point object from the specified Core Graphics point.
         */
        constructor (location: CGPoint);
        /**
         * Creates a point object that’s shifted by the X and Y offsets of the specified vector.
         */
        static apply(vector: VNVector, point: VNPoint):VNPoint;
        /**
         * Returns the distance to another point.
         */
        distance(point: VNPoint):number;
    }
    export class VNClassifyImageRequest extends VNImageBasedRequest {
        /**
         * The results of the image classification request.
         */
        results: VNClassificationObservation[] | null;
        /**
         * Requests the collection of classifications that the Vision framework recognizes.
         */
        static knownClassifications(requestRevision: number):VNClassificationObservation[];
        /**
         * Returns the classification identifiers that the request supports in its current configuration.
         */
        supportedIdentifiers():string[];
    }
    export class VNDetectedPoint extends VNPoint {
        /**
         * A confidence score that indicates the detected point’s accuracy.
         */
        confidence: VNConfidence;
    }
    export class VNRecognizedPoint extends VNDetectedPoint {
        /**
         * The point’s identifier label.
         */
        identifier: VNRecognizedPointKey;
    }
    export class VNClassificationObservation extends VNObservation {
        /**
         * Classification label identifying the type of observation.
         */
        identifier: string;
        /**
         * A Boolean variable indicating whether the observation contains precision and recall curves.
         */
        hasPrecisionRecallCurve: boolean;
        /**
         * Determines whether the observation for a specific recall has a minimum precision value.
         */
        hasMinimumPrecision(minimumPrecision: Float, recall: Float):boolean;
        /**
         * Determines whether the observation for a specific precision has a minimum recall value.
         */
        hasMinimumRecall(minimumRecall: Float, precision: Float):boolean;
    }
    export class VNRecognizeAnimalsRequest extends VNImageBasedRequest {
        /**
         * The results of the request to recognize animals.
         */
        results: VNRecognizedObjectObservation[] | null;
        /**
         * Returns a list of animal identifiers the recognition algorithm supports for the specified revision.
         */
        static knownAnimalIdentifiers(requestRevision: number):VNAnimalIdentifier[];
        /**
         * Returns the identifiers of the animals that the request detects.
         */
        supportedIdentifiers():VNAnimalIdentifier[];
    }
    export class VNAnimalIdentifier {
        /**
         * An animal identifier for cats.
         */
        static cat: VNAnimalIdentifier;
        /**
         * An animal identifier for dogs.
         */
        static dog: VNAnimalIdentifier;
        /**
         * Creates an identifier with a string.
         */
        constructor (rawValue: string);
    }
    export class VNDetectTrajectoriesRequest extends VNStatefulRequest {
        /**
         * The requested target frame time for processing trajectory detection.
         */
        targetFrameTime: CMTime;
        /**
         * The number of points to detect before calculating a trajectory.
         */
        trajectoryLength: number;
        /**
         * The minimum radius of the bounding circle of the object to track.
         */
        objectMinimumNormalizedRadius: Float;
        /**
         * The maximum radius of the bounding circle of the object to track.
         */
        objectMaximumNormalizedRadius: Float;
        /**
         * The minimum radius of the tracked shape’s bounding circle.
         */
        minimumObjectSize: Float;
        /**
         * The maximum radius of the tracked shape’s bounding circle.
         */
        maximumObjectSize: Float;
        /**
         * The array of detected trajectory observations.
         */
        results: VNTrajectoryObservation[] | null;
        /**
         * Creates a new request to detect trajectories.
         */
        constructor (frameAnalysisSpacing: CMTime, trajectoryLength: number, completionHandler: VNRequestCompletionHandler | null);
    }
    export class VNTrajectoryObservation extends VNObservation {
        /**
         * The centroid points of the detected contour along the trajectory.
         */
        detectedPoints: VNPoint[];
        /**
         * The centroids of the calculated trajectory from the detected points.
         */
        projectedPoints: VNPoint[];
        /**
         * The coefficients of the parabolic equation.
         */
        equationCoefficients: simd_float3;
        /**
         * The moving average radius of the object the request is tracking.
         */
        movingAverageRadius: CGFloat;
    }
    export class VNDetectContoursRequest extends VNImageBasedRequest {
        /**
         * The amount by which to adjust the image contrast.
         */
        contrastAdjustment: Float;
        /**
         * The pixel value to use as a pivot for the contrast.
         */
        contrastPivot: NSNumber | null;
        /**
         * A Boolean value that indicates whether the request detects a dark object on a light background to aid in detection.
         */
        detectsDarkOnLight: boolean;
        /**
         * The maximum image dimension to use for contour detection.
         */
        maximumImageDimension: number;
        /**
         * A Boolean value that indicates whether the request detects a dark object on a light background.
         */
        detectDarkOnLight: boolean;
        /**
         * The results of the request to detect contours.
         */
        results: VNContoursObservation[] | null;
    }
    export class VNContoursObservation extends VNObservation {
        /**
         * The total number of detected contours.
         */
        contourCount: number;
        /**
         * The detected contours as a path object in normalized coordinates.
         */
        normalizedPath: CGPath;
        /**
         * An array of contours that don’t have another contour enclosing them.
         */
        topLevelContours: VNContour[];
        /**
         * The total number of detected top-level contours.
         */
        topLevelContourCount: number;
        /**
         * Retrieves the contour object at the specified index, irrespective of hierarchy.
         */
        contour(contourIndex: number):VNContour;
    }
    export class VNContour extends NSObject {
        /**
         * The aspect ratio of the contour.
         */
        aspectRatio: Float;
        /**
         * The contour object’s index path.
         */
        indexPath: IndexPath;
        /**
         * The contour object as a path in normalized coordinates.
         */
        normalizedPath: CGPath;
        /**
         * The contour’s number of points.
         */
        pointCount: number;
        /**
         * The contour’s array of points in normalized coordinates.
         */
        normalizedPoints: simd_float2[];
        /**
         * The total number of detected child contours.
         */
        childContourCount: number;
        /**
         * An array of contours that this contour encloses.
         */
        childContours: VNContour[];
        /**
         * Simplifies the contour to a polygon using a Ramer-Douglas-Peucker algorithm.
         */
        polygonApproximation(epsilon: Float):VNContour;
        /**
         * Retrieves the child contour object at the specified index.
         */
        childContour(childContourIndex: number):VNContour;
    }
    export class VNGenerateImageFeaturePrintRequest extends VNImageBasedRequest {
        /**
         * An optional setting that tells the algorithm how to scale an input image before generating the feature print.
         */
        imageCropAndScaleOption: VNImageCropAndScaleOption;
        /**
         * The results of the feature print request.
         */
        results: VNFeaturePrintObservation[] | null;
    }
    export class VNGenerateOpticalFlowRequest extends VNTargetedImageRequest {
        /**
         * The accuracy level for computing optical flow.
         */
        computationAccuracy: VNGenerateOpticalFlowRequest.ComputationAccuracy;
        /**
         * The output buffer’s pixel format.
         */
        outputPixelFormat: OSType;
        /**
         * The results of the request to generate optical flow.
         */
        results: VNPixelBufferObservation[] | null;
        keepNetworkOutput: boolean;
    }
    /**
     * the same name namespace of class VNGenerateOpticalFlowRequest
     */
    export namespace VNGenerateOpticalFlowRequest {
        export enum ComputationAccuracy {
            low = 0,
            medium = 1,
            high = 2,
            veryHigh = 3,
        }
    }
    export class VNDetectBarcodesRequest extends VNImageBasedRequest {
        /**
         * The barcode symbologies that the request detects in an image.
         */
        symbologies: VNBarcodeSymbology[];
        /**
         * The results of a barcode detection request.
         */
        results: VNBarcodeObservation[] | null;
        /**
         * Returns the barcode symbologies that the request supports.
         */
        supportedSymbologies():VNBarcodeSymbology[];
    }
    export class VNBarcodeSymbology {
        /**
         * A constant that indicates Aztec symbology.
         */
        static aztec: VNBarcodeSymbology;
        /**
         * A constant that indicates Codabar symbology.
         */
        static codabar: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 symbology.
         */
        static code39: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 symbology with a checksum.
         */
        static code39Checksum: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 Full ASCII symbology.
         */
        static code39FullASCII: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 Full ASCII symbology with a checksum.
         */
        static code39FullASCIIChecksum: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 93 symbology.
         */
        static code93: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 93i symbology.
         */
        static code93i: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 128 symbology.
         */
        static code128: VNBarcodeSymbology;
        /**
         * A constant that indicates Data Matrix symbology.
         */
        static dataMatrix: VNBarcodeSymbology;
        /**
         * A constant that indicates EAN-8 symbology.
         */
        static ean8: VNBarcodeSymbology;
        /**
         * A constant that indicates EAN-13 symbology.
         */
        static ean13: VNBarcodeSymbology;
        /**
         * A constant that indicates GS1 DataBar symbology.
         */
        static gs1DataBar: VNBarcodeSymbology;
        /**
         * A constant that indicates GS1 DataBar Expanded symbology.
         */
        static gs1DataBarExpanded: VNBarcodeSymbology;
        /**
         * A constant that indicates GS1 DataBar Limited symbology.
         */
        static gs1DataBarLimited: VNBarcodeSymbology;
        /**
         * A constant that indicates Interleaved 2 of 5 (ITF) symbology.
         */
        static i2of5: VNBarcodeSymbology;
        /**
         * A constant that indicates Interleaved 2 of 5 (ITF) symbology with a checksum.
         */
        static i2of5Checksum: VNBarcodeSymbology;
        /**
         * A constant that indicates ITF-14 symbology.
         */
        static itf14: VNBarcodeSymbology;
        /**
         * A constant that indicates MicroPDF417 symbology.
         */
        static microPDF417: VNBarcodeSymbology;
        /**
         * A constant that indicates MicroQR symbology.
         */
        static microQR: VNBarcodeSymbology;
        /**
         * A constant that indicates PDF417 symbology.
         */
        static pdf417: VNBarcodeSymbology;
        /**
         * A constant that indicates Quick Response (QR) symbology.
         */
        static qr: VNBarcodeSymbology;
        /**
         * A constant that indicates UPC-E symbology.
         */
        static upce: VNBarcodeSymbology;
        /**
         * A constant that indicates Aztec symbology.
         */
        static Aztec: VNBarcodeSymbology;
        static Code128: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 symbology.
         */
        static Code39: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 symbology with a checksum.
         */
        static Code39Checksum: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 Full ASCII symbology.
         */
        static Code39FullASCII: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 39 Full ASCII symbology with a checksum.
         */
        static Code39FullASCIIChecksum: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 93 symbology.
         */
        static Code93: VNBarcodeSymbology;
        /**
         * A constant that indicates Code 93i symbology.
         */
        static Code93i: VNBarcodeSymbology;
        /**
         * A constant that indicates Data Matrix symbology.
         */
        static DataMatrix: VNBarcodeSymbology;
        /**
         * A constant that indicates EAN-8 symbology.
         */
        static EAN8: VNBarcodeSymbology;
        /**
         * A constant that indicates EAN-13 symbology.
         */
        static EAN13: VNBarcodeSymbology;
        /**
         * A constant that indicates Interleaved 2 of 5 (ITF) symbology.
         */
        static I2of5: VNBarcodeSymbology;
        /**
         * A constant that indicates Interleaved 2 of 5 (ITF) symbology with a checksum.
         */
        static I2of5Checksum: VNBarcodeSymbology;
        /**
         * A constant that indicates ITF-14 symbology.
         */
        static ITF14: VNBarcodeSymbology;
        /**
         * A constant that indicates PDF417 symbology.
         */
        static PDF417: VNBarcodeSymbology;
        /**
         * A constant that indicates Quick Response (QR) symbology.
         */
        static QR: VNBarcodeSymbology;
        /**
         * A constant that indicates UPC-E symbology.
         */
        static UPCE: VNBarcodeSymbology;
        /**
         * Creates a symbology with a string value.
         */
        constructor (rawValue: string);
    }
    export enum VNImageCropAndScaleOption {
        centerCrop = 0,
        scaleFill = 2,
        scaleFit = 1,
        scaleFillRotate90CCW = 258,
        scaleFitRotate90CCW = 257,
    }
    export class VNBarcodeObservation extends VNRectangleObservation {
        /**
         * A string value that represents the barcode payload.
         */
        payloadStringValue: string;
        /**
         * An object that describes the low-level details about the barcode and its data.
         */
        barcodeDescriptor: CIBarcodeDescriptor | null;
        /**
         * The symbology of the observed barcode.
         */
        symbology: VNBarcodeSymbology;
    }
    export class VNDetectTextRectanglesRequest extends VNImageBasedRequest {
        /**
         * A Boolean value that indicates whether the request detects character bounding boxes.
         */
        reportCharacterBoxes: boolean;
        /**
         * The results of the request to detect text rectangles.
         */
        results: VNTextObservation[] | null;
    }
    export class VNTextObservation extends VNRectangleObservation {
        /**
         * An array of detected individual character bounding boxes.
         */
        characterBoxes: VNRectangleObservation[] | null;
    }
    export class VNRecognizeTextRequest extends VNImageBasedRequest {
        /**
         * The minimum height, relative to the image height, of the text to recognize.
         */
        minimumTextHeight: Float;
        /**
         * A value that determines whether the request prioritizes accuracy or speed in text recognition.
         */
        recognitionLevel: VNRequestTextRecognitionLevel;
        /**
         * The results of the text recognition request.
         */
        results: VNRecognizedTextObservation[] | null;
        /**
         * An array of languages to detect, in priority order.
         */
        recognitionLanguages: string[];
        /**
         * A Boolean value that indicates whether the request applies language correction during the recognition process.
         */
        usesLanguageCorrection: boolean;
        /**
         * An array of strings to supplement the recognized languages at the word-recognition stage.
         */
        customWords: string[];
        automaticallyDetectsLanguage: boolean;
        /**
         * Returns the identifiers of the languages that the request supports.
         */
        supportedRecognitionLanguages():string[];
    }
    export enum VNRequestTextRecognitionLevel {
        fast = 1,
        accurate = 0,
    }
    export class VNRecognizedTextObservation extends VNRectangleObservation {
        /**
         * Requests the 
         *  top candidates for a recognized text string.
         */
        topCandidates(maxCandidateCount: number):VNRecognizedText[];
    }
    export class VNRecognizedText extends NSObject {
        /**
         * The top candidate for recognized text.
         */
        string: string;
        /**
         * A normalized confidence score for the text recognition result.
         */
        confidence: VNConfidence;
        /**
         * Calculates the bounding box around the characters in the range of the string.
         */
        boundingBox(range: Range<String.Index>):VNRectangleObservation | null;
    }
    export class VNFeaturePrintObservation extends VNObservation {
        /**
         * The feature print data.
         */
        data: Data;
        /**
         * The total number of elements in the data.
         */
        elementCount: number;
        /**
         * The type of each element in the data.
         */
        elementType: VNElementType;
        /**
         * Computes the distance between two feature print observations.
         */
        computeDistance(outDistance: UnsafeMutablePointer<Float>, featurePrint: VNFeaturePrintObservation):void;
    }
    export interface VNRequestProgressProviding extends NSObjectProtocol {
        /**
         * A block of code executed periodically during a Vision request to report progress on long-running tasks.
         */
        progressHandler: VNRequestProgressHandler;
        /**
         * A Boolean set to true when a request can't determine its progress in fractions completed.
         */
        indeterminate: boolean;
    }
    export class VNDetectHorizonRequest extends VNImageBasedRequest {
        /**
         * The results of the horizon detection request.
         */
        results: VNHorizonObservation[] | null;
    }
    export class VNHorizonObservation extends VNObservation {
        /**
         * Angle of the observed horizon.
         */
        angle: CGFloat;
        /**
         * Transform applied to the detected horizon.
         */
        transform: CGAffineTransform;
    }
    export class VNTargetedImageRequest extends VNImageBasedRequest {
        /**
         * Creates a new request targeting a Core Graphics image, executing the completion handler when done.
         */
        constructor (cgImage: CGImage, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting a Core Graphics image of known orientation, executing the completion handler when done.
         */
        constructor (cgImage: CGImage, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting a 
         * , executing the completion handler when done.
         */
        constructor (ciImage: CIImage, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting a 
         *  of known orientation, executing the completion handler when done.
         */
        constructor (ciImage: CIImage, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting an image in a 
         * , executing the completion handler when done.
         */
        constructor (pixelBuffer: CVPixelBuffer, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting an image in a 
         *  of known orientation, executing the completion handler when done.
         */
        constructor (pixelBuffer: CVPixelBuffer, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request with a completion handler that targets an image in a sample buffer.
         */
        constructor (sampleBuffer: CMSampleBuffer, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request with a completion handler that targets an image of a known orientation in a sample buffer.
         */
        constructor (sampleBuffer: CMSampleBuffer, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting an image as raw data, executing the completion handler when done.
         */
        constructor (imageData: Data, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting a raw data image of known orientation, executing the completion handler when done.
         */
        constructor (imageData: Data, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting an image at the specified URL, executing the completion handler when done.
         */
        constructor (imageURL: URL, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
        /**
         * Creates a new request targeting an image of known orientation, at the specified URL, executing the completion handler when done.
         */
        constructor (imageURL: URL, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>, completionHandler: VNRequestCompletionHandler | null);
    }
    export class VNImageRegistrationRequest extends VNTargetedImageRequest {}
    export class VNTranslationalImageRegistrationRequest extends VNImageRegistrationRequest {
        /**
         * The results of a translational image alignment request.
         */
        results: VNImageTranslationAlignmentObservation[] | null;
    }
    export class VNHomographicImageRegistrationRequest extends VNImageRegistrationRequest {
        /**
         * The results of the image registration request.
         */
        results: VNImageHomographicAlignmentObservation[] | null;
    }
    export class VNImageAlignmentObservation extends VNObservation {}
    export class VNImageTranslationAlignmentObservation extends VNImageAlignmentObservation {
        /**
         * The alignment transform to align the floating image with the reference image.
         */
        alignmentTransform: CGAffineTransform;
    }
    export class VNImageHomographicAlignmentObservation extends VNImageAlignmentObservation {
        /**
         * The warp transform matrix to morph the floating image into the reference image.
         */
        warpTransform: matrix_float3x3;
    }
    export class VNRecognizedObjectObservation extends VNDetectedObjectObservation {
        /**
         * An array of observations that classify the recognized object.
         */
        labels: VNClassificationObservation[];
    }
    export enum VNElementType {
        unknown = 0,
        float = 1,
        double = 2,
    }
    export class VNCoreMLRequest extends VNImageBasedRequest {
        /**
         * The 
         *  model on which the request is based, wrapped in a 
         * .
         */
        model: VNCoreMLModel;
        /**
         * An optional setting informing the Vision algorithm how to scale an input image.
         */
        imageCropAndScaleOption: VNImageCropAndScaleOption;
        /**
         * Creates a model container to be used with 
         *  based on a 
         *  model.
         */
        constructor (model: VNCoreMLModel);
        /**
         * Creates a model container to be used with 
         *  based on a 
         *  model, with an optional completion handler.
         */
        constructor (model: VNCoreMLModel, completionHandler: VNRequestCompletionHandler | null);
    }
    export class VNCoreMLModel extends NSObject {
        /**
         * An optional object to support inputs outside Vision.
         */
        featureProvider: MLFeatureProvider | null;
        /**
         * The name of the 
         *  that Vision sets from the request handler. 
         */
        inputImageFeatureName: string;
        /**
         * Creates a model container to be used with 
         * .
         */
        constructor (model: MLModel);
    }
    export class VNCoreMLFeatureValueObservation extends VNObservation {
        /**
         * The feature result of a 
         *  that outputs neither a classification nor an image.
         */
        featureValue: MLFeatureValue;
        /**
         * The name used in the model description of the CoreML model that produced this observation.
         */
        featureName: string;
    }
    export class VNGeometryUtils extends NSObject {
        /**
         * Calculates a bounding circle for the specified contour object.
         */
        static boundingCircle(contour: VNContour):VNCircle;
        /**
         * Calculates the area for the specified contour.
         */
        static calculateArea(area: UnsafeMutablePointer<Double>, contour: VNContour, orientedArea: boolean):void;
        /**
         * Calculates the perimeter of a closed contour.
         */
        static calculatePerimeter(perimeter: UnsafeMutablePointer<Double>, contour: VNContour):void;
    }
    export class VNVideoProcessor extends NSObject {
        /**
         * Creates a video processor to perform Vision requests against the specified video asset.
         */
        constructor (videoURL: URL);
        /**
         * Adds a request with processing options to the video processor.
         */
        addRequest(request: VNRequest, processingOptions: VNVideoProcessor.RequestProcessingOptions):void;
        /**
         * Removes a Vision request from the video processor’s request queue.
         */
        removeRequest(request: VNRequest):void;
        /**
         * Analyzes a time range of video content.
         */
        analyze(timeRange: CMTimeRange):void;
        /**
         * Cancels the video processing.
         */
        cancel():void;
        /**
         * Adds a Vision request to perform with the specified configuration.
         */
        add(request: VNRequest, processingOptions: Record<VNVideoProcessingOption, any>):void;
    }
    /**
     * the same name namespace of class VNVideoProcessor
     */
    export namespace VNVideoProcessor {
        export class RequestProcessingOptions extends NSObject {
            /**
             * The cadence the video processor maintains to process the request.
             */
            cadence: VNVideoProcessor.Cadence | null;
        }
        export class Cadence extends NSObject {}
        export class FrameRateCadence extends VNVideoProcessor.Cadence {
            /**
             * The frame rate at which to process video.
             */
            frameRate: number;
            /**
             * Creates a new frame-based cadence with a frame rate.
             */
            constructor (frameRate: number);
        }
        export class TimeIntervalCadence extends VNVideoProcessor.Cadence {
            /**
             * The time interval of the cadence.
             */
            timeInterval: CFTimeInterval;
            /**
             * Creates a new time-based cadence with a time interval.
             */
            constructor (timeInterval: CFTimeInterval);
        }
    }
    export class VNVideoProcessingOption {
        /**
         * A value that indicates the video frame cadence at which to perform the video processing.
         */
        static frameCadence: VNVideoProcessingOption;
        /**
         * A value that indicates that the video processor should perform a request every 
         * -seconds.
         */
        static timeInterval: VNVideoProcessingOption;
        /**
         * Creates an option with a string value.
         */
        constructor (rawValue: string);
    }
    export class VNImageRequestHandler extends NSObject {
        /**
         * Creates a handler to be used for performing requests on Core Graphics images.
         */
        constructor (image: CGImage, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on a Core Graphics image with known orientation.
         */
        constructor (image: CGImage, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on 
         *  data.
         */
        constructor (image: CIImage, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on 
         *  data of a known orientation.
         */
        constructor (image: CIImage, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on a Core Video pixel buffer.
         */
        constructor (pixelBuffer: CVPixelBuffer, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on a Core Video pixel buffer of a known orientation.
         */
        constructor (pixelBuffer: CVPixelBuffer, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>);
        /**
         * Creates a request handler that performs requests on an image contained within a sample buffer.
         */
        constructor (sampleBuffer: CMSampleBuffer, options: Record<VNImageOption, any>);
        /**
         * Creates a request handler that performs requests on an image of a specified orientation contained within a sample buffer.
         */
        constructor (sampleBuffer: CMSampleBuffer, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on an image contained in an 
         *  object.
         */
        constructor (imageData: Data, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on an image of known orientation, contained in an 
         *  object.
         */
        constructor (imageData: Data, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on an image at the specified URL.
         */
        constructor (imageURL: URL, options: Record<VNImageOption, any>);
        /**
         * Creates a handler to be used for performing requests on an image with known orientation, at the specified URL.
         */
        constructor (imageURL: URL, orientation: CGImagePropertyOrientation, options: Record<VNImageOption, any>);
        /**
         * Schedules Vision requests to be performed.
         */
        perform(requests: VNRequest[]):void;
    }
    export class VNCircle extends NSObject {
        /**
         * A circle object centered at the origin, with a radius of zero.
         */
        static zero: VNCircle;
        /**
         * The circle’s center point.
         */
        center: VNPoint;
        /**
         * The circle’s diameter.
         */
        diameter: number;
        /**
         * The circle’s radius.
         */
        radius: number;
        /**
         * Creates a circle with the specified center and radius.
         */
        constructor (center: VNPoint, radius: number);
        /**
         * Creates a circle with the specified center and diameter.
         */
        constructor (center: VNPoint, diameter: number);
        /**
         * Determines if this circle, including its boundary, contains the specified point.
         */
        contains(point: VNPoint):boolean;
    }
    export class VNVector extends NSObject {
        /**
         * A vector object with zero length.
         */
        static zero: VNVector;
        /**
         * The length, or absolute value, of the vector.
         */
        length: number;
        /**
         * The radius, absolute value, or length of the vector.
         */
        r: number;
        /**
         * The angle between the vector direction and the positive direction of the x-axis.
         */
        theta: number;
        /**
         * The squared length of the vector.
         */
        squaredLength: number;
        /**
         * A signed projection that indicates the vector’s direction on the x-axis.
         */
        x: number;
        /**
         * A signed projection that indicates the vector’s direction on the y-axis. 
         */
        y: number;
        /**
         * Creates a new vector by adding the specified vectors.
         */
        constructor (v1: VNVector, v2: VNVector);
        /**
         * Creates a new vector by subtracting the first vector from the second vector.
         */
        constructor (v1: VNVector, v2: VNVector);
        /**
         * Creates a new vector by multiplying the specified vector’s x-axis and y-axis projections by the scalar value.
         */
        constructor (vector: VNVector, scalar: number);
        /**
         * Creates a new vector in polar coordinate space.
         */
        constructor (r: number, theta: number);
        /**
         * Creates a new vector in Cartesian coordinate space.
         */
        constructor (head: VNPoint, tail: VNPoint);
        /**
         * Creates a new vector in Cartesian coordinate space, based on its x-axis and y-axis projections.
         */
        constructor (x: number, y: number);
        /**
         * Caclulates the dot product of two vectors.
         */
        static dotProduct(v1: VNVector, v2: VNVector):number;
        /**
         * Calculates a vector that’s normalized by preserving its direction, so that the vector length equals 1.0.
         */
        static unitVector(vector: VNVector):VNVector;
    }
    export enum VNErrorCode {
        OK = 0,
        dataUnavailable = 17,
        internalError = 9,
        invalidArgument = 14,
        invalidFormat = 2,
        invalidImage = 13,
        invalidModel = 15,
        invalidOperation = 12,
        invalidOption = 5,
        ioError = 6,
        missingOption = 7,
        notImplemented = 8,
        operationFailed = 3,
        outOfBoundsError = 4,
        outOfMemory = 10,
        requestCancelled = 1,
        timeStampNotFound = 18,
        unknownError = 11,
        unsupportedRevision = 16,
        unsupportedRequest = 19,
        timeout = 20,
        turiCoreErrorCode = -1,
    }
    export enum VNPointsClassification {
        closedPath = 2,
        disconnected = 0,
        openPath = 1,
    }
    export class VNImageOption {
        /**
         * The dictionary from 
         *  containing metadata for algorithms like horizon detection.
         */
        static properties: VNImageOption;
        /**
         * An option to specify the camera intrinstics as an 
         *  or 
         *  object representing a 
         * .
         */
        static cameraIntrinsics: VNImageOption;
        /**
         * An option key to specify the 
         *  to be used in the handler's Core Image operations.
         */
        static ciContext: VNImageOption;
        /**
         * Initializes an option key using its string name.
         */
        constructor (rawValue: string);
    }
    export class VNObservation extends NSObject {
        /**
         * A unique identifier assigned to the Vision observation.
         */
        uuid: UUID;
        /**
         * The time range of the reported observation.
         */
        timeRange: CMTimeRange;
        /**
         * The level of confidence in the observation's accuracy, normalized to 
         * .
         */
        confidence: VNConfidence;
    }
    export class VNStatefulRequest extends VNImageBasedRequest {
        /**
         * The minimum number of frames a request processes before reporting an observation.
         */
        minimumLatencyFrameCount: number;
        /**
         * A time value that indicates the interval between analysis operations. 
         */
        frameAnalysisSpacing: CMTime;
        /**
         * A time value that indicates the request’s duration between analysis operations.
         */
        requestFrameAnalysisSpacing: CMTime;
        /**
         * Initializes a video-based request.
         */
        constructor (frameAnalysisSpacing: CMTime, completionHandler: VNRequestCompletionHandler | null);
    }
}

/**
 * Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.
 */
declare module AVFoundation {
    export class AVCaptureDevice extends NSObject {}
    /**
     * the same name namespace of class AVCaptureDevice
     */
    export namespace AVCaptureDevice {
        export enum Position {
            front = 2,
            back = 1,
            unspecified = 0,
        }
    }
    export class AVAudioTimePitchAlgorithm {
        /**
         * A modest quality time pitch algorithm that’s suitable for voice.
         */
        static timeDomain: AVAudioTimePitchAlgorithm;
        /**
         * A high-quality time pitch algorithm that doesn’t perform pitch correction.
         */
        static varispeed: AVAudioTimePitchAlgorithm;
        /**
         * A highest-quality time pitch algorithm that’s suitable for music.
         */
        static spectral: AVAudioTimePitchAlgorithm;
        /**
         * A low-quality and very low computationally intensive pitch algorithm.
         */
        static lowQualityZeroLatency: AVAudioTimePitchAlgorithm;
    }
    export class AVAsset extends NSObject {
        /**
         * Loads tracks that contain media of a specified characteristic.
         */
        loadTracks(mediaCharacteristic: AVMediaCharacteristic, completionHandler: ()=>any):void;
        /**
         * Loads an identifier that no other track in the asset uses.
         */
        findUnusedTrackID(completionHandler: ()=>any):void;
        /**
         * Loads an array of metadata items that the asset contains for the specified format.
         */
        loadMetadata(format: AVMetadataFormat, completionHandler: ()=>any):void;
    }
    export class AVAssetReferenceRestrictions {
        /**
         * The asset can only reference media stored within its container file.
         */
        static forbidAll: AVAssetReferenceRestrictions;
        /**
         * A remote asset shouldn’t follow references to local media.
         */
        static forbidRemoteReferenceToLocal: AVAssetReferenceRestrictions;
        /**
         * A local asset shouldn’t follow references to remote media.
         */
        static forbidLocalReferenceToRemote: AVAssetReferenceRestrictions;
        /**
         * A remote asset shouldn’t follow references to remote media data stored at a different host.
         */
        static forbidCrossSiteReference: AVAssetReferenceRestrictions;
        /**
         * A local asset shouldn’t follow references to local media data stored outside its container file.
         */
        static forbidLocalReferenceToLocal: AVAssetReferenceRestrictions;
        /**
         * The asset should use the default reference restrictions policy.
         */
        static defaultPolicy: AVAssetReferenceRestrictions;
        /**
         * Creates reference restrictions with an integer value.
         */
        constructor (rawValue: number);
    }
    export class AVAssetExportSession extends NSObject {
        /**
         * A URL where an asset export session writes its output.
         */
        outputURL: URL | null;
        /**
         * The file type of the output an asset export session writes.
         */
        outputFileType: AVFileType | null;
        /**
         * An array containing the types of files the session can write.
         */
        supportedFileTypes: AVFileType[];
        /**
         * The time range of the source asset to export.
         */
        timeRange: CMTimeRange;
        /**
         * The file length that the output of the session must not exceed.
         */
        fileLengthLimit: Int64;
        /**
         * A Boolean value that indicates whether to optimize the movie for network use.
         */
        shouldOptimizeForNetworkUse: boolean;
        /**
         * A Boolean value that indicates whether the export session can perform multiple passes over the source media to achieve better results.
         */
        canPerformMultiplePassesOverSourceMediaData: boolean;
        /**
         * A directory suitable to store temporary files that the export process generates.
         */
        directoryForTemporaryFiles: URL | null;
        /**
         * The metadata an export session writes to the output container file.
         */
        metadata: AVMetadataItem[] | null;
        /**
         * An object the export session uses to filter the metadata items it transfers to the output asset.
         */
        metadataItemFilter: AVMetadataItemFilter | null;
        /**
         * An optional object that provides instructions for how to composite frames of video.
         */
        videoComposition: AVVideoComposition | null;
        /**
         * An optional custom object to use when compositing video frames.
         */
        customVideoCompositor: AVVideoCompositing | null;
        /**
         * A policy that defines how the session exports alternate audio tracks.
         */
        audioTrackGroupHandling: AVAssetTrackGroupOutputHandling;
        /**
         * The parameters for audio mixing and an indication of whether to enable nondefault audio mixing for export.
         */
        audioMix: AVAudioMix | null;
        /**
         * A processing algorithm for managing audio pitch for scaled audio edits.
         */
        audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm;
        /**
         * The status of the export session.
         */
        status: AVAssetExportSession.Status;
        /**
         * A value that indicates the progress of the export.
         */
        progress: Float;
        /**
         * An optional error object.
         */
        error: Error | null;
        /**
         * The estimated length of the exported file, in bytes.
         */
        estimatedOutputFileLength: Int64;
        /**
         * Provides an estimate of the maximum duration of the exported media.
         */
        maxDuration: CMTime;
        /**
         * An asset that a session exports.
         */
        asset: AVAsset;
        /**
         * Determines an export preset’s compatibility to export the asset in a container of the output file type.
         */
        static determineCompatibility(presetName: string, asset: AVAsset, outputFileType: AVFileType | null, handler: ()=>any):void;
        /**
         * Returns compatible export presets for the asset.
         */
        static exportPresets(asset: AVAsset):string[];
        /**
         * Starts the asynchronous execution of an export session.
         */
        exportAsynchronously(handler: ()=>any):void;
        /**
         * Cancels the execution of an export session.
         */
        cancelExport():void;
        /**
         * Starts estimating the output file length of the export while considering the asset, preset, and time range configuration of the export session.
         */
        estimateOutputFileLength(handler: ()=>any):void;
        /**
         * Starts estimating the maximum duration of the export while considering the asset, preset, and time range configuration of the export session.
         */
        estimateMaximumDuration(handler: ()=>any):void;
    }
    /**
     * the same name namespace of class AVAssetExportSession
     */
    export namespace AVAssetExportSession {
        export enum Status {
            unknown = 0,
            waiting = 1,
            exporting = 2,
            completed = 3,
            failed = 4,
            cancelled = 5,
        }
    }
    export class AVAssetTrackGroupOutputHandling {
        /**
         * A policy that passes through alternate audio tracks from the source asset during export.
         */
        static preserveAlternateTracks: AVAssetTrackGroupOutputHandling;
        /**
         * Creates track group output handling structure with a raw value.
         */
        constructor (rawValue: number);
    }
    export class AVAssetImageGenerator extends NSObject {
        /**
         * The maximum size of images to generate.
         */
        maximumSize: CGSize;
        /**
         * A Boolean value that specifies whether to apply the track matrix or matrices when generating an image from the asset.
         */
        appliesPreferredTrackTransform: boolean;
        /**
         * A maximum length of time before the requested time to allow image generation to occur.
         */
        requestedTimeToleranceBefore: CMTime;
        /**
         * A maximum length of time after the requested time to allow image generation to occur.
         */
        requestedTimeToleranceAfter: CMTime;
        /**
         * Specifies the aperture mode for the generated image.
         */
        apertureMode: AVAssetImageGenerator.ApertureMode | null;
        /**
         * A video composition to use when extracting images from assets with multiple video tracks.
         */
        videoComposition: AVVideoComposition | null;
        /**
         * A custom video compositor to use when extracting images from assets with multiple video tracks.
         */
        customVideoCompositor: AVVideoCompositing | null;
        /**
         * The asset that initialized the image generator.
         */
        asset: AVAsset;
        /**
         * Creates an object that generates images for times within a video asset.
         */
        constructor (asset: AVAsset);
        /**
         * Generates an image for a requested time.
         */
        image(time: CMTime):any;
        /**
         * Generates images for times within the video timeline.
         */
        images(times: CMTime[]):AVAssetImageGenerator.Images;
        /**
         * Generates an image asynchronously for a requested time, and returns the result in a callback.
         */
        generateCGImageAsynchronously(requestedTime: CMTime, handler: ()=>any):void;
        /**
         * Generates images asynchronously for an array of requested times, and returns the results in a callback.
         */
        generateCGImagesAsynchronously(requestedTimes: NSValue[], handler: AVAssetImageGeneratorCompletionHandler):void;
        /**
         * Cancels all pending image generation requests.
         */
        cancelAllCGImageGeneration():void;
        /**
         * Returns an image for the asset at or near a specified time.
         */
        copyCGImage(requestedTime: CMTime, actualTime: UnsafeMutablePointer<CMTime> | null):CGImage;
    }
    /**
     * the same name namespace of class AVAssetImageGenerator
     */
    export namespace AVAssetImageGenerator {
        export class ApertureMode {
            /**
             * A mode that applies both pixel aspect ratio and clean aperture.
             */
            static cleanAperture: AVAssetImageGenerator.ApertureMode;
            /**
             * A mode that applies neither pixel aspect ratio nor clean aperture.
             */
            static encodedPixels: AVAssetImageGenerator.ApertureMode;
            /**
             * A mode that applies only pixel aspect ratio.
             */
            static productionAperture: AVAssetImageGenerator.ApertureMode;
            /**
             * Creates an aperture mode with a string value.
             */
            constructor (rawValue: string);
        }
        export class Images {
            /**
             * Creates an asynchronous iterator that produces elements of this type.
             */
            makeAsyncIterator():AVAssetImageGenerator.Images;
            /**
             * Returns the next element in the sequence.
             */
            next():AVAssetImageGenerator.Images.Element | null;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Element | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Element | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Element | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<AVAssetImageGenerator.Images>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<AVAssetImageGenerator.Images>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<AVAssetImageGenerator.Images>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<AVAssetImageGenerator.Images>;
        }
        /**
         * the same name namespace of class Images
         */
        export namespace Images {
            export enum Element {
                success,
                failure,
            }
        }
        export enum Result {
            succeeded = 0,
            failed = 1,
            cancelled = 2,
        }
    }
    export class AVAssetReader extends NSObject {
        /**
         * The outputs from which you read media data.
         */
        outputs: AVAssetReaderOutput[];
        /**
         * The time range within the asset to read.
         */
        timeRange: CMTimeRange;
        /**
         * The status of reading sample buffers from the asset.
         */
        status: AVAssetReader.Status;
        /**
         * An error that describes the reason for a failure.
         */
        error: Error | null;
        /**
         * The asset from which to read media data.
         */
        asset: AVAsset;
        /**
         * Creates an object to read media data from an asset.
         */
        constructor (asset: AVAsset);
        /**
         * Determines whether you can add the output to the asset reader.
         */
        canAdd(output: AVAssetReaderOutput):boolean;
        /**
         * Adds an output to the reader.
         */
        add(output: AVAssetReaderOutput):void;
        /**
         * Prepares the asset reader to start reading sample buffers from the asset.
         */
        startReading():boolean;
        /**
         * Cancels any background work and stops the reader’s outputs from reading more samples.
         */
        cancelReading():void;
    }
    /**
     * the same name namespace of class AVAssetReader
     */
    export namespace AVAssetReader {
        export enum Status {
            unknown = 0,
            reading = 1,
            completed = 2,
            failed = 3,
            cancelled = 4,
        }
    }
    export class AVURLAsset extends AVAsset {
        /**
         * A session identifier that the asset sends in HTTP requests that it makes.
         */
        httpSessionIdentifier: UUID;
        /**
         * The resource loader for the asset.
         */
        resourceLoader: AVAssetResourceLoader;
        /**
         * A Boolean value that indicates whether you can add this asset as a content key recipient to a content key session.
         */
        mayRequireContentKeysForMediaDataProcessing: boolean;
        /**
         * The asset’s associated asset cache, if it exists.
         */
        assetCache: AVAssetCache | null;
        /**
         * A URL to the asset’s media.
         */
        url: URL;
        /**
         * An array of variants that an asset contains.
         */
        variants: AVAssetVariant[];
        /**
         * Returns an array of the file types the asset supports.
         */
        static audiovisualTypes():AVFileType[];
        /**
         * Returns an array of the MIME types the asset supports.
         */
        static audiovisualMIMETypes():string[];
        /**
         * Returns a Boolean value that indicates whether the asset is playable with the specified codecs and container type.
         */
        static isPlayableExtendedMIMEType(extendedMIMEType: string):boolean;
        /**
         * Loads an asset track from which you can insert any time range into the composition track.
         */
        findCompatibleTrack(compositionTrack: AVCompositionTrack, completionHandler: ()=>any):void;
        /**
         * Returns an asset track from which you can insert any time range into a given composition track.
         */
        compatibleTrack(compositionTrack: AVCompositionTrack):AVAssetTrack | null;
    }
    export class AVAssetReaderOutput extends NSObject {
        /**
         * A Boolean value that indicates whether the output vends copied sample data.
         */
        alwaysCopiesSampleData: boolean;
        /**
         * A Boolean value that indicates whether the output supports reconfiguring the time ranges it reads.
         */
        supportsRandomAccess: boolean;
        /**
         * The media type of samples that the output reads.
         */
        mediaType: AVMediaType;
        /**
         * Restarts reading with a new set of time ranges.
         */
        reset(timeRanges: NSValue[]):void;
        /**
         * Tells the output that it’s finished reconfiguring time ranges, and allows the asset reader to advance to a completed state.
         */
        markConfigurationAsFinal():void;
        /**
         * Copies the next sample buffer from the output.
         */
        copyNextSampleBuffer():CMSampleBuffer | null;
    }
    export class AVAssetReaderTrackOutput extends AVAssetReaderOutput {
        /**
         * The processing algorithm to use for scaled audio edits.
         */
        audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm;
        /**
         * The output settings for this track output.
         */
        outputSettings: Record<string, any> | null;
        /**
         * The track from which the output reads sample buffers.
         */
        track: AVAssetTrack;
        /**
         * Creates an object that reads media data from an asset track.
         */
        constructor (track: AVAssetTrack, outputSettings: Record<string, any> | null);
    }
    export class AVVideoCodecType {
        /**
         * The H.264 video codec.
         */
        static h264: AVVideoCodecType;
        /**
         * The HEVC video codec.
         */
        static hevc: AVVideoCodecType;
        /**
         * The HEVC video codec that supports an alpha channel.
         */
        static hevcWithAlpha: AVVideoCodecType;
        /**
         * The JPEG video codec.
         */
        static jpeg: AVVideoCodecType;
        /**
         * The Apple ProRes 422 video codec.
         */
        static proRes422: AVVideoCodecType;
        /**
         * The Apple ProRes 422 LT video codec.
         */
        static proRes422LT: AVVideoCodecType;
        /**
         * The Apple ProRes 422 HQ video codec.
         */
        static proRes422HQ: AVVideoCodecType;
        /**
         * The Apple ProRes 422 Proxy video codec.
         */
        static proRes422Proxy: AVVideoCodecType;
        /**
         * The Apple ProRes 4444 video codec.
         */
        static proRes4444: AVVideoCodecType;
        /**
         * Creates a codec type from its raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVAssetReaderAudioMixOutput extends AVAssetReaderOutput {
        /**
         * The audio mix to use with this output.
         */
        audioMix: AVAudioMix | null;
        /**
         * The processing algorithm to use for scaled audio edits.
         */
        audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm;
        /**
         * The tracks from which the output reads audio.
         */
        audioTracks: AVAssetTrack[];
        /**
         * The audio settings that the output uses.
         */
        audioSettings: Record<string, any> | null;
        /**
         * Creates an object that reads mixed audio from the specified audio tracks.
         */
        constructor (audioTracks: AVAssetTrack[], audioSettings: Record<string, any> | null);
    }
    export class AVAssetReaderVideoCompositionOutput extends AVAssetReaderOutput {
        /**
         * The video composition to use for the output.
         */
        videoComposition: AVVideoComposition | null;
        /**
         * A custom video compositor for the output.
         */
        customVideoCompositor: AVVideoCompositing | null;
        /**
         * The tracks from which the output reads the composited video.
         */
        videoTracks: AVAssetTrack[];
        /**
         * The video settings that the output uses.
         */
        videoSettings: Record<string, any> | null;
        /**
         * Creates an object that reads composited video frames from the specified video tracks.
         */
        constructor (videoTracks: AVAssetTrack[], videoSettings: Record<string, any> | null);
    }
    export class AVAssetReaderSampleReferenceOutput extends AVAssetReaderOutput {
        /**
         * The track from which the output reads sample references.
         */
        track: AVAssetTrack;
        /**
         * Creates an object that supplies sample references.
         */
        constructor (track: AVAssetTrack);
    }
    export class AVAssetReaderOutputMetadataAdaptor extends NSObject {
        /**
         * The asset reader track output that provides the timed metadata groups.
         */
        assetReaderTrackOutput: AVAssetReaderTrackOutput;
        /**
         * Creates an object that reads timed metadata groups from an asset reader output.
         */
        constructor (trackOutput: AVAssetReaderTrackOutput);
        /**
         * Returns the next timed metadata group for the asset reader output.
         */
        nextTimedMetadataGroup():AVTimedMetadataGroup | null;
    }
    export class AVOutputSettingsAssistant extends NSObject {
        /**
         * A uniform type identifier (UTI) that indicates the type of file to write.
         */
        outputFileType: AVFileType;
        /**
         * An audio settings dictionary.
         */
        audioSettings: Record<string, any> | null;
        /**
         * The format of the source audio data.
         */
        sourceAudioFormat: CMAudioFormatDescription | null;
        /**
         * A video settings dictionary.
         */
        videoSettings: Record<string, any> | null;
        /**
         * The format of the source video data.
         */
        sourceVideoFormat: CMVideoFormatDescription | null;
        /**
         * A time value that describes the minimum frame duration of the video data.
         */
        sourceVideoMinFrameDuration: CMTime;
        /**
         * A time value that describes the average frame duration of the video data.
         */
        sourceVideoAverageFrameDuration: CMTime;
        /**
         * Creates an output setting assistant with a preset configuration.
         */
        constructor (presetIdentifier: AVOutputSettingsPreset);
        /**
         * Returns an array of preset values to use to initialize an output settings assistant.
         */
        static availableOutputSettingsPresets():AVOutputSettingsPreset[];
    }
    export class AVOutputSettingsPreset {
        /**
         * A preset for HEVC video at 3840 by 2160 pixels.
         */
        static hevc3840x2160: AVOutputSettingsPreset;
        /**
         * A preset for HEVC with Alpha video at 3840 by 2160 pixels.
         */
        static hevc3840x2160WithAlpha: AVOutputSettingsPreset;
        /**
         * A preset for HEVC video at 1920 by 1080 pixels.
         */
        static hevc1920x1080: AVOutputSettingsPreset;
        /**
         * A preset for HEVC with Alpha video at 1920 by 1080 pixels.
         */
        static hevc1920x1080WithAlpha: AVOutputSettingsPreset;
        /**
         * A preset for H.264 video at 3840 by 2160 pixels.
         */
        static preset3840x2160: AVOutputSettingsPreset;
        /**
         * A preset for H.264 video at 1920 by 1080 pixels.
         */
        static preset1920x1080: AVOutputSettingsPreset;
        /**
         * A preset for H.264 video at 1280 by 720 pixels.
         */
        static preset1280x720: AVOutputSettingsPreset;
        /**
         * A preset for H.264 video at 960 by 540 pixels.
         */
        static preset960x540: AVOutputSettingsPreset;
        /**
         * A preset for H.264 video at 640 by 480 pixels.
         */
        static preset640x480: AVOutputSettingsPreset;
        /**
         * A preset for HEVC video at 7680 by 4320 pixels.
         */
        static hevc7680x4320: AVOutputSettingsPreset;
        /**
         * Creates a preset with a string value.
         */
        constructor (rawValue: string);
    }
    export class AVAssetTrack extends NSObject {
        /**
         * The persistent unique identifier for this track.
         */
        trackID: CMPersistentTrackID;
        /**
         * The type of media that a track presents.
         */
        mediaType: AVMediaType;
        /**
         * The asset object that contains this track.
         */
        asset: AVAsset | null;
        /**
         * The format descriptions of the media samples that a track references.
         */
        formatDescriptions: any[];
        /**
         * A Boolean value that indicates whether the track is playable in the current environment.
         */
        isPlayable: boolean;
        /**
         * A Boolean value that indicates whether the track is decodable in the current environment.
         */
        isDecodable: boolean;
        /**
         * A Boolean value that indicates whether the track’s container enables it.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that indicates whether this track references sample data only within its container file.
         */
        isSelfContained: boolean;
        /**
         * The total number of bytes of sample data the track requires.
         */
        totalSampleDataLength: Int64;
        /**
         * The time range of the track within the overall timeline of the asset.
         */
        timeRange: CMTimeRange;
        /**
         * The natural time scale of the media that a track references.
         */
        naturalTimeScale: CMTimeScale;
        /**
         * The estimated data rate, in bits per second, of the media that the track references.
         */
        estimatedDataRate: Float;
        /**
         * The language code of the track.
         */
        languageCode: string;
        /**
         * The language tag of the track.
         */
        extendedLanguageTag: string;
        /**
         * The natural dimensions of the media data that the track references.
         */
        naturalSize: CGSize;
        /**
         * The track’s transform preference to apply to its visual content during presentation or processing.
         */
        preferredTransform: CGAffineTransform;
        /**
         * The track’s volume preference for playing its audible media.
         */
        preferredVolume: Float;
        /**
         * A Boolean value that indicates whether the track has sample dependencies.
         */
        hasAudioSampleDependencies: boolean;
        /**
         * The frame rate of the track, in frames per second.
         */
        nominalFrameRate: Float;
        /**
         * The minimum duration of the track’s frames.
         */
        minFrameDuration: CMTime;
        /**
         * A Boolean value that indicates whether samples in the track may have different presentation and decode timestamps.
         */
        requiresFrameReordering: boolean;
        /**
         * An array of metadata items for all metadata identifiers that have a value.
         */
        metadata: AVMetadataItem[];
        /**
         * An array of metadata items for all common metadata keys that have a value.
         */
        commonMetadata: AVMetadataItem[];
        /**
         * An array of metadata formats available for the track.
         */
        availableMetadataFormats: AVMetadataFormat[];
        /**
         * The time mappings from the track’s media samples to its timeline.
         */
        segments: AVAssetTrackSegment[];
        /**
         * An array of association types that the track uses to associate with other tracks.
         */
        availableTrackAssociationTypes: AVAssetTrack.AssociationType[];
        /**
         * A Boolean value that indicates whether the track can provide instances of sample cursors to traverse its media samples and discover information.
         */
        canProvideSampleCursors: boolean;
        /**
         * Loads metadata items that a track contains for the specified format.
         */
        loadMetadata(format: AVMetadataFormat, completionHandler: ()=>any):void;
        /**
         * Loads a segment with a target time range that contains, or is closest to, the specified track time.
         */
        loadSegment(trackTime: CMTime, completionHandler: ()=>any):void;
        /**
         * Loads a sample presentation time that maps to the specified track time.
         */
        loadSamplePresentationTime(trackTime: CMTime, completionHandler: ()=>any):void;
        /**
         * Loads associated tracks that have the specified association type.
         */
        loadAssociatedTracks(trackAssociationType: AVAssetTrack.AssociationType, completionHandler: ()=>any):void;
        /**
         * Creates a sample cursor and positions it at or near the specified presentation timestamp.
         */
        makeSampleCursor(presentationTimeStamp: CMTime):AVSampleCursor | null;
        /**
         * Creates a sample cursor and positions it at the track’s first media sample in decode order.
         */
        makeSampleCursorAtFirstSampleInDecodeOrder():AVSampleCursor | null;
        /**
         * Creates a sample cursor and positions it at the track’s last media sample in decode order.
         */
        makeSampleCursorAtLastSampleInDecodeOrder():AVSampleCursor | null;
        /**
         * Returns a Boolean value that indicates whether the track references media with the specified media characteristic.
         */
        hasMediaCharacteristic(mediaCharacteristic: AVMediaCharacteristic):boolean;
        /**
         * Retrieves a segment with a target time range that contains, or is closest to, the specified track time.
         */
        segment(trackTime: CMTime):AVAssetTrackSegment | null;
        /**
         * Maps the specified track time through the appropriate time mapping and returns the resulting sample presentation time.
         */
        samplePresentationTime(trackTime: CMTime):CMTime;
        /**
         * Returns an array of associated tracks that have the specified association type.
         */
        associatedTracks(trackAssociationType: AVAssetTrack.AssociationType):AVAssetTrack[];
    }
    /**
     * the same name namespace of class AVAssetTrack
     */
    export namespace AVAssetTrack {
        export class AssociationType {
            /**
             * The track contains the same content as another track, but in a more widely supported format.
             */
            static audioFallback: AVAssetTrack.AssociationType;
            /**
             * The associated track contains chapter information for the base track.
             */
            static chapterList: AVAssetTrack.AssociationType;
            /**
             * An association between a subtitle track containing forced and nonforced subtitles and one with a subtitle track containing only forced subtitles.
             */
            static forcedSubtitlesOnly: AVAssetTrack.AssociationType;
            /**
             * An association between a metadata track and the track that it describes or annotates.
             */
            static metadataReferent: AVAssetTrack.AssociationType;
            /**
             * An association between two tracks that specifies when a user selects the main track, the system should follow that selection by automatically selecting the associated track.
             */
            static selectionFollower: AVAssetTrack.AssociationType;
            /**
             * An association between a timecode track providing timing information for the main track.
             */
            static timecode: AVAssetTrack.AssociationType;
            /**
             * Creates an association type with a string value.
             */
            constructor (rawValue: string);
        }
    }
    export class AVAssetWriter extends NSObject {
        /**
         * The inputs an asset writer contains.
         */
        inputs: AVAssetWriterInput[];
        /**
         * The media types the asset writer supports adding as inputs.
         */
        availableMediaTypes: AVMediaType[];
        /**
         * The input groups an asset writer contains.
         */
        inputGroups: AVAssetWriterInputGroup[];
        /**
         * An array of metadata items to write to the output file.
         */
        metadata: AVMetadataItem[];
        /**
         * A Boolean value that indicates whether to write the output file to make it more suitable for playback over a network.
         */
        shouldOptimizeForNetworkUse: boolean;
        /**
         * A directory to contain temporary files that the export process generates.
         */
        directoryForTemporaryFiles: URL | null;
        /**
         * The interval at which to write movie fragments.
         */
        movieFragmentInterval: CMTime;
        /**
         * The sequence number of the initial movie fragment.
         */
        initialMovieFragmentSequenceNumber: number;
        /**
         * A Boolean value that indicates whether the asset writer outputs movie fragments suitable for combining with others.
         */
        producesCombinableFragments: boolean;
        /**
         * A hint of the final duration of the output file.
         */
        overallDurationHint: CMTime;
        /**
         * The time scale of the movie.
         */
        movieTimeScale: CMTimeScale;
        /**
         * The status of writing samples to the output file.
         */
        status: AVAssetWriter.Status;
        /**
         * An error object that describes an asset-writing failure.
         */
        error: Error | null;
        /**
         * A delegate object that responds to asset-writing events.
         */
        delegate: AVAssetWriterDelegate | null;
        /**
         * The interval of output segments that you prefer.
         */
        preferredOutputSegmentInterval: CMTime;
        /**
         * The start time of the initial segment.
         */
        initialSegmentStartTime: CMTime;
        /**
         * A profile for the output file type.
         */
        outputFileTypeProfile: AVFileTypeProfile | null;
        /**
         * The location of the container file that the writer outputs.
         */
        outputURL: URL;
        /**
         * The type of container file that the writer outputs.
         */
        outputFileType: AVFileType;
        /**
         * Returns a new object that writes media data to a container file at the output URL.
         */
        constructor (outputURL: URL, outputFileType: AVFileType);
        /**
         * Creates an object that writes media data to a container file at the output URL.
         */
        constructor (outputURL: URL, outputFileType: AVFileType);
        /**
         * Creates an object that outputs segment data in a specified container format.
         */
        constructor (outputContentType: UTType);
        /**
         * Determines whether the output file format supports the output settings for a specific media type.
         */
        canApply(outputSettings: Record<string, any> | null, mediaType: AVMediaType):boolean;
        /**
         * Determines whether the asset writer supports adding the input.
         */
        canAdd(input: AVAssetWriterInput):boolean;
        /**
         * Adds an input to an asset writer.
         */
        add(input: AVAssetWriterInput):void;
        /**
         * Tells the writer to start writing its output.
         */
        startWriting():boolean;
        /**
         * Starts an asset-writing session.
         */
        startSession(startTime: CMTime):void;
        /**
         * Finishes an asset-writing session.
         */
        endSession(endTime: CMTime):void;
        /**
         * Marks all unfinished inputs as finished and completes the writing of the output file.
         */
        finishWriting(handler: ()=>any):void;
        /**
         * Cancels the creation of the output file.
         */
        cancelWriting():void;
        /**
         * Closes the current segment and outputs it to a delegate method.
         */
        flushSegment():void;
    }
    /**
     * the same name namespace of class AVAssetWriter
     */
    export namespace AVAssetWriter {
        export enum Status {
            unknown = 0,
            writing = 1,
            completed = 2,
            failed = 3,
            cancelled = 4,
        }
    }
    export interface AVAssetWriterDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the asset writer output segment data.
         */
        assetWriter(writer: AVAssetWriter, segmentData: Data, segmentType: AVAssetSegmentType):void;
    }
    export class AVAssetSegmentReport extends NSObject {
        /**
         * The type of segment data.
         */
        segmentType: AVAssetSegmentType;
        /**
         * The reports for the segment’s track data.
         */
        trackReports: AVAssetSegmentTrackReport[];
    }
    export enum AVAssetSegmentType {
        initialization = 1,
        separable = 2,
    }
    export class AVAssetSegmentTrackReport extends NSObject {
        /**
         * A persistent unique identifier for a track.
         */
        trackID: CMPersistentTrackID;
        /**
         * The type of media a track contains.
         */
        mediaType: AVMediaType;
        /**
         * The duration of a track.
         */
        duration: CMTime;
        /**
         * The earliest presentation timestamp (PTS) for this track.
         */
        earliestPresentationTimeStamp: CMTime;
        /**
         * Information about the first video sample in a track.
         */
        firstVideoSampleInformation: AVAssetSegmentReportSampleInformation | null;
    }
    export class AVAssetSegmentReportSampleInformation extends NSObject {
        /**
         * The presentation timestamp (PTS) of a sample.
         */
        presentationTimeStamp: CMTime;
        /**
         * The offset of a sample in the segment.
         */
        offset: number;
        /**
         * The length of the sample data.
         */
        length: number;
        /**
         * A Boolean value that indicates whether the sample is a key frame.
         */
        isSyncSample: boolean;
    }
    export class AVAssetWriterInput extends NSObject {
        /**
         * The natural display dimensions of the output’s visual media.
         */
        naturalSize: CGSize;
        /**
         * The transform to use for display of the output’s visual media.
         */
        transform: CGAffineTransform;
        /**
         * The volume to prefer for playback of the output’s audio data.
         */
        preferredVolume: Float;
        /**
         * The time scale of the track in the output file.
         */
        mediaTimeScale: CMTimeScale;
        /**
         * A Boolean value that indicates whether to enable a track in the output for playback and processing.
         */
        marksOutputTrackAsEnabled: boolean;
        /**
         * The language code of the input’s track.
         */
        languageCode: string;
        /**
         * The extended language for the input’s track.
         */
        extendedLanguageTag: string;
        /**
         * The track-level metadata to write to the output.
         */
        metadata: AVMetadataItem[];
        /**
         * The boundary, in bytes, for aligning media chunks.
         */
        preferredMediaChunkAlignment: number;
        /**
         * The duration to use for each chunk of sample data in the output file.
         */
        preferredMediaChunkDuration: CMTime;
        /**
         * The base URL sample references are relative to.
         */
        sampleReferenceBaseURL: URL | null;
        /**
         * Specifies how the input lays out and interleaves media data.
         */
        mediaDataLocation: AVAssetWriterInput.MediaDataLocation;
        /**
         * A Boolean value that indicates whether the input tailors its processing for real-time sources.
         */
        expectsMediaDataInRealTime: boolean;
        /**
         * A Boolean value that indicates whether the input is ready to accept media data.
         */
        isReadyForMoreMediaData: boolean;
        /**
         * A Boolean value that indicates whether the input may perform multiple passes over appended media data.
         */
        canPerformMultiplePasses: boolean;
        /**
         * An object that describes the requirements for the current pass.
         */
        currentPassDescription: AVAssetWriterInputPassDescription | null;
        /**
         * A Boolean value that indicates whether the input attempts to encode the source media data using multiple passes.
         */
        performsMultiPassEncodingIfSupported: boolean;
        /**
         * The media type of the samples that the input accepts.
         */
        mediaType: AVMediaType;
        /**
         * The settings to use for encoding media data you append to the output.
         */
        outputSettings: Record<string, any> | null;
        /**
         * A hint about the format of the sample buffers to append to the input.
         */
        sourceFormatHint: CMFormatDescription | null;
        /**
         * Creates an input to append sample buffers of the specified type to the output file.
         */
        constructor (mediaType: AVMediaType, outputSettings: Record<string, any> | null);
        /**
         * Creates an input that appends sample buffers of the specified type and format hint to the output file.
         */
        constructor (mediaType: AVMediaType, outputSettings: Record<string, any> | null, sourceFormatHint: CMFormatDescription | null);
        /**
         * Determines whether it’s valid to associate another input’s track with this input’s track.
         */
        canAddTrackAssociation(input: AVAssetWriterInput, trackAssociationType: string):boolean;
        /**
         * Adds an association between input tracks.
         */
        addTrackAssociation(input: AVAssetWriterInput, trackAssociationType: string):void;
        /**
         * Tells the input to request media data, at its convenience, to write to the output file.
         */
        requestMediaDataWhenReady(queue: DispatchQueue, block: ()=>any):void;
        /**
         * Appends a sample buffer to an input to write to the output file.
         */
        append(sampleBuffer: CMSampleBuffer):boolean;
        /**
         * Marks the input as finished to indicate that you’re done appending samples to it.
         */
        markAsFinished():void;
        /**
         * Tells the input to analyze the appended media to determine whether it can improve the results by reencoding certain segments.
         */
        markCurrentPassAsFinished():void;
        /**
         * Tells the input to invoke a callback whenever it begins a new pass.
         */
        respondToEachPassDescription(queue: DispatchQueue, block: ()=>any):void;
    }
    /**
     * the same name namespace of class AVAssetWriterInput
     */
    export namespace AVAssetWriterInput {
        export class MediaDataLocation {
            /**
             * A value that indicates to interleave the input’s media data with other media data.
             */
            static interleavedWithMainMediaData: AVAssetWriterInput.MediaDataLocation;
            /**
             * A value that indicates to use noninterleaved data, and write it before interleaved data.
             */
            static beforeMainMediaDataNotInterleaved: AVAssetWriterInput.MediaDataLocation;
            /**
             * Creates a location with a string value.
             */
            constructor (rawValue: string);
        }
    }
    export class AVAssetWriterInputPassDescription extends NSObject {
        /**
         * An array of time ranges.
         */
        sourceTimeRanges: NSValue[];
    }
    export class AVAssetWriterInputPixelBufferAdaptor extends NSObject {
        /**
         * A pool of pixel buffers to append to the adaptor’s input.
         */
        pixelBufferPool: CVPixelBufferPool | null;
        /**
         * The attributes of the pixel buffers that the pool contains.
         */
        sourcePixelBufferAttributes: Record<string, any> | null;
        /**
         * The asset writer input to which the adaptor appends pixel buffers.
         */
        assetWriterInput: AVAssetWriterInput;
        /**
         * Creates a new pixel buffer adaptor to receive pixel buffers for writing to the output file.
         */
        constructor (input: AVAssetWriterInput, sourcePixelBufferAttributes: Record<string, any> | null);
        /**
         * Appends a pixel buffer to the adaptor.
         */
        append(pixelBuffer: CVPixelBuffer, presentationTime: CMTime):boolean;
    }
    export class AVAssetWriterInputMetadataAdaptor extends NSObject {
        /**
         * The input for the metadata adaptor.
         */
        assetWriterInput: AVAssetWriterInput;
        /**
         * Creates a metadata group adaptor to append timed metadata groups to write to an output file.
         */
        constructor (input: AVAssetWriterInput);
        /**
         * Appends a timed metadata group to the adaptor.
         */
        append(timedMetadataGroup: AVTimedMetadataGroup):boolean;
    }
    export class AVAssetWriterInputGroup extends AVMediaSelectionGroup {
        /**
         * The inputs with tracks that are mutually exclusive to each other for playback or processing.
         */
        inputs: AVAssetWriterInput[];
        /**
         * The default input for the group.
         */
        defaultInput: AVAssetWriterInput | null;
        /**
         * Creates a group for the asset writer inputs.
         */
        constructor (inputs: AVAssetWriterInput[], defaultInput: AVAssetWriterInput | null);
    }
    export class AVCaption extends NSObject {
        /**
         * The caption text.
         */
        text: string;
        /**
         * The time range over which the system presents the caption.
         */
        timeRange: CMTimeRange;
        /**
         * The region in which the caption exists.
         */
        region: AVCaptionRegion | null;
        /**
         * The alignment for the caption text.
         */
        textAlignment: AVCaption.TextAlignment;
        /**
         * The animation that the system applies to this caption.
         */
        animation: AVCaption.Animation;
        /**
         * Creates a caption that contains text and a time range.
         */
        constructor (text: string, timeRange: CMTimeRange);
        /**
         * Returns the font style and range at the index position.
         */
        fontStyle(index: String.Index):any;
        /**
         * Returns the font weight and range at the index position.
         */
        fontWeight(index: String.Index):any;
        /**
         * Returns the text decoration at the index position.
         */
        decoration(index: String.Index):any;
        /**
         * Returns the text color at the index position.
         */
        textColor(index: String.Index):any;
        /**
         * Returns the background color at the index position.
         */
        backgroundColor(index: String.Index):any;
        /**
         * Returns the ruby text at the index position.
         */
        ruby(index: String.Index):any;
        /**
         * Returns the text combine at the index position.
         */
        textCombine(index: String.Index):any;
    }
    /**
     * the same name namespace of class AVCaption
     */
    export namespace AVCaption {
        export enum FontStyle {
            unknown = 0,
            normal = 1,
            italic = 2,
        }
        export enum FontWeight {
            unknown = 0,
            normal = 1,
            bold = 2,
        }
        export class Decoration {
            /**
             * A decoration representing a line under the text. 
             */
            static underline: AVCaption.Decoration;
            /**
             * A decoration representing a line through the text.
             */
            static lineThrough: AVCaption.Decoration;
            /**
             * A decoration representing a line over the text.
             */
            static overline: AVCaption.Decoration;
            /**
             * Creates a caption decoration by using a string.
             */
            constructor (rawValue: number);
        }
        export enum TextAlignment {
            start = 0,
            end = 1,
            center = 2,
            left = 3,
            right = 4,
        }
        export enum Animation {
            none = 0,
            characterReveal = 1,
        }
        export class Ruby extends NSObject {
            /**
             * The ruby text.
             */
            text: string;
            /**
             * The ruby text position.
             */
            position: AVCaptionRubyPosition;
            /**
             * The ruby text alignment.
             */
            alignment: AVCaptionRubyAlignment;
            /**
             * Creates ruby text.
             */
            constructor (text: string);
            /**
             * Creates ruby text with position and alignment.
             */
            constructor (text: string, position: AVCaptionRubyPosition, alignment: AVCaptionRubyAlignment);
        }
        export enum TextCombine {
            all = -1,
            none = 0,
            oneDigit = 1,
            twoDigits = 2,
            threeDigits = 3,
            fourDigits = 4,
        }
    }
    export enum AVCaptionRubyPosition {
        before = 0,
        after = 1,
    }
    export enum AVCaptionRubyAlignment {
        start = 0,
        center = 1,
        distributeSpaceBetween = 2,
        distributeSpaceAround = 3,
    }
    export class AVMutableCaption extends AVCaption {
        /**
         * The caption text.
         */
        text: string;
        /**
         * The time range over which the system presents the caption.
         */
        timeRange: CMTimeRange;
        /**
         * The region in which the caption exists.
         */
        region: AVCaptionRegion;
        /**
         * The alignment of the caption text.
         */
        textAlignment: AVCaption.TextAlignment;
        /**
         * Animations to apply to the caption text.
         */
        animation: AVCaption.Animation;
        /**
         * Sets the font style for a range of text.
         */
        setFontStyle(fontStyle: AVCaption.FontStyle, range: NSRange):void;
        /**
         * Removes a font style from a range of text.
         */
        removeFontStyle(range: NSRange):void;
        /**
         * Sets the font weight for a range of text.
         */
        setFontWeight(fontWeight: AVCaption.FontWeight, range: NSRange):void;
        /**
         * Removes a font weight from a range of text.
         */
        removeFontWeight(range: NSRange):void;
        /**
         * Sets a decoration for a range of text.
         */
        setDecoration(decoration: AVCaption.Decoration, range: NSRange):void;
        /**
         * Removes a decoration from a range of text.
         */
        removeDecoration(range: NSRange):void;
        /**
         * Sets the text color for a range of text.
         */
        setTextColor(textColor: CGColor, range: NSRange):void;
        /**
         * Removes the text color for a range of text.
         */
        removeTextColor(range: NSRange):void;
        /**
         * Sets the background color for a range of text.
         */
        setBackgroundColor(backgroundColor: CGColor, range: NSRange):void;
        /**
         * Removes a background color from a range of text.
         */
        removeBackgroundColor(range: NSRange):void;
        /**
         * Sets ruby text for a range.
         */
        setRuby(rubyText: AVCaption.Ruby, range: NSRange):void;
        /**
         * Removes ruby text from a range.
         */
        removeRuby(range: NSRange):void;
        /**
         * Sets text combine for a range.
         */
        setTextCombine(textCombine: AVCaption.TextCombine, range: NSRange):void;
        /**
         * Removes text combine from a range.
         */
        removeTextCombine(range: NSRange):void;
    }
    export class AVCaptionRegion extends NSObject {
        /**
         * The top region for iTT format captions.
         */
        static appleITTTop: AVCaptionRegion;
        /**
         * The bottom region for iTT format captions.
         */
        static appleITTBottom: AVCaptionRegion;
        /**
         * The left region for iTT format captions.
         */
        static appleITTLeft: AVCaptionRegion;
        /**
         * The right region for iTT format captions.
         */
        static appleITTRight: AVCaptionRegion;
        /**
         * The bottom caption region for SubRip Text (SRT) format captions.
         */
        static subRipTextBottom: AVCaptionRegion;
        /**
         * A string that identifies the region.
         */
        identifier: string;
        /**
         * The region’s top-left position.
         */
        origin: AVCaptionPoint;
        /**
         * The height and width of the region.
         */
        size: AVCaptionSize;
        /**
         * The alignment of lines for the region.
         */
        displayAlignment: AVCaptionRegion.DisplayAlignment;
        /**
         * The scroll mode of the region.
         */
        scroll: AVCaptionRegion.Scroll;
        /**
         * The block and inline progression direction of the region.
         */
        writingMode: AVCaptionRegion.WritingMode;
        /**
         * Creates a mutable copy of a caption region.
         */
        mutableCopy(zone: NSZone | null):any;
        /**
         * Encodes the region using the specified encoder.
         */
        encode(encoder: NSCoder):void;
        /**
         * Returns a Boolean value that indicates whether an object equals another.
         */
        isEqual(object: any):boolean;
    }
    /**
     * the same name namespace of class AVCaptionRegion
     */
    export namespace AVCaptionRegion {
        export enum DisplayAlignment {
            before = 0,
            center = 1,
            after = 2,
        }
        export enum Scroll {
            none = 0,
            rollUp = 1,
        }
        export enum WritingMode {
            leftToRightAndTopToBottom = 0,
            topToBottomAndRightToLeft = 2,
        }
    }
    export class AVCaptionDimension {
        /**
         * The value of the coordinate or length.
         */
        value: CGFloat;
        /**
         * The units of the coordinate, such as cells or points.
         */
        units: AVCaptionUnitsType;
        /**
         * Creates a caption dimension.
         */
        constructor ();
        /**
         * Creates a caption dimension with a value and unit type.
         */
        constructor (value: CGFloat, units: AVCaptionUnitsType);
    }
    export enum AVCaptionUnitsType {
        cells = 1,
        percent = 2,
        unspecified = 0,
    }
    export class AVCaptionPoint {
        /**
         * The point’s x coordinate.
         */
        x: AVCaptionDimension;
        /**
         * The point’s y coordinate.
         */
        y: AVCaptionDimension;
        /**
         * Creates a caption dimension.
         */
        constructor ();
        /**
         * Creates a caption point with x and y coordinates.
         */
        constructor (x: AVCaptionDimension, y: AVCaptionDimension);
    }
    export class AVCaptionSize {
        /**
         * The height of the caption.
         */
        height: AVCaptionDimension;
        /**
         * The width of the caption.
         */
        width: AVCaptionDimension;
        /**
         * Creates a caption size.
         */
        constructor ();
        /**
         * Creates a caption size with width and height values.
         */
        constructor (width: AVCaptionDimension, height: AVCaptionDimension);
    }
    export class AVMutableCaptionRegion extends AVCaptionRegion {
        /**
         * The region’s top-left position.
         */
        origin: AVCaptionPoint;
        /**
         * The height and width of the region.
         */
        size: AVCaptionSize;
        /**
         * The alignment of lines for the region.
         */
        displayAlignment: AVCaptionRegion.DisplayAlignment;
        /**
         * The scroll mode of the region.
         */
        scroll: AVCaptionRegion.Scroll;
        /**
         * The block and inline progression direction of the region.
         */
        writingMode: AVCaptionRegion.WritingMode;
        /**
         * Creates a caption region.
         */
        constructor ();
        /**
         * Creates a caption region that has an identifier.
         */
        constructor (identifier: string);
    }
    export class AVAssetTrackSegment extends NSObject {
        /**
         * The time range of the track that this segment presents.
         */
        timeMapping: CMTimeMapping;
        /**
         * A Boolean value that indicates whether the segment is empty.
         */
        isEmpty: boolean;
    }
    export class AVCaptionGroup extends NSObject {
        /**
         * The captions associated with the caption group.
         */
        captions: AVCaption[];
        /**
         * The time range of the caption group.
         */
        timeRange: CMTimeRange;
        /**
         * Creates a caption group with a time range.
         */
        constructor (timeRange: CMTimeRange);
        /**
         * Creates a caption group with captions and a time range.
         */
        constructor (captions: AVCaption[], timeRange: CMTimeRange);
    }
    export class AVCaptionGrouper extends NSObject {
        /**
         * Adds a caption to the pending group.
         */
        add(input: AVCaption):void;
        /**
         * Creates caption groups for the captions you enqueue up to the time.
         */
        flushAddedCaptions(upToTime: CMTime):AVCaptionGroup[];
    }
    export class AVCaptionRenderer extends NSObject {
        /**
         * The captions to render.
         */
        captions: AVCaption[];
        /**
         * The drawing bounds of caption scenes.
         */
        bounds: CGRect;
        /**
         * Determine render time ranges within an enclosing time range to account for visual changes among captions.
         */
        captionSceneChanges(consideredTimeRange: CMTimeRange):AVCaptionRenderer.Scene[];
        /**
         * Draw the captions for the time you specify.
         */
        render(ctx: CGContext, time: CMTime):void;
    }
    /**
     * the same name namespace of class AVCaptionRenderer
     */
    export namespace AVCaptionRenderer {
        export class Scene extends NSObject {
            /**
             * The time range during which the system doesn’t modify the scene.
             */
            timeRange: CMTimeRange;
            /**
             * A Boolean value that indicates whether the scene contains one or more active captions.
             */
            hasActiveCaptions: boolean;
            /**
             * A Boolean value that indicates whether the scene requires redrawing while your app progresses through the content.
             */
            needsPeriodicRefresh: boolean;
        }
    }
    export class AVAssetReaderOutputCaptionAdaptor extends NSObject {
        /**
         * The associated asset reader track output.
         */
        assetReaderTrackOutput: AVAssetReaderTrackOutput;
        /**
         * A delegate object that handles callbacks to the caption adaptor.
         */
        validationDelegate: AVAssetReaderCaptionValidationHandling | null;
        /**
         * Creates a caption adaptor that reads from a track output.
         */
        constructor (trackOutput: AVAssetReaderTrackOutput);
        /**
         * Returns the next caption group.
         */
        nextCaptionGroup():AVCaptionGroup | null;
        /**
         * Returns the set of captions in the caption group that weren’t vended by the adaptor.
         */
        captionsNotPresentInPreviousGroups(captionGroup: AVCaptionGroup):AVCaption[];
    }
    export interface AVAssetReaderCaptionValidationHandling extends NSObjectProtocol {
        /**
         * Tells the delegate that the adaptor ignored one or more syntax elements when it created the caption object.
         */
        captionAdaptor(adaptor: AVAssetReaderOutputCaptionAdaptor, caption: AVCaption, syntaxElements: string[]):void;
    }
    export class AVAssetWriterInputCaptionAdaptor extends NSObject {
        /**
         * The associated asset writer input.
         */
        assetWriterInput: AVAssetWriterInput;
        /**
         * Creates a new caption adaptor that writes to the specified asset writer input.
         */
        constructor (input: AVAssetWriterInput);
        /**
         * Appends a caption to the writer input.
         */
        append(caption: AVCaption):boolean;
    }
    export class AVCaptionSettingsKey {
        /**
         * A key that identifies the output media type of a caption conversion operation.
         */
        static mediaType: AVCaptionSettingsKey;
        /**
         * A key that identifies the output media subtype of a caption conversion operation.
         */
        static mediaSubType: AVCaptionSettingsKey;
        /**
         * A key that identifies the frame duration that the system uses for the time code.
         */
        static timeCodeFrameDuration: AVCaptionSettingsKey;
        /**
         * A key that identifies whether the system uses drop frame time code.
         */
        static useDropFrameTimeCode: AVCaptionSettingsKey;
        /**
         * Creates a settings key with a string.
         */
        constructor (rawValue: string);
    }
    export class AVCaptionFormatConformer extends NSObject {
        /**
         * A Boolean value that indicates whether to conform the time range of a canonical caption.
         */
        conformsCaptionsToTimeRange: boolean;
        /**
         * Creates a new object with format conversion settings.
         */
        constructor (conversionSettings: Record<AVCaptionSettingsKey, any>);
        /**
         * Creates a caption that conforms to a specific format.
         */
        conformedCaption(caption: AVCaption):AVCaption;
    }
    export class AVCaptionConversionValidator extends NSObject {
        /**
         * The array of captions that the system validates.
         */
        captions: AVCaption[];
        /**
         * The time range of the media timeline in which the captions must exist.
         */
        timeRange: CMTimeRange;
        /**
         * The collection of warnings the validator encountered.
         */
        warnings: AVCaptionConversionWarning[];
        /**
         * A value that indicates the status of validation.
         */
        status: AVCaptionConversionValidator.Status;
        /**
         * Creates an object that validates captions for a conversion operation.
         */
        constructor (captions: AVCaption[], timeRange: CMTimeRange, conversionSettings: Record<AVCaptionSettingsKey, any>);
        /**
         * Validates the object’s captions.
         */
        validateCaptionConversion(handler: ()=>any):void;
        /**
         * Stops the active validation operation.
         */
        stopValidating():void;
    }
    /**
     * the same name namespace of class AVCaptionConversionValidator
     */
    export namespace AVCaptionConversionValidator {
        export enum Status {
            unknown = 0,
            validating = 1,
            completed = 2,
            stopped = 3,
        }
    }
    export class AVCaptionConversionWarning extends NSObject {
        /**
         * A type that indicates the nature of the validation warning.
         */
        warningType: AVCaptionConversionWarning.WarningType;
        /**
         * The range of the captions for which the system issued a warning.
         */
        rangeOfCaptions: NSRange;
        /**
         * A correction the converter makes when it converts a caption to a specific format.
         */
        adjustment: AVCaptionConversionAdjustment | null;
    }
    /**
     * the same name namespace of class AVCaptionConversionWarning
     */
    export namespace AVCaptionConversionWarning {
        export class WarningType {
            /**
             * A type that indicates one or more captions exceed the media data capacity for media of the type and subtype that the conversion settings specify.
             */
            static excessMediaData: AVCaptionConversionWarning.WarningType;
            /**
             * Creates a warning type with a string.
             */
            constructor (rawValue: string);
        }
    }
    export class AVCaptionConversionAdjustment extends NSObject {
        /**
         * The type of caption conversion adjustment.
         */
        adjustmentType: AVCaptionConversionAdjustment.AdjustmentType;
    }
    /**
     * the same name namespace of class AVCaptionConversionAdjustment
     */
    export namespace AVCaptionConversionAdjustment {
        export class AdjustmentType {
            /**
             * Indicates a timing adjustment.
             */
            static timeRange: AVCaptionConversionAdjustment.AdjustmentType;
            /**
             * Creates an adjustment type with a string.
             */
            constructor (rawValue: string);
        }
    }
    export class AVCaptionConversionTimeRangeAdjustment extends AVCaptionConversionAdjustment {
        /**
         * The time value by which the system offsets the start times of captions to correct a problem.
         */
        startTimeOffset: CMTime;
        /**
         * The time value by which the system offsets the durations of captions to correct a problem.
         */
        durationOffset: CMTime;
    }
    export class AVMediaType {
        /**
         * The media contains audio media.
         */
        static audio: AVMediaType;
        /**
         * The media contains closed-caption content.
         */
        static closedCaption: AVMediaType;
        /**
         * The media contains depth data.
         */
        static depthData: AVMediaType;
        /**
         * The media contains metadata.
         */
        static metadata: AVMediaType;
        /**
         * The media contains metadata objects.
         */
        static metadataObject: AVMediaType;
        /**
         * The media contains muxed media.
         */
        static muxed: AVMediaType;
        /**
         * The media contains subtitles.
         */
        static subtitle: AVMediaType;
        /**
         * The media contains text.
         */
        static text: AVMediaType;
        /**
         * The media contains a time code.
         */
        static timecode: AVMediaType;
        /**
         * The media contains video.
         */
        static video: AVMediaType;
        /**
         * Creates a media type with a string.
         */
        constructor (rawValue: string);
        /**
         * Creates a media type with a raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVMediaCharacteristic {
        /**
         * A media characteristic that indicates that a track or media selection option includes audible content.
         */
        static audible: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track contains an alpha channel.
         */
        static containsAlphaChannel: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track contains HDR video.
         */
        static containsHDRVideo: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option presents only forced subtitles.
         */
        static containsOnlyForcedSubtitles: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option includes legible content in the language of its specified locale.
         */
        static describesMusicAndSoundForAccessibility: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates the media includes audible content that describes the visual portion of the presentation.
         */
        static describesVideoForAccessibility: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option contains audio language or dialect translation of the original content.
         */
        static dubbedTranslation: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates a track or media selection option provides legible content that’s edited for easy reading.
         */
        static easyToRead: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option includes frame-based content.
         */
        static frameBased: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates a track or media selection option includes content its author indicates is auxiliary to the asset’s presentation.
         */
        static isAuxiliaryContent: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates a track or media selection option includes content its author indicates is essential to the asset’s presentation.
         */
        static isMainProgramContent: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option contains original content.
         */
        static isOriginalContent: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option contains a language or dialect translation of the original content.
         */
        static languageTranslation: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option includes legible content.
         */
        static legible: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a media selection option includes legible content that transcribes spoken dialog.
         */
        static transcribesSpokenDialogForAccessibility: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track uses a wide-gamut color space.
         */
        static usesWideGamutColorSpace: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option includes visual content.
         */
        static visual: AVMediaCharacteristic;
        /**
         * A media characteristic that indicates that a track or media selection option contains a language translation and verbal interpretation of spoken dialog.
         */
        static voiceOverTranslation: AVMediaCharacteristic;
        /**
         * Creates a media characteristic.
         */
        constructor (rawValue: string);
        /**
         * Creates a media characteristic with a string value.
         */
        constructor (rawValue: string);
    }
    export class AVFileType {
        /**
         * The UTI for the AC3 audio file format.
         */
        static ac3: AVFileType;
        /**
         * The UTI for the AIFC audio file format.
         */
        static aifc: AVFileType;
        /**
         * The UTI for the AIFF audio file format.
         */
        static aiff: AVFileType;
        /**
         * The UTI for the adaptive multirate audio file format.
         */
        static amr: AVFileType;
        /**
         * The UTI for the Apple iTT caption file format.
         */
        static appleiTT: AVFileType;
        /**
         * The UTI for the Sun/NeXT audio file format.
         */
        static au: AVFileType;
        /**
         * The UTI for the high-efficiency image file format that contains H.264 compressed images.
         */
        static avci: AVFileType;
        /**
         * The UTI for the Core Audio Format.
         */
        static caf: AVFileType;
        /**
         * The UTI for the Adobe Digital Negative file format.
         */
        static dng: AVFileType;
        /**
         * The UTI for the enhanced AC3 audio file format.
         */
        static eac3: AVFileType;
        /**
         * The UTI for the high-efficiency image file format that contains HEVC compressed images.
         */
        static heic: AVFileType;
        /**
         * The UTI for the high-efficiency image file format that contains compressed images from any codec.
         */
        static heif: AVFileType;
        /**
         * The UTI for the JPEG (JFIF) format.
         */
        static jpg: AVFileType;
        /**
         * The UTI for the Apple m4a audio file format.
         */
        static m4a: AVFileType;
        /**
         * The UTI for the iTunes video file format.
         */
        static m4v: AVFileType;
        /**
         * The UTI for the 3GPP file format.
         */
        static mobile3GPP: AVFileType;
        /**
         * The UTI for the 3GPP2 file format.
         */
        static mobile3GPP2: AVFileType;
        /**
         * The UTI for the QuickTime movie file format.
         */
        static mov: AVFileType;
        /**
         * The UTI for the MPEG Audio Layer III file format.
         */
        static mp3: AVFileType;
        /**
         * The UTI for the MPEG-4 file format.
         */
        static mp4: AVFileType;
        /**
         * The UTI for the Scenarist closed-caption file format.
         */
        static SCC: AVFileType;
        /**
         * The UTI for the tagged image file format.
         */
        static tif: AVFileType;
        /**
         * The UTI for the WAVE audio file format.
         */
        static wav: AVFileType;
        /**
         * Creates a file type with a string.
         */
        constructor (rawValue: string);
        /**
         * Creates a file type from its raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVFileTypeProfile {
        /**
         * A file type profile for Apple HTTP Live Streaming.
         */
        static mpeg4AppleHLS: AVFileTypeProfile;
        /**
         * A file type profile that complies with the Common Media Application Format (CMAF).
         */
        static mpeg4CMAFCompliant: AVFileTypeProfile;
        /**
         * Creates a file type profile from its raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVPlayer extends NSObject {
        /**
         * A notification that a player posts when its rate changes.
         */
        static rateDidChangeNotification: NSNotification.Name;
        /**
         * A key to retrieve the identifier of the participant that originates the rate change.
         */
        static rateDidChangeOriginatingParticipantKey: string;
        /**
         * A key to retrieve the reason for the rate change.
         */
        static rateDidChangeReasonKey: string;
        /**
         * A Boolean value that indicates whether the current device can present content to an HDR display.
         */
        static eligibleForHDRPlayback: boolean;
        /**
         * The HDR modes that are available for playback.
         */
        static availableHDRModes: AVPlayer.HDRMode;
        /**
         * A notification that’s posted whenever HDR playback eligibility changes.
         */
        static eligibleForHDRPlaybackDidChangeNotification: NSNotification.Name;
        /**
         * The item for which the player is currently controlling playback.
         */
        currentItem: AVPlayerItem | null;
        /**
         * A value that indicates the readiness of a player object for playback.
         */
        status: AVPlayer.Status;
        /**
         * An error that caused a failure.
         */
        error: Error | null;
        /**
         * A default rate at which to begin playback.
         */
        defaultRate: Float;
        /**
         * The current playback rate.
         */
        rate: Float;
        /**
         * A Boolean value that indicates whether the player should automatically delay playback in order to minimize stalling.
         */
        automaticallyWaitsToMinimizeStalling: boolean;
        /**
         * The reason the player is currently waiting for playback to begin or resume.
         */
        reasonForWaitingToPlay: AVPlayer.WaitingReason | null;
        /**
         * A value that indicates whether playback is in progress, paused indefinitely, or waiting for network conditions to improve.
         */
        timeControlStatus: AVPlayer.TimeControlStatus;
        /**
         * The action to perform when the current player item has finished playing.
         */
        actionAtItemEnd: AVPlayer.ActionAtItemEnd;
        /**
         * A Boolean value that indicates whether the receiver should apply the current selection criteria automatically to player items.
         */
        appliesMediaSelectionCriteriaAutomatically: boolean;
        /**
         * The audio playback volume for the player.
         */
        volume: Float;
        /**
         * A Boolean value that indicates whether the audio output of the player is muted.
         */
        isMuted: boolean;
        /**
         * A policy that determines how playback of audiovisual media continues when the app transitions to the background.
         */
        audiovisualBackgroundPlaybackPolicy: AVPlayerAudiovisualBackgroundPlaybackPolicy;
        /**
         * A Boolean value that indicates whether the player allows switching to external playback mode.
         */
        allowsExternalPlayback: boolean;
        /**
         * A Boolean value that indicates whether the player is currently playing video in external playback mode.
         */
        isExternalPlaybackActive: boolean;
        /**
         * A Boolean value that indicates whether the player should automatically switch to external playback mode while the external screen mode is active.
         */
        usesExternalPlaybackWhileExternalScreenIsActive: boolean;
        /**
         * The video gravity of the player for external playback mode only.
         */
        externalPlaybackVideoGravity: AVLayerVideoGravity;
        /**
         * The playback coordinator for the player.
         */
        playbackCoordinator: AVPlayerPlaybackCoordinator;
        /**
         * A clock the player uses for item time bases.
         */
        sourceClock: CMClock | null;
        /**
         * The host clock for item time bases.
         */
        masterClock: CMClock | null;
        /**
         * A Boolean value that indicates whether video playback prevents display and device sleep.
         */
        preventsDisplaySleepDuringVideoPlayback: boolean;
        /**
         * A Boolean value that indicates whether output is being obscured because of insufficient external protection.
         */
        isOutputObscuredDueToInsufficientExternalProtection: boolean;
        /**
         * Specifies the unique ID of the Core Audio output device used to play audio.
         */
        audioOutputDeviceUniqueID: string;
        /**
         * The registry identifier for the GPU used for video decoding.
         */
        preferredVideoDecoderGPURegistryID: UInt64;
        /**
         * A Boolean value that indicates whether the player allows AirPlay video playback.
         */
        allowsAirPlayVideo: boolean;
        /**
         * A Boolean value that indicates whether the player is playing video through AirPlay.
         */
        isAirPlayVideoActive: boolean;
        /**
         * A Boolean value that indicates whether the player automatically switches to AirPlay Video while AirPlay Screen is active.
         */
        usesAirPlayVideoWhileAirPlayScreenIsActive: boolean;
        /**
         * A Boolean value that indicates whether the player uses closed captioning.
         */
        isClosedCaptionDisplayEnabled: boolean;
        /**
         * Creates a new player to play a single audiovisual resource referenced by a given URL.
         */
        constructor (URL: URL);
        /**
         * Creates a new player to play the specified player item.
         */
        constructor (item: AVPlayerItem | null);
        /**
         * Replaces the current item with a new item.
         */
        replaceCurrentItem(item: AVPlayerItem | null):void;
        /**
         * Begins playback of the current item.
         */
        play():void;
        /**
         * Pauses playback of the current item.
         */
        pause():void;
        /**
         * Returns the current time of the current player item.
         */
        currentTime():CMTime;
        /**
         * Requests the periodic invocation of a given block during playback to report changing time.
         */
        addPeriodicTimeObserver(interval: CMTime, queue: DispatchQueue | null, block: ()=>any):any;
        /**
         * Requests the invocation of a block when specified times are traversed during normal playback.
         */
        addBoundaryTimeObserver(times: NSValue[], queue: DispatchQueue | null, block: ()=>any):any;
        /**
         * Cancels a previously registered periodic or boundary time observer.
         */
        removeTimeObserver(observer: any):void;
        /**
         * Requests that the player seek to a specified time.
         */
        seek(time: CMTime):void;
        /**
         * Plays the available media data immediately, at the specified rate.
         */
        playImmediately(rate: Float):void;
        /**
         * Returns the automatic selection criteria for media items with the specified media characteristic.
         */
        mediaSelectionCriteria(mediaCharacteristic: AVMediaCharacteristic):AVPlayerMediaSelectionCriteria | null;
        /**
         * Applies automatic selection criteria for media that has the specified media characteristic.
         */
        setMediaSelectionCriteria(criteria: AVPlayerMediaSelectionCriteria | null, mediaCharacteristic: AVMediaCharacteristic):void;
        /**
         * Synchronizes the playback rate and time of the current item with an external source.
         */
        setRate(rate: Float, itemTime: CMTime, hostClockTime: CMTime):void;
        /**
         * Begins loading media data to prime the media pipelines for playback.
         */
        preroll(rate: Float, completionHandler: ()=>any | null):void;
        /**
         * Cancels any pending preroll requests and invokes the corresponding completion handlers, if present.
         */
        cancelPendingPrerolls():void;
    }
    /**
     * the same name namespace of class AVPlayer
     */
    export namespace AVPlayer {
        export enum Status {
            unknown = 0,
            readyToPlay = 1,
            failed = 2,
        }
        export class RateDidChangeReason {
            /**
             * An app transitions to the background.
             */
            static appBackgrounded: AVPlayer.RateDidChangeReason;
            /**
             * The system interrupts the app’s audio session.
             */
            static audioSessionInterrupted: AVPlayer.RateDidChangeReason;
            /**
             * An app makes a call to set the player’s rate.
             */
            static setRateCalled: AVPlayer.RateDidChangeReason;
            /**
             * An attempt to change the player’s rate fails.
             */
            static setRateFailed: AVPlayer.RateDidChangeReason;
            /**
             * Creates a reason with a string value.
             */
            constructor (rawValue: string);
        }
        export class WaitingReason {
            /**
             * The player is waiting because it’s monitoring the buffer’s fill rate to determine whether playback is likely to complete without interruptions.
             */
            static evaluatingBufferingRate: AVPlayer.WaitingReason;
            /**
             * The player is waiting because there’s no item to play.
             */
            static noItemToPlay: AVPlayer.WaitingReason;
            /**
             * The player is waiting for appropriate playback conditions before starting playback.
             */
            static toMinimizeStalls: AVPlayer.WaitingReason;
            /**
             * The player is waiting for an interstitial event to complete.
             */
            static interstitialEvent: AVPlayer.WaitingReason;
            /**
             * The player is waiting for another participant in a coordinated playback session.
             */
            static waitingForCoordinatedPlayback: AVPlayer.WaitingReason;
            /**
             * Creates a waiting reason with a string value.
             */
            constructor (rawValue: string);
        }
        export enum TimeControlStatus {
            paused = 0,
            waitingToPlayAtSpecifiedRate = 1,
            playing = 2,
        }
        export enum ActionAtItemEnd {
            advance = 0,
            pause = 1,
            none = 2,
        }
        export class HDRMode {
            /**
             * The Hybrid Log-Gamma HDR mode is available.
             */
            static hlg: AVPlayer.HDRMode;
            /**
             * The HDR10 HDR mode is available.
             */
            static hdr10: AVPlayer.HDRMode;
            /**
             * The Dolby Vision HDR mode is available.
             */
            static dolbyVision: AVPlayer.HDRMode;
            /**
             * Creates an HDR mode with a string value.
             */
            constructor (rawValue: number);
        }
    }
    export class AVPlayerItem extends NSObject {
        /**
         * The source audio channel layouts the player item supports for spatialization.
         */
        allowedAudioSpatializationFormats: AVAudioSpatializationFormats;
        /**
         * A Boolean value that indicates whether the player item allows spatialized audio playback.
         */
        isAudioSpatializationAllowed: boolean;
    }
    export enum AVPlayerAudiovisualBackgroundPlaybackPolicy {
        automatic = 1,
        continuesIfPossible = 3,
        pauses = 2,
    }
    export class AVQueuePlayer extends AVPlayer {
        /**
         * Creates an object that plays a queue of items.
         */
        constructor (items: AVPlayerItem[]);
        /**
         * Returns an array of the currently enqueued items.
         */
        items():AVPlayerItem[];
        /**
         * Ends playback of the current item and starts playback of the next item in the player’s queue.
         */
        advanceToNextItem():void;
        /**
         * Returns a Boolean value that indicates whether you can insert a player item into the player’s queue.
         */
        canInsert(item: AVPlayerItem, afterItem: AVPlayerItem | null):boolean;
        /**
         * Inserts a player item after another player item in the queue.
         */
        insert(item: AVPlayerItem, afterItem: AVPlayerItem | null):void;
        /**
         * Removes a given player item from the queue.
         */
        remove(item: AVPlayerItem):void;
        /**
         * Removes all player items from the queue.
         */
        removeAllItems():void;
    }
    export class AVPlayerLooper extends NSObject {
        /**
         * An array containing replicas of the template player item used to accomplish the looping.
         */
        loopingPlayerItems: AVPlayerItem[];
        /**
         * The number of times the object played the media.
         */
        loopCount: number;
        /**
         * A status that indicates the object’s ability to loop playback.
         */
        status: AVPlayerLooper.Status;
        /**
         * An error that describes the reason looping failed.
         */
        error: Error | null;
        /**
         * Creates a player looper instance to repeat the specified time range of a player item using a queue player.
         */
        constructor (player: AVQueuePlayer, itemToLoop: AVPlayerItem, loopRange: CMTimeRange);
        /**
         * Returns a player looper instance configured to loop the full duration of the specified player item in the queue player.
         */
        constructor (player: AVQueuePlayer, itemToLoop: AVPlayerItem);
        /**
         * Disables looping for the player queue.
         */
        disableLooping():void;
    }
    /**
     * the same name namespace of class AVPlayerLooper
     */
    export namespace AVPlayerLooper {
        export enum Status {
            unknown = 0,
            ready = 1,
            failed = 2,
            cancelled = 3,
        }
    }
    export class AVAssetPlaybackAssistant extends NSObject {
        /**
         * Creates a playback assistant to inspect the specified asset.
         */
        constructor (asset: AVAsset);
        /**
         * Loads playback configuration options for an asset.
         */
        loadPlaybackConfigurationOptions(completionHandler: ()=>any):void;
    }
    export class AVAssetPlaybackConfigurationOption {
        /**
         * An option that indicates whether the asset can render stereo video.
         */
        static stereoVideo: AVAssetPlaybackConfigurationOption;
        /**
         * An option that indicates whether the asset can render stereo video and is also in a multiview compression format.
         */
        static stereoMultiviewVideo: AVAssetPlaybackConfigurationOption;
        /**
         * Creates a configuration option from its raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVVariantPreferences {
        /**
         * A preference that indicates the player item supports variant playlists that contain losslessly encoded audio when sufficient bandwidth is available.
         */
        static scalabilityToLosslessAudio: AVVariantPreferences;
        /**
         * Creates a variant preferences structure with an integer value.
         */
        constructor (rawValue: number);
    }
    export class AVTextStyleRule extends NSObject {
        /**
         * A dictionary of text style attributes to apply to the text.
         */
        textMarkupAttributes: Record<string, any>;
        /**
         * A string that identifies the text to which the attributes should apply. 
         */
        textSelector: string;
        /**
         * Creates a text style rule object with the specified style attributes.
         */
        constructor (textMarkupAttributes: Record<string, any>);
        /**
         * Creates a text style rule object with the specified style attributes and text range information.
         */
        constructor (textMarkupAttributes: Record<string, any>, textSelector: string);
        /**
         * Creates an array of text style rule objects from the specified property-list object.
         */
        static textStyleRules(plist: any):AVTextStyleRule[] | null;
        /**
         * Converts one or more text style rules into a serializable property list object. 
         */
        static propertyList(textStyleRules: AVTextStyleRule[]):any;
    }
    export class AVPlayerItemAccessLog extends NSObject {
        /**
         * A chronologically ordered array of player item access log events.
         */
        events: AVPlayerItemAccessLogEvent[];
        /**
         * The string encoding of the extended log data.
         */
        extendedLogDataStringEncoding: number;
        /**
         * Returns a serialized representation of the access log in the Extended Log File Format.
         */
        extendedLogData():Data | null;
    }
    export class AVPlayerItemAccessLogEvent extends NSObject {
        /**
         * The URI of the playback item.
         */
        uri: string;
        /**
         * The IP address of the server that was the source of the last delivered media segment.
         */
        serverAddress: string;
        /**
         * A count of changes to the server address over the last uninterrupted period of playback.
         */
        numberOfServerAddressChanges: number;
        /**
         * The number of network read requests over a WWAN.
         */
        mediaRequestsWWAN: number;
        /**
         * The accumulated duration, in seconds, of active network transfer of bytes.
         */
        transferDuration: TimeInterval;
        /**
         * The accumulated number of bytes transferred by the item.
         */
        numberOfBytesTransferred: Int64;
        /**
         * The number of media read requests from the server to this client.
         */
        numberOfMediaRequests: number;
        /**
         * The date and time at which playback began for this event.
         */
        playbackStartDate: Date | null;
        /**
         * A GUID that identifies the playback session.
         */
        playbackSessionID: string;
        /**
         * The offset, in seconds, in the playlist where the last uninterrupted period of playback began.
         */
        playbackStartOffset: TimeInterval;
        /**
         * The playback type.
         */
        playbackType: string;
        /**
         * The accumulated duration, in seconds, until the player item is ready to play.
         */
        startupTime: TimeInterval;
        /**
         * The accumulated duration, in seconds, of the media played.
         */
        durationWatched: TimeInterval;
        /**
         * The total number of dropped video frames
         */
        numberOfDroppedVideoFrames: number;
        /**
         * The total number of playback stalls encountered.
         */
        numberOfStalls: number;
        /**
         * A count of the media segments downloaded from the server to this client.
         */
        numberOfSegmentsDownloaded: number;
        /**
         * The accumulated duration, in seconds, of the media segments downloaded.
         */
        segmentsDownloadedDuration: TimeInterval;
        /**
         * The total number of times that downloading the segments took too long.
         */
        downloadOverdue: number;
        /**
         * The standard deviation of the observed segment download bit rates.
         */
        observedBitrateStandardDeviation: number;
        /**
         * The maximum observed segment download bit rate.
         */
        observedMaxBitrate: number;
        /**
         * The minimum observed segment download bit rate.
         */
        observedMinBitrate: number;
        /**
         * The bandwidth value that causes a switch, up or down, in the item's quality being played.
         */
        switchBitrate: number;
        /**
         * The throughput, in bits per second, required to play the stream, as advertised by the server.
         */
        indicatedBitrate: number;
        /**
         * The empirical throughput, in bits per second, across all media downloaded.
         */
        observedBitrate: number;
        /**
         * The audio track’s average bit rate, in bits per second.
         */
        averageAudioBitrate: number;
        /**
         * The video track’s average bit rate, in bits per second.
         */
        averageVideoBitrate: number;
        /**
         * The average throughput, in bits per second, required to play the stream, as advertised by the server.
         */
        indicatedAverageBitrate: number;
    }
    export class AVAssetTrackGroup extends NSObject {
        /**
         * The IDs of the tracks in the group.
         */
        trackIDs: NSNumber[];
    }
    export class AVPlayerItemErrorLog extends NSObject {
        /**
         * A chronologically ordered array of player item error log event objects.
         */
        events: AVPlayerItemErrorLogEvent[];
        /**
         * The string encoding of the extended log data.
         */
        extendedLogDataStringEncoding: number;
        /**
         * Returns a serialized representation of the error log in the Extended Log File Format.
         */
        extendedLogData():Data | null;
    }
    export class AVPlayerItemErrorLogEvent extends NSObject {
        /**
         * The date and time when the error occurred.
         */
        date: Date | null;
        /**
         * The URI of the playback item that had an error.
         */
        uri: string;
        /**
         * The IP address of the server that was the source of the error.
         */
        serverAddress: string;
        /**
         * A GUID that identifies the playback session that had an error.
         */
        playbackSessionID: string;
        /**
         * A unique error code identifier.
         */
        errorStatusCode: number;
        /**
         * The domain of the error.
         */
        errorDomain: string;
        /**
         * A description of the error encountered
         */
        errorComment: string;
    }
    export class AVMetadataItem extends NSObject {
        /**
         * An identifier for a metadata item.
         */
        identifier: AVMetadataIdentifier | null;
        /**
         * The data type of the metadata item’s value.
         */
        dataType: string;
        /**
         * The key of the metadata item.
         */
        key: ((NSCopying & NSObjectProtocol));
        /**
         * The common key of the metadata item.
         */
        commonKey: AVMetadataKey | null;
        /**
         * The key space for the metadata item’s key.
         */
        keySpace: AVMetadataKeySpace | null;
        /**
         * The timestamp of the metadata item.
         */
        time: CMTime;
        /**
         * The start date of the timed metadata.
         */
        startDate: Date | null;
        /**
         * The duration of the metadata item.
         */
        duration: CMTime;
        /**
         * The locale of the metadata item.
         */
        locale: Locale | null;
        /**
         * The IETF BCP 47 (RFC 4646) language identifier of the metadata item.
         */
        extendedLanguageTag: string;
        /**
         * The value of the metadata item.
         */
        value: ((NSCopying & NSObjectProtocol));
        /**
         * A dictionary of additional attributes for a metadata item.
         */
        extraAttributes: Record<AVMetadataExtraAttributeKey, any> | null;
        /**
         * The value of the metadata item as a string.
         */
        stringValue: string;
        /**
         * The value of the metadata item as a number.
         */
        numberValue: NSNumber | null;
        /**
         * The value of the metadata item as a date.
         */
        dateValue: Date | null;
        /**
         * The value of the metadata item as a data value.
         */
        dataValue: Data | null;
        /**
         * Creates a metadata item whose value loads on an on-demand basis only.
         */
        constructor (metadataItem: AVMetadataItem, handler: ()=>any);
        /**
         * Returns metadata items for the specified identifier.
         */
        static metadataItems(metadataItems: AVMetadataItem[], identifier: AVMetadataIdentifier):AVMetadataItem[];
    }
    export class AVMetadataItemValueRequest extends NSObject {
        /**
         * The metadata item to request a value for.
         */
        metadataItem: AVMetadataItem | null;
        /**
         * Returns the metadata item’s value.
         */
        respond(value: (NSCopying & NSObjectProtocol)):void;
    }
    export class AVVideoApertureMode {
        /**
         * The pixel aspect ratio and clean aperture will be applied.
         */
        static cleanAperture: AVVideoApertureMode;
        /**
         * The encoded dimensions of the image description are displayed.
         */
        static encodedPixels: AVVideoApertureMode;
        /**
         * The pixel aspect ratio will be applied.
         */
        static productionAperture: AVVideoApertureMode;
        /**
         * Creates a video aperture mode with a string.
         */
        constructor (rawValue: string);
    }
    export class AVAudioSpatializationFormats {
        /**
         * A value that indicates the player item only supports mono and stereo layouts for audio spatialization.
         */
        static monoAndStereo: AVAudioSpatializationFormats;
        /**
         * A value that indicates the player item only supports multichannel layouts for audio spatialization.
         */
        static multichannel: AVAudioSpatializationFormats;
        /**
         * A value that indicates the player item supports mono, stereo, and multichannel layouts for audio spatialization.
         */
        static monoStereoAndMultichannel: AVAudioSpatializationFormats;
        /**
         * Initializes a format with a string value.
         */
        constructor (rawValue: number);
    }
    export enum AVContentAuthorizationStatus {
        unknown = 0,
        completed = 1,
        cancelled = 2,
        timedOut = 3,
        busy = 4,
        notAvailable = 5,
        notPossible = 6,
    }
    export class AVPlayerItemTrack extends NSObject {
        /**
         * A Boolean value that indicates whether the player item presents the track’s media during playback.
         */
        isEnabled: boolean;
        /**
         * The current frame rate of the video track as it plays.
         */
        currentVideoFrameRate: Float;
        /**
         * A mode that specifies the handling of video frames that contain multiple fields.
         */
        videoFieldMode: string;
        /**
         * An asset track that provides the media for the player item track.
         */
        assetTrack: AVAssetTrack | null;
    }
    export class AVPlayerItemOutput extends NSObject {
        /**
         * A Boolean value that indicates whether the player object renders the receiver’s output.
         */
        suppressesPlayerRendering: boolean;
        /**
         * Converts a host time, specified in seconds, to the item’s timebase.
         */
        itemTime(hostTimeInSeconds: CFTimeInterval):CMTime;
    }
    export class AVPlayerItemVideoOutput extends AVPlayerItemOutput {
        /**
         * The delegate for the video output object.
         */
        delegate: AVPlayerItemOutputPullDelegate | null;
        /**
         * The dispatch queue on which to call delegate methods. 
         */
        delegateQueue: DispatchQueue | null;
        /**
         * Creates a video output object using the specified pixel buffer attributes. 
         */
        constructor (pixelBufferAttributes: Record<string, any> | null);
        /**
         * Creates a video output object initialized with the specified output settings.
         */
        constructor (outputSettings: Record<string, any> | null);
        /**
         * Sets the delegate and dispatch queue for the receiver.
         */
        setDelegate(delegate: AVPlayerItemOutputPullDelegate | null, delegateQueue: DispatchQueue | null):void;
        /**
         * Tells the receiver that the video out put client is entering a quiescent state.
         */
        requestNotificationOfMediaDataChange(interval: TimeInterval):void;
        /**
         * Returns a Boolean value that indicates whether video output is available for the specified item time.
         */
        hasNewPixelBuffer(itemTime: CMTime):boolean;
        /**
         * Retrieves an image that is appropriate for display at the specified item time, and marks the image as acquired.
         */
        copyPixelBuffer(itemTime: CMTime, outItemTimeForDisplay: UnsafeMutablePointer<CMTime> | null):CVPixelBuffer | null;
    }
    export interface AVPlayerItemOutputPullDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that new samples are about to arrive.
         */
        outputMediaDataWillChange(sender: AVPlayerItemOutput):void;
        /**
         * Tells the delegate that a new sample sequence is commencing.
         */
        outputSequenceWasFlushed(output: AVPlayerItemOutput):void;
    }
    export class AVPlayerItemLegibleOutput extends AVPlayerItemOutput {
        /**
         * A string identifier indicating the degree of text styling to be applied to attributed strings vended by the  object.
         */
        textStylingResolution: AVPlayerItemLegibleOutput.TextStylingResolution;
        /**
         * The delegate of the output class.
         */
        delegate: AVPlayerItemLegibleOutputPushDelegate | null;
        /**
         * The time interval, in seconds, that a player item legible output object messages its delegate earlier than normal.
         */
        advanceIntervalForDelegateInvocation: TimeInterval;
        /**
         * The dispatch queue on which the delegate is called.
         */
        delegateQueue: DispatchQueue | null;
        /**
         * Creates an initialized legible-output object.
         */
        constructor (subtypes: NSNumber[]);
        /**
         * Sets the receiver's delegate and a dispatch queue on which the delegate is called.
         */
        setDelegate(delegate: AVPlayerItemLegibleOutputPushDelegate | null, delegateQueue: DispatchQueue | null):void;
    }
    /**
     * the same name namespace of class AVPlayerItemLegibleOutput
     */
    export namespace AVPlayerItemLegibleOutput {
        export class TextStylingResolution {
            /**
             * The text styling information is the same level of information that AVFoundation uses within a player layer.
             */
            static default: AVPlayerItemLegibleOutput.TextStylingResolution;
            /**
             * The level of resolution excludes styling provided by the user-level Media Accessibility settings.
             */
            static sourceAndRulesOnly: AVPlayerItemLegibleOutput.TextStylingResolution;
            /**
             * Creates a text styling resolution structure with a string value.
             */
            constructor (rawValue: string);
        }
    }
    export interface AVPlayerItemLegibleOutputPushDelegate extends AVPlayerItemOutputPushDelegate {
        /**
         * Asks the delegate to process the delivery of new textual samples.
         */
        legibleOutput(output: AVPlayerItemLegibleOutput, strings: NSAttributedString[], nativeSamples: any[], itemTime: CMTime):void;
    }
    export class AVPlayerItemMetadataOutput extends AVPlayerItemOutput {
        /**
         * The time interval, in seconds, the player item metadata output object messages its delegate earlier than normal.
         */
        advanceIntervalForDelegateInvocation: TimeInterval;
        /**
         * The delegate object.
         */
        delegate: AVPlayerItemMetadataOutputPushDelegate | null;
        /**
         * The dispatch queue on which messages are sent to the delegate.
         */
        delegateQueue: DispatchQueue | null;
        /**
         * Creates an instance of AVPlayerItemMetadataOutput.
         */
        constructor (identifiers: string[] | null);
        /**
         * Sets the delegate and a dispatch queue on which the delegate is called.
         */
        setDelegate(delegate: AVPlayerItemMetadataOutputPushDelegate | null, delegateQueue: DispatchQueue | null):void;
    }
    export interface AVPlayerItemMetadataOutputPushDelegate extends AVPlayerItemOutputPushDelegate {
        /**
         * Tells the delegate a new collection of metadata items is available.
         */
        metadataOutput(output: AVPlayerItemMetadataOutput, groups: AVTimedMetadataGroup[], track: AVPlayerItemTrack | null):void;
    }
    export interface AVPlayerItemOutputPushDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether the current output sequence was flushed.
         */
        outputSequenceWasFlushed(output: AVPlayerItemOutput):void;
    }
    export class AVPlayerLayer extends CALayer {
        /**
         * The current size and position of the video image that displays within the layer’s bounds.
         */
        videoRect: CGRect;
        /**
         * A value that specifies how the layer displays the player’s visual content within the layer’s bounds.
         */
        videoGravity: AVLayerVideoGravity;
        /**
         * A Boolean value that indicates whether the first video frame of the player’s current item is ready for display.
         */
        isReadyForDisplay: boolean;
        /**
         * The player whose visual content the layer displays.
         */
        player: AVPlayer | null;
        /**
         * The attributes of the visual output that displays in the player layer during playback.
         */
        pixelBufferAttributes: Record<string, any> | null;
        /**
         * Creates a layer object to present the visual contents of a player’s current item.
         */
        constructor (player: AVPlayer | null);
        /**
         * Returns the pixel buffer that the player layer currently displays.
         */
        displayedPixelBuffer():CVPixelBuffer | null;
    }
    export class AVLayerVideoGravity {
        /**
         * The video stretches to fill the layer’s bounds.
         */
        static resize: AVLayerVideoGravity;
        /**
         * The video preserves its aspect ratio and fits it within the layer’s bounds.
         */
        static resizeAspect: AVLayerVideoGravity;
        /**
         * The video preserves its aspect ratio and fills the layer’s bounds.
         */
        static resizeAspectFill: AVLayerVideoGravity;
        /**
         * Creates a video gravity with a string value.
         */
        constructor (rawValue: string);
    }
    export class AVSynchronizedLayer extends CALayer {
        /**
         * The player item to which the timing of the layer is synchronized.
         */
        playerItem: AVPlayerItem | null;
        /**
         * Creates a new synchronized layer with timing synchronized with a given player item.
         */
        constructor (playerItem: AVPlayerItem);
    }
    export class AVMediaSelection extends NSObject {
        /**
         * The asset associated with the media selection.
         */
        asset: AVAsset | null;
        /**
         * Returns the media selection option that’s currently selected in the specified group.
         */
        selectedMediaOption(mediaSelectionGroup: AVMediaSelectionGroup):AVMediaSelectionOption | null;
        /**
         * Indicates whether the specified media selection group is subject to automatic media selection.
         */
        mediaSelectionCriteriaCanBeAppliedAutomatically(mediaSelectionGroup: AVMediaSelectionGroup):boolean;
    }
    export class AVMediaSelectionGroup extends NSObject {
        /**
         * A collection of mutually exclusive media selection options
         */
        options: AVMediaSelectionOption[];
        /**
         * The default option in the group.
         */
        defaultOption: AVMediaSelectionOption | null;
        /**
         * A Boolean value that indicates whether it’s possible to present none of the options in the group when an associated player item is played.
         */
        allowsEmptySelection: boolean;
        /**
         * Returns an array containing the media selection options from a given array that are playable.
         */
        static playableMediaSelectionOptions(mediaSelectionOptions: AVMediaSelectionOption[]):AVMediaSelectionOption[];
        /**
         * Returns an array containing the media selection options from a given array that match the specified locale.
         */
        static mediaSelectionOptions(mediaSelectionOptions: AVMediaSelectionOption[], locale: Locale):AVMediaSelectionOption[];
        /**
         * Returns the media selection options that match the given property list.
         */
        mediaSelectionOption(plist: any):AVMediaSelectionOption | null;
        /**
         * Creates a language option group from the media selection group.
         */
        makeNowPlayingInfoLanguageOptionGroup():MPNowPlayingInfoLanguageOptionGroup;
    }
    export class AVMediaSelectionOption extends NSObject {
        /**
         * The media type of the media data.
         */
        mediaType: AVMediaType;
        /**
         * The media sub-types of the media data associated with the option.
         */
        mediaSubTypes: NSNumber[];
        /**
         * An array of metadata items for each common metadata key for which a value is available.
         */
        commonMetadata: AVMetadataItem[];
        /**
         * The metadata formats that contain metadata associated with the option.
         */
        availableMetadataFormats: string[];
        /**
         * A Boolean value that indicates whether the media selection option is playable.
         */
        isPlayable: boolean;
        /**
         * A string suitable for display using the current system locale.
         */
        displayName: string;
        /**
         * The locale for which the media option was authored.
         */
        locale: Locale | null;
        /**
         * The IETF BCP 47 language tag associated with the option
         */
        extendedLanguageTag: string;
        /**
         * Returns a Boolean value that indicates whether the receiver has media with the given media characteristic.
         */
        hasMediaCharacteristic(mediaCharacteristic: AVMediaCharacteristic):boolean;
        /**
         * Returns an array of metadata items—one for each metadata item in the container of a given format.
         */
        metadata(format: string):AVMetadataItem[];
        /**
         * Returns a media selection option associated with the receiver in a given group.
         */
        associatedMediaSelectionOption(mediaSelectionGroup: AVMediaSelectionGroup):AVMediaSelectionOption | null;
        /**
         * Creates a language option for a media selection option.
         */
        makeNowPlayingInfoLanguageOption():MPNowPlayingInfoLanguageOption | null;
        /**
         * Returns a serializable property list that’s sufficient to identify the option within its group.
         */
        propertyList():any;
    }
    export class AVMutableMediaSelection extends AVMediaSelection {
        /**
         * Selects the media option in the specified media selection group.
         */
        select(mediaSelectionOption: AVMediaSelectionOption | null, mediaSelectionGroup: AVMediaSelectionGroup):void;
    }
    export class AVPlayerMediaSelectionCriteria extends NSObject {
        /**
         * An array of language identifiers in preferred order.
         */
        preferredLanguages: string[] | null;
        /**
         * An array of media characteristics in preferred order.
         */
        preferredMediaCharacteristics: AVMediaCharacteristic[] | null;
        /**
         * An array of media characteristics that are essential to select when choosing media with a particular characteristic.
         */
        principalMediaCharacteristics: AVMediaCharacteristic[] | null;
        /**
         * Creates media selection criteria with the preferred languages and media characteristics.
         */
        constructor (preferredLanguages: string[] | null, preferredMediaCharacteristics: AVMediaCharacteristic[] | null);
        /**
         * Creates media selection criteria with the principal media characteristics, and preferred languages and media characteristics.
         */
        constructor (principalMediaCharacteristics: AVMediaCharacteristic[] | null, preferredLanguages: string[] | null, preferredMediaCharacteristics: AVMediaCharacteristic[] | null);
    }
    export class AVPlaybackCoordinator extends NSObject {
        /**
         * A notification that the coordinator posts when its suspension reasons change.
         */
        static suspensionReasonsDidChangeNotification: NSNotification.Name;
        /**
         * A notification that the coordinator posts when its other participants change.
         */
        static otherParticipantsDidChangeNotification: NSNotification.Name;
        /**
         * The reasons that cause a coordinator to suspend playback.
         */
        suspensionReasonsThatTriggerWaiting: AVCoordinatedPlaybackSuspension.Reason[];
        /**
         * A Boolean value that indicates whether participants mirror the originator’s stop time when they pause.
         */
        pauseSnapsToMediaTimeOfOriginator: boolean;
        /**
         * The reasons a coordinator is currently unable to participate in a group playback activity.
         */
        suspensionReasons: AVCoordinatedPlaybackSuspension.Reason[];
        /**
         * The identifiers of the other participants in a group.
         */
        otherParticipants: AVCoordinatedPlaybackParticipant[];
        /**
         * Returns the limit on the number of partipants that a group may contain before the coordinator stops waiting on suspensions that occur for a particular reason.
         */
        participantLimitForWaitingOutSuspensions(reason: AVCoordinatedPlaybackSuspension.Reason):number;
        /**
         * Sets a limit on the number of partipants that a group may contain before the coordinator stops waiting on suspensions that occur for a particular reason.
         */
        setParticipantLimit(participantLimit: number, reason: AVCoordinatedPlaybackSuspension.Reason):void;
        /**
         * Tells the coordinator to stop sending playback commands temporarily when the playback object disconnects from the group activity.
         */
        beginSuspension(suspensionReason: AVCoordinatedPlaybackSuspension.Reason):AVCoordinatedPlaybackSuspension;
        /**
         * Returns a time in the current item’s timeline that the coordinator expects to play at the specified host time.
         */
        expectedItemTime(hostClockTime: CMTime):CMTime;
    }
    export class AVCoordinatedPlaybackSuspension extends NSObject {
        /**
         * The time the suspension begins.
         */
        beginDate: Date;
        /**
         * The reason for the suspension.
         */
        reason: AVCoordinatedPlaybackSuspension.Reason;
        /**
         * Ends a suspension.
         */
        end():void;
    }
    /**
     * the same name namespace of class AVCoordinatedPlaybackSuspension
     */
    export namespace AVCoordinatedPlaybackSuspension {
        export class Reason {
            /**
             * The system interrupts a participant’s audio session.
             */
            static audioSessionInterrupted: AVCoordinatedPlaybackSuspension.Reason;
            /**
             * It’s not possible for a participant to start or resume coordinated playback.
             */
            static coordinatedPlaybackNotPossible: AVCoordinatedPlaybackSuspension.Reason;
            /**
             * A participant is playing content other than the primary content.
             */
            static playingInterstitial: AVCoordinatedPlaybackSuspension.Reason;
            /**
             * The player object is buffering media data after a stall.
             */
            static stallRecovery: AVCoordinatedPlaybackSuspension.Reason;
            /**
             * A playback object requires user intervention to resume playback.
             */
            static userActionRequired: AVCoordinatedPlaybackSuspension.Reason;
            /**
             * A participant is actively changing the current time.
             */
            static userIsChangingCurrentTime: AVCoordinatedPlaybackSuspension.Reason;
            /**
             * Creates a suspension with a string.
             */
            constructor (rawValue: string);
            /**
             * Creates a suspension with a raw string value.
             */
            constructor (rawValue: string);
        }
    }
    export class AVCoordinatedPlaybackParticipant extends NSObject {
        /**
         * A unique identifier for the participant.
         */
        identifier: UUID;
        /**
         * A Boolean value that indicates whether the participant is ready to start coordinated playback.
         */
        isReadyToPlay: boolean;
        /**
         * The reasons a participant isn’t currently participating in coordinated playback.
         */
        suspensionReasons: AVCoordinatedPlaybackSuspension.Reason[];
    }
    export class AVPlayerPlaybackCoordinator extends AVPlaybackCoordinator {
        /**
         * A player that participates in coordinated playback.
         */
        player: AVPlayer | null;
        /**
         * A delegate object for the playback coordinator.
         */
        delegate: AVPlayerPlaybackCoordinatorDelegate | null;
    }
    export interface AVPlayerPlaybackCoordinatorDelegate extends NSObjectProtocol {
        /**
         * Returns an identifier for a player item.
         */
        playbackCoordinator(coordinator: AVPlayerPlaybackCoordinator, playerItem: AVPlayerItem):string;
    }
    export class AVDelegatingPlaybackCoordinator extends AVPlaybackCoordinator {
        /**
         * An identifier of the current item.
         */
        currentItemIdentifier: string;
        /**
         * The delegate object for the playback coordinator.
         */
        playbackControlDelegate: AVPlaybackCoordinatorPlaybackControlDelegate | null;
        /**
         * Creates a playback coordinator for a custom playback object.
         */
        constructor (playbackControlDelegate: AVPlaybackCoordinatorPlaybackControlDelegate);
        /**
         * Coordinates a rate change across all participants, waiting for others to become ready, if necessary.
         */
        coordinateRateChange(rate: Float, options: AVDelegatingPlaybackCoordinatorRateChangeOptions):void;
        /**
         * Coordinates a seek to the specified time for all connected participants.
         */
        coordinateSeek(time: CMTime, options: AVDelegatingPlaybackCoordinatorSeekOptions):void;
        /**
         * Tells the coordinator to transition to a new item.
         */
        transitionToItem(itemIdentifier: string, snapshotTimebase: CMTimebase | null):void;
        /**
         * Tells the coordinator to reissue current play state commands to synchronize the current item to the state of other participants.
         */
        reapplyCurrentItemStateToPlaybackControlDelegate():void;
    }
    export interface AVPlaybackCoordinatorPlaybackControlDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to match the playback rate to that of the group when the rate is nonzero.
         */
        playbackCoordinator(coordinator: AVDelegatingPlaybackCoordinator, playCommand: AVDelegatingPlaybackCoordinatorPlayCommand, completionHandler: ()=>any):void;
    }
    export class AVDelegatingPlaybackCoordinatorSeekOptions {
        /**
         * An option that Indicates that the coordinator needs to resume playback as soon as possible, regardless of other participant’s readiness or suspensions.
         */
        static resumeImmediately: AVDelegatingPlaybackCoordinatorSeekOptions;
        /**
         * Creates a rate change option with a string.
         */
        constructor (rawValue: number);
    }
    export class AVDelegatingPlaybackCoordinatorRateChangeOptions {
        /**
         * Indicates that the coordinator should begin playback as soon as possible, regardless of other participant’s readiness or suspensions.
         */
        static playImmediately: AVDelegatingPlaybackCoordinatorRateChangeOptions;
        /**
         * Creates a rate change option with a string.
         */
        constructor (rawValue: number);
    }
    export class AVDelegatingPlaybackCoordinatorPlaybackControlCommand extends NSObject {
        /**
         * An item identifier the coordinator issues the command for.
         */
        expectedCurrentItemIdentifier: string;
        /**
         * The participant that causes the coordinator to issue the command.
         */
        originator: AVCoordinatedPlaybackParticipant | null;
    }
    export class AVDelegatingPlaybackCoordinatorPlayCommand extends AVDelegatingPlaybackCoordinatorPlaybackControlCommand {
        /**
         * A rate to use when starting playback.
         */
        rate: Float;
        /**
         * A time in the item timeline to use to begin playback.
         */
        itemTime: CMTime;
        /**
         * A host clock time to use to begin playback.
         */
        hostClockTime: CMTime;
    }
    export class AVDelegatingPlaybackCoordinatorPauseCommand extends AVDelegatingPlaybackCoordinatorPlaybackControlCommand {
        /**
         * A Boolean value that indicates whether the player starts buffering in preparation for a request to begin playback.
         */
        shouldBufferInAnticipationOfPlayback: boolean;
        /**
         * The rate at which the coordinator expects the current item to play.
         */
        anticipatedPlaybackRate: Float;
    }
    export class AVDelegatingPlaybackCoordinatorSeekCommand extends AVDelegatingPlaybackCoordinatorPlaybackControlCommand {
        /**
         * A Boolean value that indicates whether the player starts buffering in anticipation of a request to begin playback.
         */
        shouldBufferInAnticipationOfPlayback: boolean;
        /**
         * The rate at which the coordinator expects playback to resume.
         */
        anticipatedPlaybackRate: Float;
        /**
         * The time to seek to in the item timeline.
         */
        itemTime: CMTime;
        /**
         * The deadline by which the coordinator expects the delegate to handle the command.
         */
        completionDueDate: Date | null;
    }
    export class AVDelegatingPlaybackCoordinatorBufferingCommand extends AVDelegatingPlaybackCoordinatorPlaybackControlCommand {
        /**
         * The rate at which the coordinator expects the current item to play.
         */
        anticipatedPlaybackRate: Float;
        /**
         * The deadline by which the coordinator expects the delegate to complete execution of a command.
         */
        completionDueDate: Date | null;
    }
    export class AVPlayerInterstitialEvent extends NSObject {
        /**
         * An identifier for the event.
         */
        identifier: string;
        /**
         * The player item that represents the primary content.
         */
        primaryItem: AVPlayerItem | null;
        /**
         * An array of player item configurations to use as templates for player items that play interstitial content.
         */
        templateItems: AVPlayerItem[];
        /**
         * A cue to schedule interstitial event playback at a predefined position during primary playback.
         */
        cue: AVPlayerInterstitialEvent.Cue;
        /**
         * A time within the timeline of the primary content that playback of interstitial content begins.
         */
        time: CMTime;
        /**
         * A date within the date range of the primary content that playback of interstitial content begins.
         */
        date: Date | null;
        /**
         * A Boolean value that indicates whether to schedule this event one time only and suppress subsequent replay.
         */
        willPlayOnce: boolean;
        /**
         * A time offset at which playback of primary content resumes after interstitial content finishes.
         */
        resumptionOffset: CMTime;
        /**
         * The time offset at which playback of the interstitial ends.
         */
        playoutLimit: CMTime;
        /**
         * A Boolean value that indicates whether the start time of interstitial playback should snap to a segment boundary of the primary asset.
         */
        alignsStartWithPrimarySegmentBoundary: boolean;
        /**
         * A Boolean value that indicates whether the resumption time of primary playback should snap to a segment boundary of the primary asset.
         */
        alignsResumptionWithPrimarySegmentBoundary: boolean;
        /**
         * The restrictions the event imposes on the playback of interstitial content.
         */
        restrictions: AVPlayerInterstitialEvent.Restrictions;
        /**
         * Attributes of the event that the vendor or app defines.
         */
        userDefinedAttributes: Record<AnyHashable, any>;
        /**
         * Creates an interstitial event for the specified time.
         */
        constructor (primaryItem: AVPlayerItem, time: CMTime);
        /**
         * Creates an interstitial event for the specified date.
         */
        constructor (primaryItem: AVPlayerItem, date: Date);
        /**
         * Creates an interstitial event, with user-defined attributes, for the specified time.
         */
        constructor (primaryItem: AVPlayerItem, identifier: string, time: CMTime, templateItems: AVPlayerItem[], restrictions: AVPlayerInterstitialEvent.Restrictions, resumptionOffset: CMTime, playoutLimit: CMTime, userDefinedAttributes: Record<string, any>);
        /**
         * Creates an interstitial event, with user-defined attributes, for the specified date.
         */
        constructor (primaryItem: AVPlayerItem, identifier: string, date: Date, templateItems: AVPlayerItem[], restrictions: AVPlayerInterstitialEvent.Restrictions, resumptionOffset: CMTime, playoutLimit: CMTime, userDefinedAttributes: Record<string, any>);
    }
    /**
     * the same name namespace of class AVPlayerInterstitialEvent
     */
    export namespace AVPlayerInterstitialEvent {
        export class Cue {
            /**
             * A cue that indicates that playback starts at the interstitial event time or date.
             */
            static noCue: AVPlayerInterstitialEvent.Cue;
            /**
             * A cue that indicates that playback occurs before starting primary playback, regardless of initial primary playback position.
             */
            static joinCue: AVPlayerInterstitialEvent.Cue;
            /**
             * A cue that indicates event playback occurs after primary playback ends without error, either at the end of the primary asset or at the client-specified forward playback end time.
             */
            static leaveCue: AVPlayerInterstitialEvent.Cue;
            /**
             * Creates an interstitial event cue from its raw string value.
             */
            constructor (rawValue: string);
        }
        export class Restrictions {
            /**
             * A restriction that indicates the event doesn’t allow seeking forward within an interstitial item.
             */
            static constrainsSeekingForwardInPrimaryContent: AVPlayerInterstitialEvent.Restrictions;
            /**
             * A restriction that indicates the event doesn’t allow advancing the current time within an interstitial item.
             */
            static requiresPlaybackAtPreferredRateForAdvancement: AVPlayerInterstitialEvent.Restrictions;
            /**
             * Creates a restriction with an integer.
             */
            constructor (rawValue: number);
        }
    }
    export class AVPlayerInterstitialEventController extends AVPlayerInterstitialEventMonitor {
        /**
         * The current schedule of interstitial events.
         */
        events: [AVPlayerInterstitialEvent]!;
        /**
         * Creates an event controller with a player item.
         */
        constructor (primaryPlayer: AVPlayer);
        /**
         * Cancels the playback of all currently playing and scheduled interstitial events, and resumes playback of primary content.
         */
        cancelCurrentEvent(resumptionOffset: CMTime):void;
    }
    export class AVPlayerInterstitialEventMonitor extends NSObject {
        /**
         * A notification the system posts when the monitor’s current interstitial event changes.
         */
        static currentEventDidChangeNotification: NSNotification.Name;
        /**
         * A notification the system posts when the monitor’s schedule of interstitial events changes.
         */
        static eventsDidChangeNotification: NSNotification.Name;
        /**
         * The current interstitial event.
         */
        currentEvent: AVPlayerInterstitialEvent | null;
        /**
         * The schedule of interstitial events.
         */
        events: AVPlayerInterstitialEvent[];
        /**
         * An object that plays primary content.
         */
        primaryPlayer: AVPlayer | null;
        /**
         * An object that plays interstitial content.
         */
        interstitialPlayer: AVQueuePlayer;
        /**
         * Creates an observer with a player item.
         */
        constructor (primaryPlayer: AVPlayer);
    }
    export class AVMetadataGroup extends NSObject {
        /**
         * The array of metadata items associated with the metadata group.
         */
        items: AVMetadataItem[];
        /**
         * The unique identifier for the metadata group.
         */
        uniqueID: string;
        /**
         * The classifying label associated with the metadata group.
         */
        classifyingLabel: string;
    }
    export class AVTimedMetadataGroup extends AVMetadataGroup {
        /**
         * An array of metadata items in the timed metadata group.
         */
        items: AVMetadataItem[];
        /**
         * The time range for the timed metadata.
         */
        timeRange: CMTimeRange;
        /**
         * Creates a timed metadata group initialized with the given metadata items.
         */
        constructor (items: AVMetadataItem[], timeRange: CMTimeRange);
        /**
         * Creates a timed metadata group with a sample buffer.
         */
        constructor (sampleBuffer: CMSampleBuffer);
        /**
         * Creates a format description based on the receiver's items.
         */
        copyFormatDescription():CMMetadataFormatDescription | null;
    }
    export class AVMutableTimedMetadataGroup extends AVTimedMetadataGroup {
        /**
         * An array of metadata items in the timed metadata group.
         */
        items: AVMetadataItem[];
        /**
         * The time range of the timed metadata.
         */
        timeRange: CMTimeRange;
    }
    export class AVDateRangeMetadataGroup extends AVMetadataGroup {
        /**
         * An array of associated metadata items.
         */
        items: AVMetadataItem[];
        /**
         * The start date for the metadata date range group.
         */
        startDate: Date;
        /**
         * The end date for the metadata date range group.
         */
        endDate: Date | null;
        /**
         * Initializes an instance of 
         *  with a collection of metadata items.
         */
        constructor (items: AVMetadataItem[], startDate: Date, endDate: Date | null);
    }
    export class AVMutableDateRangeMetadataGroup extends AVDateRangeMetadataGroup {
        /**
         * An array of associated metadata items.
         */
        items: AVMetadataItem[];
        /**
         * The start date for the metadata date range group.
         */
        startDate: Date;
        /**
         * The end date for the metadata date range group.
         */
        endDate: Date | null;
    }
    export class AVPlayerItemMediaDataCollector extends NSObject {}
    export class AVPlayerItemMetadataCollector extends AVPlayerItemMediaDataCollector {
        /**
         * Accesses the metadata collector’s delegate object.
         */
        delegate: AVPlayerItemMetadataCollectorPushDelegate | null;
        /**
         * The dispatch queue on which the delegate’s methods are called.
         */
        delegateQueue: DispatchQueue | null;
        /**
         * Creates a metadata collector to access a stream’s metadata groups matching the specified array of identifiers and classifying labels.
         */
        constructor (identifiers: string[] | null, classifyingLabels: string[] | null);
        /**
         * Sets the delegate and a dispatch queue on which the delegate will be called.
         */
        setDelegate(delegate: AVPlayerItemMetadataCollectorPushDelegate | null, delegateQueue: DispatchQueue | null):void;
    }
    export interface AVPlayerItemMetadataCollectorPushDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate the collected metadata group information has changed and needs to be updated.
         */
        metadataCollector(metadataCollector: AVPlayerItemMetadataCollector, metadataGroups: AVDateRangeMetadataGroup[], indexesOfNewGroups: IndexSet, indexesOfModifiedGroups: IndexSet):void;
    }
    export class AVRouteDetector extends NSObject {
        /**
         * A Boolean value that indicates whether route detection includes custom routes.
         */
        detectsCustomRoutes: boolean;
        /**
         * A Boolean value that indicates whether route detection is in an enabled state.
         */
        isRouteDetectionEnabled: boolean;
        /**
         * A Boolean value that indicates whether the object detects more than one playback route.
         */
        multipleRoutesDetected: boolean;
    }
    export class AVAssetResourceLoader extends NSObject {
        /**
         * The delegate object to use when handling resource requests.
         */
        delegate: AVAssetResourceLoaderDelegate | null;
        /**
         * The dispatch queue to use when handling resource requests. 
         */
        delegateQueue: DispatchQueue | null;
        /**
         * A Boolean value that indicates whether content keys will be loaded as quickly as possible.
         */
        preloadsEligibleContentKeys: boolean;
        /**
         * Sets the delegate and dispatch queue to use with the resource loader. 
         */
        setDelegate(delegate: AVAssetResourceLoaderDelegate | null, delegateQueue: DispatchQueue | null):void;
    }
    export interface AVAssetResourceLoaderDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if it wants to load the requested resource. 
         */
        resourceLoader(resourceLoader: AVAssetResourceLoader, loadingRequest: AVAssetResourceLoadingRequest):boolean;
    }
    export class AVAssetResourceLoadingRequest extends NSObject {
        /**
         * The URL request object for the resource. 
         */
        request: URLRequest;
        /**
         * The asset resource requestor that made the request.
         */
        requestor: AVAssetResourceLoadingRequestor;
        /**
         * The information for a requested resource.
         */
        contentInformationRequest: AVAssetResourceLoadingContentInformationRequest | null;
        /**
         * The range of requested resource data.
         */
        dataRequest: AVAssetResourceLoadingDataRequest | null;
        /**
         * An URL request instance if the loading request was redirected.
         */
        redirect: URLRequest | null;
        /**
         * The URL response for the loading request.
         */
        response: URLResponse | null;
        /**
         * A Boolean value that indicates whether the request has been cancelled.
         */
        isCancelled: boolean;
        /**
         * A Boolean value that indicates whether loading of the resource has finished.
         */
        isFinished: boolean;
        /**
         * Obtains key request data for a specific combination of application and content.
         */
        streamingContentKeyRequestData(appIdentifier: Data, contentIdentifier: Data, options: Record<string, any> | null):Data;
        /**
         * Obtains a persistable content key from a context.
         */
        persistentContentKey(keyVendorResponse: Data, options: Record<string, any> | null):Data;
        /**
         * Causes the receiver to finish loading a resource for which a resource loader’s delegate took responsibility .
         */
        finishLoading(response: URLResponse | null, data: Data | null, redirect: URLRequest | null):void;
    }
    export class AVMutableMetadataItem extends AVMetadataItem {
        /**
         * Indicates the identifier of the metadata item.
         */
        identifier: AVMetadataIdentifier | null;
        /**
         * The key for a mutable metadata item.
         */
        key: ((NSCopying & NSObjectProtocol));
        /**
         * The key space of the metadata item’s key.
         */
        keySpace: AVMetadataKeySpace | null;
        /**
         * The value for the mutable metadata item.
         */
        value: ((NSCopying & NSObjectProtocol));
        /**
         * A dictionary of additional attributes for a metadata item.
         */
        extraAttributes: Record<AVMetadataExtraAttributeKey, any> | null;
        /**
         * The data type of the metadata item’s value.
         */
        dataType: string;
        /**
         * The value of the metadata item as a string.
         */
        stringValue: string;
        /**
         * The value of the metadata item as a number.
         */
        numberValue: NSNumber | null;
        /**
         * The value of the metadata item as a date.
         */
        dateValue: Date | null;
        /**
         * The value of the metadata item as a data value.
         */
        dataValue: Data | null;
        /**
         * The timestamp for a mutable metadata item.
         */
        time: CMTime;
        /**
         * The start date of the timed metadata.
         */
        startDate: Date | null;
        /**
         * The duration of a mutable metadata item.
         */
        duration: CMTime;
        /**
         * The locale for a mutable metadata item.
         */
        locale: Locale | null;
        /**
         * The IETF BCP 47 (RFC 4646) language identifier of the metadata item.
         */
        extendedLanguageTag: string;
    }
    export class AVAssetResourceRenewalRequest extends AVAssetResourceLoadingRequest {}
    export class AVAssetResourceLoadingRequestor extends NSObject {
        /**
         * A Boolean value that indicates whether the requestor provides expired session reports.
         */
        providesExpiredSessionReports: boolean;
    }
    export class AVAssetResourceLoadingDataRequest extends NSObject {
        /**
         * The length, in bytes, of the data requested.
         */
        requestedLength: number;
        /**
         * The position within the resource of the first byte requested.
         */
        requestedOffset: Int64;
        /**
         * The position within the resource of the next byte.
         */
        currentOffset: Int64;
        /**
         * A Boolean value that indicates the entire remaining length of the resource from the offest to the end of the resource is being requested.
         */
        requestsAllDataToEndOfResource: boolean;
        /**
         * Provides data to the loading request.
         */
        respond(data: Data):void;
    }
    export class AVAssetResourceLoadingContentInformationRequest extends NSObject {
        /**
         * The types of data that are accepted as a valid response for the requested resource.
         */
        allowedContentTypes: string[] | null;
        /**
         * The UTI that specifies the type of data contained by the requested resource.
         */
        contentType: string;
        /**
         * The length, in bytes, of the requested resource.
         */
        contentLength: Int64;
        /**
         * A Boolean value that indicates whether random access to arbitrary ranges of bytes of the resource is supported.
         */
        isByteRangeAccessSupported: boolean;
        /**
         * The date at which a new resource loading request will be issued for resources that expire, if the media system still requires it.
         */
        renewalDate: Date | null;
        /**
         * A Boolean value that indicates whether asset data loading can expect data immediately.
         */
        isEntireLengthAvailableOnDemand: boolean;
    }
    export class AVContentKeySession extends NSObject {
        /**
         * The type of key system used to retrieve keys.
         */
        keySystem: AVContentKeySystem;
        /**
         * A URL that points to a writable storage directory.
         */
        storageURL: URL | null;
        /**
         * The content key session’s delegate object.
         */
        delegate: AVContentKeySessionDelegate | null;
        /**
         * The dispatch queue the session uses to invoke delegate callbacks.
         */
        delegateQueue: DispatchQueue | null;
        /**
         * An array of content key recipients.
         */
        contentKeyRecipients: AVContentKeyRecipient[];
        /**
         * The identifier for the current content protection session.
         */
        contentProtectionSessionIdentifier: Data | null;
        /**
         * Creates a content key session to manage a collection of content decryption keys.
         */
        constructor (keySystem: AVContentKeySystem);
        /**
         * Creates a content key session to manage a collection of content decryption keys; points to a directory that stores abnormal session termination reports.
         */
        constructor (keySystem: AVContentKeySystem, storageURL: URL);
        /**
         * Returns the expired session reports for content key sessions created with the specified app identifier.
         */
        static pendingExpiredSessionReports(appIdentifier: Data, storageURL: URL):Data[];
        /**
         * Removes expired session reports from storage.
         */
        static removePendingExpiredSessionReports(expiredSessionReports: Data[], appIdentifier: Data, storageURL: URL):void;
        /**
         * Sets the session’s delegate object and the dispatch queue on which to call the delegate’s methods.
         */
        setDelegate(delegate: AVContentKeySessionDelegate | null, delegateQueue: DispatchQueue | null):void;
        /**
         * Tells the delegate that the specified recipient should have access to the decryption keys loaded with the session.
         */
        addContentKeyRecipient(recipient: AVContentKeyRecipient):void;
        /**
         * Tells the delegate to remove the specified recipient.
         */
        removeContentKeyRecipient(recipient: AVContentKeyRecipient):void;
        /**
         * Tells the delegate to start loading the content decryption key with the specified identifier and initialization data.
         */
        processContentKeyRequest(identifier: any, initializationData: Data | null, options: Record<string, any> | null):void;
        /**
         * Tells the delegate that the session expired as the result of normal, intentional processes.
         */
        expire():void;
        /**
         * Creates a secure server playback context that the client sends to the key server to get an expiration date for the given persistable content key data.
         */
        makeSecureTokenForExpirationDate(persistableContentKeyData: Data, handler: ()=>any):void;
        /**
         * Tells the delegate that previously provided response data for a content key request is about to expire.
         */
        renewExpiringResponseData(contentKeyRequest: AVContentKeyRequest):void;
        /**
         * Invalidates the persistable content key and creates a secure server playback context (SPC) to verify the outcome of an invalidation request.
         */
        invalidatePersistableContentKey(persistableContentKeyData: Data, options: Record<AVContentKeySessionServerPlaybackContextOption, any> | null, handler: ()=>any):void;
        /**
         * Invalidates all of an app’s persistable content keys and creates a secure server playback context (SPC) to verify the outcome of an invalidation request. 
         */
        invalidateAllPersistableContentKeys(appIdentifier: Data, options: Record<AVContentKeySessionServerPlaybackContextOption, any> | null, handler: ()=>any):void;
    }
    export class AVContentKeySystem {
        /**
         * A method of key delivery that uses FairPlay Streaming.
         */
        static fairPlayStreaming: AVContentKeySystem;
        /**
         * A method of key delivery that uses a clear key system.
         */
        static clearKey: AVContentKeySystem;
        /**
         * A method of key delivery that uses a token to authorize playback.
         */
        static authorizationToken: AVContentKeySystem;
        /**
         * Creates a content key system with a string value.
         */
        constructor (rawValue: string);
    }
    export interface AVContentKeyRecipient {
        /**
         * A Boolean value that indicates whether the recipient requires decryption keys for media data to enable processing.
         */
        mayRequireContentKeysForMediaDataProcessing: boolean;
        /**
         * Tells the recipient that a content key is available.
         */
        contentKeySession(contentKeySession: AVContentKeySession, contentKey: AVContentKey):void;
    }
    export class AVContentKeySessionServerPlaybackContextOption {
        /**
         * Specifies the versions of the content protection protocols supported by the application.
         */
        static protocolVersions: AVContentKeySessionServerPlaybackContextOption;
        /**
         * Specifies a nonce to include in the secure server playback context (SPC) to prevent replay attacks.
         */
        static serverChallenge: AVContentKeySessionServerPlaybackContextOption;
        /**
         * Creates a playback context options structure with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export interface AVContentKeySessionDelegate extends NSObjectProtocol {
        /**
         * Provides the receiver with a new content key request object.
         */
        contentKeySession(session: AVContentKeySession, keyRequest: AVContentKeyRequest):void;
        /**
         * Tells the receiver the content protection session identifier changed.
         */
        contentKeySessionContentProtectionSessionIdentifierDidChange(session: AVContentKeySession):void;
        /**
         * Notifies the sender that an expired session report has been generated.
         */
        contentKeySessionDidGenerateExpiredSessionReport(session: AVContentKeySession):void;
    }
    export class AVContentKeyRequest extends NSObject {}
    /**
     * the same name namespace of class AVContentKeyRequest
     */
    export namespace AVContentKeyRequest {
        export class RetryReason {
            /**
             * An obsolete key response that was set on the previous content key request.
             */
            static receivedObsoleteContentKey: AVContentKeyRequest.RetryReason;
            /**
             * A key response with an expired lease that was set on the previous content key request.
             */
            static receivedResponseWithExpiredLease: AVContentKeyRequest.RetryReason;
            /**
             * A key response that wasn’t set soon enough.
             */
            static timedOut: AVContentKeyRequest.RetryReason;
            /**
             * Creates a retry reason with a string.
             */
            constructor (rawValue: string);
        }
    }
    export class AVContentKey extends NSObject {
        /**
         * The content key’s unique identifier.
         */
        contentKeySpecifier: AVContentKeySpecifier;
    }
    export class AVContentKeySpecifier extends NSObject {
        /**
         * The container and protocol-specific key identifier.
         */
        identifier: any;
        /**
         * The key system that generates content keys.
         */
        keySystem: AVContentKeySystem;
        /**
         * A dictionary of options with which you initialized the specifier.
         */
        options: Record<string, any>;
        /**
         * Creates a content key specifier.
         */
        constructor (keySystem: AVContentKeySystem, contentKeyIdentifier: any, options: Record<string, any>);
    }
    export class AVPersistableContentKeyRequest extends AVContentKeyRequest {
        /**
         * Creates a persistable content key from the content key context data.
         */
        persistableContentKey(keyVendorResponse: Data, options: Record<string, any> | null):Data;
    }
    export class AVContentKeyResponse extends NSObject {
        /**
         * Creates a new key response object for key data and initialization vector sent in the clear.
         */
        constructor (keyData: Data, initializationVector: Data | null);
        /**
         * Creates a content key response with an encrypted key response data blob when FairPlay Streaming is the key delivery method.
         */
        constructor (keyResponseData: Data);
        /**
         * Creates a content key response with an authorization token.
         */
        constructor (authorizationTokenData: Data);
    }
    export class AVAssetDownloadURLSession extends URLSession {
        /**
         * Creates a URL session to download assets.
         */
        constructor (configuration: URLSessionConfiguration, delegate: AVAssetDownloadDelegate | null, delegateQueue: OperationQueue | null);
        /**
         * Creates a download task that uses the specified configuration.
         */
        makeAssetDownloadTask(downloadConfiguration: AVAssetDownloadConfiguration):AVAssetDownloadTask;
        /**
         * Creates a download task to download the asset and media selections.
         */
        aggregateAssetDownloadTask(URLAsset: AVURLAsset, mediaSelections: AVMediaSelection[], title: string, artworkData: Data | null, options: Record<string, any> | null):AVAggregateAssetDownloadTask | null;
    }
    export interface AVAssetDownloadDelegate extends URLSessionTaskDelegate {
        /**
         * Tells the delegate that a download task resolved the media selection to download, including any automatic selections.
         */
        urlSession(session: URLSession, assetDownloadTask: AVAssetDownloadTask, resolvedMediaSelection: AVMediaSelection):void;
    }
    export class AVAssetDownloadConfiguration extends NSObject {
        /**
         * A data value that represents the asset’s artwork.
         */
        artworkData: Data | null;
        /**
         * The configuration for the primary content that the task downloads.
         */
        primaryContentConfiguration: AVAssetDownloadContentConfiguration;
        /**
         * The configuration for the auxiliary content that the task downloads.
         */
        auxiliaryContentConfigurations: AVAssetDownloadContentConfiguration[];
        /**
         * A Boolean value that indicates whether the task optimizes auxiliary content selection.
         */
        optimizesAuxiliaryContentConfigurations: boolean;
        /**
         * Creates a download configuration for a media asset.
         */
        constructor (asset: AVURLAsset, title: string);
    }
    export class AVAssetDownloadContentConfiguration extends NSObject {
        /**
         * The variant qualifiers for this configuration.
         */
        variantQualifiers: AVAssetVariantQualifier[];
        /**
         * The media selections of an asset that a task downloads.
         */
        mediaSelections: AVMediaSelection[];
    }
    export class AVAssetVariantQualifier extends NSObject {
        /**
         * Creates a variant qualifier with an asset variant.
         */
        constructor (variant: AVAssetVariant);
        /**
         * Creates a variant qualifier with a predicate.
         */
        constructor (predicate: NSPredicate);
        /**
         * Creates a predicate with a channel count, media selection option, and operator type.
         */
        static predicate(channelCount: number, mediaSelectionOption: AVMediaSelectionOption, operatorType: NSComparisonPredicate.Operator):NSPredicate;
    }
    export class AVAssetVariant extends NSObject {
        /**
         * The audio rendition attributes for the variant.
         */
        audioAttributes: AVAssetVariant.AudioAttributes | null;
        /**
         * The audio rendition attributes for the variant.
         */
        videoAttributes: AVAssetVariant.VideoAttributes | null;
        /**
         * The peak bit rate for the variant.
         */
        peakBitRate: number;
        /**
         * The average bit rate for the variant.
         */
        averageBitRate: number;
    }
    /**
     * the same name namespace of class AVAssetVariant
     */
    export namespace AVAssetVariant {
        export class AudioAttributes extends NSObject {
            /**
             * The audio formats of the renditions present in the variant.
             */
            formatIDs: AudioFormatID[];
            /**
             * Returns specific attributes for the media option.
             */
            renditionSpecificAttributes(mediaSelectionOption: AVMediaSelectionOption):AVAssetVariant.AudioAttributes.RenditionSpecificAttributes | null;
        }
        /**
         * the same name namespace of class AudioAttributes
         */
        export namespace AudioAttributes {
            export class RenditionSpecificAttributes extends NSObject {
                /**
                 * The count of audio channels in the rendition.
                 */
                channelCount: number;
            }
        }
        export class VideoAttributes extends NSObject {
            /**
             * The video sample codec types present in the variant’s renditions.
             */
            codecTypes: CMVideoCodecType[];
            /**
             * The nominal frame rate of the variant’s renditions.
             */
            nominalFrameRate: number;
            /**
             * The presentation size of the variant’s renditions.
             */
            presentationSize: CGSize;
            /**
             * The video range of the variant.
             */
            videoRange: AVVideoRange;
        }
    }
    export class AVVideoRange {
        /**
         * Indicates Perceptual Quantizer (PQ) high-dynamic-range video.
         */
        static pq: AVVideoRange;
        /**
         * Indicates Hybrid-Log Gamma (HLG) high-dynamic-range video.
         */
        static hlg: AVVideoRange;
        /**
         * Indicates standard-dynamic-range (SDR) video.
         */
        static sdr: AVVideoRange;
        /**
         * Creates a video range with a string.
         */
        constructor (rawValue: string);
    }
    export class AVMetadataIdentifier {
        /**
         * An identifier that represents the accessibility description for the media.
         */
        static commonIdentifierAccessibilityDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the album.
         */
        static commonIdentifierAlbumName: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the artist.
         */
        static commonIdentifierArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents an image relating to the album.
         */
        static commonIdentifierArtwork: AVMetadataIdentifier;
        /**
         * An identifier that represents the asset ID for the media.
         */
        static commonIdentifierAssetIdentifier: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the author.
         */
        static commonIdentifierAuthor: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the contributor.
         */
        static commonIdentifierContributor: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement.
         */
        static commonIdentifierCopyrights: AVMetadataIdentifier;
        /**
         * An identifier that represents the date of the original recording.
         */
        static commonIdentifierCreationDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the creator.
         */
        static commonIdentifierCreator: AVMetadataIdentifier;
        /**
         * An identifier that represents the description of the media.
         */
        static commonIdentifierDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the file format of the media content.
         */
        static commonIdentifierFormat: AVMetadataIdentifier;
        /**
         * An identifier that represents the language of the text or lyrics spoken or sung in the audio.
         */
        static commonIdentifierLanguage: AVMetadataIdentifier;
        /**
         * An identifier that represents the last modification date of the media.
         */
        static commonIdentifierLastModifiedDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the location information for the media.
         */
        static commonIdentifierLocation: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the camera maker.
         */
        static commonIdentifierMake: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the camera model.
         */
        static commonIdentifierModel: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the publisher.
         */
        static commonIdentifierPublisher: AVMetadataIdentifier;
        /**
         * An identifier that represents the relation information for the media.
         */
        static commonIdentifierRelation: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the software used to create the media.
         */
        static commonIdentifierSoftware: AVMetadataIdentifier;
        /**
         * An identifier that represents the source information for the media.
         */
        static commonIdentifierSource: AVMetadataIdentifier;
        /**
         * An identifier that represents the subject information for the media.
         */
        static commonIdentifierSubject: AVMetadataIdentifier;
        /**
         * An identifier that represents the title of the media.
         */
        static commonIdentifierTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the media type.
         */
        static commonIdentifierType: AVMetadataIdentifier;
        /**
         * An identifier that represents the kind of iTunes account.
         */
        static iTunesMetadataAccountKind: AVMetadataIdentifier;
        /**
         * An identifier that represents the acknowledgement information in iTunes.
         */
        static iTunesMetadataAcknowledgement: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the album in iTunes.
         */
        static iTunesMetadataAlbum: AVMetadataIdentifier;
        /**
         * An identifier that represents the artist for the album.
         */
        static iTunesMetadataAlbumArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents an Apple ID.
         */
        static iTunesMetadataAppleID: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the arranger.
         */
        static iTunesMetadataArranger: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the art director.
         */
        static iTunesMetadataArtDirector: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the artist.
         */
        static iTunesMetadataArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents the ID for an artist.
         */
        static iTunesMetadataArtistID: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the author.
         */
        static iTunesMetadataAuthor: AVMetadataIdentifier;
        /**
         * An identifier that represents the beats per minute of a track in iTunes.
         */
        static iTunesMetadataBeatsPerMin: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the composer.
         */
        static iTunesMetadataComposer: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the conductor.
         */
        static iTunesMetadataConductor: AVMetadataIdentifier;
        /**
         * An identifier that represents the content rating in iTunes.
         */
        static iTunesMetadataContentRating: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement in iTunes.
         */
        static iTunesMetadataCopyright: AVMetadataIdentifier;
        /**
         * An identifier that represents an album cover image.
         */
        static iTunesMetadataCoverArt: AVMetadataIdentifier;
        /**
         * An identifier that represents the credits for the source content.
         */
        static iTunesMetadataCredits: AVMetadataIdentifier;
        /**
         * An identifier that represents the description information in iTunes.
         */
        static iTunesMetadataDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the director.
         */
        static iTunesMetadataDirector: AVMetadataIdentifier;
        /**
         * An identifier that represents whether an album is a compilation of tracks in iTunes.
         */
        static iTunesMetadataDiscCompilation: AVMetadataIdentifier;
        /**
         * An identifier that represents the disc number of a multi-CD album in iTunes.
         */
        static iTunesMetadataDiscNumber: AVMetadataIdentifier;
        /**
         * An identifier that represents the person or organization responsible for encoding the media.
         */
        static iTunesMetadataEncodedBy: AVMetadataIdentifier;
        /**
         * An identifier that represents the software or hardware and settings used for encoding.
         */
        static iTunesMetadataEncodingTool: AVMetadataIdentifier;
        /**
         * An identifier that represents the equalizer preset option in iTunes.
         */
        static iTunesMetadataEQ: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the executive producer.
         */
        static iTunesMetadataExecProducer: AVMetadataIdentifier;
        /**
         * An identifier that represents the genre ID.
         */
        static iTunesMetadataGenreID: AVMetadataIdentifier;
        /**
         * An identifier that represents additional grouping information for an album.
         */
        static iTunesMetadataGrouping: AVMetadataIdentifier;
        /**
         * An identifier that represents the digital booklet for an album.
         */
        static iTunesMetadataLinerNotes: AVMetadataIdentifier;
        /**
         * An identifier that represents the lyrics in the recording.
         */
        static iTunesMetadataLyrics: AVMetadataIdentifier;
        /**
         * An identifier that represents the extra materials for an album.
         */
        static iTunesMetadataOnlineExtras: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the original artist.
         */
        static iTunesMetadataOriginalArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the performer.
         */
        static iTunesMetadataPerformer: AVMetadataIdentifier;
        /**
         * An identifier that represents the phonogram rights statement.
         */
        static iTunesMetadataPhonogramRights: AVMetadataIdentifier;
        /**
         * An identifier that represents the playlist ID.
         */
        static iTunesMetadataPlaylistID: AVMetadataIdentifier;
        /**
         * An identifier that represents the predefined genre.
         */
        static iTunesMetadataPredefinedGenre: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the producer.
         */
        static iTunesMetadataProducer: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the publisher.
         */
        static iTunesMetadataPublisher: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the record company.
         */
        static iTunesMetadataRecordCompany: AVMetadataIdentifier;
        /**
         * An identifier that represents the release date for the original recording.
         */
        static iTunesMetadataReleaseDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the soloist.
         */
        static iTunesMetadataSoloist: AVMetadataIdentifier;
        /**
         * An identifier that represents the song ID.
         */
        static iTunesMetadataSongID: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the song in iTunes.
         */
        static iTunesMetadataSongName: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the sound engineer.
         */
        static iTunesMetadataSoundEngineer: AVMetadataIdentifier;
        /**
         * An identifier that represents the thanks statement in iTunes.
         */
        static iTunesMetadataThanks: AVMetadataIdentifier;
        /**
         * An identifier that represents the order number in iTunes.
         */
        static iTunesMetadataTrackNumber: AVMetadataIdentifier;
        /**
         * An identifier that represents the information relating to the contents title.
         */
        static iTunesMetadataTrackSubTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents a user comment regarding the content.
         */
        static iTunesMetadataUserComment: AVMetadataIdentifier;
        /**
         * An identifier that represents the genre set by a user in iTunes.
         */
        static iTunesMetadataUserGenre: AVMetadataIdentifier;
        /**
         * An identifier that represents the accessibility description for the movie file content.
         */
        static quickTimeMetadataAccessibilityDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the album or collection in QuickTime.
         */
        static quickTimeMetadataAlbum: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the arranger of the movie file content.
         */
        static quickTimeMetadataArranger: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the artist of the movie file content.
         */
        static quickTimeMetadataArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents an image relating to the movie file content.
         */
        static quickTimeMetadataArtwork: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the author of the movie file content.
         */
        static quickTimeMetadataAuthor: AVMetadataIdentifier;
        /**
         * An identifier that represents whether the live photo movie used auto mode.
         */
        static quickTimeMetadataAutoLivePhoto: AVMetadataIdentifier;
        /**
         * An identifier that represents the camera frame readout time in QuickTime.
         */
        static quickTimeMetadataCameraFrameReadoutTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the camera identifier in QuickTime.
         */
        static quickTimeMetadataCameraIdentifier: AVMetadataIdentifier;
        /**
         * An identifier that represents a name that indicates a user-defined collection.
         */
        static quickTimeMetadataCollectionUser: AVMetadataIdentifier;
        /**
         * An identifier that represents a comment regarding the movie file content.
         */
        static quickTimeMetadataComment: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the composer of the movie file content.
         */
        static quickTimeMetadataComposer: AVMetadataIdentifier;
        /**
         * An identifier that represents the content identifier in QuickTime.
         */
        static quickTimeMetadataContentIdentifier: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement for the movie file content.
         */
        static quickTimeMetadataCopyright: AVMetadataIdentifier;
        /**
         * An identifier that represents the creation date of the movie file content.
         */
        static quickTimeMetadataCreationDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the credits of the movie source content.
         */
        static quickTimeMetadataCredits: AVMetadataIdentifier;
        /**
         * An identifier that represents the description of the movie file content.
         */
        static quickTimeMetadataDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents a detected cat body in the movie file content.
         */
        static quickTimeMetadataDetectedCatBody: AVMetadataIdentifier;
        /**
         * An identifier that represents a detected dog body in the movie file content.
         */
        static quickTimeMetadataDetectedDogBody: AVMetadataIdentifier;
        /**
         * An identifier that represents a detected face in the movie file content.
         */
        static quickTimeMetadataDetectedFace: AVMetadataIdentifier;
        /**
         * An identifier that represents a detected human body in the movie file content.
         */
        static quickTimeMetadataDetectedHumanBody: AVMetadataIdentifier;
        /**
         * An identifier that represents a detected salient object in the movie file content.
         */
        static quickTimeMetadataDetectedSalientObject: AVMetadataIdentifier;
        /**
         * An identifier that represents the direction the camera is facing during the shot.
         */
        static quickTimeMetadataDirectionFacing: AVMetadataIdentifier;
        /**
         * An identifier that represents the direction the camera is moving during the shot.
         */
        static quickTimeMetadataDirectionMotion: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the director of the movie file content.
         */
        static quickTimeMetadataDirector: AVMetadataIdentifier;
        /**
         * An identifier that represents the display name of the movie file content.
         */
        static quickTimeMetadataDisplayName: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the person or organization responsible for encoding the movie file content.
         */
        static quickTimeMetadataEncodedBy: AVMetadataIdentifier;
        /**
         * An identifier that represents the genre or genres to which the movie content conforms.
         */
        static quickTimeMetadataGenre: AVMetadataIdentifier;
        /**
         * An identifier that represents general information about the movie file content.
         */
        static quickTimeMetadataInformation: AVMetadataIdentifier;
        /**
         * An identifier that represents iXML information for the movie file content.
         */
        static quickTimeMetadataiXML: AVMetadataIdentifier;
        /**
         * An identifier that represents the keywords for the movie file content.
         */
        static quickTimeMetadataKeywords: AVMetadataIdentifier;
        /**
         * An identifier that represents the vitality score of the Live Photo movie.
         */
        static quickTimeMetadataLivePhotoVitalityScore: AVMetadataIdentifier;
        /**
         * An identifier that represents the version of the algorithm responsible for scoring the Live Photo movie for vitality.
         */
        static quickTimeMetadataLivePhotoVitalityScoringVersion: AVMetadataIdentifier;
        /**
         * An identifier that represents the astronomical body for compatibility with the 3GPP format.
         */
        static quickTimeMetadataLocationBody: AVMetadataIdentifier;
        /**
         * An identifier that represents a date and time using the extended format defined in ISO 8601:2004.
         */
        static quickTimeMetadataLocationDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the horizontal accuracy of the location data.
         */
        static quickTimeMetadataLocationHorizontalAccuracyInMeters: AVMetadataIdentifier;
        /**
         * An identifier that represents the geographic point location by coordinates as defined in ISO 6709:2008.
         */
        static quickTimeMetadataLocationISO6709: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the location.
         */
        static quickTimeMetadataLocationName: AVMetadataIdentifier;
        /**
         * An identifier that represents a descriptive comment about the location.
         */
        static quickTimeMetadataLocationNote: AVMetadataIdentifier;
        /**
         * An identifier that represents the single byte describing the movie location.
         */
        static quickTimeMetadataLocationRole: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the camera maker.
         */
        static quickTimeMetadataMake: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the camera model.
         */
        static quickTimeMetadataModel: AVMetadataIdentifier;
        /**
         * An identifier that represents that a movie is a montage of other media.
         */
        static quickTimeMetadataIsMontage: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the original artist of the movie file content.
         */
        static quickTimeMetadataOriginalArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the performer in the movie file content.
         */
        static quickTimeMetadataPerformer: AVMetadataIdentifier;
        /**
         * An identifier that represents the phonogram rights statement.
         */
        static quickTimeMetadataPhonogramRights: AVMetadataIdentifier;
        /**
         * An identifier that represents the affine transform preference for the movie file content.
         */
        static quickTimeMetadataPreferredAffineTransform: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the producer of the movie file content.
         */
        static quickTimeMetadataProducer: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the publisher of the movie file content.
         */
        static quickTimeMetadataPublisher: AVMetadataIdentifier;
        /**
         * An identifier that represents the rating or relative value of the movie.
         */
        static quickTimeMetadataRatingUser: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of software used to create the movie file content.
         */
        static quickTimeMetadataSoftware: AVMetadataIdentifier;
        /**
         * An identifier that represents a score that indicates the quality of an asset.
         */
        static quickTimeMetadataSpatialOverCaptureQualityScore: AVMetadataIdentifier;
        /**
         * An identifier that represents the version of the algorithm responsible for generating a score.
         */
        static quickTimeMetadataSpatialOverCaptureQualityScoringVersion: AVMetadataIdentifier;
        /**
         * An identifier that represents the title of the movie file content.
         */
        static quickTimeMetadataTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the orientation of the movie file content.
         */
        static quickTimeMetadataVideoOrientation: AVMetadataIdentifier;
        /**
         * An identifier that represents the recording year of the movie file content.
         */
        static quickTimeMetadataYear: AVMetadataIdentifier;
        /**
         * An identifier that represents the accessibility description for the movie file content.
         */
        static quickTimeUserDataAccessibilityDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the album or collection in QuickTime.
         */
        static quickTimeUserDataAlbum: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the arranger of the movie file content.
         */
        static quickTimeUserDataArranger: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the artist of the movie file content.
         */
        static quickTimeUserDataArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the author of the movie file content.
         */
        static quickTimeUserDataAuthor: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the chapter.
         */
        static quickTimeUserDataChapter: AVMetadataIdentifier;
        /**
         * An identifier that represents a comment regarding the movie file content.
         */
        static quickTimeUserDataComment: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the composer of the movie file content.
         */
        static quickTimeUserDataComposer: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement in QuickTime.
         */
        static quickTimeUserDataCopyright: AVMetadataIdentifier;
        /**
         * An identifier that represents the creation date of the movie file content.
         */
        static quickTimeUserDataCreationDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the credits of movie source content.
         */
        static quickTimeUserDataCredits: AVMetadataIdentifier;
        /**
         * An identifier that represents the description of the movie file content.
         */
        static quickTimeUserDataDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the director of the movie file content.
         */
        static quickTimeUserDataDirector: AVMetadataIdentifier;
        /**
         * An identifier that represents the disclaimer regarding the movie file content.
         */
        static quickTimeUserDataDisclaimer: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the person or organization responsible for encoding the movie file content.
         */
        static quickTimeUserDataEncodedBy: AVMetadataIdentifier;
        /**
         * An identifier that represents the full name of the movie file content.
         */
        static quickTimeUserDataFullName: AVMetadataIdentifier;
        /**
         * An identifier that represents the genre or genres to which the movie content conforms.
         */
        static quickTimeUserDataGenre: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the host computer.
         */
        static quickTimeUserDataHostComputer: AVMetadataIdentifier;
        /**
         * An identifier that represents general information about the movie file content.
         */
        static quickTimeUserDataInformation: AVMetadataIdentifier;
        /**
         * An identifier that represents the keywords for the movie file content.
         */
        static quickTimeUserDataKeywords: AVMetadataIdentifier;
        /**
         * An identifier that represents the geographic point location by coordinates as defined in ISO 6709:2008.
         */
        static quickTimeUserDataLocationISO6709: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the camera maker.
         */
        static quickTimeUserDataMake: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the camera model.
         */
        static quickTimeUserDataModel: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the original artist of the movie file content.
         */
        static quickTimeUserDataOriginalArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents the original format of the movie file content.
         */
        static quickTimeUserDataOriginalFormat: AVMetadataIdentifier;
        /**
         * An identifier that represents the original source of the movie file content.
         */
        static quickTimeUserDataOriginalSource: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the performers in the movie file content.
         */
        static quickTimeUserDataPerformers: AVMetadataIdentifier;
        /**
         * An identifier that represents the phonogram rights statement.
         */
        static quickTimeUserDataPhonogramRights: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the producer of the movie file content.
         */
        static quickTimeUserDataProducer: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the product.
         */
        static quickTimeUserDataProduct: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the publisher of the movie file content.
         */
        static quickTimeUserDataPublisher: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of software used to create the movie file content.
         */
        static quickTimeUserDataSoftware: AVMetadataIdentifier;
        /**
         * An identifier that represents the special hardware and software requirements for playback.
         */
        static quickTimeUserDataSpecialPlaybackRequirements: AVMetadataIdentifier;
        /**
         * An identifier that represents the tagged characteristic.
         */
        static quickTimeUserDataTaggedCharacteristic: AVMetadataIdentifier;
        /**
         * An identifier that represents a track in the movie file content.
         */
        static quickTimeUserDataTrack: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of a track in the movie file content.
         */
        static quickTimeUserDataTrackName: AVMetadataIdentifier;
        /**
         * An identifier that represents the webpage for the movie file content.
         */
        static quickTimeUserDataURLLink: AVMetadataIdentifier;
        /**
         * An identifier that represents the warning text for the movie file content.
         */
        static quickTimeUserDataWarning: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the writer of the movie file content.
         */
        static quickTimeUserDataWriter: AVMetadataIdentifier;
        /**
         * An identifier that represents how to sort the album.
         */
        static id3MetadataAlbumSortOrder: AVMetadataIdentifier;
        /**
         * An identifier that represents the title of the recording.
         */
        static id3MetadataAlbumTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents an image relating to the audio file.
         */
        static id3MetadataAttachedPicture: AVMetadataIdentifier;
        /**
         * An identifier that represents the encryption details of the audio stream.
         */
        static id3MetadataAudioEncryption: AVMetadataIdentifier;
        /**
         * An identifier that represents the list of seek points within the audio file.
         */
        static id3MetadataAudioSeekPointIndex: AVMetadataIdentifier;
        /**
         * An identifier that represents additional information about the performers in the recording.
         */
        static id3MetadataBand: AVMetadataIdentifier;
        /**
         * An identifier that represents the beats per minute of the audio.
         */
        static id3MetadataBeatsPerMinute: AVMetadataIdentifier;
        /**
         * An identifier that represents additional text information for the media.
         */
        static id3MetadataComments: AVMetadataIdentifier;
        /**
         * An identifier that represents the commercial details for the media.
         */
        static id3MetadataCommercial: AVMetadataIdentifier;
        /**
         * An identifier that represents the webpage containing purchasing information.
         */
        static id3MetadataCommercialInformation: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the composer.
         */
        static id3MetadataComposer: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the conductor.
         */
        static id3MetadataConductor: AVMetadataIdentifier;
        /**
         * An identifier that indicates the sound belongs to a larger category of sounds or music.
         */
        static id3MetadataContentGroupDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the media content type.
         */
        static id3MetadataContentType: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement.
         */
        static id3MetadataCopyright: AVMetadataIdentifier;
        /**
         * An identifier that represents the webpage describing the terms of use and ownership.
         */
        static id3MetadataCopyrightInformation: AVMetadataIdentifier;
        /**
         * An identifier that represents the date for the recording.
         */
        static id3MetadataDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the person or organization responsible for encoding the media.
         */
        static id3MetadataEncodedBy: AVMetadataIdentifier;
        /**
         * An identifier that represents the software or hardware and settings used for encoding.
         */
        static id3MetadataEncodedWith: AVMetadataIdentifier;
        /**
         * An identifier that represents the encoding time of the audio.
         */
        static id3MetadataEncodingTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the encryption method used.
         */
        static id3MetadataEncryption: AVMetadataIdentifier;
        /**
         * An identifier that represents the equalization curve within the audio file.
         */
        static id3MetadataEqualization: AVMetadataIdentifier;
        /**
         * An identifier that represents the equalization curve within the audio file.
         */
        static id3MetadataEqualization2: AVMetadataIdentifier;
        /**
         * An identifier that represents the timing codes used for synchronization with key events in a song or sound.
         */
        static id3MetadataEventTimingCodes: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the owner or licensee of the file and it’s contents.
         */
        static id3MetadataFileOwner: AVMetadataIdentifier;
        /**
         * An identifier that represents the file type of the audio.
         */
        static id3MetadataFileType: AVMetadataIdentifier;
        /**
         * An identifier that represents the details of a file.
         */
        static id3MetadataGeneralEncapsulatedObject: AVMetadataIdentifier;
        /**
         * An identifier that represents the grouping of distinct frames.
         */
        static id3MetadataGroupIdentifier: AVMetadataIdentifier;
        /**
         * An identifier that represents the musical key in which the sound starts.
         */
        static id3MetadataInitialKey: AVMetadataIdentifier;
        /**
         * An identifier that represents the international standard recording code.
         */
        static id3MetadataInternationalStandardRecordingCode: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the internet radio station streaming the audio.
         */
        static id3MetadataInternetRadioStationName: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the owner of the internet radio station streaming the audio.
         */
        static id3MetadataInternetRadioStationOwner: AVMetadataIdentifier;
        /**
         * An identifier that represents the list of names of contributors to the media.
         */
        static id3MetadataInvolvedPeopleList_v23: AVMetadataIdentifier;
        /**
         * An identifier that represents the list of names of contributors to the media.
         */
        static id3MetadataInvolvedPeopleList_v24: AVMetadataIdentifier;
        /**
         * An identifier that represents the language of the text or lyrics spoken or sung in the audio.
         */
        static id3MetadataLanguage: AVMetadataIdentifier;
        /**
         * An identifier that represents the main artist of the recording.
         */
        static id3MetadataLeadPerformer: AVMetadataIdentifier;
        /**
         * An identifier that represents the length of the audio file in milliseconds.
         */
        static id3MetadataLength: AVMetadataIdentifier;
        /**
         * An identifier that represents the link information from an ID3 tag that might reside in another audio file or alone in a binary file.
         */
        static id3MetadataLink: AVMetadataIdentifier;
        /**
         * An identifier that represents the writer(s) of the text or lyrics in the recording.
         */
        static id3MetadataLyricist: AVMetadataIdentifier;
        /**
         * An identifier that represents which media the sound originated from.
         */
        static id3MetadataMediaType: AVMetadataIdentifier;
        /**
         * An identifier that represents the people behind a remix and similar interpretations of another existing piece.
         */
        static id3MetadataModifiedBy: AVMetadataIdentifier;
        /**
         * An identifier that represents the mood of the audio.
         */
        static id3MetadataMood: AVMetadataIdentifier;
        /**
         * An identifier that represents the lookup table used to increase performance and accuracy of jumps within an MPEG audio file.
         */
        static id3MetadataMPEGLocationLookupTable: AVMetadataIdentifier;
        /**
         * An identifier that represents the ID used to identify the CD in databases such as the Compact Disc Database.
         */
        static id3MetadataMusicCDIdentifier: AVMetadataIdentifier;
        /**
         * An identifier that represents the mapping between an instrument and the musician that played it.
         */
        static id3MetadataMusicianCreditsList: AVMetadataIdentifier;
        /**
         * An identifier that represents the artist’s official webpage.
         */
        static id3MetadataOfficialArtistWebpage: AVMetadataIdentifier;
        /**
         * An identifier that represents the official webpage for the audio file.
         */
        static id3MetadataOfficialAudioFileWebpage: AVMetadataIdentifier;
        /**
         * An identifier that represents the official webpage for the source of the audio file.
         */
        static id3MetadataOfficialAudioSourceWebpage: AVMetadataIdentifier;
        /**
         * An identifier that represents the official homepage of the internet radio station.
         */
        static id3MetadataOfficialInternetRadioStationHomepage: AVMetadataIdentifier;
        /**
         * An identifier that represents the official webpage for the publisher.
         */
        static id3MetadataOfficialPublisherWebpage: AVMetadataIdentifier;
        /**
         * An identifier that represents the title of the original recording or source of sound.
         */
        static id3MetadataOriginalAlbumTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the performer(s) of the original recording.
         */
        static id3MetadataOriginalArtist: AVMetadataIdentifier;
        /**
         * An identifier that represents the original filename for the recording.
         */
        static id3MetadataOriginalFilename: AVMetadataIdentifier;
        /**
         * An identifier that represents the text writer(s) of the original recording.
         */
        static id3MetadataOriginalLyricist: AVMetadataIdentifier;
        /**
         * An identifier that represents the release time for the original recording.
         */
        static id3MetadataOriginalReleaseTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the release year for the original recording.
         */
        static id3MetadataOriginalReleaseYear: AVMetadataIdentifier;
        /**
         * An identifier that represents the transaction details indicating proof of ownership if signed.
         */
        static id3MetadataOwnership: AVMetadataIdentifier;
        /**
         * An identifier that represents the part of a set the audio came from.
         */
        static id3MetadataPartOfASet: AVMetadataIdentifier;
        /**
         * An identifier that represents the webpage that handles the process of paying for the audio file.
         */
        static id3MetadataPayment: AVMetadataIdentifier;
        /**
         * An identifier that represents the performer sort order.
         */
        static id3MetadataPerformerSortOrder: AVMetadataIdentifier;
        /**
         * An identifier that represents the play count of the audio file.
         */
        static id3MetadataPlayCounter: AVMetadataIdentifier;
        /**
         * An identifier that represents the number of milliseconds of silence between every song in a playlist.
         */
        static id3MetadataPlaylistDelay: AVMetadataIdentifier;
        /**
         * An identifier that represents the rating for the audio file.
         */
        static id3MetadataPopularimeter: AVMetadataIdentifier;
        /**
         * An identifier that represents the time offset of the first frame in the stream.
         */
        static id3MetadataPositionSynchronization: AVMetadataIdentifier;
        /**
         * An identifier that represents the information from a software producer that its program uses.
         */
        static id3MetadataPrivate: AVMetadataIdentifier;
        /**
         * An identifier that represents the produced notice.
         */
        static id3MetadataProducedNotice: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the label or publisher.
         */
        static id3MetadataPublisher: AVMetadataIdentifier;
        /**
         * An identifier that represents the buffer size the server recommends.
         */
        static id3MetadataRecommendedBufferSize: AVMetadataIdentifier;
        /**
         * An identifier that represents additional recording dates that complement year, date, and time identifiers.
         */
        static id3MetadataRecordingDates: AVMetadataIdentifier;
        /**
         * An identifier that represents the recording time.
         */
        static id3MetadataRecordingTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the increase or decrease of volume on each channel while the file plays.
         */
        static id3MetadataRelativeVolumeAdjustment: AVMetadataIdentifier;
        /**
         * An identifier that represents the increase or decrease of volume on each channel while the file plays.
         */
        static id3MetadataRelativeVolumeAdjustment2: AVMetadataIdentifier;
        /**
         * An identifier that represents the time of the first release.
         */
        static id3MetadataReleaseTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the adjustments to echoes of different kinds.
         */
        static id3MetadataReverb: AVMetadataIdentifier;
        /**
         * An identifier that represents the location of other tags in a file or stream.
         */
        static id3MetadataSeek: AVMetadataIdentifier;
        /**
         * An identifier that represents the set subtitle the track belongs to.
         */
        static id3MetadataSetSubtitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the group of frames to sign.
         */
        static id3MetadataSignature: AVMetadataIdentifier;
        /**
         * An identifier that represents the size of the audio file in bytes.
         */
        static id3MetadataSize: AVMetadataIdentifier;
        /**
         * An identifier that represents the information relating to the contents title.
         */
        static id3MetadataSubTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the words in the audio file as text in sync with the audio.
         */
        static id3MetadataSynchronizedLyric: AVMetadataIdentifier;
        /**
         * An identifier that represents the tempo codes used for a more accurate description of the tempo of a musical piece.
         */
        static id3MetadataSynchronizedTempoCodes: AVMetadataIdentifier;
        /**
         * An identifier that represents the time of tagging.
         */
        static id3MetadataTaggingTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the brief description of the terms of use and ownership of the file.
         */
        static id3MetadataTermsOfUse: AVMetadataIdentifier;
        /**
         * An identifier that represents the time for the recording.
         */
        static id3MetadataTime: AVMetadataIdentifier;
        /**
         * An identifier that represents the name of the piece.
         */
        static id3MetadataTitleDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the title sort order.
         */
        static id3MetadataTitleSortOrder: AVMetadataIdentifier;
        /**
         * An identifier that represents the order number of the audio file.
         */
        static id3MetadataTrackNumber: AVMetadataIdentifier;
        /**
         * An identifier that represents the identifier used to indicate the audio file in a database.
         */
        static id3MetadataUniqueFileIdentifier: AVMetadataIdentifier;
        /**
         * An identifier that represents the lyrics of the song or a text transcription of other vocal activities.
         */
        static id3MetadataUnsynchronizedLyric: AVMetadataIdentifier;
        /**
         * An identifier that represents the user text information frame.
         */
        static id3MetadataUserText: AVMetadataIdentifier;
        /**
         * An identifier that represents the user webpage frame.
         */
        static id3MetadataUserURL: AVMetadataIdentifier;
        /**
         * An identifier that represents the year of the recording.
         */
        static id3MetadataYear: AVMetadataIdentifier;
        /**
         * An identifier that represents the commerical frame.
         */
        static id3MetadataCommerical: AVMetadataIdentifier;
        /**
         * An identifier that represents the text for the album and track titles.
         */
        static identifier3GPUserDataAlbumAndTrack: AVMetadataIdentifier;
        /**
         * An identifier that represents the author of the media.
         */
        static identifier3GPUserDataAuthor: AVMetadataIdentifier;
        /**
         * An identifier that represents the collection name for the media.
         */
        static identifier3GPUserDataCollection: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement.
         */
        static identifier3GPUserDataCopyright: AVMetadataIdentifier;
        /**
         * An identifier that represents the description for the media.
         */
        static identifier3GPUserDataDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the genre of the media.
         */
        static identifier3GPUserDataGenre: AVMetadataIdentifier;
        /**
         * An identifier that represents the list of keywords for the media.
         */
        static identifier3GPUserDataKeywordList: AVMetadataIdentifier;
        /**
         * An identifier that represents the location information for the media.
         */
        static identifier3GPUserDataLocation: AVMetadataIdentifier;
        /**
         * An identifier that represents the classification of the media content.
         */
        static identifier3GPUserDataMediaClassification: AVMetadataIdentifier;
        /**
         * An identifier that represents the rating of the media content.
         */
        static identifier3GPUserDataMediaRating: AVMetadataIdentifier;
        /**
         * An identifier that represents information about the performer.
         */
        static identifier3GPUserDataPerformer: AVMetadataIdentifier;
        /**
         * An identifier that represents the recording year for the media.
         */
        static identifier3GPUserDataRecordingYear: AVMetadataIdentifier;
        /**
         * An identifier that represents the media thumbnail.
         */
        static identifier3GPUserDataThumbnail: AVMetadataIdentifier;
        /**
         * An identifier that represents the title for the media.
         */
        static identifier3GPUserDataTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the user rating.
         */
        static identifier3GPUserDataUserRating: AVMetadataIdentifier;
        /**
         * An identifier that represents the accessibility description for the media content.
         */
        static isoUserDataAccessibilityDescription: AVMetadataIdentifier;
        /**
         * An identifier that represents the copyright statement.
         */
        static isoUserDataCopyright: AVMetadataIdentifier;
        /**
         * An identifier that represents the date for the media content.
         */
        static isoUserDataDate: AVMetadataIdentifier;
        /**
         * An identifier that represents the tagged media characteristic used for identifying accessibility features.
         */
        static isoUserDataTaggedCharacteristic: AVMetadataIdentifier;
        /**
         * An identifier that represents the title of a stream.
         */
        static icyMetadataStreamTitle: AVMetadataIdentifier;
        /**
         * An identifier that represents the web address of a stream.
         */
        static icyMetadataStreamURL: AVMetadataIdentifier;
        /**
         * Creates a metadata identifier.
         */
        constructor (rawValue: string);
        /**
         * Creates a metadata identifier with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class AVAssetDownloadTask extends URLSessionTask {
        /**
         * The asset that this task downloads.
         */
        urlAsset: AVURLAsset;
        /**
         * The time ranges of the downloaded media that are ready for playback.
         */
        loadedTimeRanges: NSValue[];
        /**
         * The configuration options for the task.
         */
        options: Record<string, any> | null;
        /**
         * The local file URL to where the task downloads the asset.
         */
        destinationURL: URL;
    }
    export class AVAggregateAssetDownloadTask extends URLSessionTask {
        /**
         * The asset the parent task downloads.
         */
        urlAsset: AVURLAsset;
    }
    export class AVAssetDownloadStorageManager extends NSObject {
        /**
         * Returns the shared storage manager instance.
         */
        static shared():AVAssetDownloadStorageManager;
        /**
         * Returns the storage management policy for a downloaded asset.
         */
        storageManagementPolicy(downloadStorageURL: URL):AVAssetDownloadStorageManagementPolicy | null;
        /**
         * Sets a storage policy for the downloaded asset.
         */
        setStorageManagementPolicy(storageManagementPolicy: AVAssetDownloadStorageManagementPolicy, downloadStorageURL: URL):void;
    }
    export class AVAssetDownloadStorageManagementPolicy extends NSObject {
        /**
         * The expiration date for an asset.
         */
        expirationDate: Date;
        /**
         * The eviction priority for an asset.
         */
        priority: AVAssetDownloadedAssetEvictionPriority;
    }
    export class AVMutableAssetDownloadStorageManagementPolicy extends AVAssetDownloadStorageManagementPolicy {
        /**
         * The expiration date for an asset.
         */
        expirationDate: Date;
        /**
         * The eviction priority for a downloaded asset.
         */
        priority: AVAssetDownloadedAssetEvictionPriority;
    }
    export class AVAssetDownloadedAssetEvictionPriority {
        /**
         * The default eviction priority.
         */
        static default: AVAssetDownloadedAssetEvictionPriority;
        /**
         * An eviction priority that indicates that this asset is important and the system should evict lower-priority assets first.
         */
        static important: AVAssetDownloadedAssetEvictionPriority;
        /**
         * Creates an eviction priority with a string.
         */
        constructor (rawValue: string);
    }
    export class AVAssetCache extends NSObject {
        /**
         * A Boolean value that indicates whether the asset is playable without an internet connection.
         */
        isPlayableOffline: boolean;
        /**
         * Returns an array of locally cached media selection options that are available for offline use.
         */
        mediaSelectionOptions(mediaSelectionGroup: AVMediaSelectionGroup):AVMediaSelectionOption[];
    }
    export class AVSampleBufferRequest extends NSObject {
        /**
         * The buffer sample direction.
         */
        direction: AVSampleBufferRequest.Direction;
        /**
         * The limiting position for sample loading.
         */
        limitCursor: AVSampleCursor | null;
        /**
         * The maximum number of samples to load.
         */
        maxSampleCount: number;
        /**
         * The sample buffer request mode.
         */
        mode: AVSampleBufferRequest.Mode;
        /**
         * The deadline for sample data and output PTS for the sample buffer.
         */
        overrideTime: CMTime;
        /**
         * The preferred minimum number of samples to load.
         */
        preferredMinSampleCount: number;
        /**
         * The starting cursor position.
         */
        startCursor: AVSampleCursor;
        /**
         * Creates a newly allocated sample buffer request with the specified sample cursor.
         */
        constructor (startCursor: AVSampleCursor);
    }
    /**
     * the same name namespace of class AVSampleBufferRequest
     */
    export namespace AVSampleBufferRequest {
        export enum Direction {
            forward = 1,
            none = 0,
            reverse = -1,
        }
        export enum Mode {
            immediate = 0,
            scheduled = 1,
            opportunistic = 2,
        }
    }
    export class AVSampleBufferGenerator extends NSObject {
        /**
         * Creates a new sample buffer generator.
         */
        constructor (asset: AVAsset, timebase: CMTimebase | null);
        /**
         * Notifies the sample buffer generator when data is ready for the sample buffer reference or an error has occurred.
         */
        static notifyOfDataReady(sbuf: CMSampleBuffer, completionHandler: ()=>any):void;
        /**
         * Creates a sample buffer, and attempts to load its data asynchronously if requested.
         */
        makeSampleBuffer(request: AVSampleBufferRequest):CMSampleBuffer;
        /**
         * Creates a batch object to handle generating multiple sample buffers.
         */
        makeBatch():AVSampleBufferGeneratorBatch;
        /**
         * Creates a new sample buffer reference for the specified buffer request.
         */
        createSampleBuffer(request: AVSampleBufferRequest):CMSampleBuffer | null;
    }
    export class AVSampleBufferGeneratorBatch extends NSObject {
        /**
         * Loads sample data asynchronously for all sample buffers within a batch.
         */
        makeDataReady(completionHandler: ()=>any):void;
        /**
         * Cancels any I/O for this batch.
         */
        cancel():void;
    }
    export interface AVQueuedSampleBufferRendering extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the receiver is able to accept more sample buffers.
         */
        isReadyForMoreMediaData: boolean;
        /**
         * Sends a sample buffer to the queue for rendering.
         */
        enqueue(sampleBuffer: CMSampleBuffer):void;
        /**
         * Tells the target to invoke a client-supplied block in order to gather sample buffers for playback.
         */
        requestMediaDataWhenReady(queue: DispatchQueue, block: ()=>any):void;
        /**
         * Cancels any current 
         *  call.
         */
        stopRequestingMediaData():void;
        /**
         * A Boolean value that indicates whether the enqued media meets the required preroll level for reliable playback.
         */
        hasSufficientMediaDataForReliablePlaybackStart: boolean;
        /**
         * Discards all pending enqueued sample buffers.
         */
        flush():void;
        /**
         * The timebase for a renderer.
         */
        timebase: CMTimebase;
    }
    export class AVSampleBufferRenderSynchronizer extends NSObject {
        /**
         * The synchronizer’s rendering rate changed.
         */
        static rateDidChangeNotification: NSNotification.Name;
        /**
         * An array of queued sample buffer renderers currently attached to the synchronizer.
         */
        renderers: AVQueuedSampleBufferRendering[];
        /**
         * The synchronizer’s rendering timebase which determines how it interprets timestamps.
         */
        timebase: CMTimebase;
        /**
         * The current playback rate.
         */
        rate: Float;
        /**
         * A Boolean value that Indicates whether the playback should start immediately on rate change requests.
         */
        delaysRateChangeUntilHasSufficientMediaData: boolean;
        /**
         * Adds a renderer to the list of renderers under the synchronizer's control.
         */
        addRenderer(renderer: AVQueuedSampleBufferRendering):void;
        /**
         * Removes a renderer from the synchronizer.
         */
        removeRenderer(renderer: AVQueuedSampleBufferRendering, time: CMTime, completionHandler: ()=>any | null):void;
        /**
         * Returns the current time of the synchronizer.
         */
        currentTime():CMTime;
        /**
         * Sets the renderer’s time and rate.
         */
        setRate(rate: Float, time: CMTime):void;
        /**
         * Requests invocation of a block during rendering at specified time intervals.
         */
        addPeriodicTimeObserver(interval: CMTime, queue: DispatchQueue | null, block: ()=>any):any;
        /**
         * Requests invocation of a block when specified times are traversed during normal rendering.
         */
        addBoundaryTimeObserver(times: NSValue[], queue: DispatchQueue | null, block: ()=>any):any;
        /**
         * Cancels the specified time observer.
         */
        removeTimeObserver(observer: any):void;
    }
    export class AVSampleBufferDisplayLayer extends CALayer {
        /**
         * A Boolean value that indicates the readiness of the layer to accept more sample buffers.
         */
        isReadyForMoreMediaData: boolean;
        /**
         * A Boolean value that indicates whether the layer needs to flush its state to continue decoding frames.
         */
        requiresFlushToResumeDecoding: boolean;
        /**
         * The layer's control timebase, which governs how timestamps are interpreted.
         */
        controlTimebase: CMTimebase | null;
        /**
         * A string defining how the video is displayed within the bounds rect of a sample buffer display layer.
         */
        videoGravity: AVLayerVideoGravity;
        /**
         * The ability of the display layer to be used for enqueuing sample buffers.
         */
        status: AVQueuedSampleBufferRenderingStatus;
        /**
         * A Boolean value that indicates whether the layer protects against screen capture.
         */
        preventsCapture: boolean;
        /**
         * A Boolean value that indicates whether the layer prevents the system from sleeping during video playback.
         */
        preventsDisplaySleepDuringVideoPlayback: boolean;
        /**
         * A Boolean value that indicates whether the system obscures decoded output due to insufficient external protection on the current device.
         */
        isOutputObscuredDueToInsufficientExternalProtection: boolean;
        /**
         * The error that caused the failure.
         */
        error: Error | null;
        /**
         * Instructs the target to invoke a client-supplied block repeatedly, at its convenience, in order to gather sample buffers for display.
         */
        requestMediaDataWhenReady(queue: DispatchQueue, block: ()=>any):void;
        /**
         * Cancels any current media data request.
         */
        stopRequestingMediaData():void;
        /**
         * Instructs the layer to discard any enqueued sample buffers that are pending.
         */
        flush():void;
        /**
         * Instructs the layer to discard pending enqueued sample buffers and remove any currently displayed image.
         */
        flushAndRemoveImage():void;
        /**
         * Sends a sample buffer for display.
         */
        enqueue(sampleBuffer: CMSampleBuffer):void;
    }
    export enum AVQueuedSampleBufferRenderingStatus {
        unknown = 0,
        rendering = 1,
        failed = 2,
    }
    export class AVSampleBufferAudioRenderer extends NSObject {
        /**
         * The status of the audio renderer.
         */
        status: AVQueuedSampleBufferRenderingStatus;
        /**
         * The processing algorithm used to manage audio pitch at different rates.
         */
        audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm;
        /**
         * The source audio channel layouts the audio renderer supports for spatialization.
         */
        allowedAudioSpatializationFormats: AVAudioSpatializationFormats;
        /**
         * The current audio volume for the audio renderer.
         */
        volume: Float;
        /**
         * A Boolean value that indicates whether audio for the renderer is in a muted state.
         */
        isMuted: boolean;
        /**
         * The unique identifier of the output device used to play audio.
         */
        audioOutputDeviceUniqueID: string;
        /**
         * The error that caused the renderer to no longer render sample buffers.
         */
        error: Error | null;
        /**
         * Flushes queued sample buffers with presentation time stamps later than or equal to the specified time.
         */
        flush(time: CMTime, completionHandler: ()=>any):void;
    }
    export class AVCaptureSession extends NSObject {
        /**
         * A preset value that indicates the quality level or bit rate of the output.
         */
        sessionPreset: AVCaptureSession.Preset;
        /**
         * The inputs that provide media data to a capture session.
         */
        inputs: AVCaptureInput[];
        /**
         * The output destinations to which a captures session sends its data.
         */
        outputs: AVCaptureOutput[];
        /**
         * The connections between inputs and outputs that a capture session contains.
         */
        connections: AVCaptureConnection[];
        /**
         * A Boolean value that indicates whether the capture session supports using the camera while multitasking.
         */
        isMultitaskingCameraAccessSupported: boolean;
        /**
         * A Boolean value that indicates whether the capture session enables access to the camera while multitasking.
         */
        isMultitaskingCameraAccessEnabled: boolean;
        /**
         * A value that indicates the percentage of the session’s available hardware budget in use.
         */
        hardwareCost: Float;
        /**
         * A Boolean value that indicates whether the capture session is in a running state.
         */
        isRunning: boolean;
        /**
         * A Boolean value that indicates whether the capture session is in an interrupted state.
         */
        isInterrupted: boolean;
        /**
         * A Boolean value that indicates whether the capture session uses the app’s shared audio session.
         */
        usesApplicationAudioSession: boolean;
        /**
         * A Boolean value that indicates whether the capture session automatically changes settings in the app’s shared audio session.
         */
        automaticallyConfiguresApplicationAudioSession: boolean;
        /**
         * A Boolean value that specifies whether the session should automatically use wide-gamut color where available.
         */
        automaticallyConfiguresCaptureDeviceForWideColor: boolean;
        /**
         * A clock to use for output synchronization.
         */
        synchronizationClock: CMClock | null;
        /**
         * A clock object used for output synchronization.
         */
        masterClock: CMClock | null;
        /**
         * Marks the beginning of changes to a running capture session’s configuration to perform in a single atomic update.
         */
        beginConfiguration():void;
        /**
         * Commits one or more changes to a running capture session’s configuration in a single atomic update.
         */
        commitConfiguration():void;
        /**
         * Determines whether you can configure a capture session with the specified preset.
         */
        canSetSessionPreset(preset: AVCaptureSession.Preset):boolean;
        /**
         * Determines whether you can add an input to a session.
         */
        canAddInput(input: AVCaptureInput):boolean;
        /**
         * Adds a capture input to the session.
         */
        addInput(input: AVCaptureInput):void;
        /**
         * Removes an input from the session.
         */
        removeInput(input: AVCaptureInput):void;
        /**
         * Determines whether you can add an output to a session.
         */
        canAddOutput(output: AVCaptureOutput):boolean;
        /**
         * Adds an output to the capture session.
         */
        addOutput(output: AVCaptureOutput):void;
        /**
         * Removes an output from a capture session.
         */
        removeOutput(output: AVCaptureOutput):void;
        /**
         * Adds a connection to the capture session.
         */
        addConnection(connection: AVCaptureConnection):void;
        /**
         * Determines whether a you can add a connection to a capture session.
         */
        canAddConnection(connection: AVCaptureConnection):boolean;
        /**
         * Adds a capture input to a session without forming any connections.
         */
        addInputWithNoConnections(input: AVCaptureInput):void;
        /**
         * Adds a capture output to the session without forming any connections.
         */
        addOutputWithNoConnections(output: AVCaptureOutput):void;
        /**
         * Removes a capture connection from the session.
         */
        removeConnection(connection: AVCaptureConnection):void;
        /**
         * Starts the flow of data through the capture pipeline.
         */
        startRunning():void;
        /**
         * Stops the flow of data through the capture pipeline.
         */
        stopRunning():void;
    }
    /**
     * the same name namespace of class AVCaptureSession
     */
    export namespace AVCaptureSession {
        export class Preset {
            /**
             * A preset suitable for capturing high-quality output.
             */
            static high: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing medium-quality output.
             */
            static medium: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing low-quality output.
             */
            static low: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing high-resolution photo quality output.
             */
            static photo: AVCaptureSession.Preset;
            /**
             * A preset that doesn’t specify audio and video output settings for a capture session.
             */
            static inputPriority: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing quarter HD quality (960 x 540 pixel) video output.
             */
            static qHD960x540: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing 720p quality (1280 x 720 pixel) video output.
             */
            static hd1280x720: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing 1080p-quality (1920 x 1080 pixels) video output.
             */
            static hd1920x1080: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing 2160p-quality (3840 x 2160 pixels) video output.
             */
            static hd4K3840x2160: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing 320 x 240 pixel video output.
             */
            static qvga320x240: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing VGA quality (640 x 480 pixel) video output.
             */
            static vga640x480: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing 960 x 540 quality iFrame H.264 video at about 30 Mbits/sec with AAC audio.
             */
            static iFrame960x540: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing 1280 x 720 quality iFrame H.264 video at about 40 Mbits/sec with AAC audio.
             */
            static iFrame1280x720: AVCaptureSession.Preset;
            /**
             * A preset suitable for capturing CIF quality (352 x 288 pixel) video output.
             */
            static cif352x288: AVCaptureSession.Preset;
            /**
             * Creates a preset with a string value.
             */
            constructor (rawValue: string);
        }
        export enum InterruptionReason {
            videoDeviceNotAvailableInBackground = 1,
            audioDeviceInUseByAnotherClient = 2,
            videoDeviceInUseByAnotherClient = 3,
            videoDeviceNotAvailableWithMultipleForegroundApps = 4,
            videoDeviceNotAvailableDueToSystemPressure = 5,
        }
    }
    export class AVCaptureAudioChannel extends NSObject {
        /**
         * A Boolean value that indicates whether the channel is in an enabled state.
         */
        isEnabled: boolean;
        /**
         * The current volume (gain) of the channel.
         */
        volume: Float;
        /**
         * The instantaneous average power level in decibels.
         */
        averagePowerLevel: Float;
        /**
         * The peak hold power level in decibels.
         */
        peakHoldLevel: Float;
    }
    export class AVCaptureInput extends NSObject {
        /**
         * The ports available on a capture input.
         */
        ports: AVCaptureInput.Port[];
    }
    /**
     * the same name namespace of class AVCaptureInput
     */
    export namespace AVCaptureInput {
        export class Port extends NSObject {
            /**
             * A Boolean value that indicates whether the port is in an enabled state.
             */
            isEnabled: boolean;
            /**
             * The media type of the port.
             */
            mediaType: AVMediaType;
            /**
             * A description of the port format.
             */
            formatDescription: CMFormatDescription | null;
            /**
             * The device type of the source camera that provides data to the port.
             */
            sourceDeviceType: AVCaptureDevice.DeviceType | null;
            /**
             * The position of the source device providing input through this port.
             */
            sourceDevicePosition: AVCaptureDevice.Position;
            /**
             * An object that represents the capture device’s clock.
             */
            clock: CMClock | null;
            /**
             * The input object that owns the port.
             */
            input: AVCaptureInput;
        }
    }
    export class AVCaptureOutput extends NSObject {
        /**
         * The capture output object’s connections.
         */
        connections: AVCaptureConnection[];
        /**
         * Returns the first connection with an input port of a specified media type.
         */
        connection(mediaType: AVMediaType):AVCaptureConnection | null;
        /**
         * Converts a metadata object’s visual properties to layer coordinates.
         */
        transformedMetadataObject(metadataObject: AVMetadataObject, connection: AVCaptureConnection):AVMetadataObject | null;
        /**
         * Converts a rectangle in the capture output object’s coordinate system to one in the coordinate system used for metadata outputs.
         */
        metadataOutputRectConverted(rectInOutputCoordinates: CGRect):CGRect;
        /**
         * Converts a rectangle in the coordinate system used for metadata outputs to one in the capture output object’s coordinate system.
         */
        outputRectConverted(rectInMetadataOutputCoordinates: CGRect):CGRect;
    }
    /**
     * the same name namespace of class AVCaptureOutput
     */
    export namespace AVCaptureOutput {
        export enum DataDroppedReason {
            none = 0,
            lateData = 1,
            outOfBuffers = 2,
            discontinuity = 3,
        }
    }
    export class AVCaptureConnection extends NSObject {
        /**
         * Indicates whether the connection is enabled.
         */
        isEnabled: boolean;
        /**
         * Indicates whether the connection is active.
         */
        isActive: boolean;
        /**
         * The connection’s input ports.
         */
        inputPorts: AVCaptureInput.Port[];
        /**
         * The connection’s output port.
         */
        output: AVCaptureOutput | null;
        /**
         * The video preview layer associated with the connection.
         */
        videoPreviewLayer: AVCaptureVideoPreviewLayer | null;
        /**
         * An array of audio channels that the connection provides.
         */
        audioChannels: AVCaptureAudioChannel[];
        /**
         * Indicates whether to rotate the video flowing through the connection to a given orientation.
         */
        videoOrientation: AVCaptureVideoOrientation;
        /**
         * A Boolean value that indicates whether the connection supports changing the orientation of the video.
         */
        isVideoOrientationSupported: boolean;
        /**
         * An indicator of how interlaced video flowing through the connection should be treated
         */
        videoFieldMode: AVVideoFieldMode;
        /**
         * A Boolean value that indicates whether the connection supports setting the 
         *  property.
         */
        isVideoFieldModeSupported: boolean;
        /**
         * The minimum time interval between which the receiver should output consecutive video frames.
         */
        videoMinFrameDuration: CMTime;
        /**
         * A Boolean value that indicates whether the connection supports setting the 
         *  property.
         */
        isVideoMinFrameDurationSupported: boolean;
        /**
         * The maximum time interval between which the receiver should output consecutive video frames.
         */
        videoMaxFrameDuration: CMTime;
        /**
         * A Boolean value that indicates whether the connection supports setting the 
         *  property.
         */
        isVideoMaxFrameDurationSupported: boolean;
        /**
         * The current video scale and crop factor in use by the receiver.
         */
        videoScaleAndCropFactor: CGFloat;
        /**
         * The maximum video scale and crop factor by the connection.
         */
        videoMaxScaleAndCropFactor: CGFloat;
        /**
         * A Boolean value that indicates whether the connection supports video mirroring.
         */
        isVideoMirroringSupported: boolean;
        /**
         * A Boolean value that indicates whether the video flowing through the connection should be mirrored about its vertical axis.
         */
        isVideoMirrored: boolean;
        /**
         * A Boolean value that indicates whether the value of 
         *  can change based on configuration of the session.
         */
        automaticallyAdjustsVideoMirroring: boolean;
        /**
         * A Boolean value that indicates whether this connection supports video stabilization.
         */
        isVideoStabilizationSupported: boolean;
        /**
         * The stabilization mode currently active for the connection.
         */
        activeVideoStabilizationMode: AVCaptureVideoStabilizationMode;
        /**
         * The stabilization mode most appropriate for use with the connection.
         */
        preferredVideoStabilizationMode: AVCaptureVideoStabilizationMode;
        /**
         * A Boolean value that indicates whether video stabilization is active for the connection. 
         */
        isVideoStabilizationEnabled: boolean;
        /**
         * A Boolean value that indicates whether the system should enable video stabilization when it is available.
         */
        enablesVideoStabilizationWhenAvailable: boolean;
        /**
         * A Boolean value indicating whether the capture connection currently supports delivery of camera intrinsics information.
         */
        isCameraIntrinsicMatrixDeliverySupported: boolean;
        /**
         * A Boolean value that specifies whether to configure the capture pipeline for delivery of camera intrinsics information. 
         */
        isCameraIntrinsicMatrixDeliveryEnabled: boolean;
        /**
         * Initializes a capture connection to describe a connection between the specified input ports and the specified output.
         */
        constructor (ports: AVCaptureInput.Port[], output: AVCaptureOutput);
        /**
         * Initializes a capture connection to describe a connection between the specified input port and the specified video preview layer.
         */
        constructor (port: AVCaptureInput.Port, layer: AVCaptureVideoPreviewLayer);
    }
    export enum AVCaptureVideoOrientation {
        portrait = 1,
        portraitUpsideDown = 2,
        landscapeRight = 3,
        landscapeLeft = 4,
    }
    export enum AVVideoFieldMode {
        both = 0,
        topOnly = 1,
        bottomOnly = 2,
        deinterlace = 3,
    }
    export class AVCaptureMultiCamSession extends AVCaptureSession {
        /**
         * A Boolean value that indicates whether this device supports multi-camera sessions.
         */
        static isMultiCamSupported: boolean;
        /**
         * A value that indicates the percentage of the session’s available hardware budget currently in use.
         */
        hardwareCost: Float;
        /**
         * A value that indicates the system pressure cost of the current session configuration.
         */
        systemPressureCost: Float;
    }
    export enum AVAuthorizationStatus {
        notDetermined = 0,
        restricted = 1,
        denied = 2,
        authorized = 3,
    }
    export class AVFrameRateRange extends NSObject {
        /**
         * The maximum frame duration supported by the range.
         */
        maxFrameDuration: CMTime;
        /**
         * The maximum frame rate supported by the range.
         */
        maxFrameRate: Float64;
        /**
         * The minimum frame duration supported by the range.
         */
        minFrameDuration: CMTime;
        /**
         * The minimum frame rate supported by the range.
         */
        minFrameRate: Float64;
    }
    export class AVDisplayCriteria extends NSObject {}
    export enum AVCaptureVideoStabilizationMode {
        off = 0,
        standard = 1,
        cinematic = 2,
        cinematicExtended = 3,
        auto = -1,
    }
    export enum AVCaptureColorSpace {
        sRGB = 0,
        P3_D65 = 1,
        HLG_BT2020 = 2,
    }
    export class AVCaptureDeviceInput extends AVCaptureInput {
        /**
         * A Boolean value that indicates whether the input enables unified auto-exposure defaults.
         */
        unifiedAutoExposureDefaultsEnabled: boolean;
        /**
         * A time value that acts as a modifier to a capture device’s active video minimum frame duration.
         */
        videoMinFrameDurationOverride: CMTime;
        /**
         * A capture device associated with this input.
         */
        device: AVCaptureDevice;
        /**
         * Creates an input for the specified capture device.
         */
        constructor (device: AVCaptureDevice);
        /**
         * Retrieves a virtual device’s constituent device ports for use in a multi-camera session.
         */
        ports(mediaType: AVMediaType | null, sourceDeviceType: AVCaptureDevice.DeviceType | null, sourceDevicePosition: AVCaptureDevice.Position):AVCaptureInput.Port[];
    }
    export class AVCaptureVideoPreviewLayer extends CALayer {
        /**
         * A Boolean value that indicates whether the layer is rendering video frames from its source.
         */
        isPreviewing: boolean;
        /**
         * A value that indicates how the layer displays video content within its bounds.
         */
        videoGravity: AVLayerVideoGravity;
        /**
         * A capture session with visual output to preview.
         */
        session: AVCaptureSession | null;
        /**
         * An object that describes the connection from the layer to a particular input port.
         */
        connection: AVCaptureConnection | null;
        /**
         * Creates a layer to preview the visual output of a capture session.
         */
        constructor (session: AVCaptureSession);
        /**
         * Creates a layer to preview the visual output of a capture session, without making connections to eligible video inputs.
         */
        constructor (session: AVCaptureSession);
        /**
         * Associates a session with the layer without automatically forming a connection to an eligible input port.
         */
        setSessionWithNoConnection(session: AVCaptureSession):void;
        /**
         * Converts a point from the coordinate space of the capture device to the coordinate space of the layer.
         */
        layerPointConverted(captureDevicePointOfInterest: CGPoint):CGPoint;
        /**
         * Converts a point from layer coordinates to the coordinate space of the capture device.
         */
        captureDevicePointConverted(pointInLayer: CGPoint):CGPoint;
        /**
         * Converts a rectangle from metadata output coordinates to the coordinate space of the layer.
         */
        layerRectConverted(rectInMetadataOutputCoordinates: CGRect):CGRect;
        /**
         * Converts a rectangle from layer coordinates to the coordinate space of the metadata output.
         */
        metadataOutputRectConverted(rectInLayerCoordinates: CGRect):CGRect;
        /**
         * Converts a metadata object’s visual properties to layer coordinates.
         */
        transformedMetadataObject(metadataObject: AVMetadataObject):AVMetadataObject | null;
    }
    export class AVCaptureAudioPreviewOutput extends AVCaptureOutput {
        /**
         * The output volume of the audio preview.
         */
        volume: Float;
        /**
         * The unique identifier of the Core Audio output device to use for audio preview.
         */
        outputDeviceUniqueID: string;
        /**
         * Creates an audio preview output object.
         */
        constructor ();
    }
    export class AVCapturePhoto extends NSObject {
        /**
         * The settings object that was used to request this photo capture. 
         */
        resolvedSettings: AVCaptureResolvedPhotoSettings;
        /**
         * The 1-based index of this photo capture relative to other results from the same capture request. 
         */
        photoCount: number;
        /**
         * The time at which the image was captured.
         */
        timestamp: CMTime;
        /**
         * A Boolean value indicating whether this photo object contains RAW format data.
         */
        isRawPhoto: boolean;
        /**
         * The uncompressed or RAW image sample buffer for the photo, if requested.
         */
        pixelBuffer: CVPixelBuffer | null;
        /**
         * A dictionary describing the data format for a preview-sized image accompanying the captured photo.
         */
        embeddedThumbnailPhotoFormat: Record<string, any> | null;
        /**
         * The pixel data for a preview-sized version of the photo, if requested.
         */
        previewPixelBuffer: CVPixelBuffer | null;
        /**
         * Depth or disparity map data captured with the photo.
         */
        depthData: AVDepthData | null;
        /**
         * Calibration information for the camera device that captured the photo.
         */
        cameraCalibrationData: AVCameraCalibrationData | null;
        /**
         * The type of device that captured the photo.
         */
        sourceDeviceType: AVCaptureDevice.DeviceType | null;
        /**
         * A dictionary of metadata describing the captured image.
         */
        metadata: Record<string, any>;
        /**
         * The portrait effects matte captured with the photo.
         */
        portraitEffectsMatte: AVPortraitEffectsMatte | null;
        /**
         * The variations available for bracketed capture settings for this photo. 
         */
        bracketSettings: AVCaptureBracketedStillImageSettings | null;
        /**
         * The 1-based index of this photo in a bracketed capture sequence.
         */
        sequenceCount: number;
        /**
         * Information about the use of lens stabilization during bracketed photo capture.
         */
        lensStabilizationStatus: AVCaptureDevice.LensStabilizationStatus;
        /**
         * Gets a customized representation of the photo data.
         */
        fileDataRepresentation(customizer: AVCapturePhotoFileDataRepresentationCustomizer):Data | null;
        /**
         * Extracts and returns the captured photo's primary image as a Core Graphics image object.
         */
        cgImageRepresentation():CGImage | null;
        /**
         * Extracts and returns the captured photo's preview image as a Core Graphics image object.
         */
        previewCGImageRepresentation():CGImage | null;
        /**
         * Retrieves the semantic segmentation matte associated with this photo.
         */
        semanticSegmentationMatte(semanticSegmentationMatteType: AVSemanticSegmentationMatte.MatteType):AVSemanticSegmentationMatte | null;
    }
    export interface AVCapturePhotoFileDataRepresentationCustomizer extends NSObjectProtocol {
        /**
         * A callback in which you can provide replacement metadata or direct 
         *  to strip existing metadata from the flattened file.
         */
        replacementMetadata(photo: AVCapturePhoto):Record<string, any> | null;
        /**
         * A callback in which you can provide a replacement embedded thumbnail image with compression settings, or strip the existing embedded thumbnail image from the flattened file.
         */
        replacementEmbeddedThumbnailPixelBuffer(replacementEmbeddedThumbnailPhotoFormatOut: AutoreleasingUnsafeMutablePointer<NSDictionary?>, photo: AVCapturePhoto):Unmanaged<CVPixelBuffer> | null;
        /**
         * A callback in which you can provide replacement depth data or strip existing depth data from the file.
         */
        replacementDepthData(photo: AVCapturePhoto):AVDepthData | null;
        /**
         * A callback in which you can provide a replacement portrait effects matte, or strip the existing portrait effects matte from the file.
         */
        replacementPortraitEffectsMatte(photo: AVCapturePhoto):AVPortraitEffectsMatte | null;
        /**
         * Replaces or removes the semantic segmentation matte of the specified type from the flattened file data representation.
         */
        replacementSemanticSegmentationMatte(semanticSegmentationMatteType: AVSemanticSegmentationMatte.MatteType, photo: AVCapturePhoto):AVSemanticSegmentationMatte | null;
        /**
         * Replaces the compression settings the system uses when writing Apple ProRAW data to a Linear DNG file.
         */
        replacementAppleProRAWCompressionSettings(photo: AVCapturePhoto, defaultSettings: Record<string, any>, maximumBitDepth: number):Record<string, any>;
    }
    export class AVCapturePhotoOutput extends AVCaptureOutput {
        /**
         * The pixel formats the capture output supports for photo capture.
         */
        availablePhotoPixelFormatTypes: OSType[];
        /**
         * The pixel formats the capture output supports for RAW photo capture.
         */
        availableRawPhotoPixelFormatTypes: OSType[];
        /**
         * The compression codecs this capture output currently supports for photo capture.
         */
        availablePhotoCodecTypes: AVVideoCodecType[];
        /**
         * The list of file types currently supported for photo capture and output.
         */
        availablePhotoFileTypes: AVFileType[];
        /**
         * The list of file types currently supported for RAW format capture and output.
         */
        availableRawPhotoFileTypes: AVFileType[];
        /**
         * A Boolean value that indicates whether the current device and configuration supports Apple ProRAW pixel formats.
         */
        isAppleProRAWSupported: boolean;
        /**
         * A Boolean value that indicates whether you’ve configured the photo output to deliver Apple ProRAW formats.
         */
        isAppleProRAWEnabled: boolean;
        /**
         * A Boolean value that indicates whether the session’s current configuration supports content-aware distortion correction.
         */
        isContentAwareDistortionCorrectionSupported: boolean;
        /**
         * A Boolean value that indicates whether the photo render pipeline can perform content-aware distortion correction.
         */
        isContentAwareDistortionCorrectionEnabled: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports lens stabilization during bracketed image capture.
         */
        isLensStabilizationDuringBracketedCaptureSupported: boolean;
        /**
         * The maximum number of images that the photo capture output can support in a single bracketed capture.
         */
        maxBracketedCapturePhotoCount: number;
        /**
         * A Swift array of flash settings this capture output currently supports.
         */
        supportedFlashModes: AVCaptureDevice.FlashMode[];
        /**
         * A Boolean value indicating whether the capture output supports automatic red-eye reduction.
         */
        isAutoRedEyeReductionSupported: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports automatic stabilization for still image capture.
         */
        isStillImageStabilizationSupported: boolean;
        /**
         * A Boolean value indicating whether the scene currently being previewed by the camera warrants use of the flash.
         */
        isFlashScene: boolean;
        /**
         * A Boolean value indicating whether the scene currently being previewed by the camera warrants image stabilization.
         */
        isStillImageStabilizationScene: boolean;
        /**
         * A photo settings object that controls how the photo output detects and handles automatic flash and stabilization modes.
         */
        photoSettingsForSceneMonitoring: AVCapturePhotoSettings | null;
        /**
         * The maximum resolution of the requested photo.
         */
        maxPhotoDimensions: CMVideoDimensions;
        /**
         * A Boolean value that specifies whether to configure the capture pipeline for high resolution still image capture.
         */
        isHighResolutionCaptureEnabled: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports Live Photo capture.
         */
        isLivePhotoCaptureSupported: boolean;
        /**
         * A Boolean value that specifies whether to configure the capture pipeline for Live Photo capture.
         */
        isLivePhotoCaptureEnabled: boolean;
        /**
         * A Boolean value that specifies whether to suspend, but not disable, Live Photo capture.
         */
        isLivePhotoCaptureSuspended: boolean;
        /**
         * A Boolean value that specifies whether to automatically trim Live Photo movie captures to avoid excessive movement.
         */
        isLivePhotoAutoTrimmingEnabled: boolean;
        /**
         * The list of video codecs currently available for capturing Live Photos with the photo output.
         */
        availableLivePhotoVideoCodecTypes: AVVideoCodecType[];
        /**
         * A Boolean value indicating whether the capture output currently supports depth data capture.
         */
        isDepthDataDeliverySupported: boolean;
        /**
         * A Boolean value that specifies whether to configure the capture pipeline for depth data capture.
         */
        isDepthDataDeliveryEnabled: boolean;
        /**
         * A Boolean value indicating whether the capture output generates a portrait effects matte.
         */
        isPortraitEffectsMatteDeliveryEnabled: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports delivery of a portrait effects matte.
         */
        isPortraitEffectsMatteDeliverySupported: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports automatically combining image data on a dual camera device.
         */
        isDualCameraFusionSupported: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports simultaneous photo capture with both cameras on a dual-camera device.
         */
        isDualCameraDualPhotoDeliverySupported: boolean;
        /**
         * A Boolean value indicating whether the capture output currently supports delivery of camera calibration data.
         */
        isCameraCalibrationDataDeliverySupported: boolean;
        /**
         * A Boolean value that specifies whether to configure the capture pipeline for simultaneous photo capture with both cameras on a dual-camera device.
         */
        isDualCameraDualPhotoDeliveryEnabled: boolean;
        /**
         * A Boolean value that indicates whether the device supports virtual device image fusion.
         */
        isVirtualDeviceFusionSupported: boolean;
        /**
         * A Boolean value that indicates whether the photo output configuration supports delivery of photos from constituent cameras of a virtual device.
         */
        isVirtualDeviceConstituentPhotoDeliverySupported: boolean;
        /**
         * A Boolean value that indicates whether the photo output delivers photos from constituent cameras of a virtual device.
         */
        isVirtualDeviceConstituentPhotoDeliveryEnabled: boolean;
        /**
         * An array of photo settings for which the photo output has prepared capture resources.
         */
        preparedPhotoSettingsArray: AVCapturePhotoSettings[];
        /**
         * An array of semantic segmentation matte types that may be captured and delivered along with the primary photo.
         */
        availableSemanticSegmentationMatteTypes: AVSemanticSegmentationMatte.MatteType[];
        /**
         * The semantic segmentation matte types that the photo render pipeline delivers.
         */
        enabledSemanticSegmentationMatteTypes: AVSemanticSegmentationMatte.MatteType[];
        /**
         * The highest quality the photo output should prepare to deliver on a capture-by-capture basis.
         */
        maxPhotoQualityPrioritization: AVCapturePhotoOutput.QualityPrioritization;
        preservesLivePhotoCaptureSuspendedOnSessionStop: boolean;
        /**
         * Initializes a new photo capture output object.
         */
        constructor ();
        /**
         * Returns a Boolean value that indicates whether the pixel format is an Apple ProRAW format.
         */
        static isAppleProRAWPixelFormat(pixelFormat: OSType):boolean;
        /**
         * Returns a Boolean value that indicates whether the pixel format is a Bayer RAW format.
         */
        static isBayerRAWPixelFormat(pixelFormat: OSType):boolean;
        /**
         * Returns data in JPEG format corresponding to the captured photo in the specified sample buffer.
         */
        static jpegPhotoDataRepresentation(JPEGSampleBuffer: CMSampleBuffer, previewPhotoSampleBuffer: CMSampleBuffer | null):Data | null;
        /**
         * Returns data in digital negative (DNG) format corresponding to the captured RAW photo in the specified sample buffer.
         */
        static dngPhotoDataRepresentation(rawSampleBuffer: CMSampleBuffer, previewPhotoSampleBuffer: CMSampleBuffer | null):Data | null;
        /**
         * Initiates a photo capture using the specified settings.
         */
        capturePhoto(settings: AVCapturePhotoSettings, delegate: AVCapturePhotoCaptureDelegate):void;
        /**
         * Returns the list of uncompressed pixel formats supported for photo data in the specified file type.
         */
        supportedPhotoPixelFormatTypes(fileType: AVFileType):OSType[];
        /**
         * Returns the list of Bayer RAW pixel formats supported for photo data in the specified file type.
         */
        supportedRawPhotoPixelFormatTypes(fileType: AVFileType):OSType[];
        /**
         * Returns the list of photo codecs (such as JPEG or HEVC) supported for photo data in the specified file type.
         */
        supportedPhotoCodecTypes(fileType: AVFileType):AVVideoCodecType[];
        /**
         * Tells the photo capture output to prepare resources for future capture requests with the specified settings.
         */
        setPreparedPhotoSettingsArray(preparedPhotoSettingsArray: AVCapturePhotoSettings[], completionHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class AVCapturePhotoOutput
     */
    export namespace AVCapturePhotoOutput {
        export enum QualityPrioritization {
            speed = 1,
            quality = 3,
            balanced = 2,
        }
    }
    export interface AVCapturePhotoCaptureDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate that the capture output has resolved settings and will soon begin its capture process.
         */
        photoOutput(output: AVCapturePhotoOutput, resolvedSettings: AVCaptureResolvedPhotoSettings):void;
    }
    export class AVCaptureStillImageOutput extends AVCaptureOutput {
        /**
         * Indicates whether a still image is being captured.
         */
        isCapturingStillImage: boolean;
        /**
         * Indicates whether still image stabilization is in use for the current capture.
         */
        isStillImageStabilizationActive: boolean;
        /**
         * A Boolean value that indicates whether still image stabilization should be automatically enabled.
         */
        automaticallyEnablesStillImageStabilizationWhenAvailable: boolean;
        /**
         * A Boolean value that indicates whether the  still image currently being captured supports still image stabilization.
         */
        isStillImageStabilizationSupported: boolean;
        /**
         * A Boolean value that indicates whether the receiver should emit still images at the highest resolution supported by its source 
         *  objects 
         *  property.
         */
        isHighResolutionStillImageOutputEnabled: boolean;
        /**
         * The supported image pixel formats that can be specified as output settings.
         */
        availableImageDataCVPixelFormatTypes: NSNumber[];
        /**
         * The supported image codec formats that can be specified as output settings.
         */
        availableImageDataCodecTypes: AVVideoCodecType[];
        /**
         * The compression settings for the output.
         */
        outputSettings: Record<string, any>;
        /**
         * Specifies the maximum number of still images that may be taken in a single bracket.
         */
        maxBracketedCaptureStillImageCount: number;
        /**
         * A Boolean value that indicates whether the capture output supports lens stabilization across the duration of a bracketed capture.
         */
        isLensStabilizationDuringBracketedCaptureSupported: boolean;
        /**
         * A Boolean value that specifies whether to stabilize the lens across the duration of a bracketed capture.
         */
        isLensStabilizationDuringBracketedCaptureEnabled: boolean;
        /**
         * Creates new still image output.
         */
        constructor ();
        /**
         * Returns an 
         *  representation of a still image data and metadata attachments in a JPEG sample buffer.
         */
        static jpegStillImageNSDataRepresentation(jpegSampleBuffer: CMSampleBuffer):Data | null;
        /**
         * Initiates a still image capture and returns immediately.
         */
        captureStillImageAsynchronously(connection: AVCaptureConnection, handler: ()=>any):void;
        /**
         * Captures a still image bracket.
         */
        captureStillImageBracketAsynchronously(connection: AVCaptureConnection, settings: AVCaptureBracketedStillImageSettings[], handler: ()=>any):void;
        /**
         * Allows the receiver to prepare resources in advance of capturing a still image bracket.
         */
        prepareToCaptureStillImageBracket(connection: AVCaptureConnection, settings: AVCaptureBracketedStillImageSettings[], handler: ()=>any):void;
    }
    export class AVCapturePhotoSettings extends NSObject {
        /**
         * A dictionary describing the processed format (for example, JPEG) to deliver captured photos in.
         */
        format: Record<string, any> | null;
        /**
         * The container file format for eventual output of the processed image.
         */
        processedFileType: AVFileType | null;
        /**
         * The container file format for eventual output of the RAW image.
         */
        rawFileType: AVFileType | null;
        /**
         * An identifier for the Bayer RAW pixel format to deliver captured RAW photos in.
         */
        rawPhotoPixelFormatType: OSType;
        /**
         * A unique identifier for this photo settings instance.
         */
        uniqueID: Int64;
        /**
         * A dictionary describing the format for delivery of preview-sized images alongside the main photo.
         */
        previewPhotoFormat: Record<string, any> | null;
        /**
         * A dictionary describing the format for delivery of thumbnail images embedded in photo file output.
         */
        embeddedThumbnailPhotoFormat: Record<string, any> | null;
        /**
         * An array of video codec types compatible with the photo settings for embedding raw thumbnail images in photo file output.
         */
        availableRawEmbeddedThumbnailPhotoCodecTypes: AVVideoCodecType[];
        /**
         * A dictionary describing the format for delivery of raw thumbnail images embedded in photo file output.
         */
        rawEmbeddedThumbnailPhotoFormat: Record<string, any> | null;
        /**
         * An array of video codec types compatible with the photo settings for embedding thumbnail images in photo file output.
         */
        availableEmbeddedThumbnailPhotoCodecTypes: AVVideoCodecType[];
        /**
         * An array of available 
         * s available to specify a preview photo format.
         */
        availablePreviewPhotoPixelFormatTypes: OSType[];
        /**
         * A setting for whether to fire the flash when capturing photos.
         */
        flashMode: AVCaptureDevice.FlashMode;
        /**
         * A Boolean value that determines whether to use auto red-eye reduction on flash captures.
         */
        isAutoRedEyeReductionEnabled: boolean;
        /**
         * The maximum resolution of the photo to capture.
         */
        maxPhotoDimensions: CMVideoDimensions;
        /**
         * A setting that indicates how to prioritize photo quality against speed of photo delivery.
         */
        photoQualityPrioritization: AVCapturePhotoOutput.QualityPrioritization;
        /**
         * A Boolean value that specifies whether to capture still images at the highest resolution supported by the active device and format.
         */
        isHighResolutionPhotoEnabled: boolean;
        /**
         * A Boolean value that determines whether a dual photo capture also delivers camera calibration data.
         */
        isCameraCalibrationDataDeliveryEnabled: boolean;
        /**
         * A Boolean value that specifies whether the photo output, at its discretion, uses content-aware distortion correction on this photo request.
         */
        isAutoContentAwareDistortionCorrectionEnabled: boolean;
        /**
         * A Boolean value that specifies whether to use automatic virtual-device image fusion.
         */
        isAutoVirtualDeviceFusionEnabled: boolean;
        /**
         * The constituent devices for which the virtual device should deliver photos.
         */
        virtualDeviceConstituentPhotoDeliveryEnabledDevices: AVCaptureDevice[];
        /**
         * A Boolean value that specifies whether captures use automatic image stabilization.
         */
        isAutoStillImageStabilizationEnabled: boolean;
        /**
         * A Boolean value that specifies whether captures automatically combine data from a dual camera device.
         */
        isAutoDualCameraFusionEnabled: boolean;
        /**
         * A Boolean value that determines whether a dual camera device delivers images from both cameras.
         */
        isDualCameraDualPhotoDeliveryEnabled: boolean;
        /**
         * A URL at which to write Live Photo movie output.
         */
        livePhotoMovieFileURL: URL | null;
        /**
         * A dictionary containing metadata to be included in the Live Photo movie file.
         */
        livePhotoMovieMetadata: [AVMetadataItem]!;
        /**
         * The video codec to use for encoding the movie portion of Live Photo output.
         */
        livePhotoVideoCodecType: AVVideoCodecType;
        /**
         * A Boolean value that determines whether the photo output captures depth data along with the photo.
         */
        isDepthDataDeliveryEnabled: boolean;
        /**
         * A Boolean value that determines whether any depth data captured with the photo is included when generating output file data.
         */
        embedsDepthDataInPhoto: boolean;
        /**
         * A Boolean value that determines whether to smooth noise and fill in missing values in depth data output.
         */
        isDepthDataFiltered: boolean;
        /**
         * Specifies whether a portrait effects matte should be captured along with the photo.
         */
        isPortraitEffectsMatteDeliveryEnabled: boolean;
        /**
         * Specifies whether the portrait effects matte captured with ths photo should be written to the photo's file structure.
         */
        embedsPortraitEffectsMatteInPhoto: boolean;
        /**
         * A Boolean value that specifies whether to write the enabled semantic segmentation matte types captured with this photo to the photo’s file structure.
         */
        embedsSemanticSegmentationMattesInPhoto: boolean;
        /**
         * An array of semantic segmentation matte types that the photo render pipeline can deliver.
         */
        enabledSemanticSegmentationMatteTypes: AVSemanticSegmentationMatte.MatteType[];
        /**
         * A dictionary of metadata keys and values to embed in photo file output.
         */
        metadata: Record<string, any>;
        /**
         * Creates a photo settings object with the specified output format.
         */
        constructor (format: Record<string, any> | null);
        /**
         * Creates a photo settings object for RAW-format-only capture with the specified pixel format.
         */
        constructor (rawPixelFormatType: OSType);
        /**
         * Creates a photo settings object for capture in both RAW format and a processed format.
         */
        constructor (rawPixelFormatType: OSType, processedFormat: Record<string, any> | null);
        /**
         * Creates a photo settings object for capture in both RAW format and a processed format with the specified output file types.
         */
        constructor (rawPixelFormatType: OSType, rawFileType: AVFileType | null, processedFormat: Record<string, any> | null, processedFileType: AVFileType | null);
        /**
         * Creates a unique photo settings object, copying all settings values from the specified photo settings object.
         */
        constructor (photoSettings: AVCapturePhotoSettings);
    }
    export class AVCapturePhotoBracketSettings extends AVCapturePhotoSettings {
        /**
         * An array describing the number of and settings for images to produce in a bracketed capture.
         */
        bracketedSettings: AVCaptureBracketedStillImageSettings[];
        /**
         * A Boolean value that specifies whether to stabilize the lens for the duration of the bracketed capture.
         */
        isLensStabilizationEnabled: boolean;
        /**
         * Creates a photo settings object for capture in both RAW format and a processed format.
         */
        constructor (rawPixelFormatType: OSType, rawFileType: AVFileType | null, processedFormat: Record<string, any> | null, processedFileType: AVFileType | null, bracketedSettings: AVCaptureBracketedStillImageSettings[]);
        /**
         * Creates a photo settings object for the specified bracket of captures, in the specified formats. 
         */
        constructor (rawPixelFormatType: OSType, processedFormat: Record<string, any> | null, bracketedSettings: AVCaptureBracketedStillImageSettings[]);
    }
    export class AVCaptureAutoExposureBracketedStillImageSettings extends AVCaptureBracketedStillImageSettings {
        /**
         * The exposure bias for the auto exposure bracketed settings
         */
        exposureTargetBias: Float;
        /**
         * Creates an 
         *  using the specified exposure target bias.
         */
        static autoExposureSettings(exposureTargetBias: Float):Self;
    }
    export class AVCaptureManualExposureBracketedStillImageSettings extends AVCaptureBracketedStillImageSettings {
        /**
         * The ISO for the still image.
         */
        iso: Float;
        /**
         * The exposure duration for the still image.
         */
        exposureDuration: CMTime;
        /**
         * Creates a configuration of still image settings using the specified exposure duration and ISO.
         */
        static manualExposureSettings(duration: CMTime, ISO: Float):Self;
    }
    export class AVCaptureBracketedStillImageSettings extends NSObject {}
    export class AVCaptureResolvedPhotoSettings extends NSObject {
        /**
         * The unique identifier for the photo capture this settings object corresponds to.
         */
        uniqueID: Int64;
        /**
         * The number of photo capture results in the capture request.
         */
        expectedPhotoCount: number;
        /**
         * A Boolean value indicating whether the camera flash fires for this capture.
         */
        isFlashEnabled: boolean;
        /**
         * A Boolean value indicating whether the camera automatically reduces red-eye when capturing photos.
         */
        isRedEyeReductionEnabled: boolean;
        /**
         * A Boolean value that specifies whether the system automatically uses virtual device image fusion.
         */
        isVirtualDeviceFusionEnabled: boolean;
        /**
         * A Boolean value that indicates whether the system applies content-aware distortion correction when capturing the photo.
         */
        isContentAwareDistortionCorrectionEnabled: boolean;
        /**
         * A Boolean value indicating whether this capture uses image stabilization.
         */
        isStillImageStabilizationEnabled: boolean;
        /**
         * A Boolean value indicating whether this capture combines image data from a dual camera.
         */
        isDualCameraFusionEnabled: boolean;
        /**
         * The size, in pixels, of the photo image (in a processed format, such as JPEG) that the capture delivers.
         */
        photoDimensions: CMVideoDimensions;
        /**
         * The size, in pixels, of the RAW-format photo image that the capture delivers.
         */
        rawPhotoDimensions: CMVideoDimensions;
        /**
         * The size, in pixels, of the preview image that the system delivers with the capture.
         */
        previewDimensions: CMVideoDimensions;
        /**
         * The size, in pixels, of the thumbnail image that the capture delivers.
         */
        embeddedThumbnailDimensions: CMVideoDimensions;
        /**
         * The size, in pixels, of the RAW-format embedded thumbnail image that the capture delivers.
         */
        rawEmbeddedThumbnailDimensions: CMVideoDimensions;
        /**
         * The size, in pixels, of the Live Photo movie content that the capture delivers.
         */
        livePhotoMovieDimensions: CMVideoDimensions;
        /**
         * The size, in pixels, of the portrait effects matte that the capture delivers.
         */
        portraitEffectsMatteDimensions: CMVideoDimensions;
        /**
         * The time range in which to expect the system to deliver the photo to the delegate.
         */
        photoProcessingTimeRange: CMTimeRange;
        /**
         * Retrieves the resolved dimensions of the semantic segmentation mattes that the photo output delivers.
         */
        dimensionsForSemanticSegmentationMatte(semanticSegmentationMatteType: AVSemanticSegmentationMatte.MatteType):CMVideoDimensions;
    }
    export class AVPortraitEffectsMatte extends NSObject {
        /**
         * The portrait effects matte's internal image, formatted as a pixel buffer.
         */
        mattingImage: CVPixelBuffer;
        /**
         * The pixel format type of this portrait effects matte's internal image.
         */
        pixelFormatType: OSType;
        /**
         * Initializes a portrait effects matte instance from auxiliary image information in an image file.
         */
        constructor (imageSourceAuxDataInfoDictionary: Record<AnyHashable, any>);
        /**
         * Returns a derivative portrait effects matte after applying the specified EXIF orientation.
         */
        applyingExifOrientation(exifOrientation: CGImagePropertyOrientation):Self;
        /**
         * Returns a portrait effects matte by wrapping the replacement pixel buffer.
         */
        replacingPortraitEffectsMatte(pixelBuffer: CVPixelBuffer):Self;
        /**
         * A dictionary of primitive map information used for writing an image file with a portrait effects matte.
         */
        dictionaryRepresentation(outAuxDataType: AutoreleasingUnsafeMutablePointer<NSString?> | null):Record<AnyHashable, any> | null;
    }
    export class AVSemanticSegmentationMatte extends NSObject {
        /**
         * The semantic segmentation matte image type.
         */
        matteType: AVSemanticSegmentationMatte.MatteType;
        /**
         * The semantic segmentation matte’s internal image.
         */
        mattingImage: CVPixelBuffer;
        /**
         * The pixel format type for this object’s internal matting image.
         */
        pixelFormatType: OSType;
        /**
         * Returns a new semantic segmentation matte instance from auxiliary image information in an image file.
         */
        constructor (imageSourceAuxiliaryDataType: CFString, imageSourceAuxiliaryDataInfoDictionary: Record<AnyHashable, any>);
        /**
         * Returns a semantic segmentation matte instance that wraps the replacement pixel buffer.
         */
        replacingSemanticSegmentationMatte(pixelBuffer: CVPixelBuffer):Self;
        /**
         * Returns a new semantic segmentation matte instance with the specified Exif orientation applied.
         */
        applyingExifOrientation(exifOrientation: CGImagePropertyOrientation):Self;
        /**
         * Returns a dictionary of primitive map information to use when writing an image file with a semantic segmentation matte.
         */
        dictionaryRepresentation(outAuxDataType: AutoreleasingUnsafeMutablePointer<NSString?> | null):Record<AnyHashable, any> | null;
    }
    /**
     * the same name namespace of class AVSemanticSegmentationMatte
     */
    export namespace AVSemanticSegmentationMatte {
        export class MatteType {
            /**
             * A matting image that segments the hair from all people in the visible field of view of an image.
             */
            static hair: AVSemanticSegmentationMatte.MatteType;
            /**
             * A matting image that segments the skin from all people in the visible field of view of an image.
             */
            static skin: AVSemanticSegmentationMatte.MatteType;
            /**
             * A matting image that segments the teeth from all people in the visible field of view of an image.
             */
            static teeth: AVSemanticSegmentationMatte.MatteType;
            /**
             * A matting image that segments eyeglasses and sunglasses from all people in the visible field of view of an image.
             */
            static glasses: AVSemanticSegmentationMatte.MatteType;
            /**
             * Creates a matte type with a string.
             */
            constructor (rawValue: string);
        }
    }
    export class AVCaptureMovieFileOutput extends AVCaptureFileOutput {
        /**
         * The number of seconds of output that are written per fragment.
         */
        movieFragmentInterval: CMTime;
        /**
         * The metadata for the output file.
         */
        metadata: AVMetadataItem[] | null;
        /**
         * The video codec types currently supported for recording movie files.
         */
        availableVideoCodecTypes: AVVideoCodecType[];
        /**
         * A Boolean value that indicates whether to restrict constituent device switching behavior during recording.
         */
        isPrimaryConstituentDeviceSwitchingBehaviorForRecordingEnabled: boolean;
        /**
         * The camera switching behavior to use for recording.
         */
        primaryConstituentDeviceSwitchingBehaviorForRecording: AVCaptureDevice.PrimaryConstituentDeviceSwitchingBehavior;
        /**
         * The conditions during which camera switching may occur while recording.
         */
        primaryConstituentDeviceRestrictedSwitchingBehaviorConditionsForRecording: AVCaptureDevice.PrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions;
        /**
         * Creates a movie file output.
         */
        constructor ();
        /**
         * The list of supported keys for the output settings dictionary.
         */
        supportedOutputSettingsKeys(connection: AVCaptureConnection):string[];
        /**
         * Returns the options used to reencode media from a given connection as it's being recorded.
         */
        outputSettings(connection: AVCaptureConnection):Record<string, any>;
        /**
         * Sets the options dictionary used to reencode media from the given connection as it's being recorded.
         */
        setOutputSettings(outputSettings: Record<string, any> | null, connection: AVCaptureConnection):void;
        /**
         * A Boolean indicating whether the capture device records video orientation.
         */
        recordsVideoOrientationAndMirroringChangesAsMetadataTrack(connection: AVCaptureConnection):boolean;
        /**
         * A Boolean indicating whether the capture device sets video orientation.
         */
        setRecordsVideoOrientationAndMirroringChangesAsMetadataTrack(doRecordChanges: boolean, connection: AVCaptureConnection):void;
        /**
         * Sets the camera switching behavior to use during recording.
         */
        setPrimaryConstituentDeviceSwitchingBehaviorForRecording(switchingBehavior: AVCaptureDevice.PrimaryConstituentDeviceSwitchingBehavior, restrictedSwitchingBehaviorConditions: AVCaptureDevice.PrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions):void;
    }
    export class AVCaptureAudioFileOutput extends AVCaptureFileOutput {
        /**
         * The settings used to decode or re-encode audio before it is output by the receiver.
         */
        audioSettings: Record<string, any> | null;
        /**
         * A collection of metadata to be written to the receiver's output files.
         */
        metadata: AVMetadataItem[];
        /**
         * Creates a new audio file output.
         */
        constructor ();
        /**
         * Returns an array containing UTIs identifying the file types 
         *  can write.
         */
        static availableOutputFileTypes():AVFileType[];
        /**
         * Tells the receiver to start recording to a new file of the specified format, and specifies a delegate that will be notified when recording is finished.
         */
        startRecording(outputFileURL: URL, fileType: AVFileType, delegate: AVCaptureFileOutputRecordingDelegate):void;
    }
    export class AVCaptureFileOutput extends AVCaptureOutput {
        /**
         * The delegate object for the capture file output.
         */
        delegate: AVCaptureFileOutputDelegate | null;
        /**
         * The longest duration allowed for the recording.
         */
        maxRecordedDuration: CMTime;
        /**
         * The maximum size, in bytes, of the data that should be recorded by the receiver.
         */
        maxRecordedFileSize: Int64;
        /**
         * The minimum amount of free space, in bytes, required for recording to continue on a given volume.
         */
        minFreeDiskSpaceLimit: Int64;
        /**
         * The URL to which output is directed.
         */
        outputFileURL: URL | null;
        /**
         * Indicates the duration of the media recorded to the current output file.
         */
        recordedDuration: CMTime;
        /**
         * Indicates the size, in bytes, of the data recorded to the current output file.
         */
        recordedFileSize: Int64;
        /**
         * Indicates whether recording is in progress.
         */
        isRecording: boolean;
        /**
         * Indicates whether recording to the current output file is paused.
         */
        isRecordingPaused: boolean;
        /**
         * Starts recording media to the specified output URL.
         */
        startRecording(outputFileURL: URL, delegate: AVCaptureFileOutputRecordingDelegate):void;
        /**
         * Tells the receiver to stop recording to the current file.
         */
        stopRecording():void;
        /**
         * Pauses recording to the current output file.
         */
        pauseRecording():void;
        /**
         * Resumes recording to the current output file after it was previously paused using 
         * .
         */
        resumeRecording():void;
    }
    export interface AVCaptureFileOutputDelegate extends NSObjectProtocol {
        /**
         * Allows a client to opt in to frame accurate recording in 
         * .
         */
        fileOutputShouldProvideSampleAccurateRecordingStart(output: AVCaptureFileOutput):boolean;
        /**
         * Gives the delegate the opportunity to inspect samples as they are received by the output and start and stop recording at exact times.
         */
        fileOutput(output: AVCaptureFileOutput, sampleBuffer: CMSampleBuffer, connection: AVCaptureConnection):void;
    }
    export interface AVCaptureFileOutputRecordingDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate when the output has started writing to a file.
         */
        fileOutput(output: AVCaptureFileOutput, fileURL: URL, connections: AVCaptureConnection[]):void;
    }
    export class AVCaptureVideoDataOutput extends AVCaptureOutput {
        /**
         * The compression settings for the output.
         */
        videoSettings: Record<string, any>;
        /**
         * Indicates whether to drop video frames if they arrive late.
         */
        alwaysDiscardsLateVideoFrames: boolean;
        /**
         * A Boolean value that indicates whether the output automatically configures the size of output buffers.
         */
        automaticallyConfiguresOutputBufferDimensions: boolean;
        /**
         * A Boolean value that indicates whether the output is configured to deliver preview-sized buffers.
         */
        deliversPreviewSizedOutputBuffers: boolean;
        /**
         * The video pixel formats the output supports.
         */
        availableVideoPixelFormatTypes: OSType[];
        /**
         * The video codecs the output supports.
         */
        availableVideoCodecTypes: AVVideoCodecType[];
        /**
         * The capture object’s delegate.
         */
        sampleBufferDelegate: AVCaptureVideoDataOutputSampleBufferDelegate | null;
        /**
         * The queue on which the system invokes delegate callbacks.
         */
        sampleBufferCallbackQueue: DispatchQueue | null;
        /**
         * Creates a new video file output.
         */
        constructor ();
        /**
         * Returns a video settings dictionary appropriate for capturing video to be recorded to a file with the specified codec and type.
         */
        recommendedVideoSettings(videoCodecType: AVVideoCodecType, outputFileType: AVFileType):Record<string, any> | null;
        /**
         * Specifies the recommended settings for use with an AVAssetWriterInput.
         */
        recommendedVideoSettingsForAssetWriter(outputFileType: AVFileType):Record<string, any> | null;
        /**
         * The video codecs the output supports for writing video to the output file.
         */
        availableVideoCodecTypesForAssetWriter(outputFileType: AVFileType):AVVideoCodecType[];
        /**
         * Sets the sample buffer delegate and the queue for invoking callbacks.
         */
        setSampleBufferDelegate(sampleBufferDelegate: AVCaptureVideoDataOutputSampleBufferDelegate | null, sampleBufferCallbackQueue: DispatchQueue | null):void;
    }
    export interface AVCaptureVideoDataOutputSampleBufferDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate that a new video frame was written.
         */
        captureOutput(output: AVCaptureOutput, sampleBuffer: CMSampleBuffer, connection: AVCaptureConnection):void;
    }
    export class AVCaptureAudioDataOutput extends AVCaptureOutput {
        /**
         * The settings used to decode or re-encode audio before it’s output.
         */
        audioSettings: Record<string, any>;
        /**
         * The capture object’s delegate.
         */
        sampleBufferDelegate: AVCaptureAudioDataOutputSampleBufferDelegate | null;
        /**
         * The queue on which delegate callbacks are invoked
         */
        sampleBufferCallbackQueue: DispatchQueue | null;
        /**
         * Creates an instance of audio data output.
         */
        constructor ();
        /**
         * Specifies the recommended settings for use with an 
         * .
         */
        recommendedAudioSettingsForAssetWriter(outputFileType: AVFileType):Record<string, any> | null;
        /**
         * Sets the delegate that will accept captured buffers and the dispatch queue on which the delegate will be called.
         */
        setSampleBufferDelegate(sampleBufferDelegate: AVCaptureAudioDataOutputSampleBufferDelegate | null, sampleBufferCallbackQueue: DispatchQueue | null):void;
    }
    export interface AVCaptureAudioDataOutputSampleBufferDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate that a sample buffer was written.
         */
        captureOutput(output: AVCaptureOutput, sampleBuffer: CMSampleBuffer, connection: AVCaptureConnection):void;
    }
    export class AVCaptureScreenInput extends AVCaptureInput {
        /**
         * The screen input's minimum frame duration.
         */
        minFrameDuration: CMTime;
        /**
         * Indicates the bounding rectangle of the screen area to be captured, in pixels.
         */
        cropRect: CGRect;
        /**
         * Indicates the factor by which video buffers captured from the screen are to be scaled.
         */
        scaleFactor: CGFloat;
        /**
         * A Boolean value that specifies whether the mouse cursor appears in the captured output.
         */
        capturesCursor: boolean;
        /**
         * A Boolean value that specifies whether mouse clicks appear highlighted in the captured output.
         */
        capturesMouseClicks: boolean;
        /**
         * A Boolean value that specifies whether the capture input skips duplicate frames.
         */
        removesDuplicateFrames: boolean;
        /**
         * Initializes a capture screen input that provides media data from the specified display.
         */
        constructor (displayID: CGDirectDisplayID);
        /**
         * Initializes a capture screen input that provides media data from the main screen.
         */
        constructor ();
    }
    export class AVCaptureDepthDataOutput extends AVCaptureOutput {
        /**
         * A Boolean value that determines whether the capture output should discard any depth data that is not processed before the next depth data is captured. 
         */
        alwaysDiscardsLateDepthData: boolean;
        /**
         * A Boolean value that determines whether the depth data output should filter depth data to smooth out noise and fill invalid values. 
         */
        isFilteringEnabled: boolean;
        /**
         * A delegate object that receives depth data.
         */
        delegate: AVCaptureDepthDataOutputDelegate | null;
        /**
         * A dispatch queue for delivering depth data.
         */
        delegateCallbackQueue: DispatchQueue | null;
        /**
         * Initializes a depth data output object.
         */
        constructor ();
        /**
         * Designates a delegate object to receive depth data and a dispatch queue for delivering that data.
         */
        setDelegate(delegate: AVCaptureDepthDataOutputDelegate | null, callbackQueue: DispatchQueue | null):void;
    }
    export interface AVCaptureDepthDataOutputDelegate extends NSObjectProtocol {
        /**
         * Provides newly captured depth data to the delegate.
         */
        depthDataOutput(output: AVCaptureDepthDataOutput, depthData: AVDepthData, timestamp: CMTime, connection: AVCaptureConnection):void;
    }
    export class AVDepthData extends NSObject {
        /**
         * A pixel buffer containing the depth data's per-pixel depth or disparity data map.
         */
        depthDataMap: CVPixelBuffer;
        /**
         * The pixel format of the depth data map.
         */
        depthDataType: OSType;
        /**
         * A Boolean value indicating whether the depth map contains temporally smoothed data.
         */
        isDepthDataFiltered: boolean;
        /**
         * The general accuracy of depth data map values.
         */
        depthDataAccuracy: AVDepthData.Accuracy;
        /**
         * The overall quality of the depth map.
         */
        depthDataQuality: AVDepthData.Quality;
        /**
         * The list of depth data formats to which this depth data can be converted.
         */
        availableDepthDataTypes: NSNumber[];
        /**
         * The imaging parameters with which this depth data was captured. 
         */
        cameraCalibrationData: AVCameraCalibrationData | null;
        /**
         * Creates a depth data object from depth information such as that found in an image file.
         */
        constructor (imageSourceAuxDataInfoDictionary: Record<AnyHashable, any>);
        /**
         * Returns a dictionary representation of the depth data suitable for writing into an image file.
         */
        dictionaryRepresentation(outAuxDataType: AutoreleasingUnsafeMutablePointer<NSString?> | null):Record<AnyHashable, any> | null;
        /**
         * Returns a derivative depth data object by mirroring or rotating it to the specified orientation.
         */
        applyingExifOrientation(exifOrientation: CGImagePropertyOrientation):Self;
        /**
         * Returns a derivative depth data object by converting the depth data map to the specified data type. 
         */
        converting(depthDataType: OSType):Self;
        /**
         * Returns a derivative depth data object by replacing the depth data map.
         */
        replacingDepthDataMap(pixelBuffer: CVPixelBuffer):Self;
    }
    /**
     * the same name namespace of class AVDepthData
     */
    export namespace AVDepthData {
        export enum Accuracy {
            relative = 0,
            absolute = 1,
        }
        export enum Quality {
            low = 0,
            high = 1,
        }
    }
    export class AVCameraCalibrationData extends NSObject {
        /**
         * A matrix relating a camera's internal properties to an ideal pinhole-camera model.
         */
        intrinsicMatrix: matrix_float3x3;
        /**
         * The image dimensions to which the camera's intrinsic matrix values are relative.
         */
        intrinsicMatrixReferenceDimensions: CGSize;
        /**
         * A matrix relating a camera's position and orientation to a world or scene coordinate system.
         */
        extrinsicMatrix: matrix_float4x3;
        /**
         * The size, in millimeters, of one image pixel.
         */
        pixelSize: Float;
        /**
         * A map of floating-point values describing radial distortions imparted by the camera lens, for use in rectifying camera images.
         */
        lensDistortionLookupTable: Data | null;
        /**
         * A map of floating-point values describing radial distortions for use in reapplying camera geometry to a rectified image.
         */
        inverseLensDistortionLookupTable: Data | null;
        /**
         * The offset of the distortion center of the camera lens from the top-left corner of the image.
         */
        lensDistortionCenter: CGPoint;
    }
    export class AVCaptureMetadataInput extends AVCaptureInput {
        /**
         * Creates capture metadata input to provide timed groups to a capture session.
         */
        constructor (desc: CMMetadataFormatDescription, clock: CMClock);
        /**
         * Provides metadata to the capture session.
         */
        append(metadata: AVTimedMetadataGroup):void;
    }
    export class AVCaptureMetadataOutput extends AVCaptureOutput {
        /**
         * An array of strings identifying the types of metadata objects that can be captured.
         */
        availableMetadataObjectTypes: AVMetadataObject.ObjectType[];
        /**
         * An array of strings identifying the types of metadata objects  to process. 
         */
        metadataObjectTypes: [AVMetadataObject.ObjectType]!;
        /**
         * A rectangle of interest for limiting the search area for visual metadata.
         */
        rectOfInterest: CGRect;
        /**
         * The delegate of the capture metadata output object.
         */
        metadataObjectsDelegate: AVCaptureMetadataOutputObjectsDelegate | null;
        /**
         * The dispatch queue on which to execute the delegate’s methods.
         */
        metadataObjectsCallbackQueue: DispatchQueue | null;
        /**
         * Creates a new capture metadata output.
         */
        constructor ();
        /**
         * Sets the delegate and dispatch queue to use handle callbacks. 
         */
        setMetadataObjectsDelegate(objectsDelegate: AVCaptureMetadataOutputObjectsDelegate | null, objectsCallbackQueue: DispatchQueue | null):void;
    }
    export interface AVCaptureMetadataOutputObjectsDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate that the capture output object emitted new metadata objects. 
         */
        metadataOutput(output: AVCaptureMetadataOutput, metadataObjects: AVMetadataObject[], connection: AVCaptureConnection):void;
    }
    export class AVMetadataObject extends NSObject {
        /**
         * The type of metadata that this object provides.
         */
        type: AVMetadataObject.ObjectType;
        /**
         * The media time value associated with the metadata object.
         */
        time: CMTime;
        /**
         * The duration of the media associated with this metadata object.
         */
        duration: CMTime;
        /**
         * The bounding rectangle associated with the metadata.
         */
        bounds: CGRect;
    }
    /**
     * the same name namespace of class AVMetadataObject
     */
    export namespace AVMetadataObject {
        export class ObjectType {
            /**
             * A constant that identifies the Codabar symbology.
             */
            static codabar: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Code 39 symbology.
             */
            static code39: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Code 39 mod 43 symbology.
             */
            static code39Mod43: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Code 93 symbology.
             */
            static code93: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Code 128 symbology.
             */
            static code128: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the EAN-8 symbology.
             */
            static ean8: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the EAN-13 symbology.
             */
            static ean13: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the GS1 DataBar symbology.
             */
            static gs1DataBar: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the GS1 DataBar Expanded symbology.
             */
            static gs1DataBarExpanded: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the GS1 DataBar Limited symbology.
             */
            static gs1DataBarLimited: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Interleaved 2 of 5 symbology.
             */
            static interleaved2of5: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the ITF14 symbology.
             */
            static itf14: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the UPC-E symbology.
             */
            static upce: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Aztec symbology.
             */
            static aztec: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the DataMatrix symbology.
             */
            static dataMatrix: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Micro PDF417 symbology.
             */
            static microPDF417: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the Micro QR symbology.
             */
            static microQR: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the PDF417 symbology.
             */
            static pdf417: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies the QR symbology.
             */
            static qr: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies human body metadata.
             */
            static humanBody: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies dog body metadata.
             */
            static dogBody: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies cat body metadata.
             */
            static catBody: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies face metadata.
             */
            static face: AVMetadataObject.ObjectType;
            /**
             * A constant that identifies saliency metadata.
             */
            static salientObject: AVMetadataObject.ObjectType;
            /**
             * Creates a metadata object type with a string value.
             */
            constructor (rawValue: string);
        }
    }
    export class AVMetadataMachineReadableCodeObject extends AVMetadataObject {
        /**
         * A Swift array of corner points.
         */
        corners: CGPoint[];
        /**
         * A barcode description for use in Core Image.
         */
        descriptor: CIBarcodeDescriptor | null;
        /**
         * Returns the error-corrected data decoded into a human-readable string.
         */
        stringValue: string;
    }
    export class AVMetadataFaceObject extends AVMetadataObject {
        /**
         * The unique ID for this face metadata object.
         */
        faceID: number;
        /**
         * A Boolean value indicating whether there is a valid roll angle associated with the face.
         */
        hasRollAngle: boolean;
        /**
         * The roll angle of the face specified in degrees.
         */
        rollAngle: CGFloat;
        /**
         * A Boolean value indicating whether there is a valid yaw angle associated with the face.
         */
        hasYawAngle: boolean;
        /**
         * The yaw angle of the face specified in degrees.
         */
        yawAngle: CGFloat;
    }
    export class AVMetadataBodyObject extends AVMetadataObject {
        /**
         * An integer value that defines the unique identifier of an object in a picture.
         */
        bodyID: number;
    }
    export class AVMetadataCatBodyObject extends AVMetadataBodyObject {}
    export class AVMetadataDogBodyObject extends AVMetadataBodyObject {}
    export class AVMetadataHumanBodyObject extends AVMetadataBodyObject {}
    export class AVMetadataSalientObject extends AVMetadataObject {
        /**
         * An integer value that defines the unique identifier of an object in a picture.
         */
        objectID: number;
    }
    export class AVCaptureDataOutputSynchronizer extends NSObject {
        /**
         * The list of data outputs governed by this data output synchronizer.
         */
        dataOutputs: AVCaptureOutput[];
        /**
         * A delegate object that receives synchronized capture data.
         */
        delegate: AVCaptureDataOutputSynchronizerDelegate | null;
        /**
         * A dispatch queue for delivering synchronized capture data.
         */
        delegateCallbackQueue: DispatchQueue | null;
        /**
         * Creates a capture output synchronizer for the specified capture outputs.
         */
        constructor (dataOutputs: AVCaptureOutput[]);
        /**
         * Designates a delegate object to receive synchronized data and a dispatch queue for delivering that data.
         */
        setDelegate(delegate: AVCaptureDataOutputSynchronizerDelegate | null, delegateCallbackQueue: DispatchQueue | null):void;
    }
    export interface AVCaptureDataOutputSynchronizerDelegate extends NSObjectProtocol {
        /**
         * Provides a collection of synchronized capture data to the delegate.
         */
        dataOutputSynchronizer(synchronizer: AVCaptureDataOutputSynchronizer, synchronizedDataCollection: AVCaptureSynchronizedDataCollection):void;
    }
    export class AVCaptureSynchronizedDataCollection extends NSObject {
        /**
         * The number of synchronized data objects in the collection.
         */
        count: number;
        /**
         * Returns synchronized data captured by the specified capture output.
         */
        synchronizedData(captureOutput: AVCaptureOutput):AVCaptureSynchronizedData | null;
        /**
         * Creates an iterator across data in the collection.
         */
        makeIterator():AVCaptureSynchronizedDataCollection.Iterator;
    }
    /**
     * the same name namespace of class AVCaptureSynchronizedDataCollection
     */
    export namespace AVCaptureSynchronizedDataCollection {
        export class Iterator {
            /**
             * Returns the next element in the collection.
             */
            next():AVCaptureSynchronizedData | null;
        }
    }
    export class AVCaptureSynchronizedSampleBufferData extends AVCaptureSynchronizedData {
        /**
         * The depth data captured at this synchronization point.
         */
        sampleBuffer: CMSampleBuffer;
        /**
         * A Boolean value indicating whether sample buffers were discarded between capture and processing.
         */
        sampleBufferWasDropped: boolean;
        /**
         * A value indicating why the capture output failed to deliver sample buffers, if applicable.
         */
        droppedReason: AVCaptureOutput.DataDroppedReason;
    }
    export class AVCaptureSynchronizedMetadataObjectData extends AVCaptureSynchronizedData {
        /**
         * The list of metadata objects captured at this synchronization timestamp.
         */
        metadataObjects: AVMetadataObject[];
    }
    export class AVCaptureSynchronizedDepthData extends AVCaptureSynchronizedData {
        /**
         * The depth data captured at this synchronization point.
         */
        depthData: AVDepthData;
        /**
         * A Boolean value indicating whether depth data was discarded between capture and processing.
         */
        depthDataWasDropped: boolean;
        /**
         * A value indicating why the capture output failed to deliver depth data, if applicable.
         */
        droppedReason: AVCaptureOutput.DataDroppedReason;
    }
    export class AVCaptureSynchronizedData extends NSObject {
        /**
         * The time at which this synchronized data was captured. 
         */
        timestamp: CMTime;
    }
    export class AVComposition extends AVAsset {
        /**
         * The tracks that a composition contains.
         */
        tracks: AVCompositionTrack[];
        /**
         * The track groups an asset contains.
         */
        trackGroups: AVAssetTrackGroup[];
        /**
         * A time value that indicates the asset’s duration.
         */
        duration: CMTime;
        /**
         * A Boolean value that indicates whether the asset provides precise duration and timing.
         */
        providesPreciseDurationAndTiming: boolean;
        /**
         * A time value that indicates how closely playback follows the latest live stream content.
         */
        minimumTimeOffsetFromLive: CMTime;
        /**
         * An array of metadata items for all metadata identifiers for which a value is available.
         */
        metadata: AVMetadataItem[];
        /**
         * The metadata items an asset contains for common metadata identifiers that provide a value.
         */
        commonMetadata: AVMetadataItem[];
        /**
         * The metadata formats this asset contains.
         */
        availableMetadataFormats: AVMetadataFormat[];
        /**
         * A metadata item that indicates the asset’s creation date.
         */
        creationDate: AVMetadataItem | null;
        /**
         * The lyrics of the asset in a language suitable for the current locale.
         */
        lyrics: string;
        /**
         * A Boolean value that indicates whether the asset has playable content.
         */
        isPlayable: boolean;
        /**
         * A Boolean value that indicates whether you can extract the asset’s media data using an asset reader.
         */
        isReadable: boolean;
        /**
         * A Boolean value that indicates whether you can export this asset using an export session.
         */
        isExportable: boolean;
        /**
         * A Boolean value that indicates whether you can use the asset as a segment of a composition track.
         */
        isComposable: boolean;
        /**
         * A Boolean value that indicates whether the asset is compatible with AirPlay Video.
         */
        isCompatibleWithAirPlayVideo: boolean;
        /**
         * A Boolean value that indicates whether you can write the composition to the Saved Photos album.
         */
        isCompatibleWithSavedPhotosAlbum: boolean;
        /**
         * The asset’s rate preference for playing its media.
         */
        preferredRate: Float;
        /**
         * The asset’s volume preference for playing its audible media.
         */
        preferredVolume: Float;
        /**
         * The asset’s transform preference to apply to its visual content during presentation or processing.
         */
        preferredTransform: CGAffineTransform;
        /**
         * The default media selections for this asset’s media selection groups.
         */
        preferredMediaSelection: AVMediaSelection;
        /**
         * The asset’s display mode preference for optimal playback of its content.
         */
        preferredDisplayCriteria: AVDisplayCriteria;
        /**
         * The array of available media selections for this asset.
         */
        allMediaSelections: AVMediaSelection[];
        /**
         * An array of media characteristics for which a media selection option is available.
         */
        availableMediaCharacteristicsWithMediaSelectionOptions: AVMediaCharacteristic[];
        /**
         * The locales of the asset’s chapter metadata.
         */
        availableChapterLocales: Locale[];
        /**
         * The authored size of the visual portion of the composition.
         */
        naturalSize: CGSize;
        /**
         * The options you used to create a composition.
         */
        urlAssetInitializationOptions: Record<string, any>;
        /**
         * A Boolean value that indicates whether the asset contains protected content.
         */
        hasProtectedContent: boolean;
        /**
         * A Boolean value that indicates whether you can extend the asset by fragments.
         */
        canContainFragments: boolean;
        /**
         * A Boolean value that indicates whether at least one movie fragment extends the asset.
         */
        containsFragments: boolean;
        /**
         * The total duration of fragments that currently exist, or may exist in the future.
         */
        overallDurationHint: CMTime;
        /**
         * Loads a track that contains the specified identifier.
         */
        loadTrack(trackID: CMPersistentTrackID, completionHandler: ()=>any):void;
        /**
         * Loads tracks that contain media of a specified type.
         */
        loadTracks(mediaType: AVMediaType, completionHandler: ()=>any):void;
        /**
         * Returns a track that contains the specified identifier.
         */
        track(trackID: CMPersistentTrackID):AVCompositionTrack | null;
        /**
         * Returns an identifier that no other tracks in the asset use.
         */
        unusedTrackID():CMPersistentTrackID;
        /**
         * Returns a media selection group that contains one or more options with the specified media characteristic.
         */
        mediaSelectionGroup(mediaCharacteristic: AVMediaCharacteristic):AVMediaSelectionGroup | null;
        /**
         * Returns an array of chapters that contain the specified title locale and common keys.
         */
        chapterMetadataGroups(preferredLanguages: string[]):AVTimedMetadataGroup[];
    }
    export class AVCompositionTrack extends AVAssetTrack {
        /**
         * A Boolean value that indicates whether the track is playable in the current environment.
         */
        isPlayable: boolean;
        /**
         * A Boolean value that indicates whether the track is decodable in the current environment.
         */
        isDecodable: boolean;
        /**
         * A Boolean value that indicates whether the track’s container enables it.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that indicates whether this track references sample data only within its container file.
         */
        isSelfContained: boolean;
        /**
         * The total number of bytes of sample data the track requires.
         */
        totalSampleDataLength: Int64;
        /**
         * The time range of the track within the overall timeline of the asset.
         */
        timeRange: CMTimeRange;
        /**
         * The natural time scale of the media that a track references.
         */
        naturalTimeScale: CMTimeScale;
        /**
         * The estimated data rate, in bits per second, of the media that the track references.
         */
        estimatedDataRate: Float;
        /**
         * The language code of the track.
         */
        languageCode: string;
        /**
         * The language tag of the track.
         */
        extendedLanguageTag: string;
        /**
         * The format descriptions of the media samples that a track references.
         */
        formatDescriptions: any[];
        /**
         * The replacement format descriptions.
         */
        formatDescriptionReplacements: AVCompositionTrackFormatDescriptionReplacement[];
        /**
         * The natural dimensions of the media data that the track references.
         */
        naturalSize: CGSize;
        /**
         * The track’s transform preference to apply to its visual content during presentation or processing.
         */
        preferredTransform: CGAffineTransform;
        /**
         * The track’s volume preference for playing its audible media.
         */
        preferredVolume: Float;
        /**
         * A Boolean value that indicates whether the track has sample dependencies.
         */
        hasAudioSampleDependencies: boolean;
        /**
         * The frame rate of the track, in frames per second.
         */
        nominalFrameRate: Float;
        /**
         * The minimum duration of the track’s frames.
         */
        minFrameDuration: CMTime;
        /**
         * A Boolean value that indicates whether samples in the track may have different presentation and decode timestamps.
         */
        requiresFrameReordering: boolean;
        /**
         * An array of metadata items for all metadata identifiers that have a value.
         */
        metadata: AVMetadataItem[];
        /**
         * An array of metadata items for all common metadata keys that have a value.
         */
        commonMetadata: AVMetadataItem[];
        /**
         * An array of metadata formats available for the track.
         */
        availableMetadataFormats: AVMetadataFormat[];
        /**
         * The time mappings from the track’s media samples to its timeline.
         */
        segments: AVCompositionTrackSegment[];
        /**
         * An array of association types that the track uses to associate with other tracks.
         */
        availableTrackAssociationTypes: AVAssetTrack.AssociationType[];
        /**
         * A Boolean value that indicates whether the track can provide instances of sample cursors to traverse its media samples and discover information.
         */
        canProvideSampleCursors: boolean;
        /**
         * Returns a Boolean value that indicates whether the track references media with the specified media characteristic.
         */
        hasMediaCharacteristic(mediaCharacteristic: AVMediaCharacteristic):boolean;
        /**
         * Maps the specified track time through the appropriate time mapping and returns the resulting sample presentation time.
         */
        samplePresentationTime(trackTime: CMTime):CMTime;
        /**
         * Returns a segment whose target time range contains, or is closest to, the specified track time.
         */
        segment(trackTime: CMTime):AVCompositionTrackSegment | null;
        /**
         * Returns an array of associated tracks that have the specified association type.
         */
        associatedTracks(trackAssociationType: AVAssetTrack.AssociationType):AVAssetTrack[];
    }
    export class AVCompositionTrackFormatDescriptionReplacement extends NSObject {
        /**
         * The format description to replace.
         */
        originalFormatDescription: CMFormatDescription;
        /**
         * The replacement format description.
         */
        replacementFormatDescription: CMFormatDescription;
    }
    export class AVCompositionTrackSegment extends AVAssetTrackSegment {
        /**
         * A URL of the container file whose media this track segment presents.
         */
        sourceURL: URL | null;
        /**
         * An identifier of a track in the container file whose media this track segment presents.
         */
        sourceTrackID: CMPersistentTrackID;
        /**
         * A Boolean value that indicates whether the segment is empty.
         */
        isEmpty: boolean;
        /**
         * Creates an object that presents an empty composition track segment.
         */
        constructor (timeRange: CMTimeRange);
        /**
         * Creates an object that presents a segment of a media file that the specified URL references.
         */
        constructor (URL: URL, trackID: CMPersistentTrackID, sourceTimeRange: CMTimeRange, targetTimeRange: CMTimeRange);
    }
    export class AVMutableComposition extends AVComposition {
        /**
         * The tracks that a composition contains.
         */
        tracks: AVMutableCompositionTrack[];
        /**
         * The encoded or authored size of the visual portion of the asset.
         */
        naturalSize: CGSize;
        /**
         * Creates a mutable composition that uses the specified initialization options.
         */
        constructor (URLAssetInitializationOptions: Record<string, any> | null);
        /**
         * Loads a track that contains the specified identifier.
         */
        loadTrack(trackID: CMPersistentTrackID, completionHandler: ()=>any):void;
        /**
         * Loads tracks that contain media of a specified type.
         */
        loadTracks(mediaType: AVMediaType, completionHandler: ()=>any):void;
        /**
         * Returns a track that contains the specified identifier.
         */
        track(trackID: CMPersistentTrackID):AVMutableCompositionTrack | null;
        /**
         * Returns a composition track into which you can insert any time range of the specified asset track.
         */
        mutableTrack(track: AVAssetTrack):AVMutableCompositionTrack | null;
        /**
         * Adds an empty track to a composition.
         */
        addMutableTrack(mediaType: AVMediaType, preferredTrackID: CMPersistentTrackID):AVMutableCompositionTrack | null;
        /**
         * Removes a specified track from the composition.
         */
        removeTrack(track: AVCompositionTrack):void;
        /**
         * Inserts all tracks of an asset for a time range into a composition.
         */
        insertTimeRange(timeRange: CMTimeRange, asset: AVAsset, startTime: CMTime, completionHandler: ()=>any):void;
        /**
         * Removes a specified time range from all tracks of the composition.
         */
        removeTimeRange(timeRange: CMTimeRange):void;
        /**
         * Changes the duration of all tracks in a given time range.
         */
        scaleTimeRange(timeRange: CMTimeRange, duration: CMTime):void;
        /**
         * Adds or extends an empty time range within all tracks of the composition.
         */
        insertEmptyTimeRange(timeRange: CMTimeRange):void;
    }
    export class AVMutableCompositionTrack extends AVCompositionTrack {
        /**
         * A Boolean value that indicates whether the tracks is in an enabled state.
         */
        isEnabled: boolean;
        /**
         * The time scale in which you can perform time-based operations without extra numerical conversion.
         */
        naturalTimeScale: CMTimeScale;
        /**
         * The language associated with the track, as an ISO 639-2/T language code.
         */
        languageCode: string;
        /**
         * The language tag associated with the track, as an RFC 4646 language tag.
         */
        extendedLanguageTag: string;
        /**
         * The preferred transformation of the visual media data for display purposes.
         */
        preferredTransform: CGAffineTransform;
        /**
         * The volume the track prefers for its audible media data.
         */
        preferredVolume: Float;
        /**
         * The track segments that a composition track contains.
         */
        segments: [AVCompositionTrackSegment]!;
        /**
         * Adds or extends an empty time range within the track.
         */
        insertEmptyTimeRange(timeRange: CMTimeRange):void;
        /**
         * Inserts a time range of media from a source track into a composition track.
         */
        insertTimeRange(timeRange: CMTimeRange, track: AVAssetTrack, startTime: CMTime):void;
        /**
         * Inserts the time ranges of multiple source tracks into a track of a composition.
         */
        insertTimeRanges(timeRanges: NSValue[], tracks: AVAssetTrack[], startTime: CMTime):void;
        /**
         * Removes a time range of media from a composition track.
         */
        removeTimeRange(timeRange: CMTimeRange):void;
        /**
         * Changes the duration of a time range of the track.
         */
        scaleTimeRange(timeRange: CMTimeRange, duration: CMTime):void;
        /**
         * Establishes a track association of a specific type between two tracks.
         */
        addTrackAssociation(compositionTrack: AVCompositionTrack, trackAssociationType: AVAssetTrack.AssociationType):void;
        /**
         * Removes an association from a composition track.
         */
        removeTrackAssociation(compositionTrack: AVCompositionTrack, trackAssociationType: AVAssetTrack.AssociationType):void;
        /**
         * Replaces a format description with another or cancels a previous replacement.
         */
        replaceFormatDescription(originalFormatDescription: CMFormatDescription, replacementFormatDescription: CMFormatDescription | null):void;
        /**
         * Returns a Boolean value that indicates whether a given array of track segments conform to the timing rules for a composition track.
         */
        validateSegments(trackSegments: AVCompositionTrackSegment[]):void;
    }
    export class AVMovie extends AVAsset {
        /**
         * A Boolean value that indicates whether fragments can extend the movie file.
         */
        canContainMovieFragments: boolean;
        /**
         * A Boolean value that indicates whether at least one movie fragment extends the movie file.
         */
        containsMovieFragments: boolean;
        /**
         * A URL to a QuickTime or ISO base media file.
         */
        url: URL | null;
        /**
         * A data object that contains the movie file’s data.
         */
        data: Data | null;
        /**
         * The tracks that a movie contains.
         */
        tracks: AVMovieTrack[];
        /**
         * The default storage container for media data added to a movie.
         */
        defaultMediaDataStorage: AVMediaDataStorage | null;
        /**
         * Creates a movie object from a movie header stored in a QuickTime movie file of ISO base media file.
         */
        constructor (URL: URL, options: Record<string, any> | null);
        /**
         * Creates a movie object from a movie file’s data.
         */
        constructor (data: Data, options: Record<string, any> | null);
        /**
         * Returns the file types that a movie supports.
         */
        static movieTypes():AVFileType[];
        /**
         * Loads a track that contains the specified identifier.
         */
        loadTrack(trackID: CMPersistentTrackID, completionHandler: ()=>any):void;
        /**
         * Loads tracks that contain media of a specified type.
         */
        loadTracks(mediaType: AVMediaType, completionHandler: ()=>any):void;
        /**
         * Returns a Boolean value that indicates whether the system can create a movie header of the specified type.
         */
        is(fileType: AVFileType):boolean;
        /**
         * Creates a header for a movie for the specified file type.
         */
        makeMovieHeader(fileType: AVFileType):Data;
        /**
         * Writes the movie header to the specified URL.
         */
        writeHeader(URL: URL, fileType: AVFileType, options: AVMovieWritingOptions):void;
        /**
         * Retrieves a track in the movie that contains the specified identifier.
         */
        track(trackID: CMPersistentTrackID):AVMovieTrack | null;
    }
    export class AVMovieWritingOptions {
        /**
         * The new movie header overwrites any existing movie header.
         */
        static addMovieHeaderToDestination: AVMovieWritingOptions;
        /**
         * The movie header overwrites all existing data and creates a pure reference movie file.
         */
        static truncateDestinationToMovieHeaderOnly: AVMovieWritingOptions;
        /**
         * Creates a movie writing options structure.
         */
        constructor (rawValue: number);
    }
    export class AVMovieTrack extends AVAssetTrack {
        /**
         * A value that identifies the track as a member of a particular alternate group.
         */
        alternateGroupID: number;
        /**
         * The storage container for media data added to a track.
         */
        mediaDataStorage: AVMediaDataStorage | null;
        /**
         * A range of decode times for the track’s media.
         */
        mediaDecodeTimeRange: CMTimeRange;
        /**
         * A range of presentation times for the track’s media.
         */
        mediaPresentationTimeRange: CMTimeRange;
    }
    export class AVMutableMovie extends AVMovie {
        /**
         * A Boolean value that indicates whether the movie is in a modified state.
         */
        isModified: boolean;
        /**
         * The time scale of the movie.
         */
        timescale: CMTimeScale;
        /**
         * A time period indicating the duration for interleaving runs of samples for each track.
         */
        interleavingPeriod: CMTime;
        /**
         * The default storage container for media data that you add to a movie.
         */
        defaultMediaDataStorage: AVMediaDataStorage | null;
        /**
         * The tracks that a movie contains.
         */
        tracks: AVMutableMovieTrack[];
        /**
         * The track groups an asset contains.
         */
        trackGroups: AVAssetTrackGroup[];
        /**
         * A time value that indicates the asset’s duration.
         */
        duration: CMTime;
        /**
         * A Boolean value that indicates whether the asset provides precise duration and timing.
         */
        providesPreciseDurationAndTiming: boolean;
        /**
         * A time value that indicates how closely playback follows the latest live stream content.
         */
        minimumTimeOffsetFromLive: CMTime;
        /**
         * An array of metadata items for all metadata identifiers for which a value is available.
         */
        metadata: AVMetadataItem[];
        /**
         * The metadata items an asset contains for common metadata identifiers that provide a value.
         */
        commonMetadata: AVMetadataItem[];
        /**
         * The metadata formats this asset contains.
         */
        availableMetadataFormats: AVMetadataFormat[];
        /**
         * A metadata item that indicates the asset’s creation date.
         */
        creationDate: AVMetadataItem | null;
        /**
         * The lyrics of the asset in a language suitable for the current locale.
         */
        lyrics: string;
        /**
         * A Boolean value that indicates whether the asset has playable content.
         */
        isPlayable: boolean;
        /**
         * A Boolean value that indicates whether you can extract the asset’s media data using an asset reader.
         */
        isReadable: boolean;
        /**
         * A Boolean value that indicates whether you can export this asset using an export session.
         */
        isExportable: boolean;
        /**
         * A Boolean value that indicates whether you can use the asset as a segment of a composition track.
         */
        isComposable: boolean;
        /**
         * A Boolean value that indicates whether the asset is compatible with AirPlay Video.
         */
        isCompatibleWithAirPlayVideo: boolean;
        /**
         * A Boolean value that indicates whether you can write the composition to the Saved Photos album.
         */
        isCompatibleWithSavedPhotosAlbum: boolean;
        /**
         * The asset’s rate preference for playing its media.
         */
        preferredRate: Float;
        /**
         * The asset’s volume preference for playing its audible media.
         */
        preferredVolume: Float;
        /**
         * The asset’s transform preference to apply to its visual content during presentation or processing.
         */
        preferredTransform: CGAffineTransform;
        /**
         * The default media selections for this asset’s media selection groups.
         */
        preferredMediaSelection: AVMediaSelection;
        /**
         * The array of available media selections for this asset.
         */
        allMediaSelections: AVMediaSelection[];
        /**
         * An array of media characteristics for which a media selection option is available.
         */
        availableMediaCharacteristicsWithMediaSelectionOptions: AVMediaCharacteristic[];
        /**
         * The locales of the asset’s chapter metadata.
         */
        availableChapterLocales: Locale[];
        /**
         * A Boolean value that indicates whether the asset contains protected content.
         */
        hasProtectedContent: boolean;
        /**
         * A Boolean value that indicates whether you can extend the asset by fragments.
         */
        canContainFragments: boolean;
        /**
         * A Boolean value that indicates whether at least one movie fragment extends the asset.
         */
        containsFragments: boolean;
        /**
         * The total duration of fragments that currently exist, or may exist in the future.
         */
        overallDurationHint: CMTime;
        /**
         * Creates a mutable movie object from a movie header stored in a QuickTime movie file of ISO base media file.
         */
        constructor (URL: URL, options: Record<string, any> | null, error: any);
        /**
         * Creates a mutable movie object from a movie stored in a data object.
         */
        constructor (data: Data, options: Record<string, any> | null, error: any);
        /**
         * Creates a mutable movie object without tracks.
         */
        constructor (movie: AVMovie | null, options: Record<string, any> | null);
        /**
         * Loads a track that contains the specified identifier.
         */
        loadTrack(trackID: CMPersistentTrackID, completionHandler: ()=>any):void;
        /**
         * Loads tracks that contain media of a specified type.
         */
        loadTracks(mediaType: AVMediaType, completionHandler: ()=>any):void;
        /**
         * Retrieves a track in the movie that contains the specified identifier.
         */
        track(trackID: CMPersistentTrackID):AVMutableMovieTrack | null;
        /**
         * Returns an identifier that no other tracks in the asset use.
         */
        unusedTrackID():CMPersistentTrackID;
        /**
         * Provides a reference to a track from a mutable movie into which you can insert any time range.
         */
        mutableTrack(track: AVAssetTrack):AVMutableMovieTrack | null;
        /**
         * Adds an empty track to the target movie.
         */
        addMutableTrack(mediaType: AVMediaType, track: AVAssetTrack | null, options: Record<string, any> | null):AVMutableMovieTrack | null;
        /**
         * Adds one or more empty tracks to the target movie and copies the track settings from the source tracks.
         */
        addMutableTracksCopyingSettings(existingTracks: AVAssetTrack[], options: Record<string, any> | null):AVMutableMovieTrack[];
        /**
         * Removes the specified track from the target movie.
         */
        removeTrack(track: AVMovieTrack):void;
        /**
         * Adds an empty time range to a movie.
         */
        insertEmptyTimeRange(timeRange: CMTimeRange):void;
        /**
         * Inserts all of the tracks in a specified time range of an asset into a movie.
         */
        insertTimeRange(timeRange: CMTimeRange, asset: AVAsset, startTime: CMTime, copySampleData: boolean):void;
        /**
         * Changes the duration of a time range in a movie.
         */
        scale(timeRange: CMTimeRange, duration: CMTime):void;
        /**
         * Removes the specified time range from a movie.
         */
        removeTimeRange(timeRange: CMTimeRange):void;
        /**
         * Returns a media selection group that contains one or more options with the specified media characteristic.
         */
        mediaSelectionGroup(mediaCharacteristic: AVMediaCharacteristic):AVMediaSelectionGroup | null;
        /**
         * Returns an array of chapters that contain the specified title locale and common keys.
         */
        chapterMetadataGroups(preferredLanguages: string[]):AVTimedMetadataGroup[];
    }
    export class AVMutableMovieTrack extends AVMovieTrack {
        /**
         * The boundary for media chunk alignment for file types that support media chunk alignment.
         */
        preferredMediaChunkAlignment: number;
        /**
         * The maximum duration to use for each chunk of sample data written to the file for file types that support media chunk duration.
         */
        preferredMediaChunkDuration: CMTime;
        /**
         * The maximum size to use for each chunk of sample data written to the file for file types that support media chunk duration.
         */
        preferredMediaChunkSize: number;
        /**
         * The format descriptions of the media samples that a track references.
         */
        formatDescriptions: any[];
        /**
         * A Boolean value that indicates whether a track is in a modified state.
         */
        isModified: boolean;
        /**
         * A number that identifies the track as a member of a particular alternate group.
         */
        alternateGroupID: number;
        /**
         * A storage container for the media data to be added to a track.
         */
        mediaDataStorage: AVMediaDataStorage | null;
        /**
         * The base URL for sample references.
         */
        sampleReferenceBaseURL: URL | null;
        /**
         * A Boolean value that indicates whether the track is playable in the current environment.
         */
        isPlayable: boolean;
        /**
         * A Boolean value that indicates whether the track is decodable in the current environment.
         */
        isDecodable: boolean;
        /**
         * A Boolean value that indicates whether the track’s container enables it.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that indicates whether this track references sample data only within its container file.
         */
        isSelfContained: boolean;
        /**
         * A Boolean value that indicates whether a track contains protected content.
         */
        hasProtectedContent: boolean;
        /**
         * The total number of bytes of sample data the track requires.
         */
        totalSampleDataLength: Int64;
        /**
         * The time range of the track within the overall timeline of the asset.
         */
        timeRange: CMTimeRange;
        /**
         * The time scale for tracks that contain the 
         *  atom.
         */
        timescale: CMTimeScale;
        /**
         * The natural time scale of the media that a track references.
         */
        naturalTimeScale: CMTimeScale;
        /**
         * The estimated data rate, in bits per second, of the media that the track references.
         */
        estimatedDataRate: Float;
        /**
         * The language code of the track.
         */
        languageCode: string;
        /**
         * The language tag of the track.
         */
        extendedLanguageTag: string;
        /**
         * The dimensions used to display the visual media data for the track.
         */
        naturalSize: CGSize;
        /**
         * The transform performed on the visual media data of the track for display purposes.
         */
        preferredTransform: CGAffineTransform;
        /**
         * The layer level for the visual media of the track.
         */
        layer: number;
        /**
         * The clean aperture dimension of the track.
         */
        cleanApertureDimensions: CGSize;
        /**
         * The production aperture dimensions of the track.
         */
        productionApertureDimensions: CGSize;
        /**
         * The encoded pixels dimensions of the track.
         */
        encodedPixelsDimensions: CGSize;
        /**
         * The preferred volume for the audible medata data of the track.
         */
        preferredVolume: Float;
        /**
         * A Boolean value that indicates whether the track has sample dependencies.
         */
        hasAudioSampleDependencies: boolean;
        /**
         * The frame rate of the track, in frames per second.
         */
        nominalFrameRate: Float;
        /**
         * The minimum duration of the track’s frames.
         */
        minFrameDuration: CMTime;
        /**
         * A Boolean value that indicates whether samples in the track may have different presentation and decode timestamps.
         */
        requiresFrameReordering: boolean;
        /**
         * An array of metadata stored by the track.
         */
        metadata: AVMetadataItem[];
        /**
         * An array of metadata items for all common metadata keys that have a value.
         */
        commonMetadata: AVMetadataItem[];
        /**
         * An array of metadata formats available for the track.
         */
        availableMetadataFormats: AVMetadataFormat[];
        /**
         * The time mappings from the track’s media samples to its timeline.
         */
        segments: AVAssetTrackSegment[];
        /**
         * An array of association types that the track uses to associate with other tracks.
         */
        availableTrackAssociationTypes: AVAssetTrack.AssociationType[];
        /**
         * A Boolean value that indicates whether the track can provide instances of sample cursors to traverse its media samples and discover information.
         */
        canProvideSampleCursors: boolean;
        /**
         * Inserts a portion of an asset track into the target movie.
         */
        insertTimeRange(timeRange: CMTimeRange, track: AVAssetTrack, startTime: CMTime, copySampleData: boolean):void;
        /**
         * Adds an empty time range to a track.
         */
        insertEmptyTimeRange(timeRange: CMTimeRange):void;
        /**
         * Removes the specified time range from a track.
         */
        removeTimeRange(timeRange: CMTimeRange):void;
        /**
         * Changes the duration of a time range in a track.
         */
        scaleTimeRange(timeRange: CMTimeRange, duration: CMTime):void;
        /**
         * Appends sample data to a media file and adds sample references for the added data to a track’s media sample tables.
         */
        append(sampleBuffer: CMSampleBuffer, outDecodeTime: UnsafeMutablePointer<CMTime> | null, outPresentationTime: UnsafeMutablePointer<CMTime> | null):void;
        /**
         * Inserts a reference to a media time range into a track.
         */
        insertMediaTimeRange(mediaTimeRange: CMTimeRange, trackTimeRange: CMTimeRange):boolean;
        /**
         * Replaces the track’s format description with a new format description.
         */
        replaceFormatDescription(formatDescription: CMFormatDescription, newFormatDescription: CMFormatDescription):void;
        /**
         * Returns a Boolean value that indicates whether the track references media with the specified media characteristic.
         */
        hasMediaCharacteristic(mediaCharacteristic: AVMediaCharacteristic):boolean;
        /**
         * Maps the specified track time through the appropriate time mapping and returns the resulting sample presentation time.
         */
        samplePresentationTime(trackTime: CMTime):CMTime;
        /**
         * Returns a segment whose target time range contains, or is closest to, the specified track time.
         */
        segment(trackTime: CMTime):AVAssetTrackSegment | null;
        /**
         * Returns an array of associated tracks that have the specified association type.
         */
        associatedTracks(trackAssociationType: AVAssetTrack.AssociationType):AVAssetTrack[];
        /**
         * Creates a specific type of track association between two tracks.
         */
        addTrackAssociation(movieTrack: AVMovieTrack, trackAssociationType: AVAssetTrack.AssociationType):void;
        /**
         * Removes a specific type of track association between two tracks.
         */
        removeTrackAssociation(movieTrack: AVMovieTrack, trackAssociationType: AVAssetTrack.AssociationType):void;
    }
    export class AVFragmentedMovie extends AVMovie {
        /**
         * The tracks that a movie contains.
         */
        tracks: AVFragmentedMovieTrack[];
        /**
         * Loads a track that contains the specified identifier.
         */
        loadTrack(trackID: CMPersistentTrackID, completionHandler: ()=>any):void;
        /**
         * Loads tracks that contain media of a specified type.
         */
        loadTracks(mediaType: AVMediaType, completionHandler: ()=>any):void;
        /**
         * Retrieves a track in the movie that contains the specified identifier.
         */
        track(trackID: CMPersistentTrackID):AVFragmentedMovieTrack | null;
    }
    export class AVFragmentedMovieTrack extends AVMovieTrack {}
    export class AVFragmentedMovieMinder extends AVFragmentedAssetMinder {
        /**
         * An array containing the fragmented movie objects being minded.
         */
        movies: AVFragmentedMovie[];
        /**
         * The amount of time between checks for additional movie fragments.
         */
        mindingInterval: TimeInterval;
        /**
         * Creates a movie minder and adds a movie with a minding interval.
         */
        constructor (movie: AVFragmentedMovie, mindingInterval: TimeInterval);
        /**
         * Adds a fragmented movie to the array of movies being minded.
         */
        add(movie: AVFragmentedMovie):void;
        /**
         * Removes a fragmented movie from the array of movies being minded.
         */
        remove(movie: AVFragmentedMovie):void;
    }
    export interface AVFragmentMinding {
        /**
         * A Boolean value that indicates whether an asset that supports fragment minding is currently associated with a fragment minder.
         */
        isAssociatedWithFragmentMinder: boolean;
    }
    export class AVSampleCursor extends NSObject {
        /**
         * The decode timestamp of the sample at the current position of the cursor.
         */
        decodeTimeStamp: CMTime;
        /**
         * The presentation timestamp of the sample at the current position of the cursor.
         */
        presentationTimeStamp: CMTime;
        /**
         * A value that provides information about the chunk of samples to which the current sample belongs.
         */
        currentChunkInfo: AVSampleCursorChunkInfo;
        /**
         * The sample range in the storage container to load together with the current sample as a chunk.
         */
        currentChunkStorageRange: AVSampleCursorStorageRange;
        /**
         * The URL of the storage container of the current sample and other samples to load in the same operation as a chunk.
         */
        currentChunkStorageURL: URL | null;
        /**
         * The dependency information that describes relationships between a media sample and other media samples in the same sample sequence.
         */
        currentSampleDependencyInfo: AVSampleCursorDependencyInfo;
        /**
         * The presentation duration of the sample at the cursor’s current position.
         */
        currentSampleDuration: CMTime;
        /**
         * The index of the current sample within the chunk to which it belongs.
         */
        currentSampleIndexInChunk: Int64;
        /**
         * The offset and length of the current sample in the current chunk storage URL.
         */
        currentSampleStorageRange: AVSampleCursorStorageRange;
        /**
         * The synchronization information for the current sample for consideration when resynchronizing a decoder.
         */
        currentSampleSyncInfo: AVSampleCursorSyncInfo;
        /**
         * The independent decodability information for the audio sample.
         */
        currentSampleAudioDependencyInfo: AVSampleCursorAudioDependencyInfo;
        /**
         * A dictionary of dependency-related sample buffer attachments.
         */
        currentSampleDependencyAttachments: Record<AnyHashable, any> | null;
        /**
         * The number of samples prior to the current sample, in decode order, the decoder requires to achieve a coherent output at the current decode time.
         */
        samplesRequiredForDecoderRefresh: number;
        /**
         * Moves the cursor by a given delta time on the decode timeline.
         */
        step(deltaDecodeTime: CMTime, outWasPinned: UnsafeMutablePointer<ObjCBool> | null):CMTime;
        /**
         * Moves the cursor a given number of samples in decode order.
         */
        stepInDecodeOrder(stepCount: Int64):Int64;
        /**
         * Moves the cursor a given number of samples in presentation order.
         */
        stepInPresentationOrder(stepCount: Int64):Int64;
        /**
         * Returns the format description of the sample at the cursor’s current position.
         */
        copyCurrentSampleFormatDescription():CMFormatDescription;
        /**
         * Determines whether a sample earlier in decode order can have a presentation timestamp later than that of the specified sample cursor.
         */
        maySamplesWithEarlierDecodeTimeStampsHavePresentationTimeStamps(cursor: AVSampleCursor):boolean;
        /**
         * Determines whether a sample later in decode order can have a presentation timestamp earlier than that of the specified sample cursor.
         */
        maySamplesWithLaterDecodeTimeStampsHavePresentationTimeStamps(cursor: AVSampleCursor):boolean;
        /**
         * Compares the relative positions of two sample cursors and returns their relative positions.
         */
        comparePositionInDecodeOrder(cursor: AVSampleCursor):ComparisonResult;
    }
    export class AVSampleCursorChunkInfo {
        /**
         * The count of media samples in the chunk.
         */
        chunkSampleCount: Int64;
        /**
         * The samples in the chunk occupy the same number of bytes in storage.
         */
        chunkHasUniformSampleSizes: ObjCBool;
        /**
         * The samples in the chunk have the same duration.
         */
        chunkHasUniformSampleDurations: ObjCBool;
        /**
         * The samples in the chunk have the same format description.
         */
        chunkHasUniformFormatDescriptions: ObjCBool;
        /**
         * Creates a chunk information structure.
         */
        constructor ();
        /**
         * Creates a chunk information structure with the specified values.
         */
        constructor (chunkSampleCount: Int64, chunkHasUniformSampleSizes: ObjCBool, chunkHasUniformSampleDurations: ObjCBool, chunkHasUniformFormatDescriptions: ObjCBool);
    }
    export class AVSampleCursorStorageRange {
        /**
         * The offset of the first byte of storage that a media sample or its chunk occupies.
         */
        offset: Int64;
        /**
         * The count of bytes of storage that a media sample or its chunk occupies.
         */
        length: Int64;
        /**
         * Creates a storage range structure.
         */
        constructor ();
        /**
         * Creates a storage range structure with offset and length values.
         */
        constructor (offset: Int64, length: Int64);
    }
    export class AVSampleCursorDependencyInfo {
        /**
         * A Boolean value that determines whether the sample indicates if other samples depend on it.
         */
        sampleIndicatesWhetherItHasDependentSamples: ObjCBool;
        /**
         * A Boolean value that determines whether the sample has dependent samples.
         */
        sampleHasDependentSamples: ObjCBool;
        /**
         * A Boolean value that determines whether the sample indicates that it depends on other samples.
         */
        sampleIndicatesWhetherItDependsOnOthers: ObjCBool;
        /**
         * A Boolean value that determines whether the sample depends on other samples.
         */
        sampleDependsOnOthers: ObjCBool;
        /**
         * A Boolean value that determines whether the sample indicates that it has redundant coding.
         */
        sampleIndicatesWhetherItHasRedundantCoding: ObjCBool;
        /**
         * A Boolean value that determines whether the sample has redundant coding.
         */
        sampleHasRedundantCoding: ObjCBool;
        /**
         * Creates a sample cursor dependency information structure.
         */
        constructor ();
        /**
         * Creates a sample cursor dependency information structure with sample information.
         */
        constructor (sampleIndicatesWhetherItHasDependentSamples: ObjCBool, sampleHasDependentSamples: ObjCBool, sampleIndicatesWhetherItDependsOnOthers: ObjCBool, sampleDependsOnOthers: ObjCBool, sampleIndicatesWhetherItHasRedundantCoding: ObjCBool, sampleHasRedundantCoding: ObjCBool);
    }
    export class AVSampleCursorSyncInfo {
        /**
         * A Boolean value that indicates whether a sample is a full sync sample.
         */
        sampleIsFullSync: ObjCBool;
        /**
         * A Boolean value that indicates whether a sample is a partial sync sample.
         */
        sampleIsPartialSync: ObjCBool;
        /**
         * A Boolean value that indicates whether a sample is droppable.
         */
        sampleIsDroppable: ObjCBool;
        /**
         * Creates a sample cursor sync information structure.
         */
        constructor ();
        /**
         * Creates a sample cursor sync information structure with media sample information.
         */
        constructor (sampleIsFullSync: ObjCBool, sampleIsPartialSync: ObjCBool, sampleIsDroppable: ObjCBool);
    }
    export class AVSampleCursorAudioDependencyInfo {
        /**
         * A Boolean value indicating whether the sample is independently decodable. 
         */
        audioSampleIsIndependentlyDecodable: ObjCBool;
        /**
         * The number of samples, starting at the current sample, that must be fed to the decoder to achieve full decoder refresh.
         */
        audioSamplePacketRefreshCount: number;
        /**
         * Creates an audio sample decodability information structure.
         */
        constructor ();
        /**
         * Creates an audio sample decodability information structure with the specified values.
         */
        constructor (audioSampleIsIndependentlyDecodable: ObjCBool, audioSamplePacketRefreshCount: number);
    }
    export class AVMediaDataStorage extends NSObject {
        /**
         * Creates a media data storage object associated with a file URL.
         */
        constructor (URL: URL, options: Record<string, any> | null);
        /**
         * Returns the URL used to initialize the receiver.
         */
        url():URL | null;
    }
    export class AVVideoCompositionCoreAnimationTool extends NSObject {
        /**
         * Adds a Core Animation layer to the video composition.
         */
        constructor (layer: CALayer, trackID: CMPersistentTrackID);
        /**
         * Composes the composited video frame with a Core Animation layer.
         */
        constructor (videoLayer: CALayer, animationLayer: CALayer);
        /**
         * Composes the composited video frames with the Core Animation layer.
         */
        constructor (videoLayers: CALayer[], animationLayer: CALayer);
    }
    export class AVVideoComposition extends NSObject {
        /**
         * The size at which the video composition should render.
         */
        renderSize: CGSize;
        /**
         * The scale at which the video composition should render.
         */
        renderScale: Float;
        /**
         * A time interval for which the video composition should render composed video frames.
         */
        frameDuration: CMTime;
        /**
         * A video composition tool to use with Core Animation in offline rendering.
         */
        animationTool: AVVideoCompositionCoreAnimationTool | null;
        /**
         * The color primaries used for video composition.
         */
        colorPrimaries: string;
        /**
         * The transfer function used for video composition.
         */
        colorTransferFunction: string;
        /**
         * The YCbCr matrix used for video composition.
         */
        colorYCbCrMatrix: string;
        /**
         * A custom compositor class to use.
         */
        customVideoCompositorClass: AVVideoCompositing.Type | null;
        /**
         * The video composition instructions.
         */
        instructions: AVVideoCompositionInstructionProtocol[];
        /**
         * An identifier of the source track from which the video composition derives frame timing.
         */
        sourceTrackIDForFrameTiming: CMPersistentTrackID;
        /**
         * The identifiers of source sample data tracks in the composition that the object requires to compose frames.
         */
        sourceSampleDataTrackIDs: CMPersistentTrackID[];
        /**
         * Creates a video composition object configured to present the video tracks of the specified asset.
         */
        constructor (asset: AVAsset);
        /**
         * Creates a video composition configured to apply Core Image filters to each video frame of the specified asset.
         */
        constructor (asset: AVAsset, applier: ()=>any);
        /**
         * Returns a new video composition that’s configured to present the video tracks of the specified asset.
         */
        static videoComposition(asset: AVAsset, completionHandler: ()=>any):void;
        /**
         * Determines whether the time ranges of the composition’s instructions conform to validation requirements.
         */
        determineValidity(asset: AVAsset | null, timeRange: CMTimeRange, validationDelegate: AVVideoCompositionValidationHandling | null, completionHandler: ()=>any):void;
        /**
         * Indicates whether the time ranges of the composition’s instructions conform to validation requirements.
         */
        isValid(asset: AVAsset | null, timeRange: CMTimeRange, validationDelegate: AVVideoCompositionValidationHandling | null):boolean;
    }
    export class AVAsynchronousCIImageFilteringRequest extends NSObject {
        /**
         * The current video frame image.
         */
        sourceImage: CIImage;
        /**
         * The time in the video composition corresponding to the frame being processed.
         */
        compositionTime: CMTime;
        /**
         * The width and height, in pixels, of the frame being processed.
         */
        renderSize: CGSize;
        /**
         * Provides the filtered video frame image to AVFoundation for further processing or display.
         */
        finish(filteredImage: CIImage, context: CIContext | null):void;
    }
    export interface AVVideoCompositionValidationHandling extends NSObjectProtocol {
        /**
         * Reports that a key that has an invalid value.
         */
        videoComposition(videoComposition: AVVideoComposition, key: string):boolean;
    }
    export interface AVVideoCompositionInstructionProtocol extends NSObjectProtocol {
        /**
         * An identifier of a source track to pass through without compositing.
         */
        passthroughTrackID: CMPersistentTrackID;
        /**
         * The identifiers of the video tracks the instruction requires to compose frames.
         */
        requiredSourceTrackIDs: NSValue[] | null;
        /**
         * The identifiers of the sample data tracks the instruction requires to compose frames.
         */
        requiredSourceSampleDataTrackIDs: NSNumber[];
        /**
         * A Boolean value that indicates whether the composition contains tweening.
         */
        containsTweening: boolean;
        /**
         * A Boolean value that indicates whether the composition enables post-processing.
         */
        enablePostProcessing: boolean;
        /**
         * The time range during which the instruction is effective.
         */
        timeRange: CMTimeRange;
    }
    export class AVMutableVideoComposition extends AVVideoComposition {
        /**
         * A time interval for which the video composition should render composed video frames.
         */
        frameDuration: CMTime;
        /**
         * The size at which the video composition should render.
         */
        renderSize: CGSize;
        /**
         * The scale at which the video composition should render.
         */
        renderScale: Float;
        /**
         * The video composition instructions.
         */
        instructions: AVVideoCompositionInstructionProtocol[];
        /**
         * A video composition tool to use with Core Animation in offline rendering.
         */
        animationTool: AVVideoCompositionCoreAnimationTool | null;
        /**
         * The custom compositor class to use.
         */
        customVideoCompositorClass: AVVideoCompositing.Type | null;
        /**
         * The color primaries used for video composition.
         */
        colorPrimaries: string;
        /**
         * The transfer function used for video composition.
         */
        colorTransferFunction: string;
        /**
         * The YCbCr matrix used for video composition.
         */
        colorYCbCrMatrix: string;
        /**
         * An identifier of the source track from which the video composition derives frame timing.
         */
        sourceTrackIDForFrameTiming: CMPersistentTrackID;
        /**
         * The identifiers of source sample data tracks in the composition that the object requires to compose frames.
         */
        sourceSampleDataTrackIDs: CMPersistentTrackID[];
        /**
         * Creates a mutable video composition with the specified asset properties.
         */
        constructor (asset: AVAsset);
        /**
         * Creates a mutable video composition with the specified asset properties and a prototype video composition instruction.
         */
        constructor (asset: AVAsset, prototypeInstruction: AVVideoCompositionInstruction);
        /**
         * Creates a mutable video composition configured to apply Core Image filters to each video frame of the specified asset.
         */
        constructor (asset: AVAsset, applier: ()=>any);
        /**
         * Returns a new video composition that’s configured to present the video tracks of the specified asset.
         */
        static videoComposition(asset: AVAsset, completionHandler: ()=>any):void;
    }
    export class AVVideoCompositionInstruction extends NSObject {
        /**
         * The background color of the composition.
         */
        backgroundColor: CGColor | null;
        /**
         * Instructions that specify how to layer and compose video frames from source tracks.
         */
        layerInstructions: AVVideoCompositionLayerInstruction[];
        /**
         * The time range to which the instruction applies.
         */
        timeRange: CMTimeRange;
        /**
         * A Boolean value that indicates whether the instruction requires post processing.
         */
        enablePostProcessing: boolean;
        /**
         * The identifiers of source video tracks that the compositor requires to compose frames for the instruction.
         */
        requiredSourceTrackIDs: NSValue[];
        /**
         * The identifiers of source sample data tracks that the compositor requires to compose frames for the instruction.
         */
        requiredSourceSampleDataTrackIDs: NSNumber[];
        /**
         * The track identifier from an instruction source frame.
         */
        passthroughTrackID: CMPersistentTrackID;
    }
    export class AVMutableVideoCompositionInstruction extends AVVideoCompositionInstruction {
        /**
         * The background color of the composition.
         */
        backgroundColor: CGColor | null;
        /**
         * Instructions that specify how to layer and compose video frames from source tracks.
         */
        layerInstructions: AVVideoCompositionLayerInstruction[];
        /**
         * The time range to which the instruction applies.
         */
        timeRange: CMTimeRange;
        /**
         * A Boolean value that indicates whether the instruction requires post processing.
         */
        enablePostProcessing: boolean;
        /**
         * The track identifiers of source sample data that the compositor requires to compose frames for the instruction.
         */
        requiredSourceSampleDataTrackIDs: NSNumber[];
    }
    export class AVVideoCompositionLayerInstruction extends NSObject {
        /**
         * The track identifier of the source track to which the compositor will apply the instruction.
         */
        trackID: CMPersistentTrackID;
        /**
         * Obtains the opacity ramp that includes a specified time.
         */
        getOpacityRamp(time: CMTime, startOpacity: UnsafeMutablePointer<Float> | null, endOpacity: UnsafeMutablePointer<Float> | null, timeRange: UnsafeMutablePointer<CMTimeRange> | null):boolean;
        /**
         * Obtains the transform ramp that includes a specified time.
         */
        getTransformRamp(time: CMTime, startTransform: UnsafeMutablePointer<CGAffineTransform> | null, endTransform: UnsafeMutablePointer<CGAffineTransform> | null, timeRange: UnsafeMutablePointer<CMTimeRange> | null):boolean;
        /**
         * Obtains the crop rectangle ramp that includes the specified time.
         */
        getCropRectangleRamp(time: CMTime, startCropRectangle: UnsafeMutablePointer<CGRect> | null, endCropRectangle: UnsafeMutablePointer<CGRect> | null, timeRange: UnsafeMutablePointer<CMTimeRange> | null):boolean;
    }
    export class AVMutableVideoCompositionLayerInstruction extends AVVideoCompositionLayerInstruction {
        /**
         * The track identifier of the source track to which the compositor applies the instruction.
         */
        trackID: CMPersistentTrackID;
        /**
         * Creates a new mutable video composition layer instruction for the given track.
         */
        constructor (track: AVAssetTrack);
        /**
         * Sets the opacity value at a specific time within the time range of the instruction.
         */
        setOpacity(opacity: Float, time: CMTime):void;
        /**
         * Sets an opacity ramp to apply during a specified time range.
         */
        setOpacityRamp(startOpacity: Float, endOpacity: Float, timeRange: CMTimeRange):void;
        /**
         * Sets the transform value at a time within the time range of the instruction.
         */
        setTransform(transform: CGAffineTransform, time: CMTime):void;
        /**
         * Sets a transform ramp to apply during a given time range.
         */
        setTransformRamp(startTransform: CGAffineTransform, endTransform: CGAffineTransform, timeRange: CMTimeRange):void;
        /**
         * Sets the crop rectangle  value at a time within the time range of the instruction.
         */
        setCropRectangle(cropRectangle: CGRect, time: CMTime):void;
        /**
         * Sets a crop rectangle ramp to apply during the specified time range.
         */
        setCropRectangleRamp(startCropRectangle: CGRect, endCropRectangle: CGRect, timeRange: CMTimeRange):void;
    }
    export interface AVVideoCompositing extends NSObjectProtocol {
        /**
         * The pixel buffer attributes that the compositor accepts for source frames.
         */
        sourcePixelBufferAttributes: Record<string, any> | null;
        /**
         * The pixel buffer attributes that the compositor requires for pixel buffers that it creates.
         */
        requiredPixelBufferAttributesForRenderContext: Record<string, any>;
        /**
         * A Boolean value that indicates whether the compositor handles source frames that contain high dynamic range (HDR) properties.
         */
        supportsHDRSourceFrames: boolean;
        /**
         * A Boolean value that indicates whether the compositor handles source frames that contains wide color properties.
         */
        supportsWideColorSourceFrames: boolean;
        /**
         * A Boolean value that indicates whether the compositor conforms the color space of source frames to the composition color space.
         */
        canConformColorOfSourceFrames: boolean;
        /**
         * Tells the compositor that the composition changed render contexts.
         */
        renderContextChanged(newRenderContext: AVVideoCompositionRenderContext):void;
        /**
         * Informs a custom video compositor about upcoming rendering requests.
         */
        anticipateRendering(renderHint: AVVideoCompositionRenderHint):void;
        /**
         * Tells a custom video compositor to perform any work in the prerolling phase.
         */
        prerollForRendering(renderHint: AVVideoCompositionRenderHint):void;
        /**
         * Directs a custom video compositor object to create a new pixel buffer composed asynchronously from a collection of sources.
         */
        startRequest(asyncVideoCompositionRequest: AVAsynchronousVideoCompositionRequest):void;
        /**
         * Directs a custom video compositor object to cancel or finish all pending video composition requests.
         */
        cancelAllPendingVideoCompositionRequests():void;
    }
    export class AVVideoCompositionRenderContext extends NSObject {
        /**
         * The video composition being rendered.
         */
        videoComposition: AVVideoComposition;
        /**
         * The rendering quality to use.
         */
        highQualityRendering: boolean;
        /**
         * A scaling ratio that is applied when rendering frames.
         */
        renderScale: Float;
        /**
         * A transform to apply to the source image.
         */
        renderTransform: CGAffineTransform;
        /**
         * The width and height for the rendering frames.
         */
        size: CGSize;
        /**
         * The width of the edge processing region on the left, top, right, and bottom edges, in pixels.
         */
        edgeWidths: AVEdgeWidths;
        /**
         * The pixel aspect ratio for rendered frames.
         */
        pixelAspectRatio: AVPixelAspectRatio;
        /**
         * Returns a pixel buffer to use for rendering.
         */
        newPixelBuffer():CVPixelBuffer | null;
    }
    export class AVEdgeWidths {
        /**
         * The left-edge width.
         */
        left: CGFloat;
        /**
         * The top-edge width.
         */
        top: CGFloat;
        /**
         * The right-edge width.
         */
        right: CGFloat;
        /**
         * The bottom-edge width.
         */
        bottom: CGFloat;
        /**
         * Creates an empty edge widths structure.
         */
        constructor ();
        /**
         * Creates an edge widths structure with floating-point values.
         */
        constructor (left: CGFloat, top: CGFloat, right: CGFloat, bottom: CGFloat);
    }
    export class AVPixelAspectRatio {
        /**
         * The pixel aspect ratio’s horizontal spacing value.
         */
        horizontalSpacing: number;
        /**
         * The pixel aspect ratio’s vertical spacing value.
         */
        verticalSpacing: number;
        /**
         * Creates an empty pixel aspect ratio.
         */
        constructor ();
        /**
         * Creates a pixel aspect ratio with horizontal and vertical spacing values.
         */
        constructor (horizontalSpacing: number, verticalSpacing: number);
    }
    export class AVVideoCompositionRenderHint extends NSObject {
        /**
         * The start time of the upcoming composition requests.
         */
        startCompositionTime: CMTime;
        /**
         * The end time of the upcoming composition requests.
         */
        endCompositionTime: CMTime;
    }
    export class AVAsynchronousVideoCompositionRequest extends NSObject {
        /**
         * A time for which to compose the frame.
         */
        compositionTime: CMTime;
        /**
         * The rendering context of the video composition.
         */
        renderContext: AVVideoCompositionRenderContext;
        /**
         * A video composition instruction that indicates how to compose the frame.
         */
        videoCompositionInstruction: AVVideoCompositionInstructionProtocol;
        /**
         * The identifiers of tracks that contain source video.
         */
        sourceTrackIDs: NSNumber[];
        /**
         * The identifiers of tracks that contain source sample data.
         */
        sourceSampleDataTrackIDs: CMPersistentTrackID[];
        /**
         * Returns a source pixel buffer for the track that contains the specified identifier.
         */
        sourceFrame(trackID: CMPersistentTrackID):CVPixelBuffer | null;
        /**
         * Returns a source sample buffer for the track that contains the specified identifier.
         */
        sourceSampleBuffer(trackID: CMPersistentTrackID):CMSampleBuffer | null;
        /**
         * Returns a source timed metadata group for the track that contains the specified identifier.
         */
        sourceTimedMetadata(trackID: CMPersistentTrackID):AVTimedMetadataGroup | null;
        /**
         * Finishes the request to compose the frame.
         */
        finish(composedVideoFrame: CVPixelBuffer):void;
        /**
         * Cancels the request to compose a video frame.
         */
        finishCancelledRequest():void;
    }
    export class AVAudioMix extends NSObject {
        /**
         * An array of input parameters for the mix.
         */
        inputParameters: AVAudioMixInputParameters[];
    }
    export class AVMutableAudioMix extends AVAudioMix {
        /**
         * An array of input parameters for the mix.
         */
        inputParameters: AVAudioMixInputParameters[];
    }
    export class AVAudioMixInputParameters extends NSObject {
        /**
         * The identifier of the audio track to which the parameters should be applied.
         */
        trackID: CMPersistentTrackID;
        /**
         * The audio processing tap associated with the track.
         */
        audioTapProcessor: MTAudioProcessingTap | null;
        /**
         * The processing algorithm used to manage audio pitch for scaled audio edits.
         */
        audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm | null;
        /**
         * Retrieves the volume ramp that includes the specified time.
         */
        getVolumeRamp(time: CMTime, startVolume: UnsafeMutablePointer<Float> | null, endVolume: UnsafeMutablePointer<Float> | null, timeRange: UnsafeMutablePointer<CMTimeRange> | null):boolean;
    }
    export class AVMutableAudioMixInputParameters extends AVAudioMixInputParameters {
        /**
         * The identifier of the audio track to which the parameters should be applied.
         */
        trackID: CMPersistentTrackID;
        /**
         * The audio processing tap associated with the track.
         */
        audioTapProcessor: MTAudioProcessingTap | null;
        /**
         * The processing algorithm used to manage audio pitch for scaled audio edits.
         */
        audioTimePitchAlgorithm: AVAudioTimePitchAlgorithm | null;
        /**
         * Creates a mutable input parameters object for a given track.
         */
        constructor (track: AVAssetTrack | null);
        /**
         * Sets the value of the audio volume starting at the specified time. 
         */
        setVolume(volume: Float, time: CMTime):void;
        /**
         * Sets a volume ramp to apply during a specified time range.
         */
        setVolumeRamp(startVolume: Float, endVolume: Float, timeRange: CMTimeRange):void;
    }
    export class AVMetadataKey {
        /**
         * A key that represents the accessibility description for the media.
         */
        static commonKeyAccessibilityDescription: AVMetadataKey;
        /**
         * A key that represents the name of the album.
         */
        static commonKeyAlbumName: AVMetadataKey;
        /**
         * A key that represents the name of the artist.
         */
        static commonKeyArtist: AVMetadataKey;
        /**
         * A key that represents an image relating to the album.
         */
        static commonKeyArtwork: AVMetadataKey;
        /**
         * A key that represents the name of the author.
         */
        static commonKeyAuthor: AVMetadataKey;
        /**
         * A key that represents the name of the contributor.
         */
        static commonKeyContributor: AVMetadataKey;
        /**
         * A key that represents the copyright statement.
         */
        static commonKeyCopyrights: AVMetadataKey;
        /**
         * A key that represents the date of the original recording.
         */
        static commonKeyCreationDate: AVMetadataKey;
        /**
         * A key that represents the name of the creator.
         */
        static commonKeyCreator: AVMetadataKey;
        /**
         * A key that represents the description of the media.
         */
        static commonKeyDescription: AVMetadataKey;
        /**
         * A key that represents the file format of the media content.
         */
        static commonKeyFormat: AVMetadataKey;
        /**
         * A key that represents the ID for the media.
         */
        static commonKeyIdentifier: AVMetadataKey;
        /**
         * A key that represents the language of the text or lyrics spoken or sung in the audio.
         */
        static commonKeyLanguage: AVMetadataKey;
        /**
         * A key that represents the last modification date of the media.
         */
        static commonKeyLastModifiedDate: AVMetadataKey;
        /**
         * A key that represents the location information for the media.
         */
        static commonKeyLocation: AVMetadataKey;
        /**
         * A key that represents the name of the camera maker.
         */
        static commonKeyMake: AVMetadataKey;
        /**
         * A key that represents the name of the camera model.
         */
        static commonKeyModel: AVMetadataKey;
        /**
         * A key that represents the name of the publisher.
         */
        static commonKeyPublisher: AVMetadataKey;
        /**
         * A key that represents the relation information for the media.
         */
        static commonKeyRelation: AVMetadataKey;
        /**
         * A key that represents the name of the software used to create the media.
         */
        static commonKeySoftware: AVMetadataKey;
        /**
         * A key that represents the source information for the media.
         */
        static commonKeySource: AVMetadataKey;
        /**
         * A key that represents the subject information for the media.
         */
        static commonKeySubject: AVMetadataKey;
        /**
         * A key that represents the title of the media.
         */
        static commonKeyTitle: AVMetadataKey;
        /**
         * A key that represents the media type.
         */
        static commonKeyType: AVMetadataKey;
        /**
         * A key that represents the kind of iTunes account.
         */
        static iTunesMetadataKeyAccountKind: AVMetadataKey;
        /**
         * A key that represents the acknowledgement information in iTunes.
         */
        static iTunesMetadataKeyAcknowledgement: AVMetadataKey;
        /**
         * A key that represents the name of the album in iTunes.
         */
        static iTunesMetadataKeyAlbum: AVMetadataKey;
        /**
         * A key that represents the artist for the album.
         */
        static iTunesMetadataKeyAlbumArtist: AVMetadataKey;
        /**
         * A key that represents an Apple ID.
         */
        static iTunesMetadataKeyAppleID: AVMetadataKey;
        /**
         * A key that represents the name of the arranger.
         */
        static iTunesMetadataKeyArranger: AVMetadataKey;
        /**
         * A key that represents the name of the art director.
         */
        static iTunesMetadataKeyArtDirector: AVMetadataKey;
        /**
         * A key that represents the name of the artist.
         */
        static iTunesMetadataKeyArtist: AVMetadataKey;
        /**
         * A key that represents the ID for an artist.
         */
        static iTunesMetadataKeyArtistID: AVMetadataKey;
        /**
         * A key that represents the name of the author.
         */
        static iTunesMetadataKeyAuthor: AVMetadataKey;
        /**
         * A key that represents the beats per minute of a track in iTunes.
         */
        static iTunesMetadataKeyBeatsPerMin: AVMetadataKey;
        /**
         * A key that represents the name of the composer.
         */
        static iTunesMetadataKeyComposer: AVMetadataKey;
        /**
         * A key that represents the name of the conductor.
         */
        static iTunesMetadataKeyConductor: AVMetadataKey;
        /**
         * A key that represents the content rating in iTunes.
         */
        static iTunesMetadataKeyContentRating: AVMetadataKey;
        /**
         * A key that represents the copyright statement in iTunes.
         */
        static iTunesMetadataKeyCopyright: AVMetadataKey;
        /**
         * A key that represents an album cover image.
         */
        static iTunesMetadataKeyCoverArt: AVMetadataKey;
        /**
         * A key that represents the credits for the source content.
         */
        static iTunesMetadataKeyCredits: AVMetadataKey;
        /**
         * A key that represents the description information in iTunes.
         */
        static iTunesMetadataKeyDescription: AVMetadataKey;
        /**
         * A key that represents the name of the director.
         */
        static iTunesMetadataKeyDirector: AVMetadataKey;
        /**
         * A key that represents whether an album is a compilation of tracks in iTunes.
         */
        static iTunesMetadataKeyDiscCompilation: AVMetadataKey;
        /**
         * A key that represents the disc number of a multi-CD album in iTunes.
         */
        static iTunesMetadataKeyDiscNumber: AVMetadataKey;
        /**
         * A key that represents the person or organization that encoded the media.
         */
        static iTunesMetadataKeyEncodedBy: AVMetadataKey;
        /**
         * A key that represents the software or hardware and settings used for encoding.
         */
        static iTunesMetadataKeyEncodingTool: AVMetadataKey;
        /**
         * A key that represents the equalizer preset option in iTunes.
         */
        static iTunesMetadataKeyEQ: AVMetadataKey;
        /**
         * A key that represents the name of the executive producer.
         */
        static iTunesMetadataKeyExecProducer: AVMetadataKey;
        /**
         * A key that represents the genre ID.
         */
        static iTunesMetadataKeyGenreID: AVMetadataKey;
        /**
         * A key that represents additional grouping information for an album.
         */
        static iTunesMetadataKeyGrouping: AVMetadataKey;
        /**
         * A key that represents the digital booklet for an album.
         */
        static iTunesMetadataKeyLinerNotes: AVMetadataKey;
        /**
         * A key that represents the lyrics in the recording.
         */
        static iTunesMetadataKeyLyrics: AVMetadataKey;
        /**
         * A key that represents the extra materials for an album.
         */
        static iTunesMetadataKeyOnlineExtras: AVMetadataKey;
        /**
         * A key that represents the name of the original artist.
         */
        static iTunesMetadataKeyOriginalArtist: AVMetadataKey;
        /**
         * A key that represents the name of the performer.
         */
        static iTunesMetadataKeyPerformer: AVMetadataKey;
        /**
         * A key that represents the phonogram rights statement.
         */
        static iTunesMetadataKeyPhonogramRights: AVMetadataKey;
        /**
         * A key that represents the playlist ID.
         */
        static iTunesMetadataKeyPlaylistID: AVMetadataKey;
        /**
         * A key that represents the predefined genre.
         */
        static iTunesMetadataKeyPredefinedGenre: AVMetadataKey;
        /**
         * A key that represents the name of the producer.
         */
        static iTunesMetadataKeyProducer: AVMetadataKey;
        /**
         * A key that represents the name of the publisher.
         */
        static iTunesMetadataKeyPublisher: AVMetadataKey;
        /**
         * A key that represents the name of the record company.
         */
        static iTunesMetadataKeyRecordCompany: AVMetadataKey;
        /**
         * A key that represents the release date for the original recording.
         */
        static iTunesMetadataKeyReleaseDate: AVMetadataKey;
        /**
         * A key that represents the name of the soloist.
         */
        static iTunesMetadataKeySoloist: AVMetadataKey;
        /**
         * A key that represents the song ID.
         */
        static iTunesMetadataKeySongID: AVMetadataKey;
        /**
         * A key that represents the name of the song in iTunes.
         */
        static iTunesMetadataKeySongName: AVMetadataKey;
        /**
         * A key that represents the name of the sound engineer.
         */
        static iTunesMetadataKeySoundEngineer: AVMetadataKey;
        /**
         * A key that represents the thanks statement in iTunes.
         */
        static iTunesMetadataKeyThanks: AVMetadataKey;
        /**
         * A key that represents the order number in iTunes.
         */
        static iTunesMetadataKeyTrackNumber: AVMetadataKey;
        /**
         * A key that represents the information relating to the contents title.
         */
        static iTunesMetadataKeyTrackSubTitle: AVMetadataKey;
        /**
         * A key that represents a user comment regarding the content.
         */
        static iTunesMetadataKeyUserComment: AVMetadataKey;
        /**
         * A key that represents the genre set by a user in iTunes.
         */
        static iTunesMetadataKeyUserGenre: AVMetadataKey;
        /**
         * A key that represents the accessibility description for the movie file content.
         */
        static quickTimeMetadataKeyAccessibilityDescription: AVMetadataKey;
        /**
         * A key that represents the name of the album or collection in QuickTime.
         */
        static quickTimeMetadataKeyAlbum: AVMetadataKey;
        /**
         * A key that represents the name of the arranger of the movie file content.
         */
        static quickTimeMetadataKeyArranger: AVMetadataKey;
        /**
         * A key that represents the name of the artist of the movie file content.
         */
        static quickTimeMetadataKeyArtist: AVMetadataKey;
        /**
         * A key that represents an image relating to the movie file content.
         */
        static quickTimeMetadataKeyArtwork: AVMetadataKey;
        /**
         * A key that represents the name of the author of the movie file content.
         */
        static quickTimeMetadataKeyAuthor: AVMetadataKey;
        /**
         * A key that represents the camera frame readout time in QuickTime.
         */
        static quickTimeMetadataKeyCameraFrameReadoutTime: AVMetadataKey;
        /**
         * A key that represents the camera identifier in QuickTime.
         */
        static quickTimeMetadataKeyCameraIdentifier: AVMetadataKey;
        /**
         * A key that represents a name that indicates a user-defined collection.
         */
        static quickTimeMetadataKeyCollectionUser: AVMetadataKey;
        /**
         * A key that represents a comment regarding the movie file content.
         */
        static quickTimeMetadataKeyComment: AVMetadataKey;
        /**
         * A key that represents the name of the composer of the movie file content.
         */
        static quickTimeMetadataKeyComposer: AVMetadataKey;
        /**
         * A key that represents the content identifier in QuickTime.
         */
        static quickTimeMetadataKeyContentIdentifier: AVMetadataKey;
        /**
         * A key that represents the copyright statement for the movie file content.
         */
        static quickTimeMetadataKeyCopyright: AVMetadataKey;
        /**
         * A key that represents the creation date of the movie file content.
         */
        static quickTimeMetadataKeyCreationDate: AVMetadataKey;
        /**
         * A key that represents the credits of the movie source content.
         */
        static quickTimeMetadataKeyCredits: AVMetadataKey;
        /**
         * A key that represents the description of the movie file content.
         */
        static quickTimeMetadataKeyDescription: AVMetadataKey;
        /**
         * A key that represents the direction the camera is facing during the shot.
         */
        static quickTimeMetadataKeyDirectionFacing: AVMetadataKey;
        /**
         * A key that represents the direction the camera is moving during the shot.
         */
        static quickTimeMetadataKeyDirectionMotion: AVMetadataKey;
        /**
         * A key that represents the name of the director of the movie file content.
         */
        static quickTimeMetadataKeyDirector: AVMetadataKey;
        /**
         * A key that represents the display name of the movie file content.
         */
        static quickTimeMetadataKeyDisplayName: AVMetadataKey;
        /**
         * A key that represents the name of the person or organization responsible for encoding the movie file content.
         */
        static quickTimeMetadataKeyEncodedBy: AVMetadataKey;
        /**
         * A key that represents the genre or genres to which the movie content conforms.
         */
        static quickTimeMetadataKeyGenre: AVMetadataKey;
        /**
         * A key that represents general information about the movie file content.
         */
        static quickTimeMetadataKeyInformation: AVMetadataKey;
        /**
         * A key that represents that the movie is a montage of other media.
         */
        static quickTimeMetadataKeyIsMontage: AVMetadataKey;
        /**
         * A key that represents iXML information for the movie file content.
         */
        static quickTimeMetadataKeyiXML: AVMetadataKey;
        /**
         * A key that represents the keywords for the movie file content.
         */
        static quickTimeMetadataKeyKeywords: AVMetadataKey;
        /**
         * A key that represents the astronomical body for compatibility with the 3GPP format.
         */
        static quickTimeMetadataKeyLocationBody: AVMetadataKey;
        /**
         * A key that represents a date and time using the extended format defined in ISO 8601:2004.
         */
        static quickTimeMetadataKeyLocationDate: AVMetadataKey;
        /**
         * A key that represents the geographic point location by coordinates as defined in ISO 6709:2008.
         */
        static quickTimeMetadataKeyLocationISO6709: AVMetadataKey;
        /**
         * A key that represents the name of the location.
         */
        static quickTimeMetadataKeyLocationName: AVMetadataKey;
        /**
         * A key that represents a descriptive comment about the location.
         */
        static quickTimeMetadataKeyLocationNote: AVMetadataKey;
        /**
         * A key that represents the single byte describing the movie location.
         */
        static quickTimeMetadataKeyLocationRole: AVMetadataKey;
        /**
         * A key that represents the name of the camera maker.
         */
        static quickTimeMetadataKeyMake: AVMetadataKey;
        /**
         * A key that represents the name of the camera model.
         */
        static quickTimeMetadataKeyModel: AVMetadataKey;
        /**
         * A key that represents the name of the original artist of the movie file content.
         */
        static quickTimeMetadataKeyOriginalArtist: AVMetadataKey;
        /**
         * A key that represents the name of the performer in the movie file content.
         */
        static quickTimeMetadataKeyPerformer: AVMetadataKey;
        /**
         * A key that represents the phonogram rights statement.
         */
        static quickTimeMetadataKeyPhonogramRights: AVMetadataKey;
        /**
         * A key that represents the name of the producer of the movie file content.
         */
        static quickTimeMetadataKeyProducer: AVMetadataKey;
        /**
         * A key that represents the name of the publisher of the movie file content.
         */
        static quickTimeMetadataKeyPublisher: AVMetadataKey;
        /**
         * A key that represents the rating or relative value of the movie.
         */
        static quickTimeMetadataKeyRatingUser: AVMetadataKey;
        /**
         * A key that represents the name of software used to create the movie file content.
         */
        static quickTimeMetadataKeySoftware: AVMetadataKey;
        /**
         * A key that represents the title of the movie file content.
         */
        static quickTimeMetadataKeyTitle: AVMetadataKey;
        /**
         * A key that represents the recording year of the movie file content.
         */
        static quickTimeMetadataKeyYear: AVMetadataKey;
        /**
         * A key that represents the accessibility description for the movie file content.
         */
        static quickTimeUserDataKeyAccessibilityDescription: AVMetadataKey;
        /**
         * A key that represents the name of the album or collection in QuickTime.
         */
        static quickTimeUserDataKeyAlbum: AVMetadataKey;
        /**
         * A key that represents the name of the arranger of the movie file content.
         */
        static quickTimeUserDataKeyArranger: AVMetadataKey;
        /**
         * A key that represents the name of the artist of the movie file content.
         */
        static quickTimeUserDataKeyArtist: AVMetadataKey;
        /**
         * A key that represents the name of the author of the movie file content.
         */
        static quickTimeUserDataKeyAuthor: AVMetadataKey;
        /**
         * A key that represents the name of the chapter.
         */
        static quickTimeUserDataKeyChapter: AVMetadataKey;
        /**
         * A key that represents a comment regarding the movie file content.
         */
        static quickTimeUserDataKeyComment: AVMetadataKey;
        /**
         * A key that represents the name of the composer of the movie file content.
         */
        static quickTimeUserDataKeyComposer: AVMetadataKey;
        /**
         * A key that represents the copyright statement in QuickTime.
         */
        static quickTimeUserDataKeyCopyright: AVMetadataKey;
        /**
         * A key that represents the creation date of the movie file content.
         */
        static quickTimeUserDataKeyCreationDate: AVMetadataKey;
        /**
         * A key that represents the credits of movie source content.
         */
        static quickTimeUserDataKeyCredits: AVMetadataKey;
        /**
         * A key that represents the description of the movie file content.
         */
        static quickTimeUserDataKeyDescription: AVMetadataKey;
        /**
         * A key that represents the name of the director of the movie file content.
         */
        static quickTimeUserDataKeyDirector: AVMetadataKey;
        /**
         * A key that represents the disclaimer regarding the movie file content.
         */
        static quickTimeUserDataKeyDisclaimer: AVMetadataKey;
        /**
         * A key that represents the name of the person or organization responsible for encoding the movie file content.
         */
        static quickTimeUserDataKeyEncodedBy: AVMetadataKey;
        /**
         * A key that represents the full name of the movie file content.
         */
        static quickTimeUserDataKeyFullName: AVMetadataKey;
        /**
         * A key that represents the genre or genres to which the movie content conforms.
         */
        static quickTimeUserDataKeyGenre: AVMetadataKey;
        /**
         * A key that represents the name of the host computer.
         */
        static quickTimeUserDataKeyHostComputer: AVMetadataKey;
        /**
         * A key that represents general information about the movie file content.
         */
        static quickTimeUserDataKeyInformation: AVMetadataKey;
        /**
         * A key that represents the keywords for the movie file content.
         */
        static quickTimeUserDataKeyKeywords: AVMetadataKey;
        /**
         * A key that represents the geographic point location by coordinates as defined in ISO 6709:2008.
         */
        static quickTimeUserDataKeyLocationISO6709: AVMetadataKey;
        /**
         * A key that represents the name of the camera maker.
         */
        static quickTimeUserDataKeyMake: AVMetadataKey;
        /**
         * A key that represents the name of the camera model.
         */
        static quickTimeUserDataKeyModel: AVMetadataKey;
        /**
         * A key that represents the name of the original artist of the movie file content.
         */
        static quickTimeUserDataKeyOriginalArtist: AVMetadataKey;
        /**
         * A key that represents the original format of the movie file content.
         */
        static quickTimeUserDataKeyOriginalFormat: AVMetadataKey;
        /**
         * A key that represents the original source of the movie file content.
         */
        static quickTimeUserDataKeyOriginalSource: AVMetadataKey;
        /**
         * A key that represents the name of the performers in the movie file content.
         */
        static quickTimeUserDataKeyPerformers: AVMetadataKey;
        /**
         * A key that represents the phonogram rights statement.
         */
        static quickTimeUserDataKeyPhonogramRights: AVMetadataKey;
        /**
         * A key that represents the name of the producer of the movie file content.
         */
        static quickTimeUserDataKeyProducer: AVMetadataKey;
        /**
         * A key that represents the name of the product.
         */
        static quickTimeUserDataKeyProduct: AVMetadataKey;
        /**
         * A key that represents the name of the publisher of the movie file content.
         */
        static quickTimeUserDataKeyPublisher: AVMetadataKey;
        /**
         * A key that represents the name of software used to create the movie file content.
         */
        static quickTimeUserDataKeySoftware: AVMetadataKey;
        /**
         * A key that represents the special hardware and software requirements for playback.
         */
        static quickTimeUserDataKeySpecialPlaybackRequirements: AVMetadataKey;
        /**
         * A key that represents the tagged characteristic.
         */
        static quickTimeUserDataKeyTaggedCharacteristic: AVMetadataKey;
        /**
         * A key that represents a track in the movie file content.
         */
        static quickTimeUserDataKeyTrack: AVMetadataKey;
        /**
         * A key that represents the name of a track in the movie file content.
         */
        static quickTimeUserDataKeyTrackName: AVMetadataKey;
        /**
         * A key that represents the webpage for the movie file content.
         */
        static quickTimeUserDataKeyURLLink: AVMetadataKey;
        /**
         * A key that represents the warning text for the movie file content.
         */
        static quickTimeUserDataKeyWarning: AVMetadataKey;
        /**
         * A key that represents the name of the writer of the movie file content.
         */
        static quickTimeUserDataKeyWriter: AVMetadataKey;
        /**
         * A key that represents how to sort the album.
         */
        static id3MetadataKeyAlbumSortOrder: AVMetadataKey;
        /**
         * A key that represents the title of the recording.
         */
        static id3MetadataKeyAlbumTitle: AVMetadataKey;
        /**
         * A key that represents an image relating to the audio file.
         */
        static id3MetadataKeyAttachedPicture: AVMetadataKey;
        /**
         * A key that represents the encryption details of the audio stream.
         */
        static id3MetadataKeyAudioEncryption: AVMetadataKey;
        /**
         * A key that represents the list of seek points within the audio file.
         */
        static id3MetadataKeyAudioSeekPointIndex: AVMetadataKey;
        /**
         * A key that represents additional information about the performers in the recording.
         */
        static id3MetadataKeyBand: AVMetadataKey;
        /**
         * A key that represents the beats per minute of the audio.
         */
        static id3MetadataKeyBeatsPerMinute: AVMetadataKey;
        /**
         * A key that represents additional text information for the media.
         */
        static id3MetadataKeyComments: AVMetadataKey;
        /**
         * A key that represents the commercial details for the media.
         */
        static id3MetadataKeyCommercial: AVMetadataKey;
        /**
         * A key that represents the webpage containing purchasing information.
         */
        static id3MetadataKeyCommercialInformation: AVMetadataKey;
        /**
         * A key that represents the name of the composer.
         */
        static id3MetadataKeyComposer: AVMetadataKey;
        /**
         * A key that represents the name of the conductor.
         */
        static id3MetadataKeyConductor: AVMetadataKey;
        /**
         * A key that indicates the sound belongs to a larger category of sounds or music.
         */
        static id3MetadataKeyContentGroupDescription: AVMetadataKey;
        /**
         * A key that represents the media content type.
         */
        static id3MetadataKeyContentType: AVMetadataKey;
        /**
         * A key that represents the copyright statement.
         */
        static id3MetadataKeyCopyright: AVMetadataKey;
        /**
         * A key that represents the webpage describing the terms of use and ownership.
         */
        static id3MetadataKeyCopyrightInformation: AVMetadataKey;
        /**
         * A key that represents the date for the recording.
         */
        static id3MetadataKeyDate: AVMetadataKey;
        /**
         * A key that represents the person or organization responsible for encoding the media.
         */
        static id3MetadataKeyEncodedBy: AVMetadataKey;
        /**
         * A key that represents the software or hardware and settings used for encoding.
         */
        static id3MetadataKeyEncodedWith: AVMetadataKey;
        /**
         * A key that represents the encoding time of the audio.
         */
        static id3MetadataKeyEncodingTime: AVMetadataKey;
        /**
         * A key that represents the encryption method used.
         */
        static id3MetadataKeyEncryption: AVMetadataKey;
        /**
         * A key that represents the equalization curve within the audio file.
         */
        static id3MetadataKeyEqualization: AVMetadataKey;
        /**
         * A key that represents the equalization curve within the audio file.
         */
        static id3MetadataKeyEqualization2: AVMetadataKey;
        /**
         * A key that represents the timing codes used for synchronization with key events in a song or sound.
         */
        static id3MetadataKeyEventTimingCodes: AVMetadataKey;
        /**
         * A key that represents the name of the owner or licensee of the file and it’s contents.
         */
        static id3MetadataKeyFileOwner: AVMetadataKey;
        /**
         * A key that represents the file type of the audio.
         */
        static id3MetadataKeyFileType: AVMetadataKey;
        /**
         * A key that represents the details of a file.
         */
        static id3MetadataKeyGeneralEncapsulatedObject: AVMetadataKey;
        /**
         * A key that represents the grouping of distinct frames.
         */
        static id3MetadataKeyGroupIdentifier: AVMetadataKey;
        /**
         * A key that represents the musical key in which the sound starts.
         */
        static id3MetadataKeyInitialKey: AVMetadataKey;
        /**
         * A key that represents the international standard recording code.
         */
        static id3MetadataKeyInternationalStandardRecordingCode: AVMetadataKey;
        /**
         * A key that represents the name of the internet radio station streaming the audio.
         */
        static id3MetadataKeyInternetRadioStationName: AVMetadataKey;
        /**
         * A key that represents the name of the owner of the internet radio station streaming the audio.
         */
        static id3MetadataKeyInternetRadioStationOwner: AVMetadataKey;
        /**
         * A key that represents the list of names of contributors to the media.
         */
        static id3MetadataKeyInvolvedPeopleList_v23: AVMetadataKey;
        /**
         * A key that represents the list of names of contributors to the media.
         */
        static id3MetadataKeyInvolvedPeopleList_v24: AVMetadataKey;
        /**
         * A key that represents the language of the text or lyrics spoken or sung in the audio.
         */
        static id3MetadataKeyLanguage: AVMetadataKey;
        /**
         * A key that represents the main artist of the recording.
         */
        static id3MetadataKeyLeadPerformer: AVMetadataKey;
        /**
         * A key that represents the length of the audio file in milliseconds.
         */
        static id3MetadataKeyLength: AVMetadataKey;
        /**
         * A key that represents the link information from an ID3 tag that might reside in another audio file or alone in a binary file.
         */
        static id3MetadataKeyLink: AVMetadataKey;
        /**
         * A key that represents the writer(s) of the text or lyrics in the recording.
         */
        static id3MetadataKeyLyricist: AVMetadataKey;
        /**
         * A key that represents which media the sound originated from.
         */
        static id3MetadataKeyMediaType: AVMetadataKey;
        /**
         * A key that represents the people behind a remix and similar interpretations of another existing piece.
         */
        static id3MetadataKeyModifiedBy: AVMetadataKey;
        /**
         * A key that represents the mood of the audio.
         */
        static id3MetadataKeyMood: AVMetadataKey;
        /**
         * A key that represents the lookup table used to increase performance and accuracy of jumps within an MPEG audio file.
         */
        static id3MetadataKeyMPEGLocationLookupTable: AVMetadataKey;
        /**
         * A key that represents the ID used to identify the CD in databases such as the Compact Disc Database.
         */
        static id3MetadataKeyMusicCDIdentifier: AVMetadataKey;
        /**
         * A key that represents the mapping between an instrument and the musician that played it.
         */
        static id3MetadataKeyMusicianCreditsList: AVMetadataKey;
        /**
         * A key that represents the artist’s official webpage.
         */
        static id3MetadataKeyOfficialArtistWebpage: AVMetadataKey;
        /**
         * A key that represents the official webpage for the audio file.
         */
        static id3MetadataKeyOfficialAudioFileWebpage: AVMetadataKey;
        /**
         * A key that represents the official webpage for the source of the audio file.
         */
        static id3MetadataKeyOfficialAudioSourceWebpage: AVMetadataKey;
        /**
         * A key that represents the official homepage of the internet radio station.
         */
        static id3MetadataKeyOfficialInternetRadioStationHomepage: AVMetadataKey;
        /**
         * A key that represents the official webpage for the publisher.
         */
        static id3MetadataKeyOfficialPublisherWebpage: AVMetadataKey;
        /**
         * A key that represents the title of the original recording or source of sound.
         */
        static id3MetadataKeyOriginalAlbumTitle: AVMetadataKey;
        /**
         * A key that represents the performer(s) of the original recording.
         */
        static id3MetadataKeyOriginalArtist: AVMetadataKey;
        /**
         * A key that represents the original filename for the recording.
         */
        static id3MetadataKeyOriginalFilename: AVMetadataKey;
        /**
         * A key that represents the text writer(s) of the original recording.
         */
        static id3MetadataKeyOriginalLyricist: AVMetadataKey;
        /**
         * A key that represents the release time for the original recording.
         */
        static id3MetadataKeyOriginalReleaseTime: AVMetadataKey;
        /**
         * A key that represents the release year for the original recording.
         */
        static id3MetadataKeyOriginalReleaseYear: AVMetadataKey;
        /**
         * A key that represents the transaction details indicating proof of ownership if signed.
         */
        static id3MetadataKeyOwnership: AVMetadataKey;
        /**
         * A key that represents the part of a set the audio came from.
         */
        static id3MetadataKeyPartOfASet: AVMetadataKey;
        /**
         * A key that represents the webpage that handles the process of paying for the audio file.
         */
        static id3MetadataKeyPayment: AVMetadataKey;
        /**
         * A key that represents the performer sort order.
         */
        static id3MetadataKeyPerformerSortOrder: AVMetadataKey;
        /**
         * A key that represents the play count of the audio file.
         */
        static id3MetadataKeyPlayCounter: AVMetadataKey;
        /**
         * A key that represents the number of milliseconds of silence between every song in a playlist.
         */
        static id3MetadataKeyPlaylistDelay: AVMetadataKey;
        /**
         * A key that represents the rating for the audio file.
         */
        static id3MetadataKeyPopularimeter: AVMetadataKey;
        /**
         * A key that represents the time offset of the first frame in the stream.
         */
        static id3MetadataKeyPositionSynchronization: AVMetadataKey;
        /**
         * A key that represents the information from a software producer that its program uses.
         */
        static id3MetadataKeyPrivate: AVMetadataKey;
        /**
         * A key that represents the produced notice.
         */
        static id3MetadataKeyProducedNotice: AVMetadataKey;
        /**
         * A key that represents the name of the label or publisher.
         */
        static id3MetadataKeyPublisher: AVMetadataKey;
        /**
         * A key that represents the buffer size the server recommends.
         */
        static id3MetadataKeyRecommendedBufferSize: AVMetadataKey;
        /**
         * A key that represents additional recording dates that complement year, date, and time keys.
         */
        static id3MetadataKeyRecordingDates: AVMetadataKey;
        /**
         * A key that represents the recording time.
         */
        static id3MetadataKeyRecordingTime: AVMetadataKey;
        /**
         * A key that represents the increase or decrease of volume on each channel while the file plays.
         */
        static id3MetadataKeyRelativeVolumeAdjustment: AVMetadataKey;
        /**
         * A key that represents the increase or decrease of volume on each channel while the file plays.
         */
        static id3MetadataKeyRelativeVolumeAdjustment2: AVMetadataKey;
        /**
         * A key that represents the time of the first release.
         */
        static id3MetadataKeyReleaseTime: AVMetadataKey;
        /**
         * A key that represents the adjustments to echoes of different kinds.
         */
        static id3MetadataKeyReverb: AVMetadataKey;
        /**
         * A key that represents the location of other tags in a file or stream.
         */
        static id3MetadataKeySeek: AVMetadataKey;
        /**
         * A key that represents the set subtitle the track belongs to.
         */
        static id3MetadataKeySetSubtitle: AVMetadataKey;
        /**
         * A key that represents the group of frames to sign.
         */
        static id3MetadataKeySignature: AVMetadataKey;
        /**
         * A key that represents the size of the audio file in bytes.
         */
        static id3MetadataKeySize: AVMetadataKey;
        /**
         * A key that represents the information relating to the contents title.
         */
        static id3MetadataKeySubTitle: AVMetadataKey;
        /**
         * A key that represents the words in the audio file as text in sync with the audio.
         */
        static id3MetadataKeySynchronizedLyric: AVMetadataKey;
        /**
         * A key that represents the tempo codes used for a more accurate description of the tempo of a musical piece.
         */
        static id3MetadataKeySynchronizedTempoCodes: AVMetadataKey;
        /**
         * A key that represents the time of tagging.
         */
        static id3MetadataKeyTaggingTime: AVMetadataKey;
        /**
         * A key that represents the brief description of the terms of use and ownership of the file.
         */
        static id3MetadataKeyTermsOfUse: AVMetadataKey;
        /**
         * A key that represents the time for the recording.
         */
        static id3MetadataKeyTime: AVMetadataKey;
        /**
         * A key that represents the name of the piece.
         */
        static id3MetadataKeyTitleDescription: AVMetadataKey;
        /**
         * A key that represents the title sort order.
         */
        static id3MetadataKeyTitleSortOrder: AVMetadataKey;
        /**
         * A key that represents the order number of the audio file.
         */
        static id3MetadataKeyTrackNumber: AVMetadataKey;
        /**
         * A key that represents the identifier used to indicate the audio file in a database.
         */
        static id3MetadataKeyUniqueFileIdentifier: AVMetadataKey;
        /**
         * A key that represents the lyrics of the song or a text transcription of other vocal activities.
         */
        static id3MetadataKeyUnsynchronizedLyric: AVMetadataKey;
        /**
         * A key that represents the user text information frame.
         */
        static id3MetadataKeyUserText: AVMetadataKey;
        /**
         * A key that represents the user webpage frame.
         */
        static id3MetadataKeyUserURL: AVMetadataKey;
        /**
         * A key that represents the year of the recording.
         */
        static id3MetadataKeyYear: AVMetadataKey;
        /**
         * A key that represents the commerical frame.
         */
        static id3MetadataKeyCommerical: AVMetadataKey;
        /**
         * A key that represents the text for the album and track titles.
         */
        static metadata3GPUserDataKeyAlbumAndTrack: AVMetadataKey;
        /**
         * A key that represents the author of the media.
         */
        static metadata3GPUserDataKeyAuthor: AVMetadataKey;
        /**
         * A key that represents the collection name for the media.
         */
        static metadata3GPUserDataKeyCollection: AVMetadataKey;
        /**
         * A key that represents the copyright statement.
         */
        static metadata3GPUserDataKeyCopyright: AVMetadataKey;
        /**
         * A key that represents the description for the media.
         */
        static metadata3GPUserDataKeyDescription: AVMetadataKey;
        /**
         * A key that represents the genre of the media.
         */
        static metadata3GPUserDataKeyGenre: AVMetadataKey;
        /**
         * A key that represents the list of keywords for the media.
         */
        static metadata3GPUserDataKeyKeywordList: AVMetadataKey;
        /**
         * A key that represents the location information for the media.
         */
        static metadata3GPUserDataKeyLocation: AVMetadataKey;
        /**
         * A key that represents the classification of the media content.
         */
        static metadata3GPUserDataKeyMediaClassification: AVMetadataKey;
        /**
         * A key that represents the rating of the media content.
         */
        static metadata3GPUserDataKeyMediaRating: AVMetadataKey;
        /**
         * A key that represents information about the performer.
         */
        static metadata3GPUserDataKeyPerformer: AVMetadataKey;
        /**
         * A key that represents the recording year for the media.
         */
        static metadata3GPUserDataKeyRecordingYear: AVMetadataKey;
        /**
         * A key that represents the media thumbnail.
         */
        static metadata3GPUserDataKeyThumbnail: AVMetadataKey;
        /**
         * A key that represents the title for the media.
         */
        static metadata3GPUserDataKeyTitle: AVMetadataKey;
        /**
         * A key that represents the user rating.
         */
        static metadata3GPUserDataKeyUserRating: AVMetadataKey;
        /**
         * A key that represents the accessibility description for the media content.
         */
        static isoUserDataKeyAccessibilityDescription: AVMetadataKey;
        /**
         * A key that represents the copyright statement.
         */
        static isoUserDataKeyCopyright: AVMetadataKey;
        /**
         * A key that represents the date for the media content.
         */
        static isoUserDataKeyDate: AVMetadataKey;
        /**
         * A key that represents the tagged media characteristic used for identifying accessibility features.
         */
        static isoUserDataKeyTaggedCharacteristic: AVMetadataKey;
        /**
         * A key that represents the title of a stream.
         */
        static icyMetadataKeyStreamTitle: AVMetadataKey;
        /**
         * A key that represents the web address of a stream.
         */
        static icyMetadataKeyStreamURL: AVMetadataKey;
        /**
         * Creates a metadata key.
         */
        constructor (rawValue: string);
        /**
         * Creates a metadata key with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class AVError {
        /**
         * The error domain for framework errors.
         */
        static errorDomain: string;
        /**
         * The AirPlay controller requires an internet connection to function.
         */
        static airPlayControllerRequiresInternet: AVError.Code;
        /**
         * The AirPlay receiver requires an internet connection to function.
         */
        static airPlayReceiverRequiresInternet: AVError.Code;
        /**
         * An AirPlay receiver is temporarily unavailable.
         */
        static airPlayReceiverTemporarilyUnavailable: AVError.Code;
        /**
         * The app isn’t authorized to play media.
         */
        static applicationIsNotAuthorized: AVError.Code;
        /**
         * The user denied this app permission to capture media.
         */
        static applicationIsNotAuthorizedToUseDevice: AVError.Code;
        /**
         * The composition can’t add the source media because it contains gaps.
         */
        static compositionTrackSegmentsNotContiguous: AVError.Code;
        /**
         * The user isn’t authorized to play the media.
         */
        static contentIsNotAuthorized: AVError.Code;
        /**
         * The app isn’t authorized to open the media.
         */
        static contentIsProtected: AVError.Code;
        /**
         * The captured content is unavailable.
         */
        static contentIsUnavailable: AVError.Code;
        /**
         * The app canceled a request to retrieve a content key.
         */
        static contentKeyRequestCancelled: AVError.Code;
        /**
         * The system couldn’t update the captured content.
         */
        static contentNotUpdated: AVError.Code;
        /**
         * The app couldn’t create a content key request.
         */
        static createContentKeyRequestFailed: AVError.Code;
        /**
         * The system failed to decode the media.
         */
        static decodeFailed: AVError.Code;
        /**
         * The system can’t find a suitable decoder for the media.
         */
        static decoderNotFound: AVError.Code;
        /**
         * A suitable decoder for the media is temporarily available.
         */
        static decoderTemporarilyUnavailable: AVError.Code;
        /**
         * Your app can’t access the device because another session is currently using it.
         */
        static deviceAlreadyUsedByAnotherSession: AVError.Code;
        /**
         * Your app can’t access the device because another app is currently using it.
         */
        static deviceInUseByAnotherApplication: AVError.Code;
        /**
         * Your app can’t change device settings because another process currently controls the device.
         */
        static deviceLockedForConfigurationByAnotherProcess: AVError.Code;
        /**
         * You app can’t access the device because it isn’t connected.
         */
        static deviceNotConnected: AVError.Code;
        /**
         * A previously connected device is no longer accessible.
         */
        static deviceWasDisconnected: AVError.Code;
        /**
         * Recording stopped because the disk is full.
         */
        static diskFull: AVError.Code;
        /**
         * Screen capture failed because the display was inactive.
         */
        static displayWasDisabled: AVError.Code;
        /**
         * The requested encoder isn’t found.
         */
        static encoderNotFound: AVError.Code;
        /**
         * An appropriate encoder isn’t currently available.
         */
        static encoderTemporarilyUnavailable: AVError.Code;
        /**
         * The requested export operation failed.
         */
        static exportFailed: AVError.Code;
        /**
         * The current asset doesn’t support playback.
         */
        static externalPlaybackNotSupportedForAsset: AVError.Code;
        /**
         * The system can’t load the requested media data.
         */
        static failedToLoadMediaData: AVError.Code;
        /**
         * The system can’t load the requested sample data.
         */
        static failedToLoadSampleData: AVError.Code;
        /**
         * The system can’t parse the media.
         */
        static failedToParse: AVError.Code;
        /**
         * A file with the same name exists at the location and you can’t overwrite it.
         */
        static fileAlreadyExists: AVError.Code;
        /**
         * The file is corrupt or in an unrecognized format.
         */
        static fileFailedToParse: AVError.Code;
        /**
         * The system can’t open the file because it’s in an unrecognized format.
         */
        static fileFormatNotRecognized: AVError.Code;
        /**
         * The file type doesn’t support sample references.
         */
        static fileTypeDoesNotSupportSampleReferences: AVError.Code;
        /**
         * The current asset format isn’t supported.
         */
        static formatUnsupported: AVError.Code;
        /**
         * You can’t display the media because the device isn’t capable of playing the content.
         */
        static incompatibleAsset: AVError.Code;
        /**
         * The system is incorrectly configured for the requested operation.
         */
        static incorrectlyConfigured: AVError.Code;
        /**
         * You can’t add the source media because its duration in the destination is invalid.
         */
        static invalidCompositionTrackSegmentDuration: AVError.Code;
        /**
         * You can’t add the source media because it has no duration.
         */
        static invalidCompositionTrackSegmentSourceDuration: AVError.Code;
        /**
         * You can’t add the source media because its start time in the destination is invalid.
         */
        static invalidCompositionTrackSegmentSourceStartTime: AVError.Code;
        /**
         * The path extension of the output URL is invalid.
         */
        static invalidOutputURLPathExtension: AVError.Code;
        /**
         * An invalid sample cursor produced an error.
         */
        static invalidSampleCursor: AVError.Code;
        /**
         * The system couldn’t read the source media.
         */
        static invalidSourceMedia: AVError.Code;
        /**
         * You attempted to present an unsupported video composition.
         */
        static invalidVideoComposition: AVError.Code;
        /**
         * The depth data isn’t properly structured.
         */
        static malformedDepth: AVError.Code;
        /**
         * The recording stopped because it reached the file’s maximum duration.
         */
        static maximumDurationReached: AVError.Code;
        /**
         * The recording stopped because it reached the file’s maximum size.
         */
        static maximumFileSizeReached: AVError.Code;
        /**
         * The recording stopped because it reached the file’s maximum number of samples.
         */
        static maximumNumberOfSamplesForFileFormatReached: AVError.Code;
        /**
         * Your app can’t take a photo because there are too many unfinished photo capture requests.
         */
        static maximumStillImageCaptureRequestsExceeded: AVError.Code;
        /**
         * Recording stopped because the format of the source media changed.
         */
        static mediaChanged: AVError.Code;
        /**
         * Recording stopped because there was an interruption in the input media.
         */
        static mediaDiscontinuity: AVError.Code;
        /**
         * The system couldn’t perform the operation because media services were unavailable.
         */
        static mediaServicesWereReset: AVError.Code;
        /**
         * The system found no compatible external displays.
         */
        static noCompatibleAlternatesForExternalDisplay: AVError.Code;
        /**
         * The recording failed because the system received no data.
         */
        static noDataCaptured: AVError.Code;
        /**
         * No image is available in the media at the indicated time.
         */
        static noImageAtTime: AVError.Code;
        /**
         * The asset is no longer playable.
         */
        static noLongerPlayable: AVError.Code;
        /**
         * The asset doesn’t contain a source track.
         */
        static noSourceTrack: AVError.Code;
        /**
         * The asset handled a request to cancel loading a property value asynchronously.
         */
        static operationCancelled: AVError.Code;
        /**
         * An interruption occurred while performing a reading or writing operation.
         */
        static operationInterrupted: AVError.Code;
        /**
         * The requested operation isn’t allowed.
         */
        static operationNotAllowed: AVError.Code;
        /**
         * Your app attempted to perform an unsupported operation with the asset.
         */
        static operationNotSupportedForAsset: AVError.Code;
        /**
         * Your app attempted to perform an unsupported operation for the current preset.
         */
        static operationNotSupportedForPreset: AVError.Code;
        /**
         * The operation couldn’t finish because there isn’t enough memory available to process the media.
         */
        static outOfMemory: AVError.Code;
        /**
         * Your app attempted to start recording a movie file while an existing recording is underway.
         */
        static recordingAlreadyInProgress: AVError.Code;
        /**
         * The current reference restrictions prevent the system from loading referenced media.
         */
        static referenceForbiddenByReferencePolicy: AVError.Code;
        /**
         * The system doesn’t have Rosetta installed and can’t perform the requested operation.
         */
        static rosettaNotInstalled: AVError.Code;
        /**
         * An unexpected problem occurred that prevented screen capture.
         */
        static screenCaptureFailed: AVError.Code;
        /**
         * The operation attempted to write a new MPEG-4 segment that didn’t start with a sync sample.
         */
        static segmentStartedWithNonSyncSample: AVError.Code;
        /**
         * The configuration of the HTTP server that streams the media resource isn’t correct.
         */
        static serverIncorrectlyConfigured: AVError.Code;
        /**
         * Recording stopped because the configuration of media sources and destinations changed.
         */
        static sessionConfigurationChanged: AVError.Code;
        /**
         * Your app requested too many camera hardware resources.
         */
        static sessionHardwareCostOverage: AVError.Code;
        /**
         * The recording couldn’t start because the session isn’t running.
         */
        static sessionNotRunning: AVError.Code;
        /**
         * The recording stopped because the system interrupted the audio session.
         */
        static sessionWasInterrupted: AVError.Code;
        /**
         * The specified torch level is valid but currently unavailable, possibly due to overheating.
         */
        static torchLevelUnavailable: AVError.Code;
        /**
         * The system couldn’t decode the media data.
         */
        static undecodableMediaData: AVError.Code;
        /**
         * An unknown error occurred.
         */
        static unknown: AVError.Code;
        /**
         * The capture session doesn’t support the camera device’s active format.
         */
        static unsupportedDeviceActiveFormat: AVError.Code;
        /**
         * Your app requested unsupported output settings.
         */
        static unsupportedOutputSettings: AVError.Code;
        /**
         * The compositor couldn’t composite video frames.
         */
        static videoCompositorFailed: AVError.Code;
        /**
         * You attempted to start a capture session in the background, which isn’t allowed in iOS.
         */
        static deviceIsNotAvailableInBackground: AVError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The integer error code.
         */
        errorCode: number;
        /**
         * The user information associated with the error.
         */
        userInfo: Record<string, any>;
        /**
         * The error user information associated with the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The capture device in use.
         */
        device: AVCaptureDevice | null;
        /**
         * The asset file size.
         */
        fileSize: Int64 | null;
        /**
         * The asset file type.
         */
        fileType: AVFileType | null;
        /**
         * The error’s localized description.
         */
        localizedDescription: string;
        /**
         * An array of media subtypes.
         */
        mediaSubtypes: number[] | null;
        /**
         * The asset media type.
         */
        mediaType: AVMediaType | null;
        /**
         * The persistent track ID, if the track exists.
         */
        persistentTrackID: CMPersistentTrackID | null;
        /**
         * The presentation time stamp.
         */
        presentationTimeStamp: CMTime | null;
        /**
         * The process ID.
         */
        processID: number;
        /**
         * A Boolean value that indicates whether recording finished successfully.
         */
        recordingSuccessfullyFinished: boolean;
        /**
         * The time duration of the error.
         */
        time: CMTime | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an error structure with a code and custom data.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class AVError
     */
    export namespace AVError {
        export enum Code {
            airPlayControllerRequiresInternet = -11856,
            airPlayReceiverRequiresInternet = -11857,
            airPlayReceiverTemporarilyUnavailable = -11882,
            applicationIsNotAuthorized = -11836,
            applicationIsNotAuthorizedToUseDevice = -11852,
            compositionTrackSegmentsNotContiguous = -11824,
            contentIsNotAuthorized = -11835,
            contentIsProtected = -11831,
            contentIsUnavailable = -11863,
            contentKeyRequestCancelled = -11879,
            contentNotUpdated = -11866,
            createContentKeyRequestFailed = -11860,
            decodeFailed = -11821,
            decoderNotFound = -11833,
            decoderTemporarilyUnavailable = -11839,
            deviceAlreadyUsedByAnotherSession = -11804,
            deviceInUseByAnotherApplication = -11815,
            deviceLockedForConfigurationByAnotherProcess = -11817,
            deviceNotConnected = -11814,
            deviceWasDisconnected = -11808,
            diskFull = -11807,
            displayWasDisabled = -11845,
            encoderNotFound = -11834,
            encoderTemporarilyUnavailable = -11840,
            exportFailed = -11820,
            externalPlaybackNotSupportedForAsset = -11870,
            failedToLoadMediaData = -11849,
            failedToLoadSampleData = -11881,
            failedToParse = -11853,
            fileAlreadyExists = -11823,
            fileFailedToParse = -11829,
            fileFormatNotRecognized = -11828,
            fileTypeDoesNotSupportSampleReferences = -11854,
            formatUnsupported = -11864,
            incompatibleAsset = -11848,
            incorrectlyConfigured = -11875,
            invalidCompositionTrackSegmentDuration = -11825,
            invalidCompositionTrackSegmentSourceDuration = -11827,
            invalidCompositionTrackSegmentSourceStartTime = -11826,
            invalidOutputURLPathExtension = -11843,
            invalidSampleCursor = -11880,
            invalidSourceMedia = -11822,
            invalidVideoComposition = -11841,
            malformedDepth = -11865,
            maximumDurationReached = -11810,
            maximumFileSizeReached = -11811,
            maximumNumberOfSamplesForFileFormatReached = -11813,
            maximumStillImageCaptureRequestsExceeded = -11830,
            mediaChanged = -11809,
            mediaDiscontinuity = -11812,
            mediaServicesWereReset = -11819,
            noCompatibleAlternatesForExternalDisplay = -11868,
            noDataCaptured = -11805,
            noImageAtTime = -11832,
            noLongerPlayable = -11867,
            noSourceTrack = -11869,
            operationCancelled = -11878,
            operationInterrupted = -11847,
            operationNotAllowed = -11862,
            operationNotSupportedForAsset = -11838,
            operationNotSupportedForPreset = -11871,
            outOfMemory = -11801,
            recordingAlreadyInProgress = -11859,
            referenceForbiddenByReferencePolicy = -11842,
            rosettaNotInstalled = -11877,
            screenCaptureFailed = -11844,
            segmentStartedWithNonSyncSample = -11876,
            serverIncorrectlyConfigured = -11850,
            sessionConfigurationChanged = -11806,
            sessionHardwareCostOverage = -11872,
            sessionNotRunning = -11803,
            sessionWasInterrupted = -11818,
            torchLevelUnavailable = -11846,
            undecodableMediaData = -11855,
            unknown = -11800,
            unsupportedDeviceActiveFormat = -11873,
            unsupportedOutputSettings = -11861,
            videoCompositorFailed = -11858,
            deviceIsNotAvailableInBackground = -11837,
        }
    }
    export class AVCaptureDeskViewApplication extends NSObject {
        present(completionHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class AVCaptureDeskViewApplication
     */
    export namespace AVCaptureDeskViewApplication {
        export class LaunchConfiguration extends NSObject {
            mainWindowFrame: CGRect;
            requiresSetUpModeCompletion: boolean;
        }
    }
    export class AVMetadataKeySpace {
        /**
         * The common key space.
         */
        static common: AVMetadataKeySpace;
        /**
         * The AudioToolbox audio file key space.
         */
        static audioFile: AVMetadataKeySpace;
        /**
         * The HTTP Live Streaming key space.
         */
        static hlsDateRange: AVMetadataKeySpace;
        /**
         * The iTunes key space.
         */
        static iTunes: AVMetadataKeySpace;
        /**
         * The Icecast/ShoutCAST streaming key space.
         */
        static icy: AVMetadataKeySpace;
        /**
         * The ID3 key space.
         */
        static id3: AVMetadataKeySpace;
        /**
         * The ISO key space.
         */
        static isoUserData: AVMetadataKeySpace;
        /**
         * The QuickTime metadata key space.
         */
        static quickTimeMetadata: AVMetadataKeySpace;
        /**
         * The QuickTime user data key space.
         */
        static quickTimeUserData: AVMetadataKeySpace;
        /**
         * Creates a key space with a string.
         */
        constructor (rawValue: string);
        /**
         * Creates a key space with a raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVMetadataExtraAttributeKey {
        /**
         * A key that identifies a resource to use as the item’s value.
         */
        static valueURI: AVMetadataExtraAttributeKey;
        /**
         * A key that identifies the base URI the item uses to resolve its related URIs.
         */
        static baseURI: AVMetadataExtraAttributeKey;
        /**
         * A key that identifies more information about the item.
         */
        static info: AVMetadataExtraAttributeKey;
        /**
         * Creates an extra attribute key with a string.
         */
        constructor (rawValue: string);
        /**
         * Creates an extra attribute key with a raw string value.
         */
        constructor (rawValue: string);
    }
    export class AVMetadataFormat {
        /**
         * The HLS metadata format.
         */
        static hlsMetadata: AVMetadataFormat;
        /**
         * The iTunes metadata format.
         */
        static iTunesMetadata: AVMetadataFormat;
        /**
         * The ID3 metadata format.
         */
        static id3Metadata: AVMetadataFormat;
        /**
         * The ISO user data metadata format.
         */
        static isoUserData: AVMetadataFormat;
        /**
         * The QuickTime metadata format.
         */
        static quickTimeMetadata: AVMetadataFormat;
        /**
         * The QuickTime user data metadata format.
         */
        static quickTimeUserData: AVMetadataFormat;
        /**
         * An unknown metadata format.
         */
        static unknown: AVMetadataFormat;
        /**
         * Creates a metadata format with a string value.
         */
        constructor (rawValue: string);
    }
    export class AVMetadataItemFilter extends NSObject {
        /**
         * Returns a metadata filter to use for sharing assets.
         */
        static forSharing():AVMetadataItemFilter;
    }
    export interface AVAsynchronousKeyValueLoading {
        /**
         * Tells the asset to load the values of all of the specified keys that aren’t already loaded.
         */
        loadValuesAsynchronously(keys: string[], handler: ()=>any | null):void;
        /**
         * Returns a status that indicates whether a property value is immediately available without blocking the calling thread.
         */
        statusOfValue(key: string, outError: NSErrorPointer):AVKeyValueStatus;
    }
    export enum AVKeyValueStatus {
        unknown = 0,
        loading = 1,
        loaded = 2,
        failed = 3,
        cancelled = 4,
    }
    export class AVAnyAsyncProperty {
        /**
         * A description of the object.
         */
        description: string;
    }
    export class AVFragmentedAsset extends AVURLAsset {
        /**
         * The tracks an asset contains.
         */
        tracks: AVFragmentedAssetTrack[];
        /**
         * Loads a track that contains the specified identifier.
         */
        loadTrack(trackID: CMPersistentTrackID, completionHandler: ()=>any):void;
        /**
         * Loads tracks that contain media of a specified type.
         */
        loadTracks(mediaType: AVMediaType, completionHandler: ()=>any):void;
        /**
         * Returns a track that contains the specified identifier.
         */
        track(trackID: CMPersistentTrackID):AVFragmentedAssetTrack | null;
    }
    export class AVFragmentedAssetTrack extends AVAssetTrack {}
    export class AVFragmentedAssetMinder extends NSObject {
        /**
         * An interval that specifies when to perform a check for additional fragments.
         */
        mindingInterval: TimeInterval;
        /**
         * The minded array of fragmented assets.
         */
        assets: (AVAsset & AVFragmentMinding)[];
        /**
         * Creates a fragmented asset minder that monitors the specified asset at the indicated minding interval.
         */
        constructor (asset: (AVAsset & AVFragmentMinding), mindingInterval: TimeInterval);
        /**
         * Adds a fragmented asset to the array of minded assets.
         */
        addFragmentedAsset(asset: (AVAsset & AVFragmentMinding)):void;
        /**
         * Removes a fragmented asset from the array of minded assets.
         */
        removeFragmentedAsset(asset: (AVAsset & AVFragmentMinding)):void;
    }
}

/**
 * Access the assets in a user’s media library.
 */
declare module AssetsLibrary {
    export class ALAsset extends NSObject {
        /**
         * Indicates whether the asset is editable.
         */
        isEditable: boolean;
        /**
         * The original version of the asset.
         */
        original: ALAsset!;
        /**
         * Replaces the video data in receiver with the video at a given URL.
         */
        setVideoAtPath(videoPathURL: URL!, completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!):void;
        /**
         * Saves image data to the Saved Photos album.
         */
        writeModifiedImageData(imageData: Data!, metadata: Record<AnyHashable, any>, completionBlock: ALAssetsLibraryWriteImageCompletionBlock!):void;
        /**
         * Saves the video at a specified path to the Saved Photos album.
         */
        writeModifiedVideoAtPath(videoPathURL: URL!, completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!):void;
        /**
         * Returns the value for a given property.
         */
        value(property: String!):Any!;
        /**
         * Returns an asset representation object for the default representation.
         */
        defaultRepresentation():ALAssetRepresentation!;
        /**
         * Returns an asset representation object for a given representation UTI.
         */
        representation(representationUTI: String!):ALAssetRepresentation!;
        /**
         * Returns a thumbnail representation of the asset.
         */
        thumbnail():Unmanaged<CGImage>!;
        /**
         * Returns an aspect ratio thumbnail of the asset.
         */
        aspectRatioThumbnail():Unmanaged<CGImage>!;
        /**
         *  Replaces the image data in the receiver with given image data
         */
        setImageData(imageData: Data!, metadata: Record<AnyHashable, any>, completionBlock: ALAssetsLibraryWriteImageCompletionBlock!):void;
    }
    export enum ALAuthorizationStatus {
        restricted = 1,
        denied = 2,
        authorized = 3,
    }
    export enum ALAssetOrientation {
        up = 0,
        down = 1,
        left = 2,
        right = 3,
        upMirrored = 4,
        downMirrored = 5,
        leftMirrored = 6,
        rightMirrored = 7,
    }
    export class ALAssetRepresentation extends NSObject {
        /**
         * Returns a full resolution CGImage of the representation.
         */
        cgImage(options: Record<AnyHashable, any>):Unmanaged<CGImage>!;
        /**
         * Returns a CGImage representation of the asset.
         */
        fullResolutionImage():Unmanaged<CGImage>!;
        /**
         * Returns a CGImage of the representation that is appropriate for displaying full screen.
         */
        fullScreenImage():Unmanaged<CGImage>!;
        /**
         * Returns the representation’s orientation.
         */
        orientation():ALAssetOrientation;
        /**
         * Returns the representation’s scale.
         */
        scale():Float;
        /**
         * Returns the representation’s dimensions.
         */
        dimensions():CGSize;
        /**
         * Returns a string representing the filename of the representation on disk.
         */
        filename():String!;
        /**
         * Returns the size in bytes of the file for the representation.
         */
        size():Int64;
        /**
         * Copies a specified range of bytes into a given buffer.
         */
        getBytes(buffer: UnsafeMutablePointer<UInt8>!, offset: Int64, length: number, error: NSErrorPointer):number;
        /**
         * Returns the representation's UTI.
         */
        uti():String!;
        /**
         * Returns a dictionary of dictionaries of metadata for the representation.
         */
        metadata():Record<AnyHashable, any>;
        /**
         * Returns a persistent URL uniquely identifying the representation.
         */
        url():URL!;
    }
    export class ALAssetsFilter extends NSObject {
        /**
         * Returns a filter that gets all assets in the assets group.
         */
        static allAssets():ALAssetsFilter!;
        /**
         * Returns a filter that gets all photos in the assets group.
         */
        static allPhotos():ALAssetsFilter!;
        /**
         * Returns a filter that gets all videos in the assets group.
         */
        static allVideos():ALAssetsFilter!;
    }
    export class ALAssetsGroup extends NSObject {
        /**
         * Indicates whether the application can edit the group.
         */
        isEditable: boolean;
        /**
         * Invokes a given block using each of the assets in the group.
         */
        enumerateAssets(enumerationBlock: ALAssetsGroupEnumerationResultsBlock!):void;
        /**
         * Adds an existing asset to the receiver.
         */
        add(asset: ALAsset!):boolean;
        /**
         * Returns the number of assets in the group that match the current filter.
         */
        numberOfAssets():number;
        /**
         * Sets the filter for the group.
         */
        setAssetsFilter(filter: ALAssetsFilter!):void;
        /**
         * Returns the group’s value for a given property.
         */
        value(property: String!):Any!;
        /**
         * Returns the group’s poster image
         */
        posterImage():Unmanaged<CGImage>!;
    }
    export class ALAssetsLibrary extends NSObject {
        /**
         * Returns photo data authorization status for this application.
         */
        static authorizationStatus():ALAuthorizationStatus;
        /**
         * Disables shared photo streams notifications and asset retrieval.
         */
        static disableSharedPhotoStreamsSupport():void;
        /**
         * Invokes a given block passing as a parameter an asset identified by a specified file URL.
         */
        asset(assetURL: URL!, resultBlock: ALAssetsLibraryAssetForURLResultBlock!, failureBlock: ALAssetsLibraryAccessFailureBlock!):void;
        /**
         * Invokes a given block passing as a parameter each of the asset groups that match the given asset group type.
         */
        enumerateGroups(types: ALAssetsGroupType, enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock: ALAssetsLibraryAccessFailureBlock!):void;
        enumerateGroupsWithTypes(types: UInt32, enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!, failureBlock: ALAssetsLibraryAccessFailureBlock!):void;
        /**
         * Saves a video identified by a given URL to the Saved Photos album.
         */
        writeVideoAtPath(videoPathURL: URL!, completionBlock: ALAssetsLibraryWriteVideoCompletionBlock!):void;
        /**
         * Returns a Boolean value that indicates whether a video identified by a given URL is compatible with the Saved Photos album.
         */
        videoAtPathIs(videoPathURL: URL!):boolean;
        /**
         * Saves a given image to the Saved Photos album.
         */
        writeImage(imageRef: CGImage!, orientation: ALAssetOrientation, completionBlock: ALAssetsLibraryWriteImageCompletionBlock!):void;
        /**
         * Writes given image data and metadata to the Photos Album.
         */
        writeImageData(imageData: Data!, metadata: Record<AnyHashable, any>, completionBlock: ALAssetsLibraryWriteImageCompletionBlock!):void;
        /**
         * Adds a new assets group to the library.
         */
        addAssetsGroupAlbum(name: String!, resultBlock: ALAssetsLibraryGroupResultBlock!, failureBlock: ALAssetsLibraryAccessFailureBlock!):void;
        /**
         * Returns an assets group in the result block for a URL previously retrieved from an 
         *  object.
         */
        group(groupURL: URL!, resultBlock: ALAssetsLibraryGroupResultBlock!, failureBlock: ALAssetsLibraryAccessFailureBlock!):void;
    }
}

/**
 * Record or play audio, convert formats, parse audio streams, and configure your audio session.
 */
declare module AudioToolbox {
    export class AUAudioUnit extends NSObject {
        /**
         * The block which you must provide, via a getter, in order to implement rendering.
         */
        internalRenderBlock: AUInternalRenderBlock;
        midiOutputBufferSizeHint: number;
        audioUnitMIDIProtocol: MIDIProtocolID;
        hostMIDIProtocol: MIDIProtocolID;
        midiOutputEventListBlock: AUMIDIEventListBlock | null;
        scheduleMIDIEventListBlock: AUMIDIEventListBlock | null;
        /**
         * An audio unit’s parameters, organized in a tree hierarchy.
         */
        parameterTree: AUParameterTree | null;
        /**
         * Special read-only property for KVO.
         */
        allParameterValues: boolean;
        /**
         * A callback to the host for musical context information.
         */
        musicalContextBlock: AUHostMusicalContextBlock | null;
        /**
         * A callback to the host for transport state information.
         */
        transportStateBlock: AUHostTransportStateBlock | null;
        /**
         * Information about the host context in which the audio unit is connected, for display in the audio unit’s view.
         */
        contextName: string;
        /**
         * Sets the Boolean value of the 
         *  property.
         */
        setRenderResourcesAllocated(flag: boolean):void;
        /**
         * Requests an audio unit's custom view controller.
         */
        requestViewController(completionHandler: ()=>any):void;
        /**
         * Returns the audio unit’s most important parameters.
         */
        parametersForOverview(count: number):NSNumber[];
    }
    export enum AURenderEventType {
        parameter = 1,
        parameterRamp = 2,
        MIDI = 8,
        midiSysEx = 9,
    }
    export enum AUReverbRoomType {
        reverbRoomType_Cathedral = 8,
        reverbRoomType_LargeChamber = 7,
        reverbRoomType_LargeHall = 4,
        reverbRoomType_LargeHall2 = 12,
        reverbRoomType_LargeRoom = 2,
        reverbRoomType_LargeRoom2 = 9,
        reverbRoomType_MediumChamber = 6,
        reverbRoomType_MediumHall = 3,
        reverbRoomType_MediumHall2 = 10,
        reverbRoomType_MediumHall3 = 11,
        reverbRoomType_MediumRoom = 1,
        reverbRoomType_Plate = 5,
        reverbRoomType_SmallRoom = 0,
    }
    export class AudioOutputUnitMIDICallbacks {
        MIDIEventProc: ()=>any;
        MIDISysExProc: ()=>any;
        userData: UnsafeMutableRawPointer | null;
        constructor (userData: UnsafeMutableRawPointer | null, MIDIEventProc: ()=>any, MIDISysExProc: ()=>any);
    }
    export class AudioOutputUnitStartAtTimeParams {
        mFlags: UInt32;
        mTimestamp: AudioTimeStamp;
        constructor ();
        constructor (mTimestamp: AudioTimeStamp, mFlags: UInt32);
    }
    export enum AUVoiceIOSpeechActivityEvent {
        hasStarted = 0,
        hasEnded = 1,
    }
    export class AUAudioUnitBus extends NSObject {
        /**
         * The audio format and channel layout of audio being transferred on the bus.
         */
        format: AVAudioFormat;
        /**
         * Determines whether the bus is active.
         */
        isEnabled: boolean;
        /**
         * A name for the bus.
         */
        name: string;
        /**
         * The index of this bus in its containing array.
         */
        index: number;
        /**
         * The bus type.
         */
        busType: AUAudioUnitBusType;
        /**
         * The audio unit that owns the bus.
         */
        ownerAudioUnit: AUAudioUnit;
        /**
         * An array of audio channel layout tags.
         */
        supportedChannelLayoutTags: NSNumber[] | null;
        /**
         * Information about latency in the audio unit’s processing context.
         */
        contextPresentationLatency: TimeInterval;
        shouldAllocateBuffer: boolean;
        /**
         * An array of numbers indicating the supported number of channels for this bus.
         */
        supportedChannelCounts: NSNumber[] | null;
        /**
         * The maximum number of channels supported for this bus.
         */
        maximumChannelCount: AUAudioChannelCount;
        /**
         * Initializes a bus object with a specific format.
         */
        constructor (format: AVAudioFormat);
        /**
         * Sets the bus’s audio format.
         */
        setFormat(format: AVAudioFormat):void;
    }
    export class AudioQueueChannelAssignment {
        mChannelNumber: UInt32;
        mDeviceUID: Unmanaged<CFString>;
        constructor (mDeviceUID: Unmanaged<CFString>, mChannelNumber: UInt32);
    }
    export class AudioQueueProcessingTapFlags {
        static endOfStream: AudioQueueProcessingTapFlags;
        static postEffects: AudioQueueProcessingTapFlags;
        static preEffects: AudioQueueProcessingTapFlags;
        static siphon: AudioQueueProcessingTapFlags;
        static startOfStream: AudioQueueProcessingTapFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioQueueBuffer {
        /**
         * The audio data owned the audio queue buffer. The buffer address cannot be changed.
         */
        mAudioData: UnsafeMutableRawPointer;
        /**
         * The number of bytes of valid audio data in the audio queue buffer’s 
         *  field, initially set to 
         * . Your callback must set this value for a playback audio queue; for recording, the recording audio queue sets the value.
         */
        mAudioDataByteSize: UInt32;
        /**
         * The size of the audio queue buffer, in bytes. This size is set when a buffer is allocated and cannot be changed.
         */
        mAudioDataBytesCapacity: UInt32;
        /**
         * The maximum number of packet descriptions that can be stored in the 
         *  field.
         */
        mPacketDescriptionCapacity: UInt32;
        /**
         * The number of valid packet descriptions in the buffer. You set this value when providing buffers for playback. The audio queue sets this value when returning buffers from a recording queue.
         */
        mPacketDescriptionCount: UInt32;
        /**
         * An array of 
         *  structures for the buffer.
         */
        mPacketDescriptions: UnsafeMutablePointer<AudioStreamPacketDescription> | null;
        /**
         * The custom data structure you specify, for use by your callback function, when creating a recording or playback audio queue.
         */
        mUserData: UnsafeMutableRawPointer | null;
        constructor (mAudioDataBytesCapacity: UInt32, mAudioData: UnsafeMutableRawPointer, mAudioDataByteSize: UInt32, mUserData: UnsafeMutableRawPointer | null, mPacketDescriptionCapacity: UInt32, mPacketDescriptions: UnsafeMutablePointer<AudioStreamPacketDescription> | null, mPacketDescriptionCount: UInt32);
    }
    export class AudioQueueLevelMeterState {
        /**
         * The audio channel's average RMS power.
         */
        mAveragePower: Float32;
        /**
         * The audio channel's peak RMS power.
         */
        mPeakPower: Float32;
        constructor ();
        constructor (mAveragePower: Float32, mPeakPower: Float32);
    }
    export class AudioQueueParameterEvent {
        /**
         * The parameter.
         */
        mID: AudioQueueParameterID;
        /**
         * The value of the specified parameter.
         */
        mValue: AudioQueueParameterValue;
        constructor ();
        constructor (mID: AudioQueueParameterID, mValue: AudioQueueParameterValue);
    }
    export class AudioUnitConnection {
        /**
         * The destination audio unit’s input element to be used in the connection.
         */
        destInputNumber: UInt32;
        /**
         * The audio unit that is serves as the source in the connection.
         */
        sourceAudioUnit: AudioUnit | null;
        /**
         * The source audio unit’s output element to be used in the connection.
         */
        sourceOutputNumber: UInt32;
        constructor ();
        constructor (sourceAudioUnit: AudioUnit | null, sourceOutputNumber: UInt32, destInputNumber: UInt32);
    }
    export class AudioUnitEvent {
        mArgument: AudioUnitEvent.__Unnamed_union_mArgument;
        mEventType: AudioUnitEventType;
        constructor ();
        constructor (mEventType: AudioUnitEventType, mArgument: AudioUnitEvent.__Unnamed_union_mArgument);
    }
    export class AudioUnitExternalBuffer {
        buffer: UnsafeMutablePointer<UInt8>;
        size: UInt32;
        constructor (buffer: UnsafeMutablePointer<UInt8>, size: UInt32);
    }
    export class AudioUnitFrequencyResponseBin {
        mFrequency: Float64;
        mMagnitude: Float64;
        constructor ();
        constructor (mFrequency: Float64, mMagnitude: Float64);
    }
    export class AudioUnitMeterClipping {
        /**
         * The maximum value seen on the channel since the last time the property was retrieved.
         */
        peakValueSinceLastCall: Float32;
        /**
         * 
         *  if there was an infinite value on this channel since the last time the property was retrieved.
         */
        sawInfinity: DarwinBoolean;
        /**
         * 
         *  if there was a floating point “not a number” value on this channel since the last time the property was retrieved.
         */
        sawNotANumber: DarwinBoolean;
        constructor ();
        constructor (peakValueSinceLastCall: Float32, sawInfinity: DarwinBoolean, sawNotANumber: DarwinBoolean);
    }
    export class AudioUnitMIDIControlMapping {
        element: AudioUnitElement;
        midiControl: UInt8;
        midiNRPN: UInt16;
        parameter: AudioUnitParameterID;
        scope: UInt8;
        constructor ();
        constructor (midiNRPN: UInt16, midiControl: UInt8, scope: UInt8, element: AudioUnitElement, parameter: AudioUnitParameterID);
    }
    export class AudioUnitOtherPluginDesc {
        format: UInt32;
        plugin: AudioClassDescription;
        constructor ();
        constructor (format: UInt32, plugin: AudioClassDescription);
    }
    export class AudioUnitParameter {
        /**
         * The audio unit instance that the parameter applies to.
         */
        mAudioUnit: AudioUnit;
        /**
         * The audio unit element for the parameter.
         */
        mElement: AudioUnitElement;
        /**
         * The audio unit parameter identifier.
         */
        mParameterID: AudioUnitParameterID;
        /**
         * The audio unit scope for the parameter.
         */
        mScope: AudioUnitScope;
        constructor (mAudioUnit: AudioUnit, mParameterID: AudioUnitParameterID, mScope: AudioUnitScope, mElement: AudioUnitElement);
    }
    export class AudioUnitParameterEvent {
        /**
         * The audio unit element for the parameter.
         */
        element: AudioUnitElement;
        /**
         * The event type. See 
         * .
         */
        eventType: AUParameterEventType;
        eventValues: AudioUnitParameterEvent.__Unnamed_union_eventValues;
        /**
         * The audio unit parameter identifier
         */
        parameter: AudioUnitParameterID;
        /**
         * The audio unit scope for the parameter.
         */
        scope: AudioUnitScope;
        constructor ();
        constructor (scope: AudioUnitScope, element: AudioUnitElement, parameter: AudioUnitParameterID, eventType: AUParameterEventType, eventValues: AudioUnitParameterEvent.__Unnamed_union_eventValues);
    }
    export class AudioUnitParameterHistoryInfo {
        historyDurationInSeconds: Float32;
        updatesPerSecond: Float32;
        constructor ();
        constructor (updatesPerSecond: Float32, historyDurationInSeconds: Float32);
    }
    export class AudioUnitParameterInfo {
        /**
         * Only valid if 
         *  is set.
         */
        cfNameString: Unmanaged<CFString> | null;
        /**
         * Only valid if 
         *  is set.
         */
        clumpID: UInt32;
        defaultValue: AudioUnitParameterValue;
        /**
         * Due to some vagaries about the ways in which Parameter’s CFNames have been described, it was necessary to add a flag: 
         * . In normal usage a parameter name is essentially a static object, but sometimes an audio unit will generate parameter names dynamically. As these are expected to be 
         *  objects, in that case the host should release those names when it is finished with them, but there was no way to communicate this distinction in behavior. Thus, if an audio unit can generate a name dynamically, it should set this flag in the parameter’s info. The host should check for this flag and, if present, release the parameter name when it is finished with it.
         */
        flags: AudioUnitParameterOptions;
        maxValue: AudioUnitParameterValue;
        minValue: AudioUnitParameterValue;
        /**
         * Must be set to 
         * .
         */
        name: any;
        /**
         * If the 
         *  field contains a value not in the 
         *  enumeration, then assume the unit type is 
         * .
         */
        unit: AudioUnitParameterUnit;
        /**
         * If 
         *  is set, this field must contain a valid 
         *  object. Only valid if 
         *  is set.
         */
        unitName: Unmanaged<CFString> | null;
        constructor ();
        constructor (name: any, unitName: Unmanaged<CFString> | null, clumpID: UInt32, cfNameString: Unmanaged<CFString> | null, unit: AudioUnitParameterUnit, minValue: AudioUnitParameterValue, maxValue: AudioUnitParameterValue, defaultValue: AudioUnitParameterValue, flags: AudioUnitParameterOptions);
    }
    export class AudioUnitParameterOptions {
        /**
         * If an audio unit can generate parameter names dynamically, it should set this flag. 
         */
        static flag_CFNameRelease: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_CanRamp: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplayCubeRoot: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplayCubed: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplayExponential: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplayLogarithmic: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplayMask: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplaySquareRoot: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_DisplaySquared: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_ExpertMode: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_HasCFNameString: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_HasClump: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_IsElementMeta: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_IsGlobalMeta: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_IsHighResolution: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_IsReadable: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_IsWritable: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_MeterReadOnly: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_NonRealTime: AudioUnitParameterOptions;
        static flag_OmitFromPresets: AudioUnitParameterOptions;
        /**
         * If set, getting the 
         *  property fills out the 
         *  struct containing the recommended update rate and history duration.
         */
        static flag_PlotHistory: AudioUnitParameterOptions;
        /**
         *  
         */
        static flag_ValuesHaveStrings: AudioUnitParameterOptions;
        constructor (rawValue: UInt32);
    }
    export class AUAudioUnitBusArray extends NSObject {
        /**
         * The number of busses in the array.
         */
        count: number;
        /**
         * Determines whether the array can have a variable number of busses.
         */
        isCountChangeable: boolean;
        /**
         * The audio unit that owns the bus array.
         */
        ownerAudioUnit: AUAudioUnit;
        /**
         * Determines whether the bus array is for input or output.
         */
        busType: AUAudioUnitBusType;
        /**
         * Initializes an empty bus array.
         */
        constructor (owner: AUAudioUnit, busType: AUAudioUnitBusType);
        /**
         * Initializes a bus array by making a copy of the supplied busses.
         */
        constructor (owner: AUAudioUnit, busType: AUAudioUnitBusType, busArray: AUAudioUnitBus[]);
        /**
         * Changes the number of busses in the array.
         */
        setBusCount(count: number):void;
        /**
         * Adds a KVO observer for a given property on all busses in the array.
         */
        addObserver(observer: NSObject, keyPath: string, options: NSKeyValueObservingOptions, context: UnsafeMutableRawPointer | null):void;
        /**
         * Removes a KVO observer for a given property on all busses in the array.
         */
        removeObserver(observer: NSObject, keyPath: string, context: UnsafeMutableRawPointer | null):void;
        /**
         * Replaces the current bus array with a copy of the supplied bus array.
         */
        replaceBusses(busArray: AUAudioUnitBus[]):void;
    }
    export class AudioUnitParameterStringFromValue {
        inParamID: AudioUnitParameterID;
        inValue: UnsafePointer<AudioUnitParameterValue>;
        outString: Unmanaged<CFString> | null;
        constructor (inParamID: AudioUnitParameterID, inValue: UnsafePointer<AudioUnitParameterValue>, outString: Unmanaged<CFString> | null);
    }
    export class AudioUnitParameterValueFromString {
        inParamID: AudioUnitParameterID;
        inString: Unmanaged<CFString>;
        outValue: AudioUnitParameterValue;
        constructor (inParamID: AudioUnitParameterID, inString: Unmanaged<CFString>, outValue: AudioUnitParameterValue);
    }
    export class AudioUnitParameterValueName {
        inParamID: AudioUnitParameterID;
        inValue: UnsafePointer<Float32>;
        outName: Unmanaged<CFString>;
        constructor (inParamID: AudioUnitParameterID, inValue: UnsafePointer<Float32>, outName: Unmanaged<CFString>);
    }
    export class AudioUnitParameterValueTranslation {
        auParamID: AudioUnitParameterID;
        auValue: AudioUnitParameterValue;
        otherDesc: AudioUnitOtherPluginDesc;
        otherParamID: UInt32;
        otherValue: Float32;
        constructor ();
        constructor (otherDesc: AudioUnitOtherPluginDesc, otherParamID: UInt32, otherValue: Float32, auParamID: AudioUnitParameterID, auValue: AudioUnitParameterValue);
    }
    export class AudioUnitPresetMAS_SettingData {
        data: (UInt8);
        dataLen: UInt32;
        isStockSetting: UInt32;
        settingID: UInt32;
        constructor ();
        constructor (isStockSetting: UInt32, settingID: UInt32, dataLen: UInt32, data: (UInt8));
    }
    export class AudioUnitPresetMAS_Settings {
        effectID: UInt32;
        manufacturerID: UInt32;
        numberOfSettings: UInt32;
        settings: (AudioUnitPresetMAS_SettingData);
        settingsVersion: UInt32;
        variantID: UInt32;
        constructor ();
        constructor (manufacturerID: UInt32, effectID: UInt32, variantID: UInt32, settingsVersion: UInt32, numberOfSettings: UInt32, settings: (AudioUnitPresetMAS_SettingData));
    }
    export class AudioUnitProperty {
        /**
         * The audio unit instance that the parameter applies to.
         */
        mAudioUnit: AudioUnit;
        /**
         * The audio unit element for the property.
         */
        mElement: AudioUnitElement;
        /**
         * The audio unit property identifier.
         */
        mPropertyID: AudioUnitPropertyID;
        /**
         * The audio unit scope for the property.
         */
        mScope: AudioUnitScope;
        constructor (mAudioUnit: AudioUnit, mPropertyID: AudioUnitPropertyID, mScope: AudioUnitScope, mElement: AudioUnitElement);
    }
    export class AudioUnitRenderActionFlags {
        /**
         * Called on a render notification Proc - which is called either before or after the render operation of the audio unit. If this flag is set, the proc is being called before the render operation is performed.
         */
        static unitRenderAction_PreRender: AudioUnitRenderActionFlags;
        /**
         * Called on a render notification Proc - which is called either before or after the render operation of the audio unit. If this flag is set, the proc is being called after the render operation is completed.
         */
        static unitRenderAction_PostRender: AudioUnitRenderActionFlags;
        /**
         * This flag can be set in a render input callback (or in the audio unit's render operation itself) and is used to indicate that the render buffer contains only silence. It can then be used by the caller as a hint to whether the buffer needs to be processed or not.
         */
        static unitRenderAction_OutputIsSilence: AudioUnitRenderActionFlags;
        /**
         * This is used with offline audio units (of type 
         * ). It is used when an offline unit is being preflighted, which is performed prior to the actual offline rendering actions are performed. It is used for those cases where the offline process needs it (for example, with an offline unit that normalizes an audio file, it needs to see all of the audio data first before it can perform its normalization).
         */
        static offlineUnitRenderAction_Preflight: AudioUnitRenderActionFlags;
        /**
         * Once an offline unit has been successfully preflighted, it is then put into its render mode. So this flag is set to indicate to the audio unit that it is now in that state and that it should perform its processing on the input data.
         */
        static offlineUnitRenderAction_Render: AudioUnitRenderActionFlags;
        /**
         * This flag is set when an offline unit has completed either its preflight or performed render operation.
         */
        static offlineUnitRenderAction_Complete: AudioUnitRenderActionFlags;
        /**
         * If this flag is set on the post-render call an error was returned by the audio unit's render operation. In this case, the error can be retrieved through the lastRenderError property and the audio data in 
         *  handed to the post-render notification will be invalid.
         */
        static unitRenderAction_PostRenderError: AudioUnitRenderActionFlags;
        /**
         * If this flag is set, then checks that are done on the arguments provided to render are not performed. This can be useful to use to save computation time in situations where you are sure you are providing the correct arguments and structures to the various render calls.
         */
        static unitRenderAction_DoNotCheckRenderArgs: AudioUnitRenderActionFlags;
        constructor (rawValue: UInt32);
    }
    export class AU3DMixerRenderingFlags {
        static k3DMixerRenderingFlags_ConstantReverbBlend: AU3DMixerRenderingFlags;
        static k3DMixerRenderingFlags_DistanceAttenuation: AU3DMixerRenderingFlags;
        static k3DMixerRenderingFlags_DistanceDiffusion: AU3DMixerRenderingFlags;
        static k3DMixerRenderingFlags_DistanceFilter: AU3DMixerRenderingFlags;
        static k3DMixerRenderingFlags_DopplerShift: AU3DMixerRenderingFlags;
        static k3DMixerRenderingFlags_InterAuralDelay: AU3DMixerRenderingFlags;
        static k3DMixerRenderingFlags_LinearDistanceAttenuation: AU3DMixerRenderingFlags;
        constructor (rawValue: UInt32);
    }
    export class AUChannelInfo {
        /**
         * The number of input channels.
         */
        inChannels: Int16;
        /**
         * The number of output channels.
         */
        outChannels: Int16;
        constructor ();
        constructor (inChannels: Int16, outChannels: Int16);
    }
    export class AUDependentParameter {
        mParameterID: AudioUnitParameterID;
        mScope: AudioUnitScope;
        constructor ();
        constructor (mScope: AudioUnitScope, mParameterID: AudioUnitParameterID);
    }
    export class AUDistanceAttenuationData {
        inNumberOfPairs: UInt32;
        constructor ();
    }
    export class AUHostIdentifier {
        hostName: Unmanaged<CFString>;
        hostVersion: AUNumVersion;
        constructor (hostName: Unmanaged<CFString>, hostVersion: AUNumVersion);
    }
    export class AUHostTransportStateFlags {
        /**
         * Indicates such state changes as start, stop, or seeking to another position in the timeline. Can be active if there was a change to the state of, or discontinuities in, the audio transport since the 
         *  callback was last called.
         */
        static changed: AUHostTransportStateFlags;
        /**
         * Indicates that the host is cycling or looping.
         */
        static cycling: AUHostTransportStateFlags;
        /**
         * Indicates that the audio transport is moving.
         */
        static moving: AUHostTransportStateFlags;
        /**
         * Indicates that the host is recording, or is prepared to record. Can be active with or without a moving state.
         */
        static recording: AUHostTransportStateFlags;
        constructor (rawValue: number);
    }
    export class AUHostVersionIdentifier {
        hostName: Unmanaged<CFString>;
        hostVersion: UInt32;
        constructor (hostName: Unmanaged<CFString>, hostVersion: UInt32);
    }
    export class AUInputSamplesInOutputCallbackStruct {
        /**
         * The callback function that provides input-to-output sample mapping for an audio unit.
         */
        inputToOutputCallback: AUInputSamplesInOutputCallback;
        /**
         * Custom data for input-to-output sample mapping for an audio unit.
         */
        userData: UnsafeMutableRawPointer | null;
        constructor (inputToOutputCallback: AUInputSamplesInOutputCallback, userData: UnsafeMutableRawPointer | null);
    }
    export class AUMIDIEvent {
        /**
         * The virtual cable number.
         */
        cable: UInt8;
        /**
         * The bytes of the MIDI event. Running status is not used.
         */
        data: any;
        /**
         * The sample time at which the event is scheduled to occur.
         */
        eventSampleTime: AUEventSampleTime;
        /**
         * The type of render event. Must be 
         *  or 
         * .
         */
        eventType: AURenderEventType;
        /**
         * The number of valid MIDI bytes in the data field. For most MIDI events this value is usually 
         * , 
         * , or 
         * , but it can be longer for system-exclusive events.
         */
        length: UInt16;
        /**
         * The next event in a linked list of events.
         */
        next: UnsafeMutablePointer<AURenderEvent> | null;
        /**
         * Reserved field. Must be 
         * .
         */
        reserved: UInt8;
        constructor ();
        constructor (next: UnsafeMutablePointer<AURenderEvent> | null, eventSampleTime: AUEventSampleTime, eventType: AURenderEventType, reserved: UInt8, length: UInt16, cable: UInt8, data: any);
    }
    export class AUAudioUnitPreset extends NSObject {
        /**
         * The preset’s name.
         */
        name: string;
        /**
         * The preset’s unique numeric identifier.
         */
        number: number;
    }
    export class AUMIDIOutputCallbackStruct {
        /**
         * The callback function for an audio unit that provides MIDI output.
         */
        midiOutputCallback: AUMIDIOutputCallback;
        /**
         * Custom data for an audio unit that provides MIDI output.
         */
        userData: UnsafeMutableRawPointer | null;
        constructor (midiOutputCallback: AUMIDIOutputCallback, userData: UnsafeMutableRawPointer | null);
    }
    export class AUNumVersion {
        majorRev: UInt8;
        minorAndBugRev: UInt8;
        nonRelRev: UInt8;
        stage: UInt8;
        constructor ();
        constructor (nonRelRev: UInt8, stage: UInt8, minorAndBugRev: UInt8, majorRev: UInt8);
    }
    export class AUParameterAutomationEvent {
        address: AUParameterAddress;
        eventType: AUParameterAutomationEventType;
        hostTime: UInt64;
        reserved: UInt64;
        value: AUValue;
        constructor ();
        constructor (hostTime: UInt64, address: AUParameterAddress, value: AUValue, eventType: AUParameterAutomationEventType, reserved: UInt64);
    }
    export class AUParameterEvent {
        /**
         * The sample time at which the event is scheduled to occur.
         */
        eventSampleTime: AUEventSampleTime;
        /**
         * The type of render event. Must be 
         *  or 
         * .
         */
        eventType: AURenderEventType;
        /**
         * The next event in a linked list of events.
         */
        next: UnsafeMutablePointer<AURenderEvent> | null;
        /**
         * The parameter to change.
         */
        parameterAddress: AUParameterAddress;
        /**
         * The ramp duration, in sample frames. Must be 
         *  for a non-ramped event; otherwise, must be greater than 
         *  for a ramped event.
         */
        rampDurationSampleFrames: AUAudioFrameCount;
        /**
         * Reserved field. Must be 
         * .
         */
        reserved: any;
        /**
         * For a non-ramped event, this is the new parameter value. For a ramped event, this is the parameter value at the end of the ramp.
         */
        value: AUValue;
        constructor ();
        constructor (next: UnsafeMutablePointer<AURenderEvent> | null, eventSampleTime: AUEventSampleTime, eventType: AURenderEventType, reserved: any, rampDurationSampleFrames: AUAudioFrameCount, parameterAddress: AUParameterAddress, value: AUValue);
    }
    export class AUAudioUnitV2Bridge extends AUAudioUnit {
        audioUnit: AudioUnit;
    }
    export class AUParameterMIDIMapping {
        mData1: UInt8;
        mElement: AudioUnitElement;
        mFlags: AUParameterMIDIMappingFlags;
        mParameterID: AudioUnitParameterID;
        mScope: AudioUnitScope;
        mStatus: UInt8;
        mSubRangeMax: AudioUnitParameterValue;
        mSubRangeMin: AudioUnitParameterValue;
        reserved1: UInt8;
        reserved2: UInt8;
        reserved3: UInt32;
        constructor ();
        constructor (mScope: AudioUnitScope, mElement: AudioUnitElement, mParameterID: AudioUnitParameterID, mFlags: AUParameterMIDIMappingFlags, mSubRangeMin: AudioUnitParameterValue, mSubRangeMax: AudioUnitParameterValue, mStatus: UInt8, mData1: UInt8, reserved1: UInt8, reserved2: UInt8, reserved3: UInt32);
    }
    export interface AUAudioUnitFactory extends NSExtensionRequestHandling {
        /**
         * Creates an instance of an extension’s audio unit.
         */
        createAudioUnit(desc: AudioComponentDescription):AUAudioUnit;
    }
    export class AUParameterMIDIMappingFlags {
        static anyChannelFlag: AUParameterMIDIMappingFlags;
        static anyNoteFlag: AUParameterMIDIMappingFlags;
        static bipolar: AUParameterMIDIMappingFlags;
        static bipolar_On: AUParameterMIDIMappingFlags;
        static subRange: AUParameterMIDIMappingFlags;
        static toggle: AUParameterMIDIMappingFlags;
        constructor (rawValue: UInt32);
    }
    export class AUPreset {
        /**
         * If a factory preset, the name of the specified factory preset.
         */
        presetName: Unmanaged<CFString> | null;
        /**
         * If less than 
         * , then the preset is a user preset. If greater than or equal to 
         * , then this field is used to select a factory preset.
         */
        presetNumber: Int32;
        constructor ();
        constructor (presetNumber: Int32, presetName: Unmanaged<CFString> | null);
    }
    export class AUPresetEvent {
        element: AudioUnitElement;
        preset: Unmanaged<CFPropertyList>;
        scope: AudioUnitScope;
        constructor (scope: AudioUnitScope, element: AudioUnitElement, preset: Unmanaged<CFPropertyList>);
    }
    export class AURecordedParameterEvent {
        /**
         * The address of the parameter whose value changed.
         */
        address: AUParameterAddress;
        /**
         * The host time at which the event occurred.
         */
        hostTime: UInt64;
        /**
         * The value of the parameter at the given time.
         */
        value: AUValue;
        constructor ();
        constructor (hostTime: UInt64, address: AUParameterAddress, value: AUValue);
    }
    export class AURenderCallbackStruct {
        inputProc: AURenderCallback | null;
        inputProcRefCon: UnsafeMutableRawPointer | null;
        constructor ();
        constructor (inputProc: AURenderCallback | null, inputProcRefCon: UnsafeMutableRawPointer | null);
    }
    export class AUParameter extends AUParameterNode {
        /**
         * The parameter’s minimum value.
         */
        minValue: AUValue;
        /**
         * The parameter’s maximum value.
         */
        maxValue: AUValue;
        /**
         * The parameter’s unit of measurement.
         */
        unit: AudioUnitParameterUnit;
        /**
         * The parameter’s localized unit name.
         */
        unitName: string;
        /**
         * The parameter’s characteristic details.
         */
        flags: AudioUnitParameterOptions;
        /**
         * The parameter’s address.
         */
        address: AUParameterAddress;
        /**
         * The parameter’s localized value strings.
         */
        valueStrings: string[] | null;
        /**
         * Any other parameter’s whose values may change as a side effect of this parameter’s value changing.
         */
        dependentParameters: NSNumber[] | null;
        /**
         * The parameter’s current value.
         */
        value: AUValue;
        /**
         * Sets the parameter’s value, avoiding redundant notifications to the originator.
         */
        setValue(value: AUValue, originator: AUParameterObserverToken | null):void;
        /**
         * Gets the string representation of a parameter value.
         */
        string(value: UnsafePointer<AUValue> | null):string;
    }
    export class AURenderEvent {
        /**
         * Use this field for MIDI events.
         */
        MIDI: AUMIDIEvent;
        /**
         * Use this field to determine the event type.
         */
        head: AURenderEventHeader;
        /**
         * Use this field for parameter events.
         */
        parameter: AUParameterEvent;
        MIDIEventsList: AUMIDIEventList;
        constructor ();
        constructor (MIDI: AUMIDIEvent);
        constructor (MIDIEventsList: AUMIDIEventList);
        constructor (head: AURenderEventHeader);
        constructor (parameter: AUParameterEvent);
    }
    export class AURenderEventHeader {
        /**
         * The sample time at which the event is scheduled to occur.
         */
        eventSampleTime: AUEventSampleTime;
        /**
         * The type of the event.
         */
        eventType: AURenderEventType;
        /**
         * The next event in a linked list of events.
         */
        next: UnsafeMutablePointer<AURenderEvent> | null;
        /**
         * Reserved field. Must be 
         * .
         */
        reserved: UInt8;
        constructor ();
        constructor (next: UnsafeMutablePointer<AURenderEvent> | null, eventSampleTime: AUEventSampleTime, eventType: AURenderEventType, reserved: UInt8);
    }
    export class AUSamplerBankPresetData {
        bankLSB: UInt8;
        bankMSB: UInt8;
        bankURL: Unmanaged<CFURL>;
        presetID: UInt8;
        reserved: UInt8;
        constructor (bankURL: Unmanaged<CFURL>, bankMSB: UInt8, bankLSB: UInt8, presetID: UInt8, reserved: UInt8);
    }
    export class AUSamplerInstrumentData {
        bankLSB: UInt8;
        bankMSB: UInt8;
        fileURL: Unmanaged<CFURL>;
        instrumentType: UInt8;
        presetID: UInt8;
        constructor (fileURL: Unmanaged<CFURL>, instrumentType: UInt8, bankMSB: UInt8, bankLSB: UInt8, presetID: UInt8);
    }
    export class AUScheduledAudioSliceFlags {
        static scheduledAudioSliceFlag_BeganToRender: AUScheduledAudioSliceFlags;
        static scheduledAudioSliceFlag_BeganToRenderLate: AUScheduledAudioSliceFlags;
        static scheduledAudioSliceFlag_Complete: AUScheduledAudioSliceFlags;
        static scheduledAudioSliceFlag_Interrupt: AUScheduledAudioSliceFlags;
        static scheduledAudioSliceFlag_InterruptAtLoop: AUScheduledAudioSliceFlags;
        static scheduledAudioSliceFlag_Loop: AUScheduledAudioSliceFlags;
        constructor (rawValue: UInt32);
    }
    export class AUSpatialMixerRenderingFlags {
        static spatialMixerRenderingFlags_DistanceAttenuation: AUSpatialMixerRenderingFlags;
        static spatialMixerRenderingFlags_InterAuralDelay: AUSpatialMixerRenderingFlags;
        constructor (rawValue: UInt32);
    }
    export class AUParameterGroup extends AUParameterNode {
        /**
         * Returns a flat array of all parameters in the group, including those in child groups.
         */
        allParameters: AUParameter[];
        /**
         * The group’s child nodes.
         */
        children: AUParameterNode[];
    }
    export class AUParameterNode extends NSObject {
        /**
         * A non-localized, permanent name for the parameter node.
         */
        identifier: string;
        /**
         * A key path generated by concatenating the identifiers of the parameter and its parents.
         */
        keyPath: string;
        /**
         * A localized display name for the parameter node.
         */
        displayName: string;
        /**
         * The callback for parameter value changes.
         */
        implementorValueObserver: AUImplementorValueObserver;
        /**
         * The callback for refreshing known stale values in a parameter tree.
         */
        implementorValueProvider: AUImplementorValueProvider;
        /**
         * The callback for providing a string representation of a parameter value.
         */
        implementorStringFromValueCallback: AUImplementorStringFromValueCallback;
        /**
         * The callback for converting a string to a parameter value.
         */
        implementorValueFromStringCallback: AUImplementorValueFromStringCallback;
        /**
         * The callback for obtaining an abbreviated version of a parameter node display name.
         */
        implementorDisplayNameWithLengthCallback: AUImplementorDisplayNameWithLengthCallback;
        /**
         * Adds an observer for a single parameter or all parameters in a group.
         */
        token(observer: AUParameterObserver):AUParameterObserverToken;
        /**
         * Remove a specific parameter observer.
         */
        removeParameterObserver(token: AUParameterObserverToken):void;
    }
    export class ExtendedNoteOnEvent {
        duration: Float32;
        extendedParams: MusicDeviceNoteParams;
        groupID: MusicDeviceGroupID;
        instrumentID: MusicDeviceInstrumentID;
        constructor ();
        constructor (instrumentID: MusicDeviceInstrumentID, groupID: MusicDeviceGroupID, duration: Float32, extendedParams: MusicDeviceNoteParams);
    }
    export class ExtendedTempoEvent {
        /**
         * The number of beats-per-minute.
         */
        bpm: Float64;
        constructor ();
        constructor (bpm: Float64);
    }
    export class MusicEventUserData {
        /**
         * User-defined data.
         */
        data: (UInt8);
        /**
         * The size, in bytes, of the user data.
         */
        length: UInt32;
        constructor ();
        constructor (length: UInt32, data: (UInt8));
    }
    export class ParameterEvent {
        element: AudioUnitElement;
        parameterID: AudioUnitParameterID;
        scope: AudioUnitScope;
        value: AudioUnitParameterValue;
        constructor ();
        constructor (parameterID: AudioUnitParameterID, scope: AudioUnitScope, element: AudioUnitElement, value: AudioUnitParameterValue);
    }
    export class MusicDeviceNoteParams {
        argCount: UInt32;
        mControls: (NoteParamsControlValue);
        mPitch: Float32;
        mVelocity: Float32;
        constructor ();
        constructor (argCount: UInt32, mPitch: Float32, mVelocity: Float32, mControls: (NoteParamsControlValue));
    }
    export class MusicDeviceStdNoteParams {
        argCount: UInt32;
        mPitch: Float32;
        mVelocity: Float32;
        constructor ();
        constructor (argCount: UInt32, mPitch: Float32, mVelocity: Float32);
    }
    export class NoteParamsControlValue {
        mID: AudioUnitParameterID;
        mValue: AudioUnitParameterValue;
        constructor ();
        constructor (mID: AudioUnitParameterID, mValue: AudioUnitParameterValue);
    }
    export class MusicSequenceFileFlags {
        /**
         * Specifies that an existing file should be erased when creating a new file.
         */
        static eraseFile: MusicSequenceFileFlags;
        constructor (rawValue: UInt32);
    }
    export class MusicSequenceLoadFlags {
        /**
         * If this flag is set the resultant Sequence will contain a tempo track, 1 track for each MIDI Channel that is found in the SMF, 1 track for SysEx or MetaEvents - and this will be the last track in the sequence after the LoadSMFWithFlags calls.
         */
        static smf_ChannelsToTracks: MusicSequenceLoadFlags;
        static smf_PreserveTracks: MusicSequenceLoadFlags;
        constructor (rawValue: UInt32);
    }
    export class MusicTrackLoopInfo {
        /**
         * The point in a music track, measured in beats from the end of the music track, at which to begin playback during looped playback.
         */
        loopDuration: MusicTimeStamp;
        /**
         * The number of times to play the designated portion of the music track.
         */
        numberOfLoops: Int32;
        constructor ();
        /**
         * Initializes the music track loop information.
         */
        constructor (loopDuration: MusicTimeStamp, numberOfLoops: Int32);
    }
    export class MIDIChannelMessage {
        data1: UInt8;
        data2: UInt8;
        reserved: UInt8;
        /**
         * Data specific to the channel message.
         */
        status: UInt8;
        constructor ();
        constructor (status: UInt8, data1: UInt8, data2: UInt8, reserved: UInt8);
    }
    export class MIDIMetaEvent {
        data: (UInt8);
        dataLength: UInt32;
        /**
         * An integer that designates one of the types of MIDI metaevents.
         */
        metaEventType: UInt8;
        unused1: UInt8;
        unused2: UInt8;
        unused3: UInt8;
        constructor ();
        constructor (metaEventType: UInt8, unused1: UInt8, unused2: UInt8, unused3: UInt8, dataLength: UInt32, data: (UInt8));
    }
    export class MIDINoteMessage {
        /**
         * The MIDI channel to play the note on.
         */
        channel: UInt8;
        /**
         * The duration for the note.
         */
        duration: Float32;
        /**
         * The note to play.
         */
        note: UInt8;
        /**
         * The key-release velocity for the note. Use 0 if you don’t want to specify a particular value.
         */
        releaseVelocity: UInt8;
        /**
         * The key-press velocity for the note.
         */
        velocity: UInt8;
        constructor ();
        constructor (channel: UInt8, note: UInt8, velocity: UInt8, releaseVelocity: UInt8, duration: Float32);
    }
    export class MIDIRawData {
        data: (UInt8);
        length: UInt32;
        constructor ();
        constructor (length: UInt32, data: (UInt8));
    }
    export class AUParameterTree extends AUParameterGroup {
        /**
         * Creates a single parameter object.
         */
        static createParameter(identifier: string, name: string, address: AUParameterAddress, min: AUValue, max: AUValue, unit: AudioUnitParameterUnit, unitName: string, flags: AudioUnitParameterOptions, valueStrings: string[] | null, dependentParameters: NSNumber[] | null):AUParameter;
        /**
         * Creates a parameter group object.
         */
        static createGroup(identifier: string, name: string, children: AUParameterNode[]):AUParameterGroup;
        /**
         * Creates a template group which may be used as a prototype for further group instances.
         */
        static createGroupTemplate(children: AUParameterNode[]):AUParameterGroup;
        /**
         * Creates a parameter tree object.
         */
        static createTree(children: AUParameterNode[]):AUParameterTree;
        /**
         * Searches the tree for a parameter with a specific address.
         */
        parameter(address: AUParameterAddress):AUParameter | null;
    }
    export enum MusicSequenceFileTypeID {
        midiType = 1835623529,
        iMelodyType = 1768777068,
        anyType = 0,
    }
    export enum MusicSequenceType {
        beats = 1650811252,
        seconds = 1936024435,
        samples = 1935764848,
    }
    export class AudioBalanceFade {
        /**
         * The audio front/back fade, where -1 represents full rear, 0 represents center, and +1 represents full front.
         */
        mBackFrontFade: Float32;
        /**
         * The size, in bytes, of the 
         *  parameter.
         */
        mChannelLayout: UnsafePointer<AudioChannelLayout>;
        /**
         * The audio left/right balance, where -1 represents full left, 0 represents center, and +1 represents full right.
         */
        mLeftRightBalance: Float32;
        /**
         * An AudioBalanceFadeType constant. max unity gain, or equal power.
         */
        mType: AudioBalanceFadeType;
        constructor (mLeftRightBalance: Float32, mBackFrontFade: Float32, mType: AudioBalanceFadeType, mChannelLayout: UnsafePointer<AudioChannelLayout>);
    }
    export class AudioFormatInfo {
        /**
         * An 
         *  structure.
         */
        mASBD: AudioStreamBasicDescription;
        /**
         * A pointer to the decompression information for the data described in the 
         *  parameter.
         */
        mMagicCookie: UnsafeRawPointer;
        /**
         * The size, in bytes, of the 
         *  parameter.
         */
        mMagicCookieSize: UInt32;
        constructor (mASBD: AudioStreamBasicDescription, mMagicCookie: UnsafeRawPointer, mMagicCookieSize: UInt32);
    }
    export class AudioPanningInfo {
        /**
         * For the available coordinate flags, see Channel Coordinate Flags.
         */
        mCoordinateFlags: UInt32;
        /**
         * For the available coordinate index constants, see Channel Coordinate Index Constants.
         */
        mCoordinates: any;
        /**
         * A multiplier for audio panning values, typically representing a volume value in the range from 0 to 1. A value of 1 results in audio panning at unity gain. A value of 0 silences all channels.
         */
        mGainScale: Float32;
        /**
         * The channel map used to determine channel volumes for the audio panning.
         */
        mOutputChannelMap: UnsafePointer<AudioChannelLayout>;
        /**
         * The panning mode to be used for the pan. See 
         * .
         */
        mPanningMode: AudioPanningMode;
        constructor (mPanningMode: AudioPanningMode, mCoordinateFlags: UInt32, mCoordinates: any, mGainScale: Float32, mOutputChannelMap: UnsafePointer<AudioChannelLayout>);
    }
    export class ExtendedAudioFormatInfo {
        /**
         * An 
         *  struct.
         */
        mASBD: AudioStreamBasicDescription;
        /**
         * An 
         *  struct that specifies the codec to be used.
         */
        mClassDescription: AudioClassDescription;
        /**
         * Decompression information for the audio data format specified in the 
         *  field.
         */
        mMagicCookie: UnsafeRawPointer | null;
        /**
         * The size, in bytes, of the 
         *  field.
         */
        mMagicCookieSize: UInt32;
        constructor ();
        constructor (mASBD: AudioStreamBasicDescription, mMagicCookie: UnsafeRawPointer | null, mMagicCookieSize: UInt32, mClassDescription: AudioClassDescription);
    }
    export enum AudioBalanceFadeType {
        equalPower = 1,
        maxUnityGain = 0,
    }
    export class AudioComponentInstantiationOptions {
        static loadInProcess: AudioComponentInstantiationOptions;
        static loadOutOfProcess: AudioComponentInstantiationOptions;
        static loadedRemotely: AudioComponentInstantiationOptions;
        constructor (rawValue: UInt32);
    }
    export enum AudioPanningMode {
        panningMode_SoundField = 3,
        panningMode_VectorBasedPanning = 4,
    }
    export class AudioBytePacketTranslationFlags {
        /**
         * If set, the result value is an estimate.
         */
        static bytePacketTranslationFlag_IsEstimate: AudioBytePacketTranslationFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioFileFlags {
        /**
         * Typically, the audio data in a file is page aligned. To make reading the file data as fast as possible, you can use page-aligned data to take advantage of optimized code paths in the file system. However, when space is at a premium, you might want to avoid the additional padding required to attain alignment. To do so, set this flag when calling 
         *  or 
         * .
         */
        static dontPageAlignAudioData: AudioFileFlags;
        static eraseFile: AudioFileFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioFileRegionFlags {
        /**
         * If set, the region is looped. You must set one or both of the remaining flags must also be set for the region to be looped.
         */
        static loopEnable: AudioFileRegionFlags;
        /**
         * If set, the region is played backward.
         */
        static playBackward: AudioFileRegionFlags;
        /**
         * If set, the region is played forward.
         */
        static playForward: AudioFileRegionFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioFileStreamParseFlags {
        /**
         * Pass this flag to the 
         *  function to signal a discontinuity in the audio data. 
         */
        static discontinuity: AudioFileStreamParseFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioFileStreamPropertyFlags {
        /**
         * A property listener sets this flag to instruct the parser to cache the property value so that it remains available after the callback returns. 
         */
        static cacheProperty: AudioFileStreamPropertyFlags;
        /**
         * This flag is set when the callback 
         *  is invoked in the case that the value of the property has been cached and can be obtained later. 
         */
        static propertyIsCached: AudioFileStreamPropertyFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioFileStreamSeekFlags {
        /**
         * This flag is returned by the 
         *  function if the byte offset is only an estimate.
         */
        static offsetIsEstimated: AudioFileStreamSeekFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioFile_SMPTE_Time {
        /**
         * The frames.
         */
        mFrames: UInt8;
        /**
         * The hours.
         */
        mHours: Int8;
        /**
         * The minutes.
         */
        mMinutes: UInt8;
        /**
         * The seconds.
         */
        mSeconds: UInt8;
        /**
         * The sample offset within a frame.
         */
        mSubFrameSampleOffset: UInt32;
        constructor ();
        constructor (mHours: Int8, mMinutes: UInt8, mSeconds: UInt8, mFrames: UInt8, mSubFrameSampleOffset: UInt32);
    }
    export class AudioFileMarker {
        /**
         * The channel number referred to by the marker. Set to 
         *  if the marker applies to all channels.
         */
        mChannel: UInt16;
        /**
         * The frame in the file, counting from the start of the audio data.
         */
        mFramePosition: Float64;
        /**
         * A unique ID for the marker.
         */
        mMarkerID: Int32;
        /**
         * The name of the marker.
         */
        mName: Unmanaged<CFString> | null;
        /**
         * A reserved field. Set to 
         * .
         */
        mReserved: UInt16;
        /**
         * The SMPTE time for this marker.
         */
        mSMPTETime: AudioFile_SMPTE_Time;
        /**
         * The marker type.
         */
        mType: UInt32;
        constructor ();
        constructor (mFramePosition: Float64, mName: Unmanaged<CFString> | null, mMarkerID: Int32, mSMPTETime: AudioFile_SMPTE_Time, mType: UInt32, mReserved: UInt16, mChannel: UInt16);
    }
    export class AudioFileMarkerList {
        /**
         * An array of 
         *  elements, each of which is an audio file marker.
         */
        mMarkers: (AudioFileMarker);
        /**
         * The number of markers in the list.
         */
        mNumberMarkers: UInt32;
        /**
         * The SMPTE time type of the whole list of markers in an audio file.
         */
        mSMPTE_TimeType: UInt32;
        constructor ();
        constructor (mSMPTE_TimeType: UInt32, mNumberMarkers: UInt32, mMarkers: (AudioFileMarker));
    }
    export class AudioFileRegion {
        /**
         * Audio File Services region flags. For details, see 
         * . 
         */
        mFlags: AudioFileRegionFlags;
        /**
         * An array of 
         *  elements describing where the data in the region starts. For details, see 
         * .
         */
        mMarkers: (AudioFileMarker);
        /**
         * The name of the region.
         */
        mName: Unmanaged<CFString>;
        /**
         * The number of markers in the array specified in the  
         *  parameter.
         */
        mNumberMarkers: UInt32;
        /**
         * A unique ID associated with the audio file region.
         */
        mRegionID: UInt32;
        constructor (mRegionID: UInt32, mName: Unmanaged<CFString>, mFlags: AudioFileRegionFlags, mNumberMarkers: UInt32, mMarkers: (AudioFileMarker));
    }
    export class AudioFileRegionList {
        /**
         * The number of regions in the list specified in the  
         *  parameter.
         */
        mNumberRegions: UInt32;
        /**
         * A variable length array of audio file regions.
         */
        mRegions: (AudioFileRegion);
        /**
         * The SMPTE timing scheme used in the file. See Core Audio’s 
         *  header file for the values used here. For more information, see 
         * .
         */
        mSMPTE_TimeType: UInt32;
        constructor ();
        constructor (mSMPTE_TimeType: UInt32, mNumberRegions: UInt32, mRegions: (AudioFileRegion));
    }
    export class AudioFramePacketTranslation {
        /**
         * A frame number.
         */
        mFrame: Int64;
        /**
         * A frame offset in a packet.
         */
        mFrameOffsetInPacket: UInt32;
        /**
         * A packet number.
         */
        mPacket: Int64;
        constructor ();
        constructor (mFrame: Int64, mPacket: Int64, mFrameOffsetInPacket: UInt32);
    }
    export class AudioBytePacketTranslation {
        /**
         * A byte number.
         */
        mByte: Int64;
        /**
         * A byte offset in a packet.
         */
        mByteOffsetInPacket: UInt32;
        /**
         * A flag from 
         * .
         */
        mFlags: AudioBytePacketTranslationFlags;
        /**
         * A packet number.
         */
        mPacket: Int64;
        constructor ();
        constructor (mByte: Int64, mPacket: Int64, mByteOffsetInPacket: UInt32, mFlags: AudioBytePacketTranslationFlags);
    }
    export class AudioComponentDescription {
        /**
         * A unique 4-byte code identifying the interface for the component.
         */
        componentType: OSType;
        /**
         * A 4-byte code that you can use to indicate the purpose of a component. For example, you could use 
         *  or 
         *  as a mnemonic indication that an audio unit is a low-pass filter.
         */
        componentSubType: OSType;
        /**
         * The unique vendor identifier, registered with Apple, for the audio component.
         */
        componentManufacturer: OSType;
        /**
         * Set this value to zero.
         */
        componentFlags: UInt32;
        /**
         * Set this value to zero.
         */
        componentFlagsMask: UInt32;
        constructor ();
        constructor (componentType: OSType, componentSubType: OSType, componentManufacturer: OSType, componentFlags: UInt32, componentFlagsMask: UInt32);
    }
    export class AudioFilePacketTableInfo {
        /**
         * The number of valid frames in the file.
         */
        mNumberValidFrames: Int64;
        /**
         * The number of invalid frames at the beginning of the file.
         */
        mPrimingFrames: Int32;
        /**
         * The number of invalid frames at the end of the file.
         */
        mRemainderFrames: Int32;
        constructor ();
        constructor (mNumberValidFrames: Int64, mPrimingFrames: Int32, mRemainderFrames: Int32);
    }
    export class AudioFileTypeAndFormatID {
        /**
         * A four-character code for the file type (for instance, the 
         *  type.
         */
        mFileType: AudioFileTypeID;
        /**
         * A four-character code for the format ID such as 
         * , 
         * , and so forth. (See the 
         *  header file for declarations.)
         */
        mFormatID: UInt32;
        constructor ();
        constructor (mFileType: AudioFileTypeID, mFormatID: UInt32);
    }
    export class AudioIndependentPacketTranslation {
        mIndependentlyDecodablePacket: Int64;
        mPacket: Int64;
        constructor ();
        constructor (mPacket: Int64, mIndependentlyDecodablePacket: Int64);
    }
    export class AudioPacketDependencyInfoTranslation {
        mIsIndependentlyDecodable: UInt32;
        mNumberPrerollPackets: UInt32;
        mPacket: Int64;
        constructor ();
        constructor (mPacket: Int64, mIsIndependentlyDecodable: UInt32, mNumberPrerollPackets: UInt32);
    }
    export class AudioPacketRangeByteCountTranslation {
        mByteCountUpperBound: Int64;
        mPacket: Int64;
        mPacketCount: Int64;
        constructor ();
        constructor (mPacket: Int64, mPacketCount: Int64, mByteCountUpperBound: Int64);
    }
    export class AudioPacketRollDistanceTranslation {
        mPacket: Int64;
        mRollDistance: Int64;
        constructor ();
        constructor (mPacket: Int64, mRollDistance: Int64);
    }
    export enum AudioFilePermissions {
        readPermission = 1,
        readWritePermission = 3,
        writePermission = 2,
    }
    export class AudioComponentFlags {
        static unsearchable: AudioComponentFlags;
        static sandboxSafe: AudioComponentFlags;
        static isV3AudioUnit: AudioComponentFlags;
        static requiresAsyncInstantiation: AudioComponentFlags;
        static canLoadInProcess: AudioComponentFlags;
        constructor (rawValue: UInt32);
    }
    export class AudioComponentPlugInInterface {
        Close: ()=>any;
        Lookup: ()=>any | null;
        Open: ()=>any;
        reserved: UnsafeMutableRawPointer | null;
        constructor (Open: ()=>any, Close: ()=>any, Lookup: ()=>any | null, reserved: UnsafeMutableRawPointer | null);
    }
    export enum AudioComponentValidationResult {
        failed = 2,
        passed = 1,
        timedOut = 3,
        unauthorizedError_Init = 5,
        unauthorizedError_Open = 4,
        unknown = 0,
    }
    export class CAFAudioDescription {
        mBitsPerChannel: UInt32;
        mBytesPerPacket: UInt32;
        mChannelsPerFrame: UInt32;
        mFormatFlags: CAFFormatFlags;
        mFormatID: UInt32;
        mFramesPerPacket: UInt32;
        mSampleRate: Float64;
        constructor ();
        constructor (mSampleRate: Float64, mFormatID: UInt32, mFormatFlags: CAFFormatFlags, mBytesPerPacket: UInt32, mFramesPerPacket: UInt32, mChannelsPerFrame: UInt32, mBitsPerChannel: UInt32);
    }
    export class CAFAudioFormatListItem {
        mChannelLayoutTag: UInt32;
        mFormat: CAFAudioDescription;
        constructor ();
        constructor (mFormat: CAFAudioDescription, mChannelLayoutTag: UInt32);
    }
    export class CAFChunkHeader {
        mChunkSize: Int64;
        mChunkType: UInt32;
        constructor ();
        constructor (mChunkType: UInt32, mChunkSize: Int64);
    }
    export class CAFDataChunk {
        mData: (UInt8);
        mEditCount: UInt32;
        constructor ();
        constructor (mEditCount: UInt32, mData: (UInt8));
    }
    export class CAFFileHeader {
        mFileFlags: UInt16;
        mFileType: UInt32;
        mFileVersion: UInt16;
        constructor ();
        constructor (mFileType: UInt32, mFileVersion: UInt16, mFileFlags: UInt16);
    }
    export class CAFFormatFlags {
        static linearPCMFormatFlagIsFloat: CAFFormatFlags;
        static linearPCMFormatFlagIsLittleEndian: CAFFormatFlags;
        constructor (rawValue: UInt32);
    }
    export class CAFInfoStrings {
        mNumEntries: UInt32;
        constructor ();
        constructor (mNumEntries: UInt32);
    }
    export class CAFInstrumentChunk {
        mBaseNote: Float32;
        mInstrumentID: UInt32;
        mMIDIHighNote: UInt8;
        mMIDIHighVelocity: UInt8;
        mMIDILowNote: UInt8;
        mMIDILowVelocity: UInt8;
        mReleaseRegionID: UInt32;
        mStartRegionID: UInt32;
        mSustainRegionID: UInt32;
        mdBGain: Float32;
        constructor ();
        constructor (mBaseNote: Float32, mMIDILowNote: UInt8, mMIDIHighNote: UInt8, mMIDILowVelocity: UInt8, mMIDIHighVelocity: UInt8, mdBGain: Float32, mStartRegionID: UInt32, mSustainRegionID: UInt32, mReleaseRegionID: UInt32, mInstrumentID: UInt32);
    }
    export class CAFMarker {
        mChannel: UInt32;
        mFramePosition: Float64;
        mMarkerID: UInt32;
        mSMPTETime: CAF_SMPTE_Time;
        mType: UInt32;
        constructor ();
        constructor (mType: UInt32, mFramePosition: Float64, mMarkerID: UInt32, mSMPTETime: CAF_SMPTE_Time, mChannel: UInt32);
    }
    export class CAFMarkerChunk {
        mMarkers: (CAFMarker);
        mNumberMarkers: UInt32;
        mSMPTE_TimeType: UInt32;
        constructor ();
        constructor (mSMPTE_TimeType: UInt32, mNumberMarkers: UInt32, mMarkers: (CAFMarker));
    }
    export class CAFOverviewChunk {
        mData: (CAFOverviewSample);
        mEditCount: UInt32;
        mNumFramesPerOVWSample: UInt32;
        constructor ();
        constructor (mEditCount: UInt32, mNumFramesPerOVWSample: UInt32, mData: (CAFOverviewSample));
    }
    export class CAFOverviewSample {
        mMaxValue: Int16;
        mMinValue: Int16;
        constructor ();
        constructor (mMinValue: Int16, mMaxValue: Int16);
    }
    export class CAFPacketTableHeader {
        mNumberPackets: Int64;
        mNumberValidFrames: Int64;
        mPacketDescriptions: (UInt8);
        mPrimingFrames: Int32;
        mRemainderFrames: Int32;
        constructor ();
        constructor (mNumberPackets: Int64, mNumberValidFrames: Int64, mPrimingFrames: Int32, mRemainderFrames: Int32, mPacketDescriptions: (UInt8));
    }
    export class CAFPeakChunk {
        mEditCount: UInt32;
        mPeaks: (CAFPositionPeak);
        constructor ();
        constructor (mEditCount: UInt32, mPeaks: (CAFPositionPeak));
    }
    export class CAFPositionPeak {
        mFrameNumber: UInt64;
        mValue: Float32;
        constructor ();
        constructor (mValue: Float32, mFrameNumber: UInt64);
    }
    export class CAFRegion {
        mFlags: CAFRegionFlags;
        mMarkers: (CAFMarker);
        mNumberMarkers: UInt32;
        mRegionID: UInt32;
        constructor ();
        constructor (mRegionID: UInt32, mFlags: CAFRegionFlags, mNumberMarkers: UInt32, mMarkers: (CAFMarker));
    }
    export class CAFRegionChunk {
        mNumberRegions: UInt32;
        mRegions: (CAFRegion);
        mSMPTE_TimeType: UInt32;
        constructor ();
        constructor (mSMPTE_TimeType: UInt32, mNumberRegions: UInt32, mRegions: (CAFRegion));
    }
    export class CAFRegionFlags {
        static loopEnable: CAFRegionFlags;
        static playBackward: CAFRegionFlags;
        static playForward: CAFRegionFlags;
        constructor (rawValue: UInt32);
    }
    export class CAFStringID {
        mStringID: UInt32;
        mStringStartByteOffset: Int64;
        constructor ();
        constructor (mStringID: UInt32, mStringStartByteOffset: Int64);
    }
    export class CAFStrings {
        mNumEntries: UInt32;
        mStringsIDs: (CAFStringID);
        constructor ();
        constructor (mNumEntries: UInt32, mStringsIDs: (CAFStringID));
    }
    export class CAFUMIDChunk {
        mBytes: any;
        constructor ();
        constructor (mBytes: any);
    }
    export class CAF_SMPTE_Time {
        mFrames: Int8;
        mHours: Int8;
        mMinutes: Int8;
        mSeconds: Int8;
        mSubFrameSampleOffset: UInt32;
        constructor ();
        constructor (mHours: Int8, mMinutes: Int8, mSeconds: Int8, mFrames: Int8, mSubFrameSampleOffset: UInt32);
    }
    export class CAF_UUID_ChunkHeader {
        mHeader: CAFChunkHeader;
        mUUID: any;
        constructor ();
        constructor (mHeader: CAFChunkHeader, mUUID: any);
    }
    export class AudioConverterPrimeInfo {
        /**
         * The number of leading frames of input audio data required for the converter to perform high-quality conversion.
         */
        leadingFrames: UInt32;
        /**
         * The number of trailing frames of input audio data required by the converter to perform high-quality conversion. Trailing frames follow, in time, the expected final input frame. Your application should be prepared to provide this number of additional input frames except when using the 
         *  value for the 
         *  property. If no additional frames are available in the input stream (because, for example, the desired end frame is at the end of an audio file), then the audio converter synthesizes a sufficient number of silent (
         * -valued) trailing frames.
         */
        trailingFrames: UInt32;
        constructor ();
        constructor (leadingFrames: UInt32, trailingFrames: UInt32);
    }
    export class AudioCodecMagicCookieInfo {
        /**
         * Generic constant pointer to the magic cookie.
         */
        mMagicCookie: UnsafeRawPointer | null;
        /**
         * The size of the magic cookie.
         */
        mMagicCookieSize: UInt32;
        constructor ();
        constructor (mMagicCookieSize: UInt32, mMagicCookie: UnsafeRawPointer | null);
    }
    export class AudioCodecPrimeInfo {
        /**
         * An unsigned integer specifying the number of leading empty frames.
         */
        leadingFrames: UInt32;
        /**
         * An unsigned integer specifying the number of trailing empty frames.
         */
        trailingFrames: UInt32;
        constructor ();
        constructor (leadingFrames: UInt32, trailingFrames: UInt32);
    }
    export class AudioSettingsFlags {
        static expertParameter: AudioSettingsFlags;
        static invisibleParameter: AudioSettingsFlags;
        static metaParameter: AudioSettingsFlags;
        static userInterfaceParameter: AudioSettingsFlags;
        constructor (rawValue: UInt32);
    }
    export enum CAClockMessage {
        armed = 1634889060,
        disarmed = 1684107885,
        propertyChanged = 1885562983,
        startTimeSet = 1937009005,
        started = 1937011316,
        stopped = 1937010544,
        wrongSMPTEFormat = 1064529264,
    }
    export class CAClockTime {
        format: CAClockTimeFormat;
        reserved: UInt32;
        time: CAClockTime.__Unnamed_union_time;
        constructor ();
        constructor (format: CAClockTimeFormat, reserved: UInt32, time: CAClockTime.__Unnamed_union_time);
    }
    export enum CAClockTimeFormat {
        absoluteSeconds = 1634952547,
        beats = 1650811252,
        hostTime = 1752134516,
        smpteSeconds = 1936552051,
        smpteTime = 1936552052,
        samples = 1935764848,
        seconds = 1936024435,
    }
    export class CATempoMapEntry {
        beats: CAClockBeats;
        tempoBPM: CAClockTempo;
        constructor ();
        constructor (beats: CAClockBeats, tempoBPM: CAClockTempo);
    }
    export enum CAClockPropertyID {
        internalTimebase = 1768846434,
        midiClockDestinations = 1835164516,
        mtcDestinations = 1836344164,
        mtcFreewheelTime = 1836344951,
        meterTrack = 1835365490,
        name = 1851878757,
        smpteFormat = 1936552038,
        smpteOffset = 1936552047,
        sendMIDISPP = 1836281968,
        syncMode = 1937337965,
        syncSource = 1937337971,
        tempoMap = 1953329263,
        timebaseSource = 1769235059,
    }
    export enum CAClockSyncMode {
        internal = 1768846450,
        midiClockTransport = 1835232363,
        mtcTransport = 1835889763,
    }
    export enum CAClockTimebase {
        audioDevice = 1635083369,
        audioOutputUnit = 1635086197,
        hostTime = 1752134516,
    }
    export class CABarBeatTime {
        bar: Int32;
        beat: UInt16;
        reserved: UInt16;
        subbeat: UInt16;
        subbeatDivisor: UInt16;
        constructor ();
        constructor (bar: Int32, beat: UInt16, subbeat: UInt16, subbeatDivisor: UInt16, reserved: UInt16);
    }
    export class CAMeterTrackEntry {
        beats: CAClockBeats;
        meterDenom: UInt16;
        meterNumer: UInt16;
        constructor ();
        constructor (beats: CAClockBeats, meterNumer: UInt16, meterDenom: UInt16);
    }
    export class AudioUnitCocoaViewInfo {
        mCocoaAUViewBundleLocation: Unmanaged<CFURL>;
        mCocoaAUViewClass: (Unmanaged<CFString>);
        constructor (mCocoaAUViewBundleLocation: Unmanaged<CFURL>, mCocoaAUViewClass: (Unmanaged<CFString>));
    }
    export class ExtendedControlEvent {
        controlID: AudioUnitParameterID;
        groupID: MusicDeviceGroupID;
        value: AudioUnitParameterValue;
        constructor ();
        constructor (groupID: MusicDeviceGroupID, controlID: AudioUnitParameterID, value: AudioUnitParameterValue);
    }
    export class ScheduledAudioFileRegion {
        /**
         * Must be a valid and already-open audio file object (of type 
         * ), as declared in 
         * .
         */
        mAudioFile: OpaquePointer;
        /**
         * may be 
         */
        mCompletionProc: ScheduledAudioFileRegionCompletionProc | null;
        /**
         *  
         */
        mCompletionProcUserData: UnsafeMutableRawPointer | null;
        /**
         * The number of frames to play.
         */
        mFramesToPlay: UInt32;
        /**
         * 
         *  = do not loop
         */
        mLoopCount: UInt32;
        /**
         * The frame offset into the file.
         */
        mStartFrame: Int64;
        /**
         *  
         */
        mTimeStamp: AudioTimeStamp;
        constructor (mTimeStamp: AudioTimeStamp, mCompletionProc: ScheduledAudioFileRegionCompletionProc | null, mCompletionProcUserData: UnsafeMutableRawPointer | null, mAudioFile: OpaquePointer, mLoopCount: UInt32, mStartFrame: Int64, mFramesToPlay: UInt32);
    }
    export class ScheduledAudioSlice {
        mBufferList: UnsafeMutablePointer<AudioBufferList>;
        mCompletionProc: ScheduledAudioSliceCompletionProc | null;
        mCompletionProcUserData: UnsafeMutableRawPointer;
        mFlags: AUScheduledAudioSliceFlags;
        mNumberFrames: UInt32;
        mReserved: UInt32;
        mReserved2: UnsafeMutableRawPointer | null;
        mTimeStamp: AudioTimeStamp;
        constructor (mTimeStamp: AudioTimeStamp, mCompletionProc: ScheduledAudioSliceCompletionProc | null, mCompletionProcUserData: UnsafeMutableRawPointer, mFlags: AUScheduledAudioSliceFlags, mReserved: UInt32, mReserved2: UnsafeMutableRawPointer | null, mNumberFrames: UInt32, mBufferList: UnsafeMutablePointer<AudioBufferList>);
    }
    export class AudioUnitNodeConnection {
        /**
         *  
         */
        destInputNumber: UInt32;
        /**
         *  
         */
        destNode: AUNode;
        /**
         *  
         */
        sourceNode: AUNode;
        /**
         *  
         */
        sourceOutputNumber: UInt32;
        constructor ();
        constructor (sourceNode: AUNode, sourceOutputNumber: UInt32, destNode: AUNode, destInputNumber: UInt32);
    }
    export class AUNodeInteraction {
        /**
         * A union providing information about a node interaction.
         */
        nodeInteraction: AUNodeInteraction.__Unnamed_union_nodeInteraction;
        /**
         * The interaction type.
         */
        nodeInteractionType: UInt32;
        constructor ();
        constructor (nodeInteractionType: UInt32, nodeInteraction: AUNodeInteraction.__Unnamed_union_nodeInteraction);
    }
    export class AUNodeRenderCallback {
        /**
         *  
         */
        cback: AURenderCallbackStruct;
        /**
         *  
         */
        destInputNumber: AudioUnitElement;
        /**
         *  
         */
        destNode: AUNode;
        constructor ();
        constructor (destNode: AUNode, destInputNumber: AudioUnitElement, cback: AURenderCallbackStruct);
    }
    export class AUMIDIEventList {
        cable: UInt8;
        eventList: MIDIEventList;
        eventSampleTime: AUEventSampleTime;
        eventType: AURenderEventType;
        next: UnsafeMutablePointer<AURenderEvent> | null;
        reserved: UInt8;
        constructor ();
        constructor (next: UnsafeMutablePointer<AURenderEvent> | null, eventSampleTime: AUEventSampleTime, eventType: AURenderEventType, reserved: UInt8, cable: UInt8, eventList: MIDIEventList);
    }
    export enum AUSpatialMixerPersonalizedHRTFMode {
        auto = 2,
        off = 0,
        on = 1,
    }
    export interface AUMessageChannel {
        /**
         * Sends an audio unit a custom data message.
         */
        callAudioUnit(message: Record<AnyHashable, any>):Record<AnyHashable, any>;
        /**
         * A callback for the audio unit to send a message to the host.
         */
        callHostBlock: CallHostBlock | null;
    }
    export enum AudioUnitEventType {
        beginParameterChangeGesture = 1,
        endParameterChangeGesture = 2,
        parameterValueChange = 0,
        propertyChange = 3,
    }
    export enum AudioUnitParameterUnit {
        absoluteCents = 20,
        BPM = 22,
        beats = 23,
        boolean = 2,
        cents = 9,
        customUnit = 26,
        decibels = 13,
        degrees = 15,
        equalPowerCrossfade = 16,
        generic = 0,
        hertz = 8,
        indexed = 1,
        linearGain = 14,
        midiController = 12,
        midiNoteNumber = 11,
        meters = 19,
        milliseconds = 24,
        mixerFaderCurve1 = 17,
        octaves = 21,
        pan = 18,
        percent = 3,
        phase = 6,
        rate = 7,
        ratio = 25,
        relativeSemiTones = 10,
        sampleFrames = 5,
        seconds = 4,
        midi2Controller = 27,
    }
    export enum AudioUnitRemoteControlEvent {
        rewind = 3,
        togglePlayPause = 1,
        toggleRecord = 2,
    }
    export enum AUAudioUnitBusType {
        input = 1,
        output = 2,
    }
    export enum AUParameterAutomationEventType {
        release = 2,
        touch = 1,
        value = 0,
    }
    export enum AUParameterEventType {
        parameterEvent_Immediate = 1,
        parameterEvent_Ramped = 2,
    }
    export class HostCallbackInfo {
        /**
         * Your callback function that provides beat and tempo information to an audio unit. May be 
         * .
         */
        beatAndTempoProc: HostCallback_GetBeatAndTempo | null;
        /**
         * Custom data specified by your application. May be 
         * .
         */
        hostUserData: UnsafeMutableRawPointer | null;
        /**
         * Your callback function that provides musical timeline information to an audio unit. May be 
         * .
         */
        musicalTimeLocationProc: HostCallback_GetMusicalTimeLocation | null;
        /**
         * Your callback function that provides audio transport state information (
         * , 
         * , and so on) to an audio unit. May be 
         * .
         */
        transportStateProc: HostCallback_GetTransportState | null;
        transportStateProc2: HostCallback_GetTransportState2 | null;
        constructor ();
        constructor (hostUserData: UnsafeMutableRawPointer | null, beatAndTempoProc: HostCallback_GetBeatAndTempo | null, musicalTimeLocationProc: HostCallback_GetMusicalTimeLocation | null, transportStateProc: HostCallback_GetTransportState | null, transportStateProc2: HostCallback_GetTransportState2 | null);
    }
    export enum AUSpatialMixerAttenuationCurve {
        spatialMixerAttenuationCurve_Exponential = 1,
        spatialMixerAttenuationCurve_Inverse = 2,
        spatialMixerAttenuationCurve_Linear = 3,
        spatialMixerAttenuationCurve_Power = 0,
    }
    export enum AUSpatialMixerOutputType {
        spatialMixerOutputType_BuiltInSpeakers = 2,
        spatialMixerOutputType_ExternalSpeakers = 3,
        spatialMixerOutputType_Headphones = 1,
    }
    export enum AUSpatialMixerPointSourceInHeadMode {
        spatialMixerPointSourceInHeadMode_Bypass = 1,
        spatialMixerPointSourceInHeadMode_Mono = 0,
    }
    export enum AUSpatialMixerSourceMode {
        spatialMixerSourceMode_AmbienceBed = 3,
        spatialMixerSourceMode_Bypass = 1,
        spatialMixerSourceMode_PointSource = 2,
        spatialMixerSourceMode_SpatializeIfMono = 0,
    }
    export enum AU3DMixerAttenuationCurve {
        k3DMixerAttenuationCurve_Exponential = 1,
        k3DMixerAttenuationCurve_Inverse = 2,
        k3DMixerAttenuationCurve_Linear = 3,
        k3DMixerAttenuationCurve_Power = 0,
    }
    export class MixerDistanceParams {
        mMaxAttenuation: Float32;
        mMaxDistance: Float32;
        mReferenceDistance: Float32;
        constructor ();
        constructor (mReferenceDistance: Float32, mMaxDistance: Float32, mMaxAttenuation: Float32);
    }
    export enum AUSpatializationAlgorithm {
        spatializationAlgorithm_EqualPowerPanning = 0,
        spatializationAlgorithm_HRTF = 2,
        spatializationAlgorithm_SoundField = 3,
        spatializationAlgorithm_SphericalHead = 1,
        spatializationAlgorithm_StereoPassThrough = 5,
        spatializationAlgorithm_VectorBasedPanning = 4,
        spatializationAlgorithm_HRTFHQ = 6,
        spatializationAlgorithm_UseOutputType = 7,
    }
}

/**
 * Use specialized data types to interact with audio streams, complex buffers, and audiovisual timestamps.
 */
declare module CoreAudioTypes {
    export class AudioFormatListItem {
        /**
         * An 
         *  structure.
         */
        mASBD: AudioStreamBasicDescription;
        /**
         * An 
         *  value.
         */
        mChannelLayoutTag: AudioChannelLayoutTag;
        constructor ();
        constructor (mASBD: AudioStreamBasicDescription, mChannelLayoutTag: AudioChannelLayoutTag);
    }
    export class AudioBuffer {
        /**
         * The number of interleaved channels in the buffer.
         */
        mNumberChannels: UInt32;
        /**
         * The number of bytes in the buffer.
         */
        mDataByteSize: UInt32;
        /**
         * A pointer to a buffer of audio data.
         */
        mData: UnsafeMutableRawPointer | null;
        /**
         * Creates an empty audio buffer.
         */
        constructor ();
        /**
         * Creates an audio buffer with audio data.
         */
        constructor (mNumberChannels: UInt32, mDataByteSize: UInt32, mData: UnsafeMutableRawPointer | null);
    }
    export class AudioBufferList {
        /**
         * The number of audio buffers in the list.
         */
        mNumberBuffers: UInt32;
        /**
         * A variable-length array of audio buffers.
         */
        mBuffers: (AudioBuffer);
    }
    export class AudioChannelDescription {
        /**
         * The audio channel flags that indicate how to interpret the channel coordinates.
         */
        mChannelFlags: AudioChannelFlags;
        /**
         * A label that describes the audio channel.
         */
        mChannelLabel: AudioChannelLabel;
        /**
         * The coordinates that specify a precise speaker location.
         */
        mCoordinates: any;
        /**
         * Creates an empty channel description.
         */
        constructor ();
        /**
         * Creates a channel description with a label, flags, and coordinates.
         */
        constructor (mChannelLabel: AudioChannelLabel, mChannelFlags: AudioChannelFlags, mCoordinates: any);
    }
    export class AudioChannelLayout {
        /**
         * If 
         *  is set to 
         * , this field is the channel-use bitmap.
         */
        mChannelBitmap: AudioChannelBitmap;
        /**
         * A variable length array of 
         *  elements that describes a layout. If the 
         *  field is set to 
         * , use this field to describe the layout.
         */
        mChannelDescriptions: (AudioChannelDescription);
        /**
         * The 
         *  value that indicates the layout. See 
         *  for possible values.
         */
        mChannelLayoutTag: AudioChannelLayoutTag;
        /**
         * The number of items in the 
         *  array.
         */
        mNumberChannelDescriptions: UInt32;
        constructor ();
        constructor (mChannelLayoutTag: AudioChannelLayoutTag, mChannelBitmap: AudioChannelBitmap, mNumberChannelDescriptions: UInt32, mChannelDescriptions: (AudioChannelDescription));
    }
    export class AudioChannelBitmap {
        /**
         * The left channel.
         */
        static bit_Left: AudioChannelBitmap;
        /**
         * The left center channel.
         */
        static bit_LeftCenter: AudioChannelBitmap;
        /**
         * The left surround channel.
         */
        static bit_LeftSurround: AudioChannelBitmap;
        /**
         * The left surround direct channel.
         */
        static bit_LeftSurroundDirect: AudioChannelBitmap;
        /**
         * The left-top front channel.
         */
        static bit_LeftTopFront: AudioChannelBitmap;
        /**
         * The left-top middle channel.
         */
        static bit_LeftTopMiddle: AudioChannelBitmap;
        /**
         * The left-top rear channel.
         */
        static bit_LeftTopRear: AudioChannelBitmap;
        /**
         * The top-back left channel.
         */
        static bit_TopBackLeft: AudioChannelBitmap;
        /**
         * The vertical height left channel.
         */
        static bit_VerticalHeightLeft: AudioChannelBitmap;
        /**
         * The center channel.
         */
        static bit_Center: AudioChannelBitmap;
        /**
         * The center surround channel.
         */
        static bit_CenterSurround: AudioChannelBitmap;
        /**
         * The top-front center channel.
         */
        static bit_CenterTopFront: AudioChannelBitmap;
        /**
         * The top-middle center channel.
         */
        static bit_CenterTopMiddle: AudioChannelBitmap;
        /**
         * The top-right center channel.
         */
        static bit_CenterTopRear: AudioChannelBitmap;
        /**
         * The top-back center channel.
         */
        static bit_TopBackCenter: AudioChannelBitmap;
        /**
         * The top center surround channel.
         */
        static bit_TopCenterSurround: AudioChannelBitmap;
        /**
         * The vertical height center channel.
         */
        static bit_VerticalHeightCenter: AudioChannelBitmap;
        /**
         * The right channel.
         */
        static bit_Right: AudioChannelBitmap;
        /**
         * The right center channel.
         */
        static bit_RightCenter: AudioChannelBitmap;
        /**
         * The rIght surround channel.
         */
        static bit_RightSurround: AudioChannelBitmap;
        /**
         * The right surround direct channel.
         */
        static bit_RightSurroundDirect: AudioChannelBitmap;
        /**
         * The top-front front channel.
         */
        static bit_RightTopFront: AudioChannelBitmap;
        /**
         * The top-middle right channel.
         */
        static bit_RightTopMiddle: AudioChannelBitmap;
        /**
         * The top-rear right channel.
         */
        static bit_RightTopRear: AudioChannelBitmap;
        /**
         * The top-back right channel.
         */
        static bit_TopBackRight: AudioChannelBitmap;
        /**
         * The vertical height right channel.
         */
        static bit_VerticalHeightRight: AudioChannelBitmap;
        /**
         * The Low Frequency Effects (LFE) screen channel.
         */
        static bit_LFEScreen: AudioChannelBitmap;
        /**
         * Creates an audio channel bitmap.
         */
        constructor (rawValue: UInt32);
    }
    export enum AudioChannelCoordinateIndex {
        coordinates_BackFront = 1,
        coordinates_DownUp = 2,
        coordinates_LeftRight = 0,
    }
    export class AudioChannelFlags {
        /**
         * A flag that indicates the channel uses the speaker position’s cartesian coordinates.
         */
        static rectangularCoordinates: AudioChannelFlags;
        /**
         * A flag that indicates the channel uses the speaker position’s spherical coordinates.
         */
        static sphericalCoordinates: AudioChannelFlags;
        /**
         * A flag that indicates that unit values are in meters.
         */
        static meters: AudioChannelFlags;
    }
    export class AudioClassDescription {
        /**
         * A four character code that a manufacturer defines for a codec type.
         */
        mType: OSType;
        /**
         * A four character code that a manufacturer defines for a codec subtype.
         */
        mSubType: OSType;
        /**
         * A four character code that identifies a codec manufacturer.
         */
        mManufacturer: OSType;
        /**
         * Creates an empty audio class description.
         */
        constructor ();
        /**
         * Creates an audio class description for the type, subtype, and manufacturer.
         */
        constructor (mType: OSType, mSubType: OSType, mManufacturer: OSType);
    }
    export class AudioTimeStamp {
        /**
         * A set of flags indicating which representations of the time are valid; see 
         *  and 
         * .
         */
        mFlags: AudioTimeStampFlags;
        /**
         * The host machine's time base (see 
         * ). 
         */
        mHostTime: UInt64;
        /**
         * The ratio of actual host ticks per sample frame to the nominal host ticks per sample frame. 
         */
        mRateScalar: Float64;
        /**
         * Pads the structure out to force an even 8-byte alignment.
         */
        mReserved: UInt32;
        /**
         * The SMPTE time (see 
         * ).
         */
        mSMPTETime: SMPTETime;
        /**
         * The absolute sample frame time. 
         */
        mSampleTime: Float64;
        /**
         * The word clock time.
         */
        mWordClockTime: UInt64;
        /**
         * Creates an empty audio timestamp.
         */
        constructor ();
        /**
         * Creates an audio time stamp.
         */
        constructor (mSampleTime: Float64, mHostTime: UInt64, mRateScalar: Float64, mWordClockTime: UInt64, mSMPTETime: SMPTETime, mFlags: AudioTimeStampFlags, mReserved: UInt32);
    }
    export class AudioTimeStampFlags {
        /**
         * A flag that indicates that the host time is valid.
         */
        static hostTimeValid: AudioTimeStampFlags;
        /**
         * A flag that indicates that the rate scalar is valid.
         */
        static rateScalarValid: AudioTimeStampFlags;
        /**
         * A flag that indicates that the sample frame time and the host time are valid.
         */
        static sampleHostTimeValid: AudioTimeStampFlags;
        /**
         * A flag that indicates that the sample frame time is valid.
         */
        static sampleTimeValid: AudioTimeStampFlags;
        /**
         * A flag that indicates that the SMPTE time is valid.
         */
        static smpteTimeValid: AudioTimeStampFlags;
        /**
         * A flag that indicates that the word clock time is valid.
         */
        static wordClockTimeValid: AudioTimeStampFlags;
        /**
         * Creates a flag with an unsigned-integer value.
         */
        constructor (rawValue: UInt32);
    }
    export class SMPTETime {
        /**
         * The total number of messages received. It takes 8 messages to carry a full SMPTE time code. 
         */
        mCounter: UInt32;
        /**
         * A set of flags that indicate the SMPTE state (see 
         * ). 
         */
        mFlags: SMPTETimeFlags;
        /**
         * The value of the frames portion of the SMPTE time. 
         */
        mFrames: Int16;
        /**
         * The value of the hours portion of the SMPTE time.
         */
        mHours: Int16;
        /**
         * The value of the minutes portion of the SMPTE time.
         */
        mMinutes: Int16;
        /**
         * The value of the seconds portion of the SMPTE time.
         */
        mSeconds: Int16;
        /**
         * The number of subframes per video frame (typically 80). 
         */
        mSubframeDivisor: Int16;
        /**
         * A subframe offset to the HH:MM:SS:FF time. You can use this field to position a time marker somewhere within the time span represented by a video frame, if necessary.   
         */
        mSubframes: Int16;
        /**
         * A SMPTE time type constant indicating the kind of SMPTE time used (see 
         * ).
         */
        mType: SMPTETimeType;
        constructor ();
        constructor (mSubframes: Int16, mSubframeDivisor: Int16, mCounter: UInt32, mType: SMPTETimeType, mFlags: SMPTETimeFlags, mHours: Int16, mMinutes: Int16, mSeconds: Int16, mFrames: Int16);
    }
    export class SMPTETimeFlags {
        static running: SMPTETimeFlags;
        static valid: SMPTETimeFlags;
        constructor (rawValue: UInt32);
    }
    export enum SMPTETimeType {
        type2398 = 11,
        type24 = 0,
        type25 = 1,
        type2997 = 4,
        type2997Drop = 5,
        type30 = 3,
        type30Drop = 2,
        type50 = 10,
        type5994 = 7,
        type5994Drop = 9,
        type60 = 6,
        type60Drop = 8,
    }
    export class AudioValueRange {
        /**
         * The maximum value.
         */
        mMaximum: Float64;
        /**
         * The minimum value.
         */
        mMinimum: Float64;
        constructor ();
        constructor (mMinimum: Float64, mMaximum: Float64);
    }
    export class AudioValueTranslation {
        /**
         * The buffer containing the data to be translated.
         */
        mInputData: UnsafeMutableRawPointer;
        /**
         * The number of bytes in the buffer pointed at by 
         * .
         */
        mInputDataSize: UInt32;
        /**
         * The buffer to hold the result of the translation.
         */
        mOutputData: UnsafeMutableRawPointer;
        /**
         * The number of bytes in the buffer pointed at by 
         * .
         */
        mOutputDataSize: UInt32;
        constructor (mInputData: UnsafeMutableRawPointer, mInputDataSize: UInt32, mOutputData: UnsafeMutableRawPointer, mOutputDataSize: UInt32);
    }
    export class AudioStreamBasicDescription {
        /**
         * An identifier specifying the general audio data format in the stream.
         */
        mFormatID: AudioFormatID;
        /**
         * Format-specific flags to specify details of the format.
         */
        mFormatFlags: AudioFormatFlags;
        /**
         * The number of frames per second of the data in the stream, when playing the stream at normal speed.
         */
        mSampleRate: Float64;
        /**
         * The number of bits for one audio sample.
         */
        mBitsPerChannel: UInt32;
        /**
         * The number of bytes from the start of one frame to the start of the next frame in an audio buffer.
         */
        mBytesPerFrame: UInt32;
        /**
         * The number of channels in each frame of audio data.
         */
        mChannelsPerFrame: UInt32;
        /**
         * The number of bytes in a packet of audio data.
         */
        mBytesPerPacket: UInt32;
        /**
         * The number of frames in a packet of audio data.
         */
        mFramesPerPacket: UInt32;
        /**
         * Pads the structure out to force an even 8-byte alignment.
         */
        mReserved: UInt32;
        /**
         * Creates an empty description.
         */
        constructor ();
        /**
         * Creates a description with the specified values.
         */
        constructor (mSampleRate: Float64, mFormatID: AudioFormatID, mFormatFlags: AudioFormatFlags, mBytesPerPacket: UInt32, mFramesPerPacket: UInt32, mBytesPerFrame: UInt32, mChannelsPerFrame: UInt32, mBitsPerChannel: UInt32, mReserved: UInt32);
    }
    export class AudioStreamPacketDescription {
        /**
         * The number of bytes in the packet.
         */
        mDataByteSize: UInt32;
        /**
         * The number of bytes from the start of the buffer to the beginning of the packet. For example, if the data buffer contains 5 bytes of data, with one byte per packet, then 
         *  for the last packet is 4 (that is, there are 4 bytes in the buffer before the start of the last packet. 
         */
        mStartOffset: Int64;
        /**
         * The number of sample frames of data in the packet. For formats with a constant number of frames per packet, this field is set to 
         * .
         */
        mVariableFramesInPacket: UInt32;
        constructor ();
        constructor (mStartOffset: Int64, mVariableFramesInPacket: UInt32, mDataByteSize: UInt32);
    }
    export enum MPEG4ObjectID {
        AAC_LC = 2,
        AAC_LTP = 4,
        aac_Main = 1,
        AAC_SBR = 5,
        AAC_SSR = 3,
        aac_Scalable = 6,
        CELP = 8,
        HVXC = 9,
        twinVQ = 7,
    }
}

/**
 * Make it easy for users to log into apps and services.
 */
declare module AuthenticationServices {
    export class SignInWithAppleButton {
        /**
         * Creates a Sign in with Apple button.
         */
        constructor (label: SignInWithAppleButton.Label, onRequest: ()=>any, onCompletion: ()=>any);
        fontDesign(design: Font.Design | null):View;
        monospaced(isActive: boolean):View;
        scrollContentBackground(visibility: Visibility):View;
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
    }
    /**
     * the same name namespace of class SignInWithAppleButton
     */
    export namespace SignInWithAppleButton {
        export class Style {
            /**
             * The constant that defines a white-outlined button.
             */
            static whiteOutline: SignInWithAppleButton.Style;
        }
        export class Label {
            /**
             * The constant that defines the Continue label on the button.
             */
            static continue: SignInWithAppleButton.Label;
            /**
             * The constant that defines the Sign in with Apple label on the button.
             */
            static signIn: SignInWithAppleButton.Label;
            /**
             * The constant that defines the Sign up with Apple label on the button.
             */
            static signUp: SignInWithAppleButton.Label;
        }
    }
    export interface ASAuthorizationControllerDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate when authorization completes, and specifies the custom method the user selected.
         */
        authorizationController(controller: ASAuthorizationController, method: ASAuthorizationCustomMethod):void;
    }
    export class ASAuthorization extends NSObject {
        /**
         * The provider that created the request that resulted in the successful authorization.
         */
        provider: ASAuthorizationProvider;
        /**
         * Information provided about a user after successful authentication.
         */
        credential: ASAuthorizationCredential;
    }
    /**
     * the same name namespace of class ASAuthorization
     */
    export namespace ASAuthorization {
        export class Scope {
            /**
             * A scope that includes the user’s email address.
             */
            static email: ASAuthorization.Scope;
            /**
             * A scope that includes the user’s full name.
             */
            static fullName: ASAuthorization.Scope;
            /**
             * Creates a scope from the given string.
             */
            constructor (rawValue: string);
            /**
             * Creates a scope from the given string.
             */
            constructor (rawValue: string);
        }
        export class OpenIDOperation {
            /**
             * An operation used to authenticate a user.
             */
            static operationLogin: ASAuthorization.OpenIDOperation;
            /**
             * An operation that refreshes the logged-in user’s credentials.
             */
            static operationRefresh: ASAuthorization.OpenIDOperation;
            /**
             * An operation that ends an authenticated session.
             */
            static operationLogout: ASAuthorization.OpenIDOperation;
            /**
             * An operation that depends on the particular kind of credential provider.
             */
            static operationImplicit: ASAuthorization.OpenIDOperation;
            /**
             * Creates an operation from the given string.
             */
            constructor (rawValue: string);
            /**
             * Creates an operation from the given string.
             */
            constructor (rawValue: string);
        }
    }
    export interface ASAuthorizationCredential extends NSCopying,NSObjectProtocol,NSSecureCoding {}
    export class ASAuthorizationError {
        static notInteractive: ASAuthorizationError.Code;
        /**
         * The error’s domain.
         */
        static errorDomain: string;
        /**
         * The user canceled the authorization attempt.
         */
        static canceled: ASAuthorizationError.Code;
        /**
         * The authorization attempt failed.
         */
        static failed: ASAuthorizationError.Code;
        /**
         * The authorization request received an invalid response.
         */
        static invalidResponse: ASAuthorizationError.Code;
        /**
         * The authorization request wasn’t handled.
         */
        static notHandled: ASAuthorizationError.Code;
        /**
         * The authorization attempt failed for an unknown reason.
         */
        static unknown: ASAuthorizationError.Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The error code.
         */
        code: Code;
        /**
         * A dictionary of user-specific information.
         */
        userInfo: Record<string, any>;
        /**
         * Supplemental data that might be included in an authorization error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The error’s code.
         */
        errorCode: number;
        /**
         * A human-readable description of the error.
         */
        localizedDescription: string;
        /**
         * Initializes a new instance of an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ASAuthorizationError
     */
    export namespace ASAuthorizationError {
        export enum Code {
            canceled = 1001,
            failed = 1004,
            invalidResponse = 1002,
            notHandled = 1003,
            unknown = 1000,
            notInteractive = 1005,
        }
    }
    export class ASAuthorizationController extends NSObject {
        /**
         * An array of custom authorization methods for the user to choose.
         */
        customAuthorizationMethods: ASAuthorizationCustomMethod[];
        cancel():void;
        performAutoFillAssistedRequests():void;
        performRequests(options: ASAuthorizationController.RequestOptions):void;
    }
    /**
     * the same name namespace of class ASAuthorizationController
     */
    export namespace ASAuthorizationController {
        export class RequestOptions {
            static preferImmediatelyAvailableCredentials: ASAuthorizationController.RequestOptions;
            constructor (rawValue: number);
        }
    }
    export class ASAuthorizationAppleIDCredential extends NSObject {
        /**
         * A JSON Web Token (JWT) that securely communicates information about the user to the app.
         */
        identityToken: Data | null;
        /**
         * A token that the app uses to interact with the server.
         */
        authorizationCode: Data | null;
        /**
         * An arbitrary string that your app provides to the request that generates the credential.
         */
        state: string;
        /**
         * An identifier for the authenticated user.
         */
        user: string;
        /**
         * The contact information the user authorized your app to access.
         */
        authorizedScopes: ASAuthorization.Scope[];
        /**
         * The user’s full name from their Apple ID or a user-submitted value provided from the Sign in with Apple UI.
         */
        fullName: PersonNameComponents | null;
        /**
         * The user’s email address.
         */
        email: string;
        /**
         * A value that indicates whether the user appears to be a real person.
         */
        realUserStatus: ASUserDetectionStatus;
    }
    export enum ASUserDetectionStatus {
        likelyReal = 2,
        unknown = 1,
        unsupported = 0,
    }
    export class ASAuthorizationPasswordProvider extends NSObject {
        /**
         * Creates a new password authorization request.
         */
        createRequest():ASAuthorizationPasswordRequest;
    }
    export class ASAuthorizationPasswordRequest extends ASAuthorizationRequest {}
    export class ASPasswordCredential extends NSObject {
        /**
         * The user for a password credential object.
         */
        user: string;
        /**
         * The password for a password credential object.
         */
        password: string;
        /**
         * Initializes a password credential.
         */
        constructor (user: string, password: string);
    }
    export interface ASAuthorizationPublicKeyCredentialRegistration extends ASPublicKeyCredential {
        /**
         * A data object that contains the returned attestation.
         */
        rawAttestationObject: Data | null;
    }
    export class ASAuthorizationPlatformPublicKeyCredentialRegistration extends NSObject {}
    export class ASAuthorizationSecurityKeyPublicKeyCredentialRegistration extends NSObject {}
    export interface ASAuthorizationPublicKeyCredentialRegistrationRequest extends NSCopying,NSObjectProtocol,NSSecureCoding {
        /**
         * The type of attestation you’re requesting.
         */
        attestationPreference: ASAuthorizationPublicKeyCredentialAttestationKind;
        /**
         * Arbitrary data that the client signs as proof of a valid registration or attestation.
         */
        challenge: Data;
        /**
         * A user-visible name for the credential, such as the account’s user name.
         */
        displayName: string;
        /**
         * A user-visible name that identifies a credential.
         */
        name: string;
        /**
         * The domain name of the website for the credential.
         */
        relyingPartyIdentifier: string;
        /**
         * Data that the relying party associates with the credential.
         */
        userID: Data;
        /**
         * A preference for whether the authenticator attempts to verify the user at the time of sign-in.
         */
        userVerificationPreference: ASAuthorizationPublicKeyCredentialUserVerificationPreference;
    }
    export class ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest extends ASAuthorizationRequest {}
    export class ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest extends ASAuthorizationRequest {
        /**
         * An array of parameters for the credential.
         */
        credentialParameters: ASAuthorizationPublicKeyCredentialParameters[];
        /**
         * An array of excluded parameters for the credential.
         */
        excludedCredentials: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor[];
        /**
         * The preference that indicates where the resident key resides.
         */
        residentKeyPreference: ASAuthorizationPublicKeyCredentialResidentKeyPreference;
    }
    export interface ASAuthorizationPublicKeyCredentialAssertion extends ASPublicKeyCredential {
        /**
         * The signature for the assertion.
         */
        signature: Data!;
        /**
         * A user identifier for the assertion.
         */
        userID: Data!;
        /**
         * A byte sequence that contains additional information about the credential.
         */
        rawAuthenticatorData: Data!;
    }
    export class ASAuthorizationPlatformPublicKeyCredentialAssertion extends NSObject {}
    export class ASAuthorizationPlatformPublicKeyCredentialAssertionRequest extends ASAuthorizationRequest {
        /**
         * The array of allowed credentials.
         */
        allowedCredentials: ASAuthorizationPlatformPublicKeyCredentialDescriptor[];
    }
    export class ASAuthorizationPlatformPublicKeyCredentialDescriptor extends NSObject {
        /**
         * Creates the descriptor with a credential.
         */
        constructor (credentialID: Data);
    }
    export class ASAuthorizationSecurityKeyPublicKeyCredentialAssertion extends NSObject {}
    export interface ASAuthorizationPublicKeyCredentialAssertionRequest extends NSCopying,NSObjectProtocol,NSSecureCoding {
        /**
         * The challenge to sign.
         */
        challenge: Data;
        /**
         * The domain name of the website for the credential.
         */
        relyingPartyIdentifier: string;
        /**
         * A list of allowed credential descriptors the user attempts to sign in with.
         */
        allowedCredentials: ASAuthorizationPublicKeyCredentialDescriptor[];
        /**
         * A preference that indicates whether the authenticator attempts to verify the user at the time of sign-in.
         */
        userVerificationPreference: ASAuthorizationPublicKeyCredentialUserVerificationPreference;
    }
    export class ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest extends ASAuthorizationRequest {
        /**
         * An array of allowed credentials.
         */
        allowedCredentials: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor[];
    }
    export class ASAuthorizationPlatformPublicKeyCredentialProvider extends NSObject {
        /**
         * The domain name of the service to register or authorize against.
         */
        relyingPartyIdentifier: string;
        /**
         * Creates the object with a relying party identifier.
         */
        constructor (relyingPartyIdentifier: string);
        /**
         * Creates an assertion request with a challenge.
         */
        createCredentialAssertionRequest(challenge: Data):ASAuthorizationPlatformPublicKeyCredentialAssertionRequest;
        /**
         * Creates an assertion request with a challenge, name, and user ID.
         */
        createCredentialRegistrationRequest(challenge: Data, name: string, userID: Data):ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest;
    }
    export class ASAuthorizationSecurityKeyPublicKeyCredentialProvider extends NSObject {
        /**
         * The domain name of the service to authorize against.
         */
        relyingPartyIdentifier: string;
        /**
         * Creates the object with a relying party identifier.
         */
        constructor (relyingPartyIdentifier: string);
        /**
         * Creates an assertion request with a challenge.
         */
        createCredentialAssertionRequest(challenge: Data):ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest;
        /**
         * Creates an assertion request with a challenge, display name, and user ID.
         */
        createCredentialRegistrationRequest(challenge: Data, displayName: string, name: string, userID: Data):ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest;
    }
    export interface ASPublicKeyCredential extends ASAuthorizationCredential {
        /**
         * Raw data that contains a JSON-compatible encoding of the client data.
         */
        rawClientDataJSON: Data;
        /**
         * An identifier that the authenticator generates during registration to uniquely identify a specific credential.
         */
        credentialID: Data;
    }
    export class ASAuthorizationPublicKeyCredentialParameters extends NSObject {
        /**
         * The algorithm to use for negitation between the authenticator and the relying party.
         */
        algorithm: ASCOSEAlgorithmIdentifier;
        /**
         * Creates the object with an algorithm.
         */
        constructor (algorithm: ASCOSEAlgorithmIdentifier);
    }
    export class ASCOSEAlgorithmIdentifier {
        /**
         * The ES256 algorithm.
         */
        static ES256: ASCOSEAlgorithmIdentifier;
        /**
         * Creates the algorithm identifier.
         */
        constructor (rawValue: number);
        /**
         * Creates the algorithm identifier.
         */
        constructor (rawValue: number);
    }
    export class ASCOSEEllipticCurveIdentifier {
        /**
         * The 256-bit elliptic curve identifier.
         */
        static P256: ASCOSEEllipticCurveIdentifier;
        /**
         * Creates the elliptic curve identifier.
         */
        constructor (rawValue: number);
        /**
         * Creates the elliptic curve identifier.
         */
        constructor (rawValue: number);
    }
    export class ASAuthorizationPublicKeyCredentialAttestationKind {
        /**
         * An attestation kind of none.
         */
        static none: ASAuthorizationPublicKeyCredentialAttestationKind;
        /**
         * An attestation kind of direct.
         */
        static direct: ASAuthorizationPublicKeyCredentialAttestationKind;
        /**
         * An attestation kind of enterprise.
         */
        static enterprise: ASAuthorizationPublicKeyCredentialAttestationKind;
        /**
         * An attestation kind of indirect.
         */
        static indirect: ASAuthorizationPublicKeyCredentialAttestationKind;
        /**
         * Creates the object with an attestation type.
         */
        constructor (rawValue: string);
        /**
         * Creates the object with an attestation type.
         */
        constructor (rawValue: string);
    }
    export class ASAuthorizationPublicKeyCredentialResidentKeyPreference {
        /**
         * The preference for the device not to store the resident key.
         */
        static discouraged: ASAuthorizationPublicKeyCredentialResidentKeyPreference;
        /**
         * The preference for the device to store the resident key.
         */
        static preferred: ASAuthorizationPublicKeyCredentialResidentKeyPreference;
        /**
         * The device must store the resident key.
         */
        static required: ASAuthorizationPublicKeyCredentialResidentKeyPreference;
        /**
         * Creates the object with a preference.
         */
        constructor (rawValue: string);
        /**
         * Creates the object with a preference.
         */
        constructor (rawValue: string);
    }
    export class ASAuthorizationPublicKeyCredentialUserVerificationPreference {
        /**
         * The relying party discourages user verification.
         */
        static discouraged: ASAuthorizationPublicKeyCredentialUserVerificationPreference;
        /**
         * The relying party prefers user verification.
         */
        static preferred: ASAuthorizationPublicKeyCredentialUserVerificationPreference;
        /**
         * The relying party requires user verification.
         */
        static required: ASAuthorizationPublicKeyCredentialUserVerificationPreference;
        /**
         * Creates the object with a preference.
         */
        constructor (rawValue: string);
        /**
         * Creates the object with a preference.
         */
        constructor (rawValue: string);
    }
    export interface ASAuthorizationPublicKeyCredentialDescriptor extends NSCopying,NSObjectProtocol,NSSecureCoding {
        /**
         * An identifier the authenticator generates during registration to uniquely identify a specific credential.
         */
        credentialID: Data;
    }
    export class ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor extends NSObject {
        /**
         * The array of transport types.
         */
        transports: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor.Transport[];
        /**
         * Creates the object with the credential ID and the array of transports.
         */
        constructor (credentialID: Data, allowedTransports: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor.Transport[]);
    }
    /**
     * the same name namespace of class ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor
     */
    export namespace ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {
        export class Transport {
            /**
             * An array of currently supported transport types. 
             */
            static allSupported: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor.Transport[];
            /**
             * The Bluetooth transport type.
             */
            static bluetooth: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor.Transport;
            /**
             * The Near Field Communication transport type.
             */
            static nfc: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor.Transport;
            /**
             * The USB transport type.
             */
            static usb: ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor.Transport;
            /**
             * Creates the object with a transport type.
             */
            constructor (rawValue: string);
            /**
             * Creates the object with a preference.
             */
            constructor (rawValue: string);
        }
    }
    export class ASAccountAuthenticationModificationController extends NSObject {
        /**
         * An object that provides a presentation context for the account modification request’s user interface.
         */
        presentationContextProvider: ASAccountAuthenticationModificationControllerPresentationContextProviding | null;
        /**
         * An object that receives notifications about the request’s status.
         */
        delegate: ASAccountAuthenticationModificationControllerDelegate | null;
        /**
         * Performs a request to upgrade the authentication credentials for an account to a strong password, or to use Sign in with Apple.
         */
        perform(request: ASAccountAuthenticationModificationRequest):void;
    }
    export class ASAccountAuthenticationModificationReplacePasswordWithSignInWithAppleRequest extends ASAccountAuthenticationModificationRequest {
        /**
         * The user name of the account to upgrade.
         */
        user: string;
        /**
         * An identifier that represents a particular service that the user needs a credential for, like a web site.
         */
        serviceIdentifier: ASCredentialServiceIdentifier;
        /**
         * A dictionary that contains values to pass to your account modification extension.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * Creates a request to upgrade from using passwords to using Sign in with Apple.
         */
        constructor (user: string, serviceIdentifier: ASCredentialServiceIdentifier, userInfo: Record<AnyHashable, any> | null);
    }
    export class ASAccountAuthenticationModificationUpgradePasswordToStrongPasswordRequest extends ASAccountAuthenticationModificationRequest {
        /**
         * The user name of the account to upgrade.
         */
        user: string;
        /**
         * An identifier that represents a particular service that the user needs a credential for, like a web site.
         */
        serviceIdentifier: ASCredentialServiceIdentifier;
        /**
         * A dictionary that contains values to pass to your account modification extension.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * Creates a request to upgrade from using a weak password to using a strong system-generated password.
         */
        constructor (user: string, serviceIdentifier: ASCredentialServiceIdentifier, userInfo: Record<AnyHashable, any> | null);
    }
    export class ASAccountAuthenticationModificationRequest extends NSObject {}
    export class ASAccountAuthenticationModificationViewController extends UIViewController {
        /**
         * The context your account authentication modification extension uses to provide information to the system.
         */
        extensionContext: ASAccountAuthenticationModificationExtensionContext;
        /**
         * Converts an account’s authentication mechanism from using passwords to using Sign in with Apple.
         */
        convertAccountToSignInWithAppleWithoutUserInteraction(serviceIdentifier: ASCredentialServiceIdentifier, existingCredential: ASPasswordCredential, userInfo: Record<AnyHashable, any> | null):void;
        /**
         * Prepares the view controller’s interface that displays when converting an account that uses password authentication to use Sign in with Apple.
         */
        prepareInterfaceToConvertAccountToSignInWithApple(serviceIdentifier: ASCredentialServiceIdentifier, existingCredential: ASPasswordCredential, userInfo: Record<AnyHashable, any> | null):void;
        /**
         * Upgrades a user’s weak password to a strong password.
         */
        changePasswordWithoutUserInteraction(serviceIdentifier: ASCredentialServiceIdentifier, existingCredential: ASPasswordCredential, newPassword: string, userInfo: Record<AnyHashable, any> | null):void;
        /**
         * Prepares the view controller’s interface that displays when upgrading from a weak password to a strong password.
         */
        prepareInterfaceToChangePassword(serviceIdentifier: ASCredentialServiceIdentifier, existingCredential: ASPasswordCredential, newPassword: string, userInfo: Record<AnyHashable, any> | null):void;
        /**
         * Cancels a request that the user initiated.
         */
        cancelRequest():void;
    }
    export interface ASAccountAuthenticationModificationControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate an account modification request completed successfully.
         */
        accountAuthenticationModificationController(controller: ASAccountAuthenticationModificationController, request: ASAccountAuthenticationModificationRequest, userInfo: Record<AnyHashable, any> | null):void;
    }
    export interface ASAccountAuthenticationModificationControllerPresentationContextProviding extends NSObjectProtocol {
        /**
         * Returns the most appropriate window for presenting the authentication modification interface.
         */
        presentationAnchor(controller: ASAccountAuthenticationModificationController):ASPresentationAnchor;
    }
    export class ASAccountAuthenticationModificationExtensionContext extends NSExtensionContext {
        /**
         * Completes the process of upgrading an account’s authentication credentials from using passwords to using Sign in with Apple.
         */
        completeUpgradeToSignInWithApple(userInfo: Record<AnyHashable, any> | null):void;
        /**
         * Completes a request to update an account’s authentication credentials from using a weak password to using a strong password.
         */
        completeChangePasswordRequest(updatedCredential: ASPasswordCredential, userInfo: Record<AnyHashable, any> | null):void;
        /**
         * Retrieves the user’s current Sign in with Apple authorization credentials.
         */
        getSignInWithAppleUpgradeAuthorization(state: string, nonce: string, completionHandler: ()=>any):void;
        /**
         * Cancels a request with an error.
         */
        cancelRequest(error: Error):void;
    }
    export class ASWebAuthenticationSession extends NSObject {
        /**
         * A Boolean value that indicates whether the session should ask the browser for a private authentication session. 
         */
        prefersEphemeralWebBrowserSession: boolean;
        /**
         * A Boolean indicating whether the session can begin.
         */
        canStart: boolean;
        /**
         * A delegate that provides a display context in which the system can present an authentication session to the user.
         */
        presentationContextProvider: ASWebAuthenticationPresentationContextProviding | null;
        /**
         * Creates a web authentication session instance.
         */
        constructor (URL: URL, callbackURLScheme: string, completionHandler: ASWebAuthenticationSession.CompletionHandler);
        /**
         * Starts a web authentication session.
         */
        start():boolean;
        /**
         * Cancels a web authentication session.
         */
        cancel():void;
    }
    export interface ASWebAuthenticationPresentationContextProviding extends NSObjectProtocol {
        /**
         * Tells the delegate from which window it should present content to the user.
         */
        presentationAnchor(session: ASWebAuthenticationSession):ASPresentationAnchor;
    }
    export class ASWebAuthenticationSessionError {
        /**
         * The error domain for the web authentication session error.
         */
        static errorDomain: string;
        /**
         * The login has been canceled.
         */
        static canceledLogin: ASWebAuthenticationSessionError.Code;
        /**
         * A context wasn’t provided.
         */
        static presentationContextNotProvided: ASWebAuthenticationSessionError.Code;
        /**
         * The context was invalid.
         */
        static presentationContextInvalid: ASWebAuthenticationSessionError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The unique hash value.
         */
        hashValue: number;
        /**
         * A dictionary of user-specific information.
         */
        userInfo: Record<string, any>;
        /**
         * User information about the web authentication session error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The error code for the web authentication session error.
         */
        errorCode: number;
        /**
         * The localized description of the web authentication session error.
         */
        localizedDescription: string;
        /**
         * Creates a new error with error code and user-supplied information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Performs the hashing operation.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ASWebAuthenticationSessionError
     */
    export namespace ASWebAuthenticationSessionError {
        export enum Code {
            canceledLogin = 1,
            presentationContextNotProvided = 2,
            presentationContextInvalid = 3,
        }
    }
    export interface ASAuthorizationProviderExtensionRegistrationHandler extends NSObjectProtocol {
        /**
         * Initiates the device registration process for the single sign-on extension.
         */
        beginDeviceRegistration(loginManager: ASAuthorizationProviderExtensionLoginManager, options: ASAuthorizationProviderExtensionRequestOptions, completion: ()=>any):void;
        /**
         * Initiates the user registration process for the user and the single sign-on extension.
         */
        beginUserRegistration(loginManager: ASAuthorizationProviderExtensionLoginManager, userName: string, authenticationMethod: ASAuthorizationProviderExtensionAuthenticationMethod, options: ASAuthorizationProviderExtensionRequestOptions, completion: ()=>any):void;
        /**
         * Calls the extension to allow it to complete registration.
         */
        registrationDidComplete():void;
    }
    export enum ASAuthorizationProviderExtensionAuthenticationMethod {
        password = 1,
        userSecureEnclaveKey = 2,
    }
    export enum ASAuthorizationProviderExtensionRegistrationResult {
        failed = 1,
        failedNoRetry = 3,
        success = 0,
        userInterfaceRequired = 2,
    }
    export class ASAuthorizationProviderExtensionRequestOptions {
        /**
         * Indicates that the registration is undergoing repair.
         */
        static registrationRepair: ASAuthorizationProviderExtensionRequestOptions;
        /**
         * Indicates that the user interface is in an enabled state.
         */
        static userInteractionEnabled: ASAuthorizationProviderExtensionRequestOptions;
        /**
         * Creates the request options.
         */
        constructor (rawValue: number);
    }
    export class ASAuthorizationProviderExtensionKerberosMapping extends NSObject {
        /**
         * The key name of the Kerberos client name string.
         */
        clientNameKeyName: string;
        /**
         * The key name of the Kerberos session key type number.
         */
        encryptionKeyTypeKeyName: string;
        /**
         * The key name of the Base 64-encoded Kerberos AS-REP string.
         */
        messageBufferKeyName: string;
        /**
         * The key name of the Kerberos realm string.
         */
        realmKeyName: string;
        /**
         * The key name of the Kerberos service name string.
         */
        serviceNameKeyName: string;
        /**
         * The key name of the Kerberos session key.
         */
        sessionKeyKeyName: string;
        /**
         * The keypath in the response JSON that uses this set of mappings.
         */
        ticketKeyPath: string;
    }
    export class ASAuthorizationAppleIDProvider extends NSObject {
        /**
         * A notification that indicates the user’s credentials have been revoked and they should be signed out.
         */
        static credentialRevokedNotification: NSNotification.Name;
        /**
         * Creates a new Apple ID authorization request.
         */
        createRequest():ASAuthorizationAppleIDRequest;
        /**
         * Returns the credential state for the given user in a completion handler.
         */
        getCredentialState(userID: string, completion: ()=>any):void;
    }
    /**
     * the same name namespace of class ASAuthorizationAppleIDProvider
     */
    export namespace ASAuthorizationAppleIDProvider {
        export enum CredentialState {
            authorized = 1,
            notFound = 2,
            revoked = 0,
            transferred = 3,
        }
    }
    export class ASAuthorizationProviderExtensionLoginManager extends NSObject {
        /**
         * The user name to use when authenticating with the identity provider.
         */
        loginUserName: string;
        /**
         * The device registration token from the mobile device management profile.
         */
        registrationToken: string;
        /**
         * A Boolean value that indicates whether the device completes registration.
         */
        isDeviceRegistered: boolean;
        /**
         * A Boolean value that indicates whether the user completes registration.
         */
        isUserRegistered: boolean;
        /**
         * The current login configuration for the extension.
         */
        loginConfiguration: ASAuthorizationProviderExtensionLoginConfiguration | null;
        /**
         * The single sign-on response tokens for the current user and extension.
         */
        ssoTokens: Record<AnyHashable, any> | null;
        /**
         * Requests platform single sign-on to show the extension’s view controller to the user.
         */
        presentRegistrationViewController(completion: ()=>any):void;
        /**
         * Saves the provided certificate for the key type.
         */
        saveCertificate(certificate: SecCertificate, keyType: ASAuthorizationProviderExtensionKeyType):void;
        /**
         * Saves or replaces the login configuration.
         */
        saveLoginConfiguration(loginConfiguration: ASAuthorizationProviderExtensionLoginConfiguration):void;
        /**
         * Retrieves the identity for the specified platform single sign-on key type.
         */
        identity(keyType: ASAuthorizationProviderExtensionKeyType):SecIdentity | null;
        /**
         * Retrieves the key for the specified platform single sign-on key type.
         */
        key(keyType: ASAuthorizationProviderExtensionKeyType):SecKey | null;
        /**
         * Requests platform single sign-on to reauthenticate the current user. 
         */
        userNeedsReauthentication(completion: ()=>any):void;
        /**
         * Invokes the user registration to run again so the current user can repair it.
         */
        userRegistrationsNeedsRepair():void;
        /**
         * Invokes the device registration to run again so the current user can repair it. 
         */
        deviceRegistrationsNeedsRepair():void;
        /**
         * Creates new encryption, signing, and Secure Enclave keys for the user. 
         */
        resetKeys():void;
    }
    export enum ASAuthorizationProviderExtensionKeyType {
        userDeviceEncryption = 2,
        userDeviceSigning = 1,
        userSecureEnclaveKey = 3,
    }
    export class ASAuthorizationAppleIDButton extends NSControl,UIControl {
        /**
         * The radius, in points, for the rounded corners on the Apple ID sign-in button.
         */
        cornerRadius: CGFloat;
        /**
         * Creates a new Sign In with Apple authorization button with the given type and style.
         */
        constructor (type: ASAuthorizationAppleIDButton.ButtonType, style: ASAuthorizationAppleIDButton.Style);
        /**
         * Creates a new Sign In with Apple authorization button with the given type and style.
         */
        constructor (type: ASAuthorizationAppleIDButton.ButtonType, style: ASAuthorizationAppleIDButton.Style);
    }
    /**
     * the same name namespace of class ASAuthorizationAppleIDButton
     */
    export namespace ASAuthorizationAppleIDButton {
        export enum Style {
            black = 2,
            white = 0,
            whiteOutline = 1,
        }
        export enum ButtonType {
            continue = 1,
            signUp = 2,
            signIn = 0,
        }
    }
    export class ASAuthorizationProviderExtensionLoginConfiguration extends NSObject {
        /**
         * The audience for validation and requests.
         */
        audience: string;
        /**
         * The identifier for the client at the identity provider.
         */
        clientID: string;
        /**
         * The JSON Web Key Set endpoint URL for keys.
         */
        jwksEndpointURL: URL;
        /**
         * The token endpoint URL for login requests.
         */
        tokenEndpointURL: URL;
        /**
         * The issuer of the identity token that the identity provider returns.
         */
        issuer: string;
        /**
         * The display name for the account.
         */
        accountDisplayName: string;
        /**
         * The predicate string that identifies invalid credential errors.
         */
        invalidCredentialPredicate: string;
        /**
         * Custom values to add to the server nonce POST request body.
         */
        customNonceRequestValues: URLQueryItem[];
        /**
         * The URL to retrieve a one-time use value from the server.
         */
        nonceEndpointURL: URL;
        /**
         * The keypath in the response that contains the one-time use value.
         */
        nonceResponseKeypath: string;
        /**
         * The name of the claim to include in authentication requests.
         */
        serverNonceClaimName: string;
        /**
         * A Boolean value that indicates whether to include the previous refresh token in the authentation request.
         */
        includePreviousRefreshTokenInLoginRequest: boolean;
        /**
         * The claim name for the previous single sign-on token value in the authentication request.
         */
        previousRefreshTokenClaimName: string;
        /**
         * A set of extra scopes to add to the base for the authentication request.
         */
        additionalScopes: string;
        /**
         * Provider-supplied values to add to the login POST request body.
         */
        customLoginRequestValues: URLQueryItem[];
        /**
         * The set of ticket mappings the system uses to import Kerberos tickets from the single sign-on token.
         */
        kerberosTicketMappings: ASAuthorizationProviderExtensionKerberosMapping[];
        /**
         * Creates a configuration with the required values.
         */
        constructor (clientID: string, issuer: string, tokenEndpointURL: URL, jwksEndpointURL: URL, audience: string);
        /**
         * Creates a login configuration using the OpenID configuration.
         */
        static configuration(openIDConfigurationURL: URL, clientID: string, issuer: string, completion: ()=>any):void;
        /**
         * Adds the custom claims to the embedded assertion request body.
         */
        setCustomAssertionRequestBodyClaims(claims: Record<string, any>):void;
        /**
         * Adds the custom claims to the embedded assertion request header. 
         */
        setCustomAssertionRequestHeaderClaims(claims: Record<string, any>):void;
        /**
         * Adds the custom claims to the login request body.
         */
        setCustomLoginRequestBodyClaims(claims: Record<string, any>):void;
        /**
         * Adds the custom claims to the login request header.
         */
        setCustomLoginRequestHeaderClaims(claims: Record<string, any>):void;
    }
    export class ASAuthorizationSingleSignOnProvider extends NSObject {
        /**
         * A Boolean value that indicates if the provider is capable of performing authorization within a given configuration.
         */
        canPerformAuthorization: boolean;
        /**
         * The URL of the identity provider.
         */
        url: URL;
        /**
         * Creates a single sign-on (SSO) authorization provider.
         */
        constructor (url: URL);
        /**
         * Creates a single sign-on (SSO) authorization request.
         */
        createRequest():ASAuthorizationSingleSignOnRequest;
    }
    export class ASAuthorizationSingleSignOnRequest extends ASAuthorizationOpenIDRequest {
        isUserInterfaceEnabled: boolean;
        /**
         * Options that control the authorization process.
         */
        authorizationOptions: URLQueryItem[];
    }
    export class ASAuthorizationOpenIDRequest extends ASAuthorizationRequest {
        /**
         * The OpenID authentication operation you want this request to perform.
         */
        requestedOperation: ASAuthorization.OpenIDOperation;
        /**
         * The contact information to be requested from the user during authentication.
         */
        requestedScopes: ASAuthorization.Scope[] | null;
        /**
         * Data that’s returned to you unmodified in the corresponding credential after a successful authentication.
         */
        state: string;
        /**
         * A string value to pass to the identity provider.
         */
        nonce: string;
    }
    export class ASAuthorizationSingleSignOnCredential extends NSObject {
        /**
         * A JSON Web Token (JWT) that securely communicates information about the user to your app.
         */
        identityToken: Data | null;
        /**
         * An access token used to get an identity token.
         */
        accessToken: Data | null;
        /**
         * An arbitrary string that your app provided to the request that generated this credential.
         */
        state: string;
        /**
         * The contact information the user authorized your app to access.
         */
        authorizedScopes: ASAuthorization.Scope[];
        /**
         * The complete response authentication, including technology-specific values.
         */
        authenticatedResponse: HTTPURLResponse | null;
    }
    export interface ASAuthorizationProviderExtensionAuthorizationRequestHandler extends NSObjectProtocol {
        /**
         * Tells your request handler to authorize the given request.
         */
        beginAuthorization(request: ASAuthorizationProviderExtensionAuthorizationRequest):void;
        /**
         * Tells your request handler to cancel the authorization of the given request.
         */
        cancelAuthorization(request: ASAuthorizationProviderExtensionAuthorizationRequest):void;
    }
    export class ASAuthorizationProviderExtensionAuthorizationRequest extends NSObject {
        /**
         * The complete URL of the request, including all components.
         */
        url: URL;
        /**
         * The HTTP headers of the request.
         */
        httpHeaders: Record<string, string>;
        /**
         * The HTTP body of the request.
         */
        httpBody: Data;
        /**
         * The realm to which the request applies.
         */
        realm: string;
        /**
         * The operation for the extension to execute.
         */
        requestedOperation: ASAuthorizationProviderAuthorizationOperation;
        /**
         * A collection of options associated with the request.
         */
        authorizationOptions: Record<AnyHashable, any>;
        /**
         * The bundle ID of the app making the request.
         */
        callerBundleIdentifier: string;
        /**
         * The team identifier of the app making the request.
         */
        callerTeamIdentifier: string;
        /**
         * The localized display name of the app making the request.
         */
        localizedCallerDisplayName: string;
        /**
         * A Boolean value that indicates whether the app making the request is managed.
         */
        isCallerManaged: boolean;
        /**
         * Extension data from the Mobile Device Management (MDM) configuration.
         */
        extensionData: Record<AnyHashable, any>;
        /**
         * Determines if user interface is available for the current request.
         */
        isUserInterfaceEnabled: boolean;
        /**
         * The manager that interacts with Platform SSO.
         */
        loginManager: ASAuthorizationProviderExtensionLoginManager | null;
        /**
         * Asks the authorization service to show the extension’s view controller to the user.
         */
        presentAuthorizationViewController(completion: ()=>any):void;
        complete(authorizationResult: ASAuthorizationProviderExtensionAuthorizationResult):void;
        /**
         * Indicates the request wasn’t handled.
         */
        doNotHandle():void;
        /**
         * Cancels the request, for example, because the user taps a cancel button.
         */
        cancel():void;
    }
    export class ASAuthorizationProviderAuthorizationOperation {
        /**
         * An operation the system invokes when the extension configuration is removed from the system.
         */
        static configurationRemoved: ASAuthorizationProviderAuthorizationOperation;
        static directRequest: ASAuthorizationProviderAuthorizationOperation;
        /**
         * Creates an authorization operation using the specified string value.
         */
        constructor (rawValue: string);
        /**
         * Creates an authorization operation using the specified raw string value.
         */
        constructor (rawValue: string);
    }
    export class ASAuthorizationProviderExtensionAuthorizationResult extends NSObject {
        /**
         * A dictionary of authorization HTTP headers.
         */
        httpAuthorizationHeaders: Record<string, string> | null;
        /**
         * The HTTP response for authentications.
         */
        httpResponse: HTTPURLResponse | null;
        /**
         * The HTTP response body.
         */
        httpBody: Data | null;
        /**
         * Initializes an authorization with tokens stored in HTTP headers.
         */
        constructor (httpAuthorizationHeaders: Record<string, string>);
        /**
         * Initializes an authorization with a HTTP response and body.
         */
        constructor (httpResponse: HTTPURLResponse, httpBody: Data | null);
    }
    export class ASCredentialProviderViewController extends NSViewController,UIViewController {
        /**
         * The context your credential provider extension uses to provide information to the system.
         */
        extensionContext: ASCredentialProviderExtensionContext;
        /**
         * Prepares the interface to enable the user to configure the extension.
         */
        prepareInterfaceForExtensionConfiguration():void;
        /**
         * Prepares the interface to display a list of credentials from which the user can select.
         */
        prepareCredentialList(serviceIdentifiers: ASCredentialServiceIdentifier[]):void;
        /**
         * Attempts to provide the user-requested credential with no further user interaction.
         */
        provideCredentialWithoutUserInteraction(credentialIdentity: ASPasswordCredentialIdentity):void;
        /**
         * Prepares the interface for a user interaction, like a database login, that enables it to access and return the credential for the given identity.
         */
        prepareInterfaceToProvideCredential(credentialIdentity: ASPasswordCredentialIdentity):void;
    }
    export class ASCredentialProviderExtensionContext extends NSExtensionContext {
        /**
         * Completes the request to configure the extension.
         */
        completeExtensionConfigurationRequest():void;
        /**
         * Provides the user-selected credential.
         */
        completeRequest(credential: ASPasswordCredential, completionHandler: ()=>any | null):void;
        /**
         * Cancels the request.
         */
        cancelRequest(error: Error):void;
    }
    export class ASCredentialIdentityStore extends NSObject {
        /**
         * The shared credential identity store.
         */
        static shared: ASCredentialIdentityStore;
        /**
         * Gets the state of the credential identity store.
         */
        getState(completion: ()=>any):void;
        /**
         * Saves the given credential identities to the store.
         */
        saveCredentialIdentities(credentialIdentities: ASPasswordCredentialIdentity[], completion: ()=>any | null):void;
        /**
         * Replaces existing credential identities with new credential identities.
         */
        replaceCredentialIdentities(newCredentialIdentities: ASPasswordCredentialIdentity[], completion: ()=>any | null):void;
        /**
         * Removes all existing credential identities from the store.
         */
        removeAllCredentialIdentities(completion: ()=>any | null):void;
        /**
         * Removes the given credential identities from the store.
         */
        removeCredentialIdentities(credentialIdentities: ASPasswordCredentialIdentity[], completion: ()=>any | null):void;
    }
    export class ASCredentialIdentityStoreState extends NSObject {
        /**
         * A Boolean value indicating whether the credential identity store is enabled.
         */
        isEnabled: boolean;
        /**
         * A Boolean value indicating whether the credential identity store supports incremental updates.
         */
        supportsIncrementalUpdates: boolean;
    }
    export class ASPasswordCredentialIdentity extends NSObject {
        /**
         * An indicator that enables you to prioritze credential identities relative to each other.
         */
        rank: number;
        /**
         * The username associated with the credential.
         */
        user: string;
        /**
         * A string used to correlate this identity to a record in your app’s own database.
         */
        recordIdentifier: string;
        /**
         * An identifier that helps the system know with which apps or websites to associate this credential.
         */
        serviceIdentifier: ASCredentialServiceIdentifier;
        /**
         * Initializes a password credential identity.
         */
        constructor (serviceIdentifier: ASCredentialServiceIdentifier, user: string, recordIdentifier: string);
    }
    export class ASCredentialServiceIdentifier extends NSObject {
        /**
         * A string that names the identified service.
         */
        identifier: string;
        /**
         * The kind of services that the identifier represents.
         */
        type: ASCredentialServiceIdentifier.IdentifierType;
        /**
         * Initializes a credential service identifier instance.
         */
        constructor (identifier: string, type: ASCredentialServiceIdentifier.IdentifierType);
    }
    /**
     * the same name namespace of class ASCredentialServiceIdentifier
     */
    export namespace ASCredentialServiceIdentifier {
        export enum IdentifierType {
            URL = 1,
            domain = 0,
        }
    }
    export class ASCredentialIdentityStoreError {
        /**
         * The domain for a credential identity store error.
         */
        static errorDomain: string;
        /**
         * The operation failed due to an internal error.
         */
        static internalError: ASCredentialIdentityStoreError.Code;
        /**
         * The operation failed because the credential identity store is busy. 
         */
        static storeBusy: ASCredentialIdentityStoreError.Code;
        /**
         * The operation failed because the credential identity store is disabled.
         */
        static storeDisabled: ASCredentialIdentityStoreError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A dictionary of user-supplied information.
         */
        userInfo: Record<string, any>;
        /**
         * User information about the credential identity store error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The error code for the credential identity store error.
         */
        errorCode: number;
        /**
         * The localized description of the credential identity store error.
         */
        localizedDescription: string;
        /**
         * Creates the error object.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ASCredentialIdentityStoreError
     */
    export namespace ASCredentialIdentityStoreError {
        export enum Code {
            internalError = 0,
            storeBusy = 2,
            storeDisabled = 1,
        }
    }
    export class ASExtensionError {
        /**
         * The domain for a credential provider extension error.
         */
        static errorDomain: string;
        /**
         * The credential identity was not found.
         */
        static credentialIdentityNotFound: ASExtensionError.Code;
        /**
         * The operation failed. 
         */
        static failed: ASExtensionError.Code;
        /**
         * The user canceled the operation.
         */
        static userCanceled: ASExtensionError.Code;
        /**
         * User interaction is required.
         */
        static userInteractionRequired: ASExtensionError.Code;
        /**
         * User information for a credential provider extension error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The error code for a credential provider extension error.
         */
        errorCode: number;
        /**
         * The localized description for an extension error. 
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ASExtensionError
     */
    export namespace ASExtensionError {
        export enum Code {
            credentialIdentityNotFound = 101,
            failed = 0,
            userCanceled = 1,
            userInteractionRequired = 100,
        }
    }
    export class ASAuthorizationAppleIDRequest extends ASAuthorizationOpenIDRequest {
        /**
         * An identifier associated with the user’s Apple ID.
         */
        user: string;
    }
    export class ASWebAuthenticationSessionWebBrowserSessionManager extends NSObject {
        /**
         * The shared manager for which a web browser acts as the session handler.
         */
        static shared: ASWebAuthenticationSessionWebBrowserSessionManager;
        /**
         * A handler that a web browser provides to handle session requests from an app.
         */
        sessionHandler: ASWebAuthenticationSessionWebBrowserSessionHandling;
        /**
         * A Boolean that indicates whether the session was launched by authentication services.
         */
        wasLaunchedByAuthenticationServices: boolean;
    }
    export interface ASWebAuthenticationSessionWebBrowserSessionHandling {
        /**
         * Handles the given session request from an app.
         */
        begin(request: ASWebAuthenticationSessionRequest!):void;
        /**
         * Cancels the process of handling the given request.
         */
        cancel(request: ASWebAuthenticationSessionRequest!):void;
    }
    export class ASWebAuthenticationSessionRequest extends NSObject {
        /**
         * The web address the browser should use to perform the authentication request.
         */
        url: URL;
        /**
         * The scheme the browser should use to return the result of the authentication attempt to the app requesting it.
         */
        callbackURLScheme: string;
        /**
         * A Boolean that indicates whether the browser should use a private browsing session.
         */
        shouldUseEphemeralSession: boolean;
        /**
         * A unique identifier for the request.
         */
        uuid: UUID;
        /**
         * A delegate that the session request instance informs about authentication completion.
         */
        delegate: ASWebAuthenticationSessionRequestDelegate | null;
        /**
         * Indicates that the browser successfully completed the authentication attempt.
         */
        complete(url: URL):void;
        /**
         * Indicates that the browser canceled the authentication attempt.
         */
        cancelWithError(error: Error):void;
    }
    export interface ASWebAuthenticationSessionRequestDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate, typically a browser, that the authentication completed successfully.
         */
        authenticationSessionRequest(authenticationSessionRequest: ASWebAuthenticationSessionRequest, callbackURL: URL):void;
    }
    export class ASAuthorizationCustomMethod {
        /**
         * A type of authorization that uses a TV provider account to sign in.
         */
        static videoSubscriberAccount: ASAuthorizationCustomMethod;
        /**
         * A type of authorization that restores an in-app purchase to sign in.
         */
        static restorePurchase: ASAuthorizationCustomMethod;
        /**
         * A type of authorization that uses a custom sign-in method.
         */
        static other: ASAuthorizationCustomMethod;
        /**
         * Initializes the object with a custom authorization method.
         */
        constructor (rawValue: string);
    }
    export class ASAuthorizationRequest extends NSObject {
        /**
         * The provider servicing the request.
         */
        provider: ASAuthorizationProvider;
    }
    export interface ASAuthorizationProvider extends NSObjectProtocol {}
    export interface ASAuthorizationControllerPresentationContextProviding extends NSObjectProtocol {
        /**
         * Tells the delegate from which window it should present content to the user.
         */
        presentationAnchor(controller: ASAuthorizationController):ASPresentationAnchor;
    }
}

/**
 * Construct and manage a graphical, event-driven user interface for your iOS, iPadOS, or tvOS app.
 */
declare module UIKit {
    export interface UITextInputTraits extends NSObjectProtocol {
        /**
         * The semantic meaning for a text input area.
         */
        textContentType: UITextContentType!;
        /**
         * Requirements for passwords for your service to ensure iOS can generate compatible passwords for users.
         */
        passwordRules: UITextInputPasswordRules | null;
    }
    export class UITextContentType {
        /**
         * A property that defines the content in a text input area as an account or login name.
         */
        static username: UITextContentType;
        /**
         * A property that defines the content in a text input area as a password.
         */
        static password: UITextContentType;
        /**
         * A property that defines the content in a text input area as a new password.
         */
        static newPassword: UITextContentType;
        /**
         * A property that defines the content in a text-input area as a one-time code.
         */
        static oneTimeCode: UITextContentType;
    }
    export class UITextInputPasswordRules extends NSObject {
        /**
         * A string representing a set of password rules.
         */
        passwordRulesDescriptor: string;
        /**
         * Initializes a password rules object with a descriptor.
         */
        constructor (passwordRulesDescriptor: string);
    }
    export class UICloudSharingController extends UIViewController {
        /**
         * A reference to an object that conforms to the CloudKit sharing controller delegate protocol.
         */
        delegate: UICloudSharingControllerDelegate | null;
        /**
         * A combination of permission and access options made available to the user when viewing screens presented by the CloudKit sharing controller.
         */
        availablePermissions: UICloudSharingController.PermissionOptions;
        /**
         * A reference to the CloudKit share record used by the CloudKit sharing controller.
         */
        share: CKShare | null;
        /**
         * Initializes the CloudKit sharing controller with a preparation handler intending to save a new share record. 
         */
        constructor (preparationHandler: ()=>any);
        /**
         * Initializes the CloudKit sharing view controller with a CloudKit share record and container to manage participants and restrictions. 
         */
        constructor (share: CKShare, container: CKContainer);
        /**
         * The activity item object that can be used by an activity view controller.
         */
        activityItemSource():UIActivityItemSource;
    }
    /**
     * the same name namespace of class UICloudSharingController
     */
    export namespace UICloudSharingController {
        export class PermissionOptions {
            /**
             * The option that grants access to anyone who has the share link.
             */
            static allowPublic: UICloudSharingController.PermissionOptions;
            /**
             * The option that restricts access to people who have been invited.
             */
            static allowPrivate: UICloudSharingController.PermissionOptions;
            /**
             * The option that gives participants read-only permission to the shared data.
             */
            static allowReadOnly: UICloudSharingController.PermissionOptions;
            /**
             * The option that gives participants read/write permission to the shared data.
             */
            static allowReadWrite: UICloudSharingController.PermissionOptions;
            /**
             * Creates a new permission option set with the given raw integer value.
             */
            constructor (rawValue: number);
        }
    }
    export interface UICloudSharingControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for the title to display on the invitation screen.
         */
        itemTitle(csc: UICloudSharingController):string;
        /**
         * Asks the delegate for the Uniform Type Identifier (UTI) of the item.
         */
        itemType(csc: UICloudSharingController):string;
        /**
         * Asks the delegate for the thumbnail image data to display on the invitation.
         */
        itemThumbnailData(csc: UICloudSharingController):Data | null;
        /**
         * Tells the delegate that the CloudKit sharing controller failed to save the share record.
         */
        cloudSharingController(csc: UICloudSharingController, error: Error):void;
        /**
         * Tells the delegate that the user has stopped sharing the record.
         */
        cloudSharingControllerDidStopSharing(csc: UICloudSharingController):void;
        /**
         * Tells the delegate that the CloudKit sharing controller saved the share record.
         */
        cloudSharingControllerDidSaveShare(csc: UICloudSharingController):void;
    }
    export class NSTextStorage extends NSMutableAttributedString {
        /**
         * A notification that posts after a text storage finishes processing edits.
         */
        static didProcessEditingNotification: NSNotification.Name;
        /**
         * A notification that posts before a text storage begins processing edits. 
         */
        static willProcessEditingNotification: NSNotification.Name;
    }
    export class UIAccessibility {
        /**
         * A notification that UIKit posts when the system finishes reading an announcement.
         */
        static announcementDidFinishNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when an assistive app focuses on an accessibility element. 
         */
        static elementFocusedNotification: NSNotification.Name;
        /**
         * A notification that indicates a change in the status of AssistiveTouch.
         */
        static assistiveTouchStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Bold Text setting changes. 
         */
        static boldTextStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the setting for Closed Captions + SDH changes.
         */
        static closedCaptioningStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Increase Contrast setting changes.
         */
        static darkerSystemColorsStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Grayscale setting changes.
         */
        static grayscaleStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that indicates when a Guided Access session starts or ends.  
         */
        static guidedAccessStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when there is a change to the currently paired hearing devices.
         */
        static hearingDevicePairedEarDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the settings for inverted colors change.  
         */
        static invertColorsStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when system audio changes from stereo to mono.
         */
        static monoAudioStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Reduce Motion setting changes.
         */
        static reduceMotionStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Reduce Transparency setting changes.
         */
        static reduceTransparencyStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system's Shake to Undo setting changes.
         */
        static shakeToUndoDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Speak Screen setting changes.
         */
        static speakScreenStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Speak Selection setting changes.
         */
        static speakSelectionStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Switch Control setting changes.
         */
        static switchControlStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when the system’s Button Shapes setting changes.
         */
        static buttonShapesEnabledStatusDidChangeNotification: NSNotification.Name;
        /**
         * A notification that UIKit posts when VoiceOver starts or stops.
         */
        static voiceOverStatusDidChangeNotification: NSNotification.Name;
        /**
         * The text of the announcement.
         */
        static announcementStringValueUserInfoKey: string;
        /**
         * A Boolean value that indicates whether the announcement is successful.
         */
        static announcementWasSuccessfulUserInfoKey: string;
        /**
         * The element currently in focus by the assistive app.
         */
        static focusedElementUserInfoKey: string;
        /**
         * The element previously in focus by the assistive app. 
         */
        static unfocusedElementUserInfoKey: string;
        /**
         * The identifier of the assistive app.
         */
        static assistiveTechnologyUserInfoKey: string;
        /**
         * Posts a notification to assistive apps.
         */
        static post(notification: UIAccessibility.Notification, argument: any):void;
        /**
         * Notifies the system when the app’s focus changes to a new location.
         */
        static zoomFocusChanged(type: UIAccessibility.ZoomType, frame: CGRect, view: UIView):void;
    }
    /**
     * the same name namespace of class UIAccessibility
     */
    export namespace UIAccessibility {
        export class Notification {
            /**
             * A notification that an app posts when a new view appears that occupies a major portion of the screen.
             */
            static screenChanged: UIAccessibility.Notification;
            /**
             * A notification that an app posts when the layout of a screen changes.
             */
            static layoutChanged: UIAccessibility.Notification;
            /**
             * A notification that an app posts when a scroll action completes.
             */
            static pageScrolled: UIAccessibility.Notification;
            /**
             * A notification that an app posts when it needs to convey an announcement to the assistive app.
             */
            static announcement: UIAccessibility.Notification;
            /**
             * A notification that pauses an assistive app's operations temporarily.
             */
            static pauseAssistiveTechnology: UIAccessibility.Notification;
            /**
             * A notification that resumes an assistive app's operations temporarily.
             */
            static resumeAssistiveTechnology: UIAccessibility.Notification;
        }
        export class AssistiveTechnologyIdentifier {
            /**
             * The Switch Control accessibility feature.
             */
            static notificationSwitchControl: UIAccessibility.AssistiveTechnologyIdentifier;
            /**
             * The VoiceOver assistive app.
             */
            static notificationVoiceOver: UIAccessibility.AssistiveTechnologyIdentifier;
            /**
             * Creates an assistive app identifier with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export enum ZoomType {
            insertionPoint = 0,
        }
    }
    export class UIApplication extends UIResponder {
        /**
         * A notification that posts when the app becomes active. 
         */
        static didBecomeActiveNotification: NSNotification.Name;
        /**
         * A notification that posts when the app enters the background.
         */
        static didEnterBackgroundNotification: NSNotification.Name;
        /**
         * A notification that posts immediately after the app finishes launching.
         */
        static didFinishLaunchingNotification: NSNotification.Name;
        /**
         * A notification that posts when the app receives a warning from the operating system about low memory availability.
         */
        static didReceiveMemoryWarningNotification: NSNotification.Name;
        /**
         * A notification that posts when there’s a significant change in time.
         */
        static significantTimeChangeNotification: NSNotification.Name;
        /**
         * A notification that posts when the user presses the Home and Lock buttons to take a screenshot. 
         */
        static userDidTakeScreenshotNotification: NSNotification.Name;
        /**
         * A notification that posts shortly before an app leaves the background state on its way to becoming the active app.
         */
        static willEnterForegroundNotification: NSNotification.Name;
        /**
         * A notification that posts when the app is no longer active and loses focus.
         */
        static willResignActiveNotification: NSNotification.Name;
        /**
         * A notification that posts when the app is about to terminate.
         */
        static willTerminateNotification: NSNotification.Name;
        /**
         * A notification that posts when the app’s status for downloading content in the background changes.
         */
        static backgroundRefreshStatusDidChangeNotification: NSNotification.Name;
        /**
         * Posted when the frame of the status bar changes.
         */
        static didChangeStatusBarFrameNotification: NSNotification.Name;
        /**
         * Posted when the orientation of the app’s user interface changes.
         */
        static didChangeStatusBarOrientationNotification: NSNotification.Name;
        /**
         * Posted when the app is about to change the frame of the status bar.
         */
        static willChangeStatusBarFrameNotification: NSNotification.Name;
        /**
         * Posted when the app is about to change the orientation of its interface.
         */
        static willChangeStatusBarOrientationNotification: NSNotification.Name;
        /**
         * A notification that posts when the protected files become available for your code to access.
         */
        static protectedDataDidBecomeAvailableNotification: NSNotification.Name;
        /**
         * A notification that posts shortly before protected files are locked down and become inaccessible.
         */
        static protectedDataWillBecomeUnavailableNotification: NSNotification.Name;
        /**
         * An exception that’s thrown if a view controller or the app returns an invalid set of supported interface orientations. 
         */
        static invalidInterfaceOrientationException: NSExceptionName;
        /**
         * The smallest fetch interval supported by the system.
         */
        static backgroundFetchIntervalMinimum: TimeInterval;
        /**
         * A fetch interval large enough to prevent fetch operations from occurring.
         */
        static backgroundFetchIntervalNever: TimeInterval;
        /**
         * The URL string you use to deep link to your app’s custom settings in the Settings app.
         */
        static openSettingsURLString: string;
        /**
         * The URL string you use to deep link to your app’s notification settings in the Settings app.
         */
        static openNotificationSettingsURLString: string;
        /**
         * A Boolean value that indicates whether the app is currently registered for remote notifications.
         */
        isRegisteredForRemoteNotifications: boolean;
        /**
         * The app’s current state, or that of its most active scene.
         */
        applicationState: UIApplication.State;
        /**
         * A Boolean value that indicates whether the app may display multiple scenes simultaneously.
         */
        supportsMultipleScenes: boolean;
        /**
         * The app’s currently connected scenes.
         */
        connectedScenes: Set<UIScene>;
        /**
         * The sessions whose scenes are either currently active or archived by the system.
         */
        openSessions: Set<UISceneSession>;
        /**
         * Indicates whether the app can refresh content when running in the background.
         */
        backgroundRefreshStatus: UIBackgroundRefreshStatus;
        /**
         * The maximum amount of time remaining for the app to run in the background.
         */
        backgroundTimeRemaining: TimeInterval;
        /**
         * A Boolean value that controls whether the idle timer is disabled for the app.
         */
        isIdleTimerDisabled: boolean;
        /**
         * The Home screen dynamic quick actions for your app; available on devices that support 3D Touch.
         */
        shortcutItems: UIApplicationShortcutItem[] | null;
        /**
         * A Boolean value that indicates whether content protection is active.
         */
        isProtectedDataAvailable: boolean;
        /**
         * The layout direction of the user interface.
         */
        userInterfaceLayoutDirection: UIUserInterfaceLayoutDirection;
        /**
         * A Boolean value that determines whether shaking the device displays the undo-redo user interface.
         */
        applicationSupportsShakeToEdit: boolean;
        /**
         * The number currently set as the badge of the app icon on the Home screen.
         */
        applicationIconBadgeNumber: number;
        /**
         * A Boolean value that indicates whether the app is allowed to change its icon.
         */
        supportsAlternateIcons: boolean;
        /**
         * The name of the icon the system displays for the app.
         */
        alternateIconName: string;
        /**
         * The font sizing option preferred by the user.
         */
        preferredContentSizeCategory: UIContentSizeCategory;
        /**
         * Registers a custom object for use with the state restoration system. 
         */
        static registerObject(object: UIStateRestoring, restorationIdentifier: string):void;
        /**
         * Registers to receive remote notifications through Apple Push Notification service.
         */
        registerForRemoteNotifications():void;
        /**
         * Unregisters for all remote notifications received through Apple Push Notification service.
         */
        unregisterForRemoteNotifications():void;
        /**
         * Asks the system to activate an existing scene, or create a new scene and associate it with your app.
         */
        requestSceneSessionActivation(sceneSession: UISceneSession | null, userActivity: NSUserActivity | null, options: UIScene.ActivationRequestOptions | null, errorHandler: ()=>any | null):void;
        /**
         * Asks the system to dismiss an existing scene and remove it from the app switcher.   
         */
        requestSceneSessionDestruction(sceneSession: UISceneSession, options: UISceneDestructionRequestOptions | null, errorHandler: ()=>any | null):void;
        /**
         * Asks the system to update any system UI associated with the specified scene. 
         */
        requestSceneSessionRefresh(sceneSession: UISceneSession):void;
        /**
         * Marks the start of a task with a custom name that should continue if the app enters the background.
         */
        beginBackgroundTask(taskName: string, handler: ()=>any | null):UIBackgroundTaskIdentifier;
        /**
         * Marks the end of a specific long-running background task.
         */
        endBackgroundTask(identifier: UIBackgroundTaskIdentifier):void;
        /**
         * Attempts to asynchronously open the resource at the specified URL.
         */
        open(url: URL, options: Record<UIApplication.OpenExternalURLOptionsKey, any>, completion: ()=>any | null):void;
        /**
         * Returns a Boolean value that indicates whether an app is available to handle a URL scheme.
         */
        canOpenURL(url: URL):boolean;
        /**
         * Tells the app that your code is restoring state asynchronously.
         */
        extendStateRestoration():void;
        /**
         * Tells the app that your code has finished any asynchronous state restoration.
         */
        completeStateRestoration():void;
        /**
         * Prevents the app from using the recent snapshot image during the next launch cycle.
         */
        ignoreSnapshotOnNextApplicationLaunch():void;
        /**
         * Tells the app to begin receiving remote-control events.
         */
        beginReceivingRemoteControlEvents():void;
        /**
         * Tells the app to stop receiving remote-control events.
         */
        endReceivingRemoteControlEvents():void;
        /**
         * Dispatches an event to the appropriate responder objects in the app. 
         */
        sendEvent(event: UIEvent):void;
        /**
         * Sends an action message identified by the selector to a specified target.
         */
        sendAction(action: Selector, target: any, sender: any, event: UIEvent | null):boolean;
        /**
         * Changes the icon the system displays for the app.
         */
        setAlternateIconName(alternateIconName: string, completionHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class UIApplication
     */
    export namespace UIApplication {
        export class LaunchOptionsKey {
            /**
             * A key indicating that the app should continue actions associated with its Bluetooth peripheral objects.
             */
            static bluetoothPeripherals: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the app received a CloudKit share invitation.
             */
            static cloudKitShareMetadata: UIApplication.LaunchOptionsKey;
            static eventAttribution: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the app was launched to handle an incoming location event. 
             */
            static location: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the app was launched to process newly downloaded Newsstand assets.
             */
            static newsstandDownloads: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that a remote notification is available for the app to process.
             */
            static remoteNotification: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the app was launched in response to the user selecting a Home screen quick action.
             */
            static shortcutItem: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that another app requested the launch of your app.  
             */
            static sourceApplication: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the app was launched so that it could open the specified URL.  
             */
            static url: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating a dictionary associated with an activity that the user wants to continue. 
             */
            static userActivityDictionary: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating the type of user activity that the user wants to continue.
             */
            static userActivityType: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the URL passed to your app contained custom annotation data from the source app.
             */
            static annotation: UIApplication.LaunchOptionsKey;
            /**
             * A key indicating that the app was launched to handle a local notification. 
             */
            static localNotification: UIApplication.LaunchOptionsKey;
            /**
             * Creates a launch options key with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export enum State {
            active = 0,
            inactive = 1,
            background = 2,
        }
        export class OpenExternalURLOptionsKey {
            /**
             * URLs must be universal links and have an app configured to open them. 
             */
            static universalLinksOnly: UIApplication.OpenExternalURLOptionsKey;
            /**
             * An object you use to send tap event attribution data to the browser for Private Click Measurement.
             */
            static eventAttribution: UIApplication.OpenExternalURLOptionsKey;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: string);
        }
    }
    export class UIContentSizeCategory {
        /**
         * A notification that posts when the user changes the preferred content size setting. 
         */
        static didChangeNotification: NSNotification.Name;
    }
    export class UIDevice extends NSObject {
        /**
         * A notification that posts when the state of the proximity sensor changes.
         */
        static proximityStateDidChangeNotification: NSNotification.Name;
        /**
         * A notification that posts when the battery level changes.
         */
        static batteryLevelDidChangeNotification: NSNotification.Name;
        /**
         * A notification that posts when battery state changes.
         */
        static batteryStateDidChangeNotification: NSNotification.Name;
        /**
         * A notification that posts when the orientation of the device changes.
         */
        static orientationDidChangeNotification: NSNotification.Name;
    }
    export class UIScreen extends NSObject {
        /**
         * A notification that posts when a screen’s brightness changes.
         */
        static brightnessDidChangeNotification: NSNotification.Name;
        /**
         * A notification the system posts when a new screen connects to the device.
         */
        static didConnectNotification: NSNotification.Name;
        /**
         * A notification the system posts when a screen disconnects from the device.
         */
        static didDisconnectNotification: NSNotification.Name;
        /**
         * A notification that posts when a screen’s mode changes. 
         */
        static modeDidChangeNotification: NSNotification.Name;
    }
    export class UITableView extends UIScrollView {
        /**
         * A notification that posts when the selected row in the posting table view changes.
         */
        static selectionDidChangeNotification: NSNotification.Name;
    }
    export class UITextField extends UIControl {
        /**
         * A notification that alerts observers when an editing session begins in a text field. 
         */
        static textDidBeginEditingNotification: NSNotification.Name;
        /**
         * A notification that alerts observers when the text in a text field changes. 
         */
        static textDidChangeNotification: NSNotification.Name;
        /**
         * A notification that alerts observers when the editing session ends for a text field. 
         */
        static textDidEndEditingNotification: NSNotification.Name;
    }
    export class UITextInputMode extends NSObject {
        /**
         * A notification that posts when the current input mode changes.
         */
        static currentInputModeDidChangeNotification: NSNotification.Name;
    }
    export class UITextView extends UIScrollView {
        /**
         * A notification that alerts observers when an editing session begins in a text view. 
         */
        static textDidBeginEditingNotification: NSNotification.Name;
        /**
         * A notification that alerts observers when the text in a text view changes. 
         */
        static textDidChangeNotification: NSNotification.Name;
        /**
         * A notification that alerts observers when the editing session ends for a text view. 
         */
        static textDidEndEditingNotification: NSNotification.Name;
    }
    export class UIViewController extends UIResponder {
        /**
         * Posted when a split view controller is expanded or collapsed.
         */
        static showDetailTargetDidChangeNotification: NSNotification.Name;
        /**
         * Raised if the view controller hierarchy is inconsistent with the view hierarchy.
         */
        static hierarchyInconsistencyException: NSExceptionName;
    }
    export class UIWindow extends UIView {
        /**
         * A notification that posts when a window becomes hidden.
         */
        static didBecomeHiddenNotification: NSNotification.Name;
        /**
         * A notification that posts whenever a window becomes the key window.
         */
        static didBecomeKeyNotification: NSNotification.Name;
        /**
         * A notification that posts when a window becomes visible.
         */
        static didBecomeVisibleNotification: NSNotification.Name;
        /**
         * A notification that posts whenever a window resigns its status as main window.
         */
        static didResignKeyNotification: NSNotification.Name;
    }
    export class UIDocument extends NSObject {
        /**
         * A notification the document object posts when there’s a change in the state of the document.
         */
        static stateChangedNotification: NSNotification.Name;
    }
    export class UIResponder extends NSObject {
        /**
         * A notification that posts immediately after a change in the keyboard’s frame.
         */
        static keyboardDidChangeFrameNotification: NSNotification.Name;
        /**
         * A notification that posts immediately after the dismissal of the keyboard.
         */
        static keyboardDidHideNotification: NSNotification.Name;
        /**
         * A notification that posts immediately after the display of the keyboard.
         */
        static keyboardDidShowNotification: NSNotification.Name;
        /**
         * A notification that posts immediately prior to a change in the keyboard’s frame.
         */
        static keyboardWillChangeFrameNotification: NSNotification.Name;
        /**
         * A notification that posts immediately prior to the dismissal of the keyboard.
         */
        static keyboardWillHideNotification: NSNotification.Name;
        /**
         * A notification that posts immediately prior to the display of the keyboard.
         */
        static keyboardWillShowNotification: NSNotification.Name;
        /**
         * A user info key to retrieve the animation curve that the system uses to animate the keyboard onto or off the screen.
         */
        static keyboardAnimationCurveUserInfoKey: string;
        /**
         * A user info key to retrieve the duration of the keyboard animation in seconds.
         */
        static keyboardAnimationDurationUserInfoKey: string;
        /**
         * A user info key to retrieve a Boolean value that indicates whether the keyboard belongs to the current app.
         */
        static keyboardIsLocalUserInfoKey: string;
        /**
         * A user info key to retrieve the keyboard’s frame at the beginning of its animation.
         */
        static keyboardFrameBeginUserInfoKey: string;
        /**
         * A user info key to retrieve the keyboard’s frame at the end of its animation.
         */
        static keyboardFrameEndUserInfoKey: string;
    }
    export class UIMenuController extends NSObject {
        /**
         * Posted by the menu controller just after it hides the menu.
         */
        static didHideMenuNotification: NSNotification.Name;
        /**
         * Posted by the menu controller just after it shows the menu.
         */
        static didShowMenuNotification: NSNotification.Name;
        /**
         * Posted when the frame of a visible menu changes.
         */
        static menuFrameDidChangeNotification: NSNotification.Name;
        /**
         * Posted by the menu controller just before it hides the menu.
         */
        static willHideMenuNotification: NSNotification.Name;
        /**
         * Posted by the menu controller just before it shows the menu.
         */
        static willShowMenuNotification: NSNotification.Name;
    }
    export class UIPasteboard extends NSObject {
        /**
         * Posted by a pasteboard object when its contents change.
         */
        static changedNotification: NSNotification.Name;
        /**
         * Posted by a pasteboard object just before an app removes it.
         */
        static removedNotification: NSNotification.Name;
    }
    export class NSStringDrawingOptions {
        /**
         * Uses the line fragment origin instead of the baseline origin.
         */
        static usesLineFragmentOrigin: NSStringDrawingOptions;
        /**
         * Uses the font leading for calculating line heights.
         */
        static usesFontLeading: NSStringDrawingOptions;
        /**
         * Uses image glyph bounds instead of typographic bounds.
         */
        static usesDeviceMetrics: NSStringDrawingOptions;
        /**
         * Truncates and adds the ellipsis character to the last visible line if the text doesn’t fit into the specified bounds.
         */
        static truncatesLastVisibleLine: NSStringDrawingOptions;
        /**
         * Creates a structure that specifies the rendering options for drawing a string.
         */
        constructor (rawValue: number);
    }
    export class UIAccessibilityTraits {
        /**
         * The accessibility element has no traits.
         */
        static none: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like a button.
         */
        static button: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like a link.
         */
        static link: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like an image.
         */
        static image: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like a search field.
         */
        static searchField: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like a keyboard key.
         */
        static keyboardKey: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like static text that can't change.
         */
        static staticText: UIAccessibilityTraits;
        /**
         * The accessibility element is a header that divides content into sections, such as the title of a navigation bar.
         */
        static header: UIAccessibilityTraits;
        /**
         * The accessibility element behaves like a tab bar.
         */
        static tabBar: UIAccessibilityTraits;
        /**
         * The accessibility element provides summary information when the app starts.
         */
        static summaryElement: UIAccessibilityTraits;
        /**
         * The accessibility element is currently in a selected state.
         */
        static selected: UIAccessibilityTraits;
        /**
         * The accessibility element isn't in an enabled state and doesn't respond to user interaction.
         */
        static notEnabled: UIAccessibilityTraits;
        /**
         * The accessibility element allows continuous adjustment through a range of values.
         */
        static adjustable: UIAccessibilityTraits;
        /**
         * The accessibility element allows direct touch interaction for VoiceOver users.
         */
        static allowsDirectInteraction: UIAccessibilityTraits;
        /**
         * The accessibility element frequently updates its label or value.
         */
        static updatesFrequently: UIAccessibilityTraits;
        /**
         * The accessibility element causes an automatic page turn when VoiceOver finishes reading the text within it.
         */
        static causesPageTurn: UIAccessibilityTraits;
        /**
         * The accessibility element plays its own sound when the user activates it.
         */
        static playsSound: UIAccessibilityTraits;
        /**
         * The accessibility element starts a media session when the user activates it.
         */
        static startsMediaSession: UIAccessibilityTraits;
        /**
         * Creates a new accessibility traits structure using an unsigned integer.
         */
        constructor (rawValue: UInt64);
    }
    export enum UIAccessibilityContainerType {
        none = 0,
        dataTable = 1,
        list = 2,
        landmark = 3,
        semanticGroup = 4,
    }
    export enum UIAccessibilityNavigationStyle {
        automatic = 0,
        separate = 1,
        combined = 2,
    }
    export class UIGuidedAccessAccessibilityFeature {
        /**
         * The AssistiveTouch accessibility feature.
         */
        static assistiveTouch: UIGuidedAccessAccessibilityFeature;
    }
    export enum UIAccessibilityScrollDirection {
        right = 1,
        left = 2,
        up = 3,
        down = 4,
        next = 5,
        previous = 6,
    }
    export enum NSWritingDirectionFormatType {
        embedding = 0,
        override = 2,
    }
    export class NSUnderlineStyle {
        /**
         * Draw a single line.
         */
        static single: NSUnderlineStyle;
        /**
         * Draw a thick line.
         */
        static thick: NSUnderlineStyle;
        /**
         * Draw a double line.
         */
        static double: NSUnderlineStyle;
        /**
         * Draw a line of dots.
         */
        static patternDot: NSUnderlineStyle;
        /**
         * Draw a line of dashes.
         */
        static patternDash: NSUnderlineStyle;
        /**
         * Draw a line of alternating dashes and dots.
         */
        static patternDashDot: NSUnderlineStyle;
        /**
         * Draw a line of alternating dashes and two dots.
         */
        static patternDashDotDot: NSUnderlineStyle;
        /**
         * Draw the line only beneath or through words, not whitespace.
         */
        static byWord: NSUnderlineStyle;
        /**
         * Creates an underline style with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export enum NSTextWritingDirection {
        embedding = 0,
        override = 2,
    }
    export class DrawingOptions {
        /**
         * Uses the line fragment origin instead of the baseline origin.
         */
        static usesLineFragmentOrigin: NSStringDrawingOptions;
        /**
         * Uses the font leading for calculating line heights.
         */
        static usesFontLeading: NSStringDrawingOptions;
        /**
         * Uses image glyph bounds instead of typographic bounds.
         */
        static usesDeviceMetrics: NSStringDrawingOptions;
        /**
         * Truncates and adds the ellipsis character to the last visible line if the text doesn’t fit into the specified bounds.
         */
        static truncatesLastVisibleLine: NSStringDrawingOptions;
        /**
         * Creates a structure that specifies the rendering options for drawing a string.
         */
        constructor (rawValue: number);
    }
    export class UIInterfaceOrientationMask {
        /**
         * The view controller supports all interface orientations.
         */
        static all: UIInterfaceOrientationMask;
        /**
         * The view controller supports all but the upside-down portrait interface orientation.
         */
        static allButUpsideDown: UIInterfaceOrientationMask;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UIWindowScene extends UIScene {}
    /**
     * the same name namespace of class UIWindowScene
     */
    export namespace UIWindowScene {
        export enum DismissalAnimation {
            commit = 2,
            decline = 3,
        }
        export enum PresentationStyle {
            automatic = 0,
            prominent = 2,
            standard = 1,
        }
    }
    export class UIScene extends UIResponder {
        /**
         * A notification that indicates that UIKit added a scene to your app. 
         */
        static willConnectNotification: NSNotification.Name;
        /**
         * A notification that indicates that UIKit removed a scene from your app. 
         */
        static didDisconnectNotification: NSNotification.Name;
        /**
         * A notification that indicates that a scene is about to begin running in the foreground and become visible to the user.
         */
        static willEnterForegroundNotification: NSNotification.Name;
        /**
         * A notification that indicates that the scene is now onscreen and responding to user events. 
         */
        static didActivateNotification: NSNotification.Name;
        /**
         * A notification that indicates that the scene is about to resign the active state and stop responding to user events.
         */
        static willDeactivateNotification: NSNotification.Name;
        /**
         * A notification that indicates that the scene is running in the background and is no longer onscreen.  
         */
        static didEnterBackgroundNotification: NSNotification.Name;
        /**
         * The object you use to receive life-cycle events associated with the scene.
         */
        delegate: UISceneDelegate | null;
        /**
         * The current execution state of the scene.
         */
        activationState: UIScene.ActivationState;
        /**
         * A user-visible string you supply to help users differentiate among your app’s scenes.
         */
        title: String!;
        /**
         * A string that the app displays in the title bar of a window when running in macOS.
         */
        subtitle: string;
        /**
         * The conditions that define when UIKit activates the scene object. 
         */
        activationConditions: UISceneActivationConditions;
        /**
         * The session associated with the scene.
         */
        session: UISceneSession;
        /**
         * The pointer lock state for the scene.
         */
        pointerLockState: UIPointerLockState | null;
        /**
         * Creates a scene object using the specified session and connection information.
         */
        constructor (session: UISceneSession, connectionOptions: UIScene.ConnectionOptions);
        /**
         * Attempts to open the resource at the specified URL asynchronously. 
         */
        open(url: URL, options: UIScene.OpenExternalURLOptions | null, completion: ()=>any | null):void;
        completeStateRestoration():void;
        extendStateRestoration():void;
    }
    /**
     * the same name namespace of class UIScene
     */
    export namespace UIScene {
        export class ConnectionOptions extends NSObject {
            /**
             * Information about user activities that you can use to configure your scene's interface.
             */
            userActivities: Set<NSUserActivity>;
            /**
             * The user-selected action to perform.
             */
            shortcutItem: UIApplicationShortcutItem | null;
            /**
             * The URLs to open, along with metadata specifying how to open them. 
             */
            urlContexts: Set<UIOpenURLContext>;
            /**
             * The type of the pending Handoff activity.
             */
            handoffUserActivityType: string;
            /**
             * Information about the CloudKit data that’s now available to the app.
             */
            cloudKitShareMetadata: CKShareMetadata | null;
            /**
             * A person’s response to one of your app’s notifications.
             */
            notificationResponse: UNNotificationResponse | null;
            /**
             * The bundle ID of the app that originated the request.
             */
            sourceApplication: string;
        }
        export enum ActivationState {
            unattached = -1,
            foregroundInactive = 1,
            foregroundActive = 0,
            background = 2,
        }
        export class OpenExternalURLOptions extends NSObject {
            /**
             * A Boolean value that indicates whether URLs must be universal links and have a configured app to open them. 
             */
            universalLinksOnly: boolean;
            /**
             * An object you use to send tap event attribution data to the browser for Private Click Measurement.
             */
            eventAttribution: UIEventAttribution | null;
        }
        export class ActivationRequestOptions extends NSObject {
            /**
             * The scene object that requested the activation of a different scene.
             */
            requestingScene: UIScene | null;
            /**
             * The behavior that specifies how a new scene joins a scene collection.
             */
            collectionJoinBehavior: UISceneCollectionJoinBehavior;
        }
        export class OpenURLOptions extends NSObject {
            /**
             * The bundle ID of the app that originated the request.
             */
            sourceApplication: string;
            /**
             * A property-list object that contains the annotation data provided by a document interaction controller.
             */
            annotation: any;
            /**
             * An event attribution associated with the URL to open.
             */
            eventAttribution: UIEventAttribution | null;
            /**
             * A Boolean value that indicates whether you should open the URL at its current location instead of copying it to your app’s container.
             */
            openInPlace: boolean;
        }
    }
    export interface UISceneDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate about the addition of a scene to the app. 
         */
        scene(scene: UIScene, session: UISceneSession, connectionOptions: UIScene.ConnectionOptions):void;
        /**
         * Tells the delegate that UIKit removed a scene from your app. 
         */
        sceneDidDisconnect(scene: UIScene):void;
        /**
         * Tells the delegate that the scene is about to begin running in the foreground and become visible to the user.
         */
        sceneWillEnterForeground(scene: UIScene):void;
        /**
         * Tells the delegate that the scene became active and is now responding to user events. 
         */
        sceneDidBecomeActive(scene: UIScene):void;
        /**
         * Tells the delegate that the scene is about to resign the active state and stop responding to user events.
         */
        sceneWillResignActive(scene: UIScene):void;
        /**
         * Tells the delegate that the scene is running in the background and is no longer onscreen.  
         */
        sceneDidEnterBackground(scene: UIScene):void;
        /**
         * Returns a user activity object encapsulating the current state of the specified scene.
         */
        stateRestorationActivity(scene: UIScene):NSUserActivity | null;
    }
    export interface UIAccessibilityIdentification extends NSObjectProtocol {
        /**
         * A string that identifies the element.
         */
        accessibilityIdentifier: string;
    }
    export interface UIAccessibilityReadingContent {
        /**
         * Returns the line number that contains the specified point.
         */
        accessibilityLineNumber(point: CGPoint):number;
        /**
         * Returns the styled text associated with the specified line number.
         */
        accessibilityAttributedContent(lineNumber: number):NSAttributedString | null;
        /**
         * Returns the text associated with the specified line number.
         */
        accessibilityContent(lineNumber: number):string;
        /**
         * Returns the onscreen frame associated with the specified line number.
         */
        accessibilityFrame(lineNumber: number):CGRect;
        /**
         * Returns the styled text displayed on the current page.
         */
        accessibilityAttributedPageContent():NSAttributedString | null;
        /**
         * Returns the text displayed on the current page.
         */
        accessibilityPageContent():string;
    }
    export interface UIAccessibilityContentSizeCategoryImageAdjusting extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the image size increases to support accessibility content size categories.
         */
        adjustsImageSizeForAccessibilityContentSizeCategory: boolean;
    }
    export class UIAccessibilityTextualContext {
        /**
         * A constant that indicates the text appears in a console context.
         */
        static console: UIAccessibilityTextualContext;
        /**
         * A constant that indicates the text appears in a file-system context.
         */
        static fileSystem: UIAccessibilityTextualContext;
        /**
         * A constant that indicates the text appears in a messaging context.
         */
        static messaging: UIAccessibilityTextualContext;
        /**
         * A constant that indicates the text appears in a narrative speech context.
         */
        static narrative: UIAccessibilityTextualContext;
        /**
         * A constant that indicates the text appears in a source-code context.
         */
        static sourceCode: UIAccessibilityTextualContext;
        /**
         * A constant that indicates the text appears in a spreadsheet context.
         */
        static spreadsheet: UIAccessibilityTextualContext;
        /**
         * A constant that indicates the text appears in a word-processing context.
         */
        static wordProcessing: UIAccessibilityTextualContext;
        /**
         * Creates a textual context.
         */
        constructor (rawValue: string);
        /**
         * Creates a textual context with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class UIAccessibilityCustomAction extends NSObject {
        /**
         * The localized name of the action.
         */
        name: string;
        /**
         * The localized name of the action as an attributed string.
         */
        attributedName: NSAttributedString;
        /**
         * An image that represents the action in assistive apps.
         */
        image: UIImage | null;
        /**
         * A handler to perform for the action.
         */
        actionHandler: UIAccessibilityCustomAction.Handler | null;
        /**
         * The object that performs the action.
         */
        target: AnyObject | null;
        /**
         * The method that performs the action. 
         */
        selector: Selector;
        /**
         * Creates a custom action object with the specified name and action handler.  
         */
        constructor (name: string, actionHandler: UIAccessibilityCustomAction.Handler);
        /**
         * Creates a custom action object with the specified name, target, and selector. 
         */
        constructor (name: string, target: any, selector: Selector);
        /**
         * Creates a custom action object with the specified name, image, and action handler.
         */
        constructor (name: string, image: UIImage | null, actionHandler: UIAccessibilityCustomAction.Handler);
        /**
         * Creates a custom action object with the specified name, image, target, and selector. 
         */
        constructor (name: string, image: UIImage | null, target: any, selector: Selector);
        /**
         * Creates a custom action object with the specified attributed name and action handler.  
         */
        constructor (attributedName: NSAttributedString, actionHandler: UIAccessibilityCustomAction.Handler);
        /**
         * Creates a custom action object with the specified attributed name, target, and selector.  
         */
        constructor (attributedName: NSAttributedString, target: any, selector: Selector);
        /**
         * Creates a custom action object with the specified attributed name, image, and action handler.  
         */
        constructor (attributedName: NSAttributedString, image: UIImage | null, actionHandler: UIAccessibilityCustomAction.Handler);
        /**
         * Creates a custom action object with the specified attributed name, image, target, and selector.  
         */
        constructor (attributedName: NSAttributedString, image: UIImage | null, target: any, selector: Selector);
    }
    export class UIAccessibilityElement extends UIResponder {
        /**
         * The view that contains the accessibility element.
         */
        accessibilityContainer: AnyObject | null;
        /**
         * A Boolean value indicating whether the item is an accessibility element an assistive application can access.
         */
        isAccessibilityElement: boolean;
        /**
         * A string that succinctly identifies the accessibility element.
         */
        accessibilityLabel: string;
        /**
         * A string that briefly describes the result of performing an action on the accessibility element.
         */
        accessibilityHint: string;
        /**
         * A string that represents the current value of the accessibility element.
         */
        accessibilityValue: string;
        /**
         * The frame of the accessibility element, in screen coordinates.
         */
        accessibilityFrame: CGRect;
        /**
         * The frame of the accessibility element, in the coordinate space of its container view.
         */
        accessibilityFrameInContainerSpace: CGRect;
        /**
         * The combination of traits that best characterize the accessibility element.
         */
        accessibilityTraits: UIAccessibilityTraits;
        /**
         * Creates and initializes an accessibility element to represent an item in the specified container.
         */
        constructor (container: any);
    }
    export interface UIScrollViewAccessibilityDelegate extends UIScrollViewDelegate {
        /**
         * Returns a string describing the content at the current offset in the scroll view.
         */
        accessibilityScrollStatus(scrollView: UIScrollView):string;
        /**
         * Returns an attributed string describing the content at the current offset in the scroll view.
         */
        accessibilityAttributedScrollStatus(scrollView: UIScrollView):NSAttributedString | null;
    }
    export interface UIPickerViewAccessibilityDelegate extends UIPickerViewDelegate {
        /**
         * Returns a string that identifies the picker view component.
         */
        pickerView(pickerView: UIPickerView, component: number):string;
    }
    export interface UIAccessibilityContainerDataTable extends NSObjectProtocol {
        /**
         * Returns the accessibility element for the specified cell.
         */
        accessibilityDataTableCellElement(row: number, column: number):UIAccessibilityContainerDataTableCell | null;
        /**
         * Returns the total number of columns in the table.
         */
        accessibilityColumnCount():number;
        /**
         * Returns the total number of rows in the table. 
         */
        accessibilityRowCount():number;
        /**
         * Returns the accessibility element for the specified column header.
         */
        accessibilityHeaderElements(column: number):UIAccessibilityContainerDataTableCell[] | null;
    }
    export interface UIAccessibilityContainerDataTableCell extends NSObjectProtocol {
        /**
         * Returns the columns spanned by the cell. 
         */
        accessibilityColumnRange():NSRange;
        /**
         * Returns the visible range of rows.
         */
        accessibilityRowRange():NSRange;
    }
    export class UIAccessibilityCustomRotor extends NSObject {
        /**
         * The block for retrieving the next or previous rotor. 
         */
        itemSearchBlock: UIAccessibilityCustomRotor.Search;
        /**
         * The type of content that the rotor searches.
         */
        systemRotorType: UIAccessibilityCustomRotor.SystemRotorType;
        /**
         * The name of the rotor.
         */
        name: string;
        /**
         * The name of the rotor as an attributed string.
         */
        attributedName: NSAttributedString;
        /**
         * Creates a rotor with the specified name and search block.
         */
        constructor (attributedName: NSAttributedString, itemSearchBlock: UIAccessibilityCustomRotor.Search);
        /**
         * Creates a rotor with the specified name and search block.
         */
        constructor (name: string, itemSearchBlock: UIAccessibilityCustomRotor.Search);
        /**
         * Creates a rotor for the specified type of item.
         */
        constructor (type: UIAccessibilityCustomRotor.SystemRotorType, itemSearchBlock: UIAccessibilityCustomRotor.Search);
    }
    /**
     * the same name namespace of class UIAccessibilityCustomRotor
     */
    export namespace UIAccessibilityCustomRotor {
        export enum Direction {
            previous = 0,
            next = 1,
        }
        export enum SystemRotorType {
            none = 0,
            link = 1,
            visitedLink = 2,
            heading = 3,
            headingLevel1 = 4,
            headingLevel2 = 5,
            headingLevel3 = 6,
            headingLevel4 = 7,
            headingLevel5 = 8,
            headingLevel6 = 9,
            boldText = 10,
            italicText = 11,
            underlineText = 12,
            misspelledWord = 13,
            image = 14,
            textField = 15,
            table = 16,
            list = 17,
            landmark = 18,
        }
    }
    export class UIAccessibilityCustomRotorItemResult extends NSObject {
        /**
         * The target element of the rotor.
         */
        targetElement: NSObjectProtocol | null;
        /**
         * The text range (if any) of the target element. 
         */
        targetRange: UITextRange | null;
        /**
         * Creates a rotor item result from the specified target element and text range. 
         */
        constructor (targetElement: NSObjectProtocol, targetRange: UITextRange | null);
    }
    export class UIAccessibilityCustomRotorSearchPredicate extends NSObject {
        /**
         * The current element of the search. 
         */
        currentItem: UIAccessibilityCustomRotorItemResult;
        /**
         * The direction in which to search. 
         */
        searchDirection: UIAccessibilityCustomRotor.Direction;
    }
    export class UIAccessibilityLocationDescriptor extends NSObject {
        /**
         * Returns the plaintext string representation of the name for the accessibility location descriptor.
         */
        name: string;
        /**
         * Returns the attributed string representation of the name for the accessibility location descriptor.
         */
        attributedName: NSAttributedString;
        /**
         * Returns the geometric point of interest for the accessibility location descriptor within its associated view and in the coordinate space of the view.
         */
        point: CGPoint;
        /**
         * Returns the view associated with the accessibility location descriptor.
         */
        view: UIView | null;
        /**
         * Initializes a new accessibility location descriptor using an attributed string and a specified point in a view.
         */
        constructor (attributedName: NSAttributedString, point: CGPoint, view: UIView);
        /**
         * Initializes a new accessibility location descriptor with a specified point in a view.
         */
        constructor (name: string, point: CGPoint, view: UIView);
        /**
         * Initializes a new accessibility location descriptor with a specified view’s activation point.
         */
        constructor (name: string, view: UIView);
    }
    export class UIImage extends NSObject {
        /**
         * The standard image for indicating the addition of content.
         */
        static add: UIImage;
        /**
         * The standard image for indicating the removal of content.
         */
        static remove: UIImage;
        /**
         * The standard image for indicating user-initiated actions.
         */
        static actions: UIImage;
        /**
         * The standard image for a checkmark on a filled-circle background.
         */
        static checkmark: UIImage;
        /**
         * The standard image for a checkmark on a tinted circle with a white-stroked border.
         */
        static strokedCheckmark: UIImage;
        /**
         * The underlying Quartz image data.
         */
        cgImage: CGImage | null;
        /**
         * The underlying Core Image data.
         */
        ciImage: CIImage | null;
        /**
         * The complete array of image objects that compose the animation of an animated object.
         */
        images: UIImage[] | null;
        /**
         * The image asset (if any) for the image.
         */
        imageAsset: UIImageAsset | null;
        /**
         * The scale factor of the image.
         */
        scale: CGFloat;
        /**
         * The logical dimensions, in points, for the image.
         */
        size: CGSize;
        /**
         * The orientation of the receiver’s image.
         */
        imageOrientation: UIImage.Orientation;
        /**
         * A Boolean value that indicates whether the image flips in a right-to-left layout.
         */
        flipsForRightToLeftLayoutDirection: boolean;
        /**
         * The resizing mode of the image.
         */
        resizingMode: UIImage.ResizingMode;
        /**
         * The time interval for displaying an animated image.
         */
        duration: TimeInterval;
        /**
         * The end-cap insets.
         */
        capInsets: UIEdgeInsets;
        /**
         * The alignment metadata for positioning the image during layout.
         */
        alignmentRectInsets: UIEdgeInsets;
        /**
         * A Boolean value that indicates whether the image is a symbol.
         */
        isSymbolImage: boolean;
        /**
         * The configuration details for the image.
         */
        configuration: UIImage.Configuration | null;
        /**
         * The configuration details for a symbol image.
         */
        symbolConfiguration: UIImage.SymbolConfiguration | null;
        /**
         * The trait collection that describes the current variant of the image.
         */
        traitCollection: UITraitCollection;
        /**
         * The position of the baseline relative to the bottom of the image.
         */
        baselineOffsetFromBottom: CGFloat | null;
        /**
         * A setting that determines how the app renders an image.
         */
        renderingMode: UIImage.RenderingMode;
        /**
         * The preferred image renderer format for the image.
         */
        imageRendererFormat: UIGraphicsImageRendererFormat;
        /**
         * The horizontal end-cap size.
         */
        leftCapWidth: number;
        /**
         * The vertical end-cap size.
         */
        topCapHeight: number;
        /**
         * Creates an image object using the named image asset that’s compatible with the specified trait collection.
         */
        constructor (name: string, bundle: Bundle | null, traitCollection: UITraitCollection | null);
        /**
         * Creates an image by using the named image asset that’s compatible with the configuration you specify.
         */
        constructor (name: string, bundle: Bundle | null, configuration: UIImage.Configuration | null);
        /**
         * Creates an image by using the name, configuration, and variable value you specify.
         */
        constructor (name: string, bundle: Bundle | null, variableValue: number, configuration: UIImage.Configuration | null);
        /**
         * Creates an image object from the specified named asset.
         */
        constructor (name: string);
        /**
         * Returns the image object for the specified resource.
         */
        constructor (name: string);
        /**
         * Creates an image object that contains a system symbol image with the specified configuration.
         */
        constructor (name: string, configuration: UIImage.Configuration | null);
        /**
         * Creates an image object that contains a system symbol image with the configuration and variable value you specify.
         */
        constructor (name: string, variableValue: number, configuration: UIImage.Configuration | null);
        /**
         * Creates an image object that contains a system symbol image appropriate for the specified traits.
         */
        constructor (name: string, traitCollection: UITraitCollection | null);
        /**
         * Creates an image object that contains a system symbol image.
         */
        constructor (name: string);
        /**
         * Initializes and returns the image object with the contents of the specified file.
         */
        constructor (path: string);
        /**
         * Initializes and returns the image object with the specified data.
         */
        constructor (data: Data);
        /**
         * Initializes and returns the image object with the specified data and scale factor.
         */
        constructor (data: Data, scale: CGFloat);
        /**
         * Initializes and returns the image object with the specified Quartz image reference.
         */
        constructor (cgImage: CGImage);
        /**
         * Initializes and returns an image object with the specified scale and orientation factors.
         */
        constructor (cgImage: CGImage, scale: CGFloat, orientation: UIImage.Orientation);
        /**
         * Initializes and returns an image object with the specified Core Image object.
         */
        constructor (ciImage: CIImage);
        /**
         * Initializes and returns an image object with the specified Core Image object and properties.
         */
        constructor (ciImage: CIImage, scale: CGFloat, orientation: UIImage.Orientation);
        /**
         * Creates and returns an animated image.
         */
        static animatedImageNamed(name: string, duration: TimeInterval):UIImage | null;
        /**
         * Creates and returns an animated image from an existing set of images.
         */
        static animatedImage(images: UIImage[], duration: TimeInterval):UIImage | null;
        /**
         * Creates and returns an animated image with end caps.
         */
        static animatedResizableImageNamed(name: string, capInsets: UIEdgeInsets, duration: TimeInterval):UIImage | null;
        /**
         * Decodes an image synchronously and provides a new one for display in views and animations.
         */
        preparingForDisplay():UIImage | null;
        /**
         * Decodes an image asynchronously and provides a new one for display in views and animations.
         */
        prepareForDisplay(completionHandler: ()=>any):void;
        /**
         * Returns a new thumbnail image at the specified size.
         */
        preparingThumbnail(size: CGSize):UIImage | null;
        /**
         * Creates a thumbnail image at the specified size asynchronously on a background thread.
         */
        prepareThumbnail(size: CGSize, completionHandler: ()=>any):void;
        /**
         * Returns a new version of the current image, replacing the current configuration attributes with the specified attributes.
         */
        withConfiguration(configuration: UIImage.Configuration):UIImage;
        /**
         * Returns a new version of the current image, applying the specified configuration attributes on top of the current attributes.
         */
        applyingSymbolConfiguration(configuration: UIImage.SymbolConfiguration):UIImage | null;
        /**
         * Returns a new version of the current image that flips horizontally when it’s in a right-to-left layout.
         */
        imageFlippedForRightToLeftLayoutDirection():UIImage;
        /**
         * Returns a new version of the image that’s a mirror of the original image.
         */
        withHorizontallyFlippedOrientation():UIImage;
        /**
         * Returns a new version of the image that uses the specified rendering mode.
         */
        withRenderingMode(renderingMode: UIImage.RenderingMode):UIImage;
        /**
         * Returns a new version of the image that uses the specified alignment insets.
         */
        withAlignmentRectInsets(alignmentInsets: UIEdgeInsets):UIImage;
        /**
         * Returns a new version of the image with the specified cap insets.
         */
        resizableImage(capInsets: UIEdgeInsets):UIImage;
        /**
         * Creates a copy of the current image object without any baseline information.
         */
        imageWithoutBaseline():UIImage;
        /**
         * Creates a new image with a baseline at the specified offset from the bottom of the image.
         */
        withBaselineOffset(baselineOffset: CGFloat):UIImage;
        /**
         * Returns a new version of the current image with the specified tint color.
         */
        withTintColor(color: UIColor):UIImage;
        /**
         * Draws the image at the specified point in the current context.
         */
        draw(point: CGPoint):void;
        /**
         * Draws a tiled Quartz pattern using the receiver’s contents as the tile pattern. 
         */
        drawAsPattern(rect: CGRect):void;
        /**
         * Returns a data object that contains the specified image in JPEG format.
         */
        jpegData(compressionQuality: CGFloat):Data | null;
        /**
         * Returns a data object that contains the specified image in PNG format.
         */
        pngData():Data | null;
        /**
         * Creates and returns a new image object with the specified cap values.
         */
        stretchableImage(leftCapWidth: number, topCapHeight: number):UIImage;
    }
    /**
     * the same name namespace of class UIImage
     */
    export namespace UIImage {
        export class Configuration extends NSObject {
            /**
             * The traits associated with the image configuration.
             */
            traitCollection: UITraitCollection | null;
            /**
             * Returns a configuration object that applies the specified configuration values on top of the current object’s values.
             */
            applying(otherConfiguration: UIImage.Configuration | null):Self;
            /**
             * Returns a new configuration object that merges the current traits with the traits from the specified trait collection.
             */
            withTraitCollection(traitCollection: UITraitCollection | null):Self;
        }
        export class SymbolConfiguration extends UIImage.Configuration {
            /**
             * A symbol configuration object that contains unspecified values for all attributes.
             */
            static unspecified: UIImage.SymbolConfiguration;
            /**
             * Creates a configuration object with the specified point-size information.
             */
            constructor (pointSize: CGFloat);
            /**
             * Creates a configuration object with the specified point-size and weight information.
             */
            constructor (pointSize: CGFloat, weight: UIImage.SymbolWeight);
            /**
             * Creates a configuration object with the specified point-size, weight, and scale information.
             */
            constructor (pointSize: CGFloat, weight: UIImage.SymbolWeight, scale: UIImage.SymbolScale);
            /**
             * Creates a configuration object with the specified scale information.
             */
            constructor (scale: UIImage.SymbolScale);
            /**
             * Creates a configuration object with the specified font text style information.
             */
            constructor (textStyle: UIFont.TextStyle);
            /**
             * Creates a configuration object with the specified font text style and scale information.
             */
            constructor (textStyle: UIFont.TextStyle, scale: UIImage.SymbolScale);
            /**
             * Creates a configuration object with the specified weight information.
             */
            constructor (weight: UIImage.SymbolWeight);
            /**
             * Creates a configuration object with the specified font information.
             */
            constructor (font: UIFont);
            /**
             * Creates a configuration object with the specified font and scale information.
             */
            constructor (font: UIFont, scale: UIImage.SymbolScale);
            /**
             * Creates a color configuration with a color scheme that originates from one color.
             */
            constructor (hierarchicalColor: UIColor);
            /**
             * Creates a color configuration with a color scheme from a palette of multiple colors.
             */
            constructor (paletteColors: UIColor[]);
            /**
             * Creates a color configuration that specifies that the symbol image uses its multicolor variant, if one exists.
             */
            static preferringMulticolor():Self;
            /**
             * Creates a color configuration that specifies that the symbol image uses its monochrome variant.
             */
            static preferringMonochrome():Self;
            /**
             * Returns a copy of the current symbol configuration object without point-size and weight information.
             */
            configurationWithoutPointSizeAndWeight():Self;
            /**
             * Returns a copy of the current symbol configuration object without scale information.
             */
            configurationWithoutScale():Self;
            /**
             * Returns a copy of the current symbol configuration object without font text style information.
             */
            configurationWithoutTextStyle():Self;
            /**
             * Returns a copy of the current symbol configuration object without weight information.
             */
            configurationWithoutWeight():Self;
            /**
             * Returns a Boolean value that indicates whether the configuration objects are equivalent.
             */
            isEqual(otherConfiguration: UIImage.SymbolConfiguration | null):boolean;
        }
        export enum SymbolScale {
            default = -1,
            unspecified = 0,
            small = 1,
            medium = 2,
            large = 3,
        }
        export enum SymbolWeight {
            unspecified = 0,
            ultraLight = 1,
            thin = 2,
            light = 3,
            regular = 4,
            medium = 5,
            semibold = 6,
            bold = 7,
            heavy = 8,
            black = 9,
        }
        export enum Orientation {
            up = 0,
            down = 1,
            left = 2,
            right = 3,
            upMirrored = 4,
            downMirrored = 5,
            leftMirrored = 6,
            rightMirrored = 7,
        }
        export enum ResizingMode {
            tile = 0,
            stretch = 1,
        }
        export enum RenderingMode {
            automatic = 0,
            alwaysOriginal = 1,
            alwaysTemplate = 2,
        }
    }
    export interface UIApplicationDelegate extends NSObjectProtocol {
        /**
         * The window to use when presenting a storyboard.
         */
        window: UIWindow | null;
        /**
         * Provides the top-level entry point for the app.
         */
        static main():void;
        /**
         * Tells the delegate when the app has finished launching. 
         */
        applicationDidFinishLaunching(application: UIApplication):void;
        /**
         * Called to tell the delegate the types of local and remote notifications that can be used to get the user’s attention.
         */
        application(application: UIApplication, notificationSettings: UIUserNotificationSettings):void;
    }
    export class UISceneActivationConditions extends NSObject {
        /**
         * The set of conditions for which UIKit chooses to activate this scene over others.
         */
        prefersToActivateForTargetContentIdentifierPredicate: NSPredicate;
        /**
         * Conditions for which UIKit can activate the scene if a better alternative doesn’t exist.
         */
        canActivateForTargetContentIdentifierPredicate: NSPredicate;
        /**
         * Creates a new activation conditions object. 
         */
        constructor ();
        /**
         * Restores an activation conditions object from the specified archive. 
         */
        constructor (aDecoder: NSCoder);
    }
    export class UISceneSession extends NSObject {
        /**
         * The scene associated with the current session.
         */
        scene: UIScene | null;
        /**
         * The role played by the scene’s content.
         */
        role: UISceneSession.Role;
        /**
         * The configuration data for creating the scene.
         */
        configuration: UISceneConfiguration;
        /**
         * A unique identifier that persists for the lifetime of the session.
         */
        persistentIdentifier: string;
        /**
         * An activity object you can use to restore the previous contents of your scene’s interface.
         */
        stateRestorationActivity: NSUserActivity | null;
        /**
         * Custom attributes that you can associate with the scene.
         */
        userInfo: Record<string, any> | null;
    }
    /**
     * the same name namespace of class UISceneSession
     */
    export namespace UISceneSession {
        export class Role {
            /**
             * A scene that displays interactive windows on the device’s built-in display or an externally connected display.
             */
            static windowApplication: UISceneSession.Role;
            /**
             * A scene that displays noninteractive windows on an externally connected display.
             */
            static windowExternalDisplay: UISceneSession.Role;
            /**
             * A scene that displays noninteractive windows on an externally connected display.
             */
            static windowExternalDisplayNonInteractive: UISceneSession.Role;
            /**
             * A scene that displays interactive content on a CarPlay-enabled vehicle screen.
             */
            static carTemplateApplication: UISceneSession.Role;
            /**
             * A scene that displays navigation content on the CarPlay Dashboard.
             */
            static CPTemplateApplicationDashboardSceneSessionRoleApplication: UISceneSession.Role;
            /**
             * A scene that displays navigation content on the CarPlay Instruments Cluster.
             */
            static CPTemplateApplicationInstrumentClusterSceneSessionRoleApplication: UISceneSession.Role;
            /**
             * Creates a scene role with the specified raw value.
             */
            constructor (rawValue: string);
        }
    }
    export class UIScreenshotService extends NSObject {
        /**
         * The custom object you use to provide PDF data for a screenshot.
         */
        delegate: UIScreenshotServiceDelegate | null;
        /**
         * The window scene that contains the windows to capture in your PDF data.
         */
        windowScene: UIWindowScene | null;
    }
    export interface UIScreenshotServiceDelegate extends NSObjectProtocol {
        /**
         * Generates a high-fidelity PDF version of the entire content in a given window scene. 
         */
        screenshotService(screenshotService: UIScreenshotService, completionHandler: ()=>any):void;
    }
    export class UIColor extends NSObject {
        /**
         * The color for text labels that contain primary content.
         */
        static label: UIColor;
        /**
         * The color for text labels that contain secondary content.
         */
        static secondaryLabel: UIColor;
        /**
         * The color for text labels that contain tertiary content.
         */
        static tertiaryLabel: UIColor;
        /**
         * The color for text labels that contain quaternary content.
         */
        static quaternaryLabel: UIColor;
        /**
         * An overlay fill color for thin and small shapes.
         */
        static systemFill: UIColor;
        /**
         * An overlay fill color for medium-size shapes.
         */
        static secondarySystemFill: UIColor;
        /**
         * An overlay fill color for large shapes.
         */
        static tertiarySystemFill: UIColor;
        /**
         * An overlay fill color for large areas that contain complex content.
         */
        static quaternarySystemFill: UIColor;
        /**
         * The color for placeholder text in controls or text views.
         */
        static placeholderText: UIColor;
        /**
         * A color value that resolves at runtime based on the current tint color of the app or trait hierarchy.
         */
        static tintColor: UIColor;
        /**
         * The color for the main background of your interface.
         */
        static systemBackground: UIColor;
        /**
         * The color for content layered on top of the main background.
         */
        static secondarySystemBackground: UIColor;
        /**
         * The color for content layered on top of secondary backgrounds.
         */
        static tertiarySystemBackground: UIColor;
        /**
         * The color for the main background of your grouped interface.
         */
        static systemGroupedBackground: UIColor;
        /**
         * The color for content layered on top of the main background of your grouped interface.
         */
        static secondarySystemGroupedBackground: UIColor;
        /**
         * The color for content layered on top of secondary backgrounds of your grouped interface.
         */
        static tertiarySystemGroupedBackground: UIColor;
        /**
         * The color for thin borders or divider lines that allows some underlying content to be visible.
         */
        static separator: UIColor;
        /**
         * The color for borders or divider lines that hides any underlying content.
         */
        static opaqueSeparator: UIColor;
        /**
         * The specified color for links.
         */
        static link: UIColor;
        /**
         * The nonadaptable system color for text on a light background.
         */
        static darkText: UIColor;
        /**
         * The nonadaptable system color for text on a dark background.
         */
        static lightText: UIColor;
        /**
         * The system color to use for the background of a grouped table.
         */
        static groupTableViewBackground: UIColor;
        /**
         * A blue color that automatically adapts to the current trait environment.
         */
        static systemBlue: UIColor;
        /**
         * A brown color that automatically adapts to the current trait environment.
         */
        static systemBrown: UIColor;
        /**
         * A cyan color that automatically adapts to the current trait environment.
         */
        static systemCyan: UIColor;
        /**
         * A green color that automatically adapts to the current trait environment.
         */
        static systemGreen: UIColor;
        /**
         * An indigo color that automatically adapts to the current trait environment.
         */
        static systemIndigo: UIColor;
        /**
         * A mint color that automatically adapts to the current trait environment.
         */
        static systemMint: UIColor;
        /**
         * An orange color that automatically adapts to the current trait environment.
         */
        static systemOrange: UIColor;
        /**
         * A pink color that automatically adapts to the current trait environment.
         */
        static systemPink: UIColor;
        /**
         * A purple color that automatically adapts to the current trait environment.
         */
        static systemPurple: UIColor;
        /**
         * A red color that automatically adapts to the current trait environment.
         */
        static systemRed: UIColor;
        /**
         * A teal color that automatically adapts to the current trait environment.
         */
        static systemTeal: UIColor;
        /**
         * A yellow color that automatically adapts to the current trait environment.
         */
        static systemYellow: UIColor;
        /**
         * The standard base gray color that adapts to the environment.
         */
        static systemGray: UIColor;
        /**
         * A second-level shade of gray that adapts to the environment.
         */
        static systemGray2: UIColor;
        /**
         * A third-level shade of gray that adapts to the environment.
         */
        static systemGray3: UIColor;
        /**
         * A fourth-level shade of gray that adapts to the environment.
         */
        static systemGray4: UIColor;
        /**
         * A fifth-level shade of gray that adapts to the environment.
         */
        static systemGray5: UIColor;
        /**
         * A sixth-level shade of gray that adapts to the environment.
         */
        static systemGray6: UIColor;
        /**
         * A color object with grayscale and alpha values that are both 
         * .
         */
        static clear: UIColor;
        /**
         * A color object in the sRGB color space with a grayscale value of 
         *  and an alpha value of 
         * .
         */
        static black: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static blue: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static brown: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static cyan: UIColor;
        /**
         * A color object with a grayscale value of 1/3 and an alpha value of 
         * .
         */
        static darkGray: UIColor;
        /**
         * A color object with a grayscale value of 
         *  and an alpha value of 
         * .
         */
        static gray: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static green: UIColor;
        /**
         * A color object with a grayscale value of 2/3 and an alpha value of 
         * .
         */
        static lightGray: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static magenta: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static orange: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static purple: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static red: UIColor;
        /**
         * A color object with a grayscale value of 
         *  and an alpha value of 
         * .
         */
        static white: UIColor;
        /**
         * A color object with RGB values of 
         * , 
         * , and 
         * , and an alpha value of 
         * .
         */
        static yellow: UIColor;
        /**
         * The Quartz color that corresponds to the color object.
         */
        cgColor: CGColor;
        /**
         * The Core Image color that corresponds to the color object.
         */
        ciColor: CIColor;
        /**
         * A localized description of the color for accessibility attributes.
         */
        accessibilityName: string;
        /**
         * Creates a color object using the specified opacity and grayscale values.
         */
        constructor (white: CGFloat, alpha: CGFloat);
        /**
         * Creates a color object using the specified opacity and HSB color space component values.
         */
        constructor (hue: CGFloat, saturation: CGFloat, brightness: CGFloat, alpha: CGFloat);
        /**
         * Creates a color object using the specified opacity and RGB component values.
         */
        constructor (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat);
        /**
         * Creates a color object using the specified opacity and RGB component values in the Display P3 color space.
         */
        constructor (displayP3Red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat);
        /**
         * Creates a color object using the information from the named asset.
         */
        constructor (name: string);
        /**
         * Creates a color object using the named asset that’s compatible with the specified trait collection.
         */
        constructor (name: string, bundle: Bundle | null, traitCollection: UITraitCollection | null);
        /**
         * Creates a color object that uses the specified block to generate its color data dynamically.
         */
        constructor (dynamicProvider: ()=>any);
        /**
         * Creates a color object that encapsulates a SwiftUI color.
         */
        constructor (color: Color);
        /**
         * Creates a color object that encapsulates a Core Image color.
         */
        constructor (ciColor: CIColor);
        /**
         * Creates a color object using the specified Quartz color reference.
         */
        constructor (cgColor: CGColor);
        /**
         * Creates a color object using the specified image object.
         */
        constructor (image: UIImage);
        /**
         * Creates a color object that has the same color space and component values as the receiver, but has the specified alpha component.
         */
        withAlphaComponent(alpha: CGFloat):UIColor;
        /**
         * Sets the color of subsequent stroke and fill operations to the color that the receiver represents.
         */
        set():void;
        /**
         * Sets the color of subsequent fill operations to the color that the receiver represents.
         */
        setFill():void;
        /**
         * Sets the color of subsequent stroke operations to the color that the receiver represents.
         */
        setStroke():void;
        /**
         * Returns the components that form the color in the HSB color space.
         */
        getHue(hue: UnsafeMutablePointer<CGFloat> | null, saturation: UnsafeMutablePointer<CGFloat> | null, brightness: UnsafeMutablePointer<CGFloat> | null, alpha: UnsafeMutablePointer<CGFloat> | null):boolean;
        /**
         * Returns the components that form the color in the RGB color space.
         */
        getRed(red: UnsafeMutablePointer<CGFloat> | null, green: UnsafeMutablePointer<CGFloat> | null, blue: UnsafeMutablePointer<CGFloat> | null, alpha: UnsafeMutablePointer<CGFloat> | null):boolean;
        /**
         * Returns the grayscale components of the color.
         */
        getWhite(white: UnsafeMutablePointer<CGFloat> | null, alpha: UnsafeMutablePointer<CGFloat> | null):boolean;
        /**
         * Returns the version of the current color that results from the specified traits.
         */
        resolvedColor(traitCollection: UITraitCollection):UIColor;
    }
    export class UIGraphicsRenderer extends NSObject {
        /**
         * A Boolean value specifying whether the renderer can create output images.
         */
        allowsImageOutput: boolean;
        /**
         * The format used to create the graphics renderer.
         */
        format: UIGraphicsRendererFormat;
        /**
         * Creates a new graphics renderer with the specified bounds and a default format.
         */
        constructor (bounds: CGRect);
        /**
         * Creates a new graphics renderer with the given bounds and format.
         */
        constructor (bounds: CGRect, format: UIGraphicsRendererFormat);
        /**
         * Creates a Core Graphics context configured according to the supplied format object.
         */
        static context(format: UIGraphicsRendererFormat):CGContext | null;
        /**
         * Applies the configuration specified in the renderer context to the Core Graphics context.
         */
        static prepare(context: CGContext, rendererContext: UIGraphicsRendererContext):void;
        /**
         * Specifies the drawing context class used by this graphics renderer.
         */
        static rendererContextClass():AnyClass;
        /**
         * Performs drawing actions on a Core Graphics context that the renderer prepares.
         */
        runDrawingActions(drawingActions: ()=>any, completionActions: ()=>any | null):void;
    }
    export class UIGraphicsRendererContext extends NSObject {
        /**
         * The underlying Core Graphics context.
         */
        cgContext: CGContext;
        /**
         * The format used to create the associated graphics renderer.
         */
        format: UIGraphicsRendererFormat;
        /**
         * Paints a rectangular path using the currently selected stroke color.
         */
        stroke(rect: CGRect):void;
        /**
         * Paints a rectangular area with the currently selected fill color using the supplied blend mode.
         */
        fill(rect: CGRect, blendMode: CGBlendMode):void;
        /**
         * Sets the clipping mask for the drawing context to the specified rectangle.
         */
        clip(rect: CGRect):void;
    }
    export class UIGraphicsRendererFormat extends NSObject {
        /**
         * The bounds of the graphics context.
         */
        bounds: CGRect;
        /**
         * Returns a format that represents the highest fidelity that the current device supports.
         */
        static default():Self;
        /**
         * Returns the most suitable format for the main screen’s current configuration.
         */
        static preferred():Self;
    }
    export class UIGraphicsImageRenderer extends UIGraphicsRenderer {
        /**
         * Creates an image renderer with the specified bounds and format.
         */
        constructor (bounds: CGRect, format: UIGraphicsImageRendererFormat);
        /**
         * Creates an image renderer for drawing images of the specified size.
         */
        constructor (size: CGSize);
        /**
         * Creates an image renderer with the specified size and format.
         */
        constructor (size: CGSize, format: UIGraphicsImageRendererFormat);
        /**
         * Creates an image from a set of drawing instructions.
         */
        image(actions: ()=>any):UIImage;
        /**
         * Creates a JPEG-encoded image from a set of drawing instructions.
         */
        jpegData(compressionQuality: CGFloat, actions: ()=>any):Data;
        /**
         * Creates a PNG-encoded image from a set of drawing instructions.
         */
        pngData(actions: ()=>any):Data;
    }
    export class UISceneConfiguration extends NSObject {
        /**
         * The class of the scene object that you want UIKit to create.
         */
        sceneClass: AnyClass | null;
        /**
         * The class of the custom delegate object that you want UIKit to create.
         */
        delegateClass: AnyClass | null;
        /**
         * The storyboard object that contains your scene’s initial view controller.
         */
        storyboard: UIStoryboard | null;
        /**
         * The app-specific name assigned to the scene configuration.
         */
        name: string;
        /**
         * The role assigned to the scene configuration.
         */
        role: UISceneSession.Role;
        /**
         * Creates a scene-configuration object with the specified role and app-specific name.
         */
        constructor (name: string, sessionRole: UISceneSession.Role);
    }
    export class UIGraphicsImageRendererContext extends UIGraphicsRendererContext {
        /**
         * The current state of the drawing context, expressed as an object that manages image data in your app.
         */
        currentImage: UIImage;
    }
    export class UIGraphicsImageRendererFormat extends UIGraphicsRendererFormat {
        /**
         * A Boolean value that indicates whether the underlying Core Graphics context has an alpha channel.
         */
        opaque: boolean;
        /**
         * The display scale of the image renderer context.
         */
        scale: CGFloat;
        /**
         * The preferred color range of the image renderer context.
         */
        preferredRange: UIGraphicsImageRendererFormat.Range;
        /**
         * A Boolean value that specifies whether the bitmap context uses extended color.
         */
        prefersExtendedRange: boolean;
        /**
         * Creates the most suitable format for rendering on a device with the specified traits. 
         */
        constructor (traitCollection: UITraitCollection);
    }
    /**
     * the same name namespace of class UIGraphicsImageRendererFormat
     */
    export namespace UIGraphicsImageRendererFormat {
        export enum Range {
            automatic = 0,
            extended = 1,
            standard = 2,
            unspecified = -1,
        }
    }
    export class UIGraphicsPDFRenderer extends UIGraphicsRenderer {
        /**
         * Creates a new graphics renderer with the specified bounds and format.
         */
        constructor (bounds: CGRect, format: UIGraphicsPDFRendererFormat);
        /**
         * Creates a PDF from a set of drawing instructions and returns it as a data object.
         */
        pdfData(actions: ()=>any):Data;
        /**
         * Creates a PDF from a set of drawing instructions and saves it to a specified URL.
         */
        writePDF(url: URL, actions: ()=>any):void;
    }
    export class UIGraphicsPDFRendererContext extends UIGraphicsRendererContext {
        /**
         * The bounds of the PDF context for the current page.
         */
        pdfContextBounds: CGRect;
        /**
         * Marks the beginning of a new page in the PDF context and configures it using default values.
         */
        beginPage():void;
        /**
         * Creates a named destination point in the current PDF page.
         */
        addDestination(name: string, point: CGPoint):void;
        /**
         * Creates a link rectangle in the current page that jumps the PDF viewer to the named destination when clicked.
         */
        setDestinationWithName(name: string, rect: CGRect):void;
        /**
         * Creates a link to an external resource defined by a URL
         */
        setURL(url: URL, rect: CGRect):void;
    }
    export class UIGraphicsPDFRendererFormat extends UIGraphicsRendererFormat {
        /**
         * A dictionary that specifies additional information to be associated with the PDFs created by the PDF renderer.
         */
        documentInfo: Record<string, any>;
    }
    export class UIBezierPath extends NSObject {
        /**
         * The Core Graphics representation of the path.
         */
        cgPath: CGPath;
        /**
         * The current point in the graphics path.
         */
        currentPoint: CGPoint;
        /**
         * The line width of the path.
         */
        lineWidth: CGFloat;
        /**
         * The shape of the endpoints of a stroked path.
         */
        lineCapStyle: CGLineCap;
        /**
         * The shape of the joints between connected segments of a stroked path.
         */
        lineJoinStyle: CGLineJoin;
        /**
         * The limiting value that helps avoid spikes at junctions between connected line segments.
         */
        miterLimit: CGFloat;
        /**
         * The factor that determines the rendering accuracy for curved path segments.
         */
        flatness: CGFloat;
        /**
         * A Boolean value that indicates whether the even-odd winding rule is in use for drawing paths.
         */
        usesEvenOddFillRule: boolean;
        /**
         * A Boolean value that indicates whether the path has any valid elements.
         */
        isEmpty: boolean;
        /**
         * The bounding rectangle of the path.
         */
        bounds: CGRect;
        /**
         * Creates and returns a new Bézier path object with a rectangular path.
         */
        constructor (rect: CGRect);
        /**
         * Creates and returns a new Bézier path object with an inscribed oval path in the specified rectangle.
         */
        constructor (rect: CGRect);
        /**
         * Creates and returns a new Bézier path object with a rounded rectangular path.
         */
        constructor (rect: CGRect, cornerRadius: CGFloat);
        /**
         * Creates and returns a new Bézier path object with a rectangular path rounded at the specified corners.
         */
        constructor (rect: CGRect, corners: UIRectCorner, cornerRadii: CGSize);
        /**
         * Creates and returns a new Bézier path object with an arc of a circle.
         */
        constructor (center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: boolean);
        /**
         * Creates and returns a new Bézier path object with the contents of a Core Graphics path.
         */
        constructor (CGPath: CGPath);
        /**
         * Creates and returns an empty path object.
         */
        constructor ();
        /**
         * Creates a Bézier path object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates and returns a new Bézier path object with the reversed contents of the current path.
         */
        reversing():UIBezierPath;
        /**
         * Moves the path’s current point to the specified location.
         */
        move(point: CGPoint):void;
        /**
         * Appends a straight line to the path.
         */
        addLine(point: CGPoint):void;
        /**
         * Appends an arc to the path.
         */
        addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: boolean):void;
        /**
         * Appends a cubic Bézier curve to the path.
         */
        addCurve(endPoint: CGPoint, controlPoint1: CGPoint, controlPoint2: CGPoint):void;
        /**
         * Appends a quadratic Bézier curve to the path.
         */
        addQuadCurve(endPoint: CGPoint, controlPoint: CGPoint):void;
        /**
         * Closes the most recent subpath.
         */
        close():void;
        /**
         * Removes all points from the path, effectively deleting all subpaths.
         */
        removeAllPoints():void;
        /**
         * Appends the contents of the specified path object to the path.
         */
        append(bezierPath: UIBezierPath):void;
        /**
         * Sets the line-stroking pattern for the path.
         */
        setLineDash(pattern: UnsafePointer<CGFloat> | null, count: number, phase: CGFloat):void;
        /**
         * Retrieves the line-stroking pattern for the path.
         */
        getLineDash(pattern: UnsafeMutablePointer<CGFloat> | null, count: UnsafeMutablePointer<Int> | null, phase: UnsafeMutablePointer<CGFloat> | null):void;
        /**
         * Uses the current drawing properties to paint the region that the path encloses.
         */
        fill():void;
        /**
         * Draws a line along the path using the current drawing properties.
         */
        stroke():void;
        /**
         * Uses the clipping path of the current graphics context to intersect the region that the path encloses, and makes the resulting shape the current clipping path.
         */
        addClip():void;
        /**
         * Returns a Boolean value that indicates whether the specified point is within the region that the path encloses.
         */
        contains(point: CGPoint):boolean;
        /**
         * Transforms all points in the path using the specified affine transform matrix.
         */
        apply(transform: CGAffineTransform):void;
    }
    export class UIRectCorner {
        /**
         * The top-left corner of the rectangle.
         */
        static topLeft: UIRectCorner;
        /**
         * The top-right corner of the rectangle.
         */
        static topRight: UIRectCorner;
        /**
         * The bottom-left corner of the rectangle.
         */
        static bottomLeft: UIRectCorner;
        /**
         * The bottom-right corner of the rectangle.
         */
        static bottomRight: UIRectCorner;
        /**
         * All corners of the rectangle.
         */
        static allCorners: UIRectCorner;
        /**
         * Creates a structure that represents the corners of a rectangle.
         */
        constructor (rawValue: number);
    }
    export class NSStringDrawingContext extends NSObject {
        /**
         * The scale factor that determines the smallest font size to use during drawing. 
         */
        minimumScaleFactor: CGFloat;
        /**
         * The actual scale factor that the system applied to the font during drawing.
         */
        actualScaleFactor: CGFloat;
        /**
         * The most recent bounding rectangle that the system used to draw the string.
         */
        totalBounds: CGRect;
        /**
         * The smallest amount of space, in points, to maintain between characters.
         */
        minimumTrackingAdjustment: CGFloat;
        /**
         * The actual tracking value that the system applied during drawing.
         */
        actualTrackingAdjustment: CGFloat;
    }
    export enum UIBaselineAdjustment {
        alignBaselines = 0,
        alignCenters = 1,
        none = 2,
    }
    export class NSShadow extends NSObject {
        /**
         * The shadow’s relative position, which you specify with horizontal and vertical offset values.
         */
        shadowOffset: CGSize;
        /**
         * The blur radius of the shadow.
         */
        shadowBlurRadius: CGFloat;
        /**
         * The color of the shadow.
         */
        shadowColor: any;
        /**
         * Creates a shadow object with default values.
         */
        constructor ();
        /**
         * Creates a shadow object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export class UIPrintInteractionController extends NSObject {
        /**
         * The shared print-interaction controller object.
         */
        static shared: UIPrintInteractionController;
        /**
         * A Boolean value that indicates whether the device supports printing.
         */
        static isPrintingAvailable: boolean;
        /**
         * Returns a set of the Uniform Type Identifiers for the types of data that UIKit can print. 
         */
        static printableUTIs: Set<String>;
        /**
         * The delegate of the print-interaction controller.
         */
        delegate: UIPrintInteractionControllerDelegate | null;
        /**
         * A single ready-to-print object.
         */
        printingItem: any;
        /**
         * An array of ready-to-print objects.
         */
        printingItems: any[] | null;
        /**
         * An object that draws pages of printable content when UIKit requests it.
         */
        printPageRenderer: UIPrintPageRenderer | null;
        /**
         * An object that lays out the content of pages according to the kind of content.
         */
        printFormatter: UIPrintFormatter | null;
        /**
         * An object that encapsulates information about the print job.
         */
        printInfo: UIPrintInfo | null;
        /**
         * An object that represents the paper size and printing area for the print job.
         */
        printPaper: UIPrintPaper | null;
        /**
         * A Boolean value that determines whether the printing options include the number of copies.
         */
        showsNumberOfCopies: boolean;
        /**
         * A Boolean value that determines whether the paper selection menu displays.
         */
        showsPaperSelectionForLoadedPapers: boolean;
        /**
         * A Boolean value that indicates whether the printing options include the paper-orientation control.
         */
        showsPaperOrientation: boolean;
        /**
         * A Boolean value that determines whether the printing options include a page-range control.
         */
        showsPageRange: boolean;
        /**
         * Returns a Boolean value that indicates whether UIKit can print the contents of a data object.
         */
        static canPrint(data: Data):boolean;
        /**
         * Presents the iPhone printing user interface in a sheet, optionally animating it to slide up from the bottom of the screen.
         */
        present(animated: boolean, completion: UIPrintInteractionController.CompletionHandler | null):boolean;
        /**
         * Dismisses the printing-options sheet or popover. 
         */
        dismiss(animated: boolean):void;
        /**
         * Prints directly to the specified printer.
         */
        print(printer: UIPrinter, completion: UIPrintInteractionController.CompletionHandler | null):boolean;
    }
    export interface UIPrintInteractionControllerDelegate extends NSObjectProtocol {
        /**
         * Returns a parent view controller for managing the printing-options view.
         */
        printInteractionControllerParentViewController(printInteractionController: UIPrintInteractionController):UIViewController | null;
        /**
         * Asks the delegate for an object that encapsulates the paper size and printing area for the print job.
         */
        printInteractionController(printInteractionController: UIPrintInteractionController, paperList: UIPrintPaper[]):UIPrintPaper;
        /**
         * Tells the delegate that the device is about to display the printing-options user interface.
         */
        printInteractionControllerWillPresentPrinterOptions(printInteractionController: UIPrintInteractionController):void;
        /**
         * Tells the delegate that the device has presented the printing-options user interface. 
         */
        printInteractionControllerDidPresentPrinterOptions(printInteractionController: UIPrintInteractionController):void;
        /**
         * Tells the delegate that the device is about to dismiss the printing-options user interface. 
         */
        printInteractionControllerWillDismissPrinterOptions(printInteractionController: UIPrintInteractionController):void;
        /**
         * Tells the delegate that the device is dismissing the printing-options user interface. 
         */
        printInteractionControllerDidDismissPrinterOptions(printInteractionController: UIPrintInteractionController):void;
        /**
         * Tells the delegate that the print job is about to start. 
         */
        printInteractionControllerWillStartJob(printInteractionController: UIPrintInteractionController):void;
        /**
         * Tells the delegate that the print job has ended. 
         */
        printInteractionControllerDidFinishJob(printInteractionController: UIPrintInteractionController):void;
    }
    export class UIPrinter extends NSObject {}
    /**
     * the same name namespace of class UIPrinter
     */
    export namespace UIPrinter {
        export enum CutterBehavior {
            noCut = 0,
            printerDefault = 1,
            cutAfterEachPage = 2,
            cutAfterEachCopy = 3,
            cutAfterEachJob = 4,
        }
    }
    export class UIPrintError {
        /**
         * The device doesn’t support printing.
         */
        static notAvailable: UIPrintError.Code;
        /**
         * UIKit hasn’t assigned a print formatter, page renderer, or printing item to print.
         */
        static noContent: UIPrintError.Code;
        /**
         * An image is in a format that UIKit doesn’t recognize for printing.
         */
        static unknownImageFormat: UIPrintError.Code;
        /**
         * An internal error occurred with the print job. 
         */
        static jobFailed: UIPrintError.Code;
        /**
         * The printing error domain.
         */
        static errorDomain: string;
        /**
         * The printing error code.
         */
        errorCode: number;
        /**
         * The printing error code.
         */
        code: Code;
        /**
         * The printing error user information. 
         */
        userInfo: Record<string, any>;
        /**
         * The printing error user information.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the printing error.
         */
        localizedDescription: string;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a printing error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UIPrintError
     */
    export namespace UIPrintError {
        export enum Code {
            notAvailable = 1,
            noContent = 2,
            unknownImageFormat = 3,
            jobFailed = 4,
        }
    }
    export class UIPrinterPickerController extends NSObject {
        /**
         * The delegate for the printer picker controller.
         */
        delegate: UIPrinterPickerControllerDelegate | null;
        /**
         * The selected printer.
         */
        selectedPrinter: UIPrinter | null;
        /**
         * Creates and returns a printer picker with an initially selected printer object.
         */
        constructor (printer: UIPrinter | null);
        /**
         * Presents the picker from a view controller of your app.
         */
        present(animated: boolean, completion: UIPrinterPickerController.CompletionHandler | null):boolean;
        /**
         * Dismisses the picker.
         */
        dismiss(animated: boolean):void;
    }
    export interface UIPrinterPickerControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if the specified printer should be included in the picker. 
         */
        printerPickerController(printerPickerController: UIPrinterPickerController, printer: UIPrinter):boolean;
        /**
         * Tells the delegate that a printer was selected. 
         */
        printerPickerControllerDidSelectPrinter(printerPickerController: UIPrinterPickerController):void;
        /**
         * Asks the delegate to provide the view controller to act as the parent of the printer picker.
         */
        printerPickerControllerParentViewController(printerPickerController: UIPrinterPickerController):UIViewController | null;
        /**
         * Tells the delegate that the printer picker is about to be displayed.
         */
        printerPickerControllerWillPresent(printerPickerController: UIPrinterPickerController):void;
        /**
         * Tells the delegate that the printer picker was displayed and is now visible.
         */
        printerPickerControllerDidPresent(printerPickerController: UIPrinterPickerController):void;
        /**
         * Tells the delegate that the printer picker is about to be dismissed.
         */
        printerPickerControllerWillDismiss(printerPickerController: UIPrinterPickerController):void;
        /**
         * Tells the delegate that the printer picker was dismissed.
         */
        printerPickerControllerDidDismiss(printerPickerController: UIPrinterPickerController):void;
    }
    export class UIPrintPageRenderer extends NSObject {
        /**
         * The number of pages to render.
         */
        numberOfPages: number;
        /**
         * The size of the paper for printing.
         */
        paperRect: CGRect;
        /**
         * The area in which printing can occur.
         */
        printableRect: CGRect;
        /**
         * The height of the page header.
         */
        headerHeight: CGFloat;
        /**
         * The height of the page footer.
         */
        footerHeight: CGFloat;
        /**
         * The print formatters for the page renderer.
         */
        printFormatters: UIPrintFormatter[] | null;
        /**
         * Adds a print formatter to the page renderer starting at the specified page.
         */
        addPrintFormatter(formatter: UIPrintFormatter, pageIndex: number):void;
        /**
         * Returns the print formatters for a specified page.
         */
        printFormattersForPage(pageIndex: number):UIPrintFormatter[] | null;
        /**
         * Prepares the renderer for drawing a range of pages.
         */
        prepare(range: NSRange):void;
        /**
         * Draws a page of content for the printer.
         */
        drawPage(pageIndex: number, printableRect: CGRect):void;
        /**
         * Draws the header of a page.
         */
        drawHeaderForPage(pageIndex: number, headerRect: CGRect):void;
        /**
         * Draws the content of a page.
         */
        drawContentForPage(pageIndex: number, contentRect: CGRect):void;
        /**
         * Performs custom drawing in addition to the specified print formatter’s drawing for a page.
         */
        drawPrintFormatter(printFormatter: UIPrintFormatter, pageIndex: number):void;
        /**
         * Draws the footer of a page.
         */
        drawFooterForPage(pageIndex: number, footerRect: CGRect):void;
        /**
         * Determines the actual print-rendering quality according to the requested rendering quality.
         */
        currentRenderingQuality(requestedRenderingQuality: UIPrintRenderingQuality):UIPrintRenderingQuality;
    }
    export enum UIPrintRenderingQuality {
        best = 0,
        responsive = 1,
    }
    export class UIPointerLockState extends NSObject {
        /**
         * A notification that posts when the value of the locked state for a scene changes.
         */
        static didChangeNotification: NSNotification.Name;
        /**
         * A key that reflects the new locked state.
         */
        static sceneUserInfoKey: string;
        /**
         * A Boolean value that indicates whether the pointer is locked.
         */
        isLocked: boolean;
    }
    export class UIPrintInfo extends NSObject {
        /**
         * A dictionary representation of a print-information object.
         */
        dictionaryRepresentation: Record<AnyHashable, any>;
        /**
         * The duplex mode to use for the print job.
         */
        duplex: UIPrintInfo.Duplex;
        /**
         * The name of the print job.
         */
        jobName: string;
        /**
         * The orientation of the printed content, portrait or landscape.
         */
        orientation: UIPrintInfo.Orientation;
        /**
         * The kind of printable content.
         */
        outputType: UIPrintInfo.OutputType;
        /**
         * An identifier of the printer to use for the print job.
         */
        printerID: string;
        /**
         * Returns a print-information object that is initialized with the data in the passed-in dictionary.
         */
        constructor (dictionary: Record<AnyHashable, any> | null);
        /**
         * Creates a print info object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Returns a print-information object initialized with default values.
         */
        static printInfo():UIPrintInfo;
    }
    /**
     * the same name namespace of class UIPrintInfo
     */
    export namespace UIPrintInfo {
        export enum Duplex {
            none = 0,
            longEdge = 1,
            shortEdge = 2,
        }
        export enum Orientation {
            portrait = 0,
            landscape = 1,
        }
        export enum OutputType {
            general = 0,
            photo = 1,
            grayscale = 2,
            photoGrayscale = 3,
        }
    }
    export class UIPrintPaper extends NSObject {
        /**
         * The size of the sheet to use for printing.
         */
        paperSize: CGSize;
        /**
         * The rectangle that represents the portion of the paper that can be imaged upon.
         */
        printableRect: CGRect;
        /**
         * The print-paper object that UIKit determines to be the best for a print job based on the specified page size and the paper size–imageable area combinations specific to the printer.
         */
        static bestPaper(contentSize: CGSize, paperList: UIPrintPaper[]):UIPrintPaper;
        /**
         * Deprecated.
         */
        printRect():CGRect;
    }
    export class UIPrintFormatter extends NSObject {
        /**
         * The margins for each printed page.
         */
        perPageContentInsets: UIEdgeInsets;
        /**
         * The maximum height of the content area. 
         */
        maximumContentHeight: CGFloat;
        /**
         * The maximum width of the content area.
         */
        maximumContentWidth: CGFloat;
        /**
         * The distances the edges of content are inset from the printing rectangle.
         */
        contentInsets: UIEdgeInsets;
        /**
         * The index of the first page that the print formatter lays out.
         */
        startPage: number;
        /**
         * The number of pages to print.
         */
        pageCount: number;
        /**
         * Returns the page renderer for the print formatter.
         */
        printPageRenderer: UIPrintPageRenderer | null;
        /**
         * A Boolean value that determines whether the system executes the print formatter’s rendering operations on the main thread.
         */
        requiresMainThread: boolean;
        /**
         * Draws the portion of a print formatter’s content for the specified area of the specified page.
         */
        draw(rect: CGRect, pageIndex: number):void;
        /**
         * Returns the area that encloses a specified page of content.
         */
        rectForPage(pageIndex: number):CGRect;
        /**
         * Removes the print formatter from the page renderer.
         */
        removeFromPrintPageRenderer():void;
    }
    export class UIViewPrintFormatter extends UIPrintFormatter {
        /**
         * The view from which the view print formatter was derived.
         */
        view: UIView;
    }
    export class UISimpleTextPrintFormatter extends UIPrintFormatter {
        /**
         * A string of attributed text.
         */
        attributedText: NSAttributedString | null;
        /**
         * A string of plain text.
         */
        text: string;
        /**
         * The font of the printed text.
         */
        font: UIFont | null;
        /**
         * The color of the printed text.
         */
        color: UIColor | null;
        /**
         * The alignment of the printed text.
         */
        textAlignment: NSTextAlignment;
        /**
         * Returns a simple-text print formatter initialized with attributed text.
         */
        constructor (attributedText: NSAttributedString);
        /**
         * Returns a simple-text print formatter initialized with plain text.
         */
        constructor (text: string);
    }
    export class UIMarkupTextPrintFormatter extends UIPrintFormatter {
        /**
         * The HTML markup text for the print formatter.
         */
        markupText: string;
        /**
         * Returns a markup-text print formatter initialized with an HTML string.
         */
        constructor (markupText: string);
    }
    export class UIPrintServiceExtension extends NSObject {
        /**
         * Searches for a printer destination that matches the print-job attributes.
         */
        printerDestinations(printInfo: UIPrintInfo):UIPrinterDestination[];
    }
    export class UIPrinterDestination extends NSObject {
        /**
         * A human-readable string that displays the name of a printer.
         */
        displayName: string;
        /**
         * A DNS TXT record to identify the printer.
         */
        txtRecord: Data | null;
        /**
         * The address of the printer.
         */
        url: URL;
        /**
         * Creates a printer destination with the specified address.
         */
        constructor (url: URL);
    }
    export class UILabel extends UIView {
        /**
         * The text that the label displays.
         */
        text: string;
        /**
         * The styled text that the label displays.
         */
        attributedText: NSAttributedString | null;
        /**
         * The font of the text.
         */
        font: UIFont!;
        /**
         * The color of the text.
         */
        textColor: UIColor!;
        /**
         * The technique for aligning the text.
         */
        textAlignment: NSTextAlignment;
        /**
         * The technique for wrapping and truncating the label’s text.
         */
        lineBreakMode: NSLineBreakMode;
        /**
         * The strategy that the system uses to break lines when laying out multiple lines of text.
         */
        lineBreakStrategy: NSParagraphStyle.LineBreakStrategy;
        /**
         * A Boolean value that determines whether the label draws its text in an enabled state.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that determines whether the label scrolls its text while one of its containing views has focus.
         */
        enablesMarqueeWhenAncestorFocused: boolean;
        /**
         * A Boolean value that determines whether the full text of the label displays when the pointer hovers over the truncated text.
         */
        showsExpansionTextWhenTruncated: boolean;
        /**
         * A Boolean value that determines whether the label reduces the text’s font size to fit the title string into the label’s bounding rectangle.
         */
        adjustsFontSizeToFitWidth: boolean;
        /**
         * A Boolean value that determines whether the label tightens text before truncating.
         */
        allowsDefaultTighteningForTruncation: boolean;
        /**
         * An option that controls whether the text’s baseline remains fixed when text needs to shrink to fit in the label.
         */
        baselineAdjustment: UIBaselineAdjustment;
        /**
         * The minimum scale factor for the label’s text.
         */
        minimumScaleFactor: CGFloat;
        /**
         * The maximum number of lines for rendering text.
         */
        numberOfLines: number;
        /**
         * The highlight color for the label’s text.
         */
        highlightedTextColor: UIColor | null;
        /**
         * A Boolean value that determines whether the label draws its text with a highlight.
         */
        isHighlighted: boolean;
        /**
         * The shadow color of the text.
         */
        shadowColor: UIColor | null;
        /**
         * The shadow offset, in points, for the text.
         */
        shadowOffset: CGSize;
        /**
         * The preferred maximum width, in points, for a multiline label.
         */
        preferredMaxLayoutWidth: CGFloat;
        /**
         * A Boolean value that determines whether the system ignores and removes user events for this label from the event queue.
         */
        isUserInteractionEnabled: boolean;
        /**
         * Returns the drawing rectangle for the label’s text.
         */
        textRect(bounds: CGRect, numberOfLines: number):CGRect;
        /**
         * Draws the label’s text, or its shadow, in the specified rectangle.
         */
        drawText(rect: CGRect):void;
    }
    export enum UISceneCollectionJoinBehavior {
        automatic = 0,
        preferred = 1,
        preferredWithoutActivating = 3,
        disallowed = 2,
    }
    export enum NSTextAlignment {
        left = 0,
        right = 2,
        center = 1,
        justified = 3,
        natural = 4,
    }
    export interface UITextFieldDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether to begin editing in the specified text field.
         */
        textFieldShouldBeginEditing(textField: UITextField):boolean;
        /**
         * Tells the delegate when editing begins in the specified text field.
         */
        textFieldDidBeginEditing(textField: UITextField):void;
        /**
         * Asks the delegate whether to stop editing in the specified text field. 
         */
        textFieldShouldEndEditing(textField: UITextField):boolean;
        /**
         * Tells the delegate when editing stops for the specified text field, and the reason it stopped.
         */
        textFieldDidEndEditing(textField: UITextField, reason: UITextField.DidEndEditingReason):void;
        /**
         * Asks the delegate whether to change the specified text.
         */
        textField(textField: UITextField, range: NSRange, _string: string):boolean;
        /**
         * Asks the delegate whether to remove the text field’s current contents.
         */
        textFieldShouldClear(textField: UITextField):boolean;
        /**
         * Asks the delegate whether to process the pressing of the Return button for the text field.
         */
        textFieldShouldReturn(textField: UITextField):boolean;
        /**
         * Tells the delegate when the text selection changes in the specified text field.
         */
        textFieldDidChangeSelection(textField: UITextField):void;
    }
    export class UISceneDestructionRequestOptions extends NSObject {}
    export interface UITextViewDelegate extends NSObjectProtocol,UIScrollViewDelegate {
        /**
         * Asks the delegate whether to begin editing in the specified text view.
         */
        textViewShouldBeginEditing(textView: UITextView):boolean;
        /**
         * Tells the delegate when editing of the specified text view begins.
         */
        textViewDidBeginEditing(textView: UITextView):void;
        /**
         * Asks the delegate whether to stop editing in the specified text view. 
         */
        textViewShouldEndEditing(textView: UITextView):boolean;
        /**
         * Tells the delegate when editing of the specified text view ends.
         */
        textViewDidEndEditing(textView: UITextView):void;
        /**
         * Asks the delegate whether to replace the specified text in the text view.
         */
        textView(textView: UITextView, range: NSRange, text: string):boolean;
        /**
         * Tells the delegate when the user changes the text or attributes in the specified text view.
         */
        textViewDidChange(textView: UITextView):void;
        /**
         * Tells the delegate when the text selection changes in the specified text view.
         */
        textViewDidChangeSelection(textView: UITextView):void;
    }
    export enum UITextItemInteraction {
        invokeDefaultAction = 0,
        presentActions = 1,
        preview = 2,
    }
    export class UIDataDetectorTypes {
        /**
         * An option to detect strings with the format of a phone number.
         */
        static phoneNumber: UIDataDetectorTypes;
        /**
         * An option to detect strings with the format of a URL. 
         */
        static link: UIDataDetectorTypes;
        /**
         * An option to detect strings with the format of an address. 
         */
        static address: UIDataDetectorTypes;
        /**
         * An option to detect strings with the format of a calendar event. 
         */
        static calendarEvent: UIDataDetectorTypes;
        /**
         * An option to detect strings with the format of a tracking number from a package delivery company. 
         */
        static shipmentTrackingNumber: UIDataDetectorTypes;
        /**
         * An option to detect strings with the format of a flight number from an airline. 
         */
        static flightNumber: UIDataDetectorTypes;
        /**
         * An option to detect strings with the format of information that the user might want to look up.
         */
        static lookupSuggestion: UIDataDetectorTypes;
        /**
         * An option to detect all available types of data.
         */
        static all: UIDataDetectorTypes;
        static money: UIDataDetectorTypes;
        static physicalValue: UIDataDetectorTypes;
        /**
         * Creates a data detector type with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface UITextDragDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the text has been lifted out of the text view and the user is beginning to drag the text.
         */
        textDraggableView(textDraggableView: (UIView & UITextDraggable), session: UIDragSession):void;
    }
    export interface UITextDropDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if the text view can accept a drop operation.
         */
        textDroppableView(textDroppableView: (UIView & UITextDroppable), drop: UITextDropRequest):UITextDropProposal;
    }
    export interface UITextDraggable extends UITextInput {
        /**
         * A Boolean value indicating whether at least one drag session for the text view is active.
         */
        isTextDragActive: boolean;
        /**
         * The drag interaction object added by UIKit to the text view.
         */
        textDragInteraction: UIDragInteraction | null;
        /**
         * A text drag delegate object for customizing the drag source behavior of a text view.
         */
        textDragDelegate: UITextDragDelegate | null;
        /**
         * The options for the text drag operation.
         */
        textDragOptions: UITextDragOptions;
    }
    export class UITextDragOptions {
        /**
         * Strips the foreground and background colors for a system-provided text drag preview.
         */
        static stripTextColorFromPreviews: UITextDragOptions;
        /**
         * Creates a text-drag options structure with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface UITextDroppable extends UITextInput,UITextPasteConfigurationSupporting {
        /**
         * A Boolean value that indicates whether the text view has at least one active drop session.
         */
        isTextDropActive: boolean;
        /**
         * The drop interaction object added by UIKit to the text view.
         */
        textDropInteraction: UIDropInteraction | null;
        /**
         * The text drop delegate for interacting with a drop activity in the text view.
         */
        textDropDelegate: UITextDropDelegate | null;
    }
    export enum UITextDropEditability {
        no = 0,
        temporary = 1,
        yes = 2,
    }
    export interface UITextDragRequest extends NSObjectProtocol {
        /**
         * The array of drag items present in a drag session.
         */
        existingItems: UIDragItem[];
        /**
         * An array of drag items that the system provides when the text drag delegate doesn’t provide custom drag items.
         */
        suggestedItems: UIDragItem[];
        /**
         * A range of text associated with a drag item in an active drag session that originated in a text view.
         */
        dragRange: UITextRange;
        /**
         * A Boolean value indicating whether text is selected for dragging.
         */
        isSelected: boolean;
        /**
         * The active drag session.
         */
        dragSession: UIDragSession;
    }
    export class UITextDragPreviewRenderer extends NSObject {
        /**
         * The bounding rectangle of the text in the middle of the drag preview.
         */
        bodyRect: CGRect;
        /**
         * The bounding rectangle of the first line of text in the drag preview.
         */
        firstLineRect: CGRect;
        /**
         * The bounding rectangle of the last line of text in the drag preview.
         */
        lastLineRect: CGRect;
        /**
         * The image of the text drag preview that’s rendered by the layout manager.
         */
        image: UIImage;
        /**
         * The layout manager that renders the text drag preview.
         */
        layoutManager: NSLayoutManager;
        /**
         * Initializes and returns a text drag preview renderer with the specified layout managers and range to render the text drag preview.
         */
        constructor (layoutManager: NSLayoutManager, range: NSRange);
        /**
         * Returns an initialized renderer of a text drag preview with the specified layout manager, range, and rectangle detection behavior.
         */
        constructor (layoutManager: NSLayoutManager, range: NSRange, unifyRects: boolean);
        /**
         * Adjusts the size and origin of the bounding rectangles during a text drag operation.
         */
        adjust(firstLineRect: UnsafeMutablePointer<CGRect>, bodyRect: UnsafeMutablePointer<CGRect>, lastLineRect: UnsafeMutablePointer<CGRect>, origin: CGPoint):void;
    }
    export interface UITextDropRequest extends NSObjectProtocol {
        /**
         * The text position corresponding to the location of a drop session.
         */
        dropPosition: UITextPosition;
        /**
         * A Boolean value indicating whether the drag and the drop are within the same text view.
         */
        isSameView: boolean;
        /**
         * The text drop proposal offered by the text view.
         */
        suggestedProposal: UITextDropProposal;
        /**
         * The drop session for the text view.
         */
        dropSession: UIDropSession;
    }
    export class UITextDropProposal extends UIDropProposal {
        /**
         * A text drop action style that specifies how the text view receives dropped items.
         */
        dropAction: UITextDropProposal.Action;
        /**
         * The performer that is responsible for handling the drop operation.
         */
        dropPerformer: UITextDropProposal.Performer;
        /**
         * A mode that specifies how the text view indicates progress to the user when loading dropped items.
         */
        dropProgressMode: UITextDropProposal.ProgressMode;
        /**
         * A Boolean value that determines whether the text view can use fast inline dropping when the source and destination are in the same text view.
         */
        useFastSameViewOperations: boolean;
    }
    /**
     * the same name namespace of class UITextDropProposal
     */
    export namespace UITextDropProposal {
        export enum Action {
            insert = 0,
            replaceAll = 2,
            replaceSelection = 1,
        }
        export enum Performer {
            view = 0,
            delegate = 1,
        }
        export enum ProgressMode {
            custom = 1,
            system = 0,
        }
    }
    export interface UITextPasteItem extends NSObjectProtocol {
        /**
         * The item provider for the item being pasted or dropped.
         */
        itemProvider: NSItemProvider;
        /**
         * The custom local object that the copy or drag source optionally attached to the drag item.
         */
        localObject: any;
        /**
         * The dictionary of default attributes that the system applies, during pasting or dropping, to plaintext strings from an item provider.
         */
        defaultAttributes: Record<NSAttributedString.Key, any>;
        /**
         * Sets a text paste item’s textual value to a specified plaintext string from the item provider.
         */
        setResult(_string: string):void;
        /**
         * Sets the text paste item’s value to the default value based on the item provider’s data.
         */
        setDefaultResult():void;
        /**
         * Sets the text paste item’s textual value to not include data from the item provider.
         */
        setNoResult():void;
    }
    export interface UISearchTextFieldPasteItem extends UITextPasteItem {
        /**
         * Sets a paste item’s search token from an item provider.
         */
        setSearchTokenResult(token: UISearchToken):void;
    }
    export interface UITextPasteDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to transform the pasted or dropped text item.
         */
        textPasteConfigurationSupporting(textPasteConfigurationSupporting: UITextPasteConfigurationSupporting, item: UITextPasteItem):void;
    }
    export interface UITextPasteConfigurationSupporting extends UIPasteConfigurationSupporting {
        /**
         * The text paste delegate that handles pasting and dropping of text, using item providers.
         */
        pasteDelegate: UITextPasteDelegate | null;
    }
    export class UITextFormattingCoordinator extends NSObject {
        /**
         * A Boolean value that indicates whether the font panel is visible.
         */
        static isFontPanelVisible: boolean;
        /**
         * The delegate of the text-formatting coordinator.
         */
        delegate: UITextFormattingCoordinatorDelegate | null;
        /**
         * Creates a text-formatting coordinator for the specified window scene.
         */
        constructor (windowScene: UIWindowScene);
        /**
         * Initializes and returns a new text-formatting coordinator for the specified window scene.
         */
        constructor (windowScene: UIWindowScene);
        /**
         * Toggles the visibility of the font panel.
         */
        static toggleFontPanel(sender: any):void;
        /**
         * Configures the initial display state of the font panel with the attributes of the selected text.
         */
        setSelectedAttributes(attributes: Record<NSAttributedString.Key, any>, flag: boolean):void;
    }
    export interface UITextFormattingCoordinatorDelegate extends NSObjectProtocol {
        /**
         * Applies the current font panel settings to the selected text.
         */
        updateTextAttributes(conversionHandler: ()=>any):void;
    }
    export class UIFont extends NSObject {
        /**
         * Returns an array of font family names available on the system.
         */
        static familyNames: string[];
        /**
         * The standard font size, in points, for labels.
         */
        static labelFontSize: CGFloat;
        /**
         * The standard font size, in points, for buttons.
         */
        static buttonFontSize: CGFloat;
        /**
         * The size, in points, of the standard small system font.
         */
        static smallSystemFontSize: CGFloat;
        /**
         * The size, in points, of the standard system font.
         */
        static systemFontSize: CGFloat;
        /**
         * The font family name.
         */
        familyName: string;
        /**
         * The font face name. 
         */
        fontName: string;
        /**
         * The font’s point size, or the effective vertical point size for a font with a nonstandard matrix.
         */
        pointSize: CGFloat;
        /**
         * The top y-coordinate, offset from the baseline, of the font’s longest ascender.
         */
        ascender: CGFloat;
        /**
         * The bottom y-coordinate, offset from the baseline, of the font’s longest descender.
         */
        descender: CGFloat;
        /**
         * The font’s leading information.
         */
        leading: CGFloat;
        /**
         * The font’s cap height information.
         */
        capHeight: CGFloat;
        /**
         * The x-height of the font.
         */
        xHeight: CGFloat;
        /**
         * The height, in points, of text lines.
         */
        lineHeight: CGFloat;
        /**
         * A font descriptor for the font.
         */
        fontDescriptor: UIFontDescriptor;
        /**
         * Creates and returns a font object for the specified font name and size.
         */
        constructor (fontName: string, fontSize: CGFloat);
        /**
         * Returns a font that matches the specified font descriptor.
         */
        constructor (descriptor: UIFontDescriptor, pointSize: CGFloat);
        /**
         * Returns an instance of the system font for the specified text style with scaling for the user's selected content size category.
         */
        static preferredFont(style: UIFont.TextStyle):UIFont;
        /**
         * Returns the font object for standard interface items in the specified size. 
         */
        static systemFont(fontSize: CGFloat):UIFont;
        /**
         * Returns the font object for standard interface items in boldface type in the specified size.
         */
        static boldSystemFont(fontSize: CGFloat):UIFont;
        /**
         * Returns the font object for standard interface items in italic type in the specified size.
         */
        static italicSystemFont(fontSize: CGFloat):UIFont;
        /**
         * Returns the fixed-width font for standard interface text in the specified size.
         */
        static monospacedSystemFont(fontSize: CGFloat, weight: UIFont.Weight):UIFont;
        /**
         * Returns the standard system font with all digits of consistent width. 
         */
        static monospacedDigitSystemFont(fontSize: CGFloat, weight: UIFont.Weight):UIFont;
        /**
         * Returns an array of font names available in a particular font family. 
         */
        static fontNames(familyName: string):string[];
        /**
         * Returns a font object that is the same as the font, but has the specified size.
         */
        withSize(fontSize: CGFloat):UIFont;
    }
    /**
     * the same name namespace of class UIFont
     */
    export namespace UIFont {
        export class TextStyle {
            /**
             * The font for body text.
             */
            static body: UIFont.TextStyle;
            /**
             * The font for callouts.
             */
            static callout: UIFont.TextStyle;
            /**
             * The font for standard captions.
             */
            static caption1: UIFont.TextStyle;
            /**
             * The font for alternate captions.
             */
            static caption2: UIFont.TextStyle;
            /**
             * The font for footnotes.
             */
            static footnote: UIFont.TextStyle;
            /**
             * The font for headings.
             */
            static headline: UIFont.TextStyle;
            /**
             * The font for subheadings.
             */
            static subheadline: UIFont.TextStyle;
            /**
             * The font style for large titles.
             */
            static largeTitle: UIFont.TextStyle;
            /**
             * The font for first-level hierarchical headings.
             */
            static title1: UIFont.TextStyle;
            /**
             * The font for second-level hierarchical headings.
             */
            static title2: UIFont.TextStyle;
            /**
             * The font for third-level hierarchical headings.
             */
            static title3: UIFont.TextStyle;
            metrics: UIFontMetrics;
            /**
             * Creates a text style with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export class Weight {
            /**
             * The ultra-light font weight.
             */
            static ultraLight: UIFont.Weight;
            /**
             * The thin font weight.
             */
            static thin: UIFont.Weight;
            /**
             * The light font weight.
             */
            static light: UIFont.Weight;
            /**
             * The regular font weight.
             */
            static regular: UIFont.Weight;
            /**
             * The medium font weight.
             */
            static medium: UIFont.Weight;
            /**
             * The semibold font weight.
             */
            static semibold: UIFont.Weight;
            /**
             * The bold font weight
             */
            static bold: UIFont.Weight;
            /**
             * The heavy font weight.
             */
            static heavy: UIFont.Weight;
            /**
             * The black font weight.
             */
            static black: UIFont.Weight;
            constructor (rawValue: CGFloat);
            constructor (rawValue: CGFloat);
            /**
             * Provides the corresponding symbol weight for this font weight.
             */
            symbolWeight():UIImage.SymbolWeight;
        }
        export class Width {
            static compressed: UIFont.Width;
            static condensed: UIFont.Width;
            static expanded: UIFont.Width;
            static standard: UIFont.Width;
            constructor (rawValue: CGFloat);
            constructor (rawValue: CGFloat);
        }
    }
    export class UIFontDescriptor extends NSObject {
        /**
         * The font descriptor's dictionary of attributes.
         */
        fontAttributes: Record<UIFontDescriptor.AttributeName, any>;
        /**
         * The current transform matrix of the font descriptor.
         */
        matrix: CGAffineTransform;
        /**
         * The point size of the font descriptor.
         */
        pointSize: CGFloat;
        /**
         * The PostScript name of the font descriptor.
         */
        postscriptName: string;
        /**
         * The traits of the font descriptor.
         */
        symbolicTraits: UIFontDescriptor.SymbolicTraits;
        /**
         * Returns a font descriptor with the specified values for the name and matrix dictionary attributes.
         */
        constructor (fontName: string, matrix: CGAffineTransform);
        /**
         * Returns a font descriptor with the specified values for the name and size dictionary attributes.
         */
        constructor (fontName: string, size: CGFloat);
        /**
         * Creates a font descriptor with the specified attributes.
         */
        constructor (attributes: Record<UIFontDescriptor.AttributeName, any>);
        /**
         * Creates a font descriptor.
         */
        constructor ();
        /**
         * Creates a font descriptor from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Returns a font descriptor that contains the specified text style and the user's selected content size category.
         */
        static preferredFontDescriptor(style: UIFont.TextStyle):UIFontDescriptor;
        /**
         * Returns a new font descriptor that is the same as the existing descriptor, but with the specified attributes taking precedence over the existing ones.
         */
        addingAttributes(attributes: Record<UIFontDescriptor.AttributeName, any>):UIFontDescriptor;
        /**
         * Returns a new font descriptor that is the same as the existing descriptor, but with the specified design.
         */
        withDesign(design: UIFontDescriptor.SystemDesign):UIFontDescriptor | null;
        /**
         * Returns a new font descriptor whose attributes are the same as the existing font descriptor, but from the specified family.
         */
        withFamily(newFamily: string):UIFontDescriptor;
        /**
         * Returns a new font descriptor that is the same as the existing font descriptor, but with the specified face.
         */
        withFace(newFace: string):UIFontDescriptor;
        /**
         * Returns a new font descriptor that is the same as the existing font descriptor, but with the specified matrix.
         */
        withMatrix(matrix: CGAffineTransform):UIFontDescriptor;
        /**
         * Returns a new font descriptor that is the same as the existing font descriptor, but with the specified point size.
         */
        withSize(newPointSize: CGFloat):UIFontDescriptor;
        /**
         * Returns a new font descriptor that is the same as the existing font descriptor, but with the specified symbolic traits.
         */
        withSymbolicTraits(symbolicTraits: UIFontDescriptor.SymbolicTraits):UIFontDescriptor | null;
        /**
         * Returns all the fonts available in the system with specified attributes that match those of the font.
         */
        matchingFontDescriptors(mandatoryKeys: Set<UIFontDescriptor.AttributeName> | null):UIFontDescriptor[];
        /**
         * Returns the font attribute that the corresponding key specifies.
         */
        object(anAttribute: UIFontDescriptor.AttributeName):any;
    }
    /**
     * the same name namespace of class UIFontDescriptor
     */
    export namespace UIFontDescriptor {
        export class SymbolicTraits {
            /**
             * The font’s style is italic.
             */
            static traitItalic: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s style is boldface.
             */
            static traitBold: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters have an expanded width.
             */
            static traitExpanded: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters have a condensed width.
             */
            static traitCondensed: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters all have the same width.
             */
            static traitMonoSpace: UIFontDescriptor.SymbolicTraits;
            /**
             * The font uses vertical glyph variants and metrics.
             */
            static traitVertical: UIFontDescriptor.SymbolicTraits;
            /**
             * The font synthesizes appropriate attributes for user interface rendering, such as in control titles, if necessary.
             */
            static traitUIOptimized: UIFontDescriptor.SymbolicTraits;
            /**
             * The font uses a leading value that’s less than the default.
             */
            static traitTightLeading: UIFontDescriptor.SymbolicTraits;
            /**
             * The font uses a leading value that’s greater than the default.
             */
            static traitLooseLeading: UIFontDescriptor.SymbolicTraits;
            /**
             * The font family class mask that you use to access font descriptor values.
             */
            static classMask: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters include serifs, and reflect the Latin printing style of the 15th to 17th centuries.
             */
            static classOldStyleSerifs: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters include serifs, and reflect the Latin printing style of the 18th to 19th centuries.
             */
            static classTransitionalSerifs: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters include serifs, and reflect the Latin printing style of the 20th century.
             */
            static classModernSerifs: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters include variations of old style and transitional serifs.
             */
            static classClarendonSerifs: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters use square transitions, without brackets, between strokes and serifs.
             */
            static classSlabSerifs: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters include serifs, and don’t generally fit within other serif design classifications.
             */
            static classFreeformSerifs: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters don’t have serifs.
             */
            static classSansSerif: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters use highly decorated or stylized character shapes.
             */
            static classOrnamentals: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters simulate handwriting.
             */
            static classScripts: UIFontDescriptor.SymbolicTraits;
            /**
             * The font’s characters consist mainly of symbols rather than letters and numbers.
             */
            static classSymbolic: UIFontDescriptor.SymbolicTraits;
            constructor (rawValue: UInt32);
        }
        export class SystemDesign {
            /**
             * The default typeface for an app’s user interface.
             */
            static default: UIFontDescriptor.SystemDesign;
            /**
             * The monospace variant of the default typeface.
             */
            static monospaced: UIFontDescriptor.SystemDesign;
            /**
             * The rounded variant of the default typeface.
             */
            static rounded: UIFontDescriptor.SystemDesign;
            /**
             * The serif variant of the default typeface.
             */
            static serif: UIFontDescriptor.SystemDesign;
            constructor (rawValue: string);
        }
        export class AttributeName {
            /**
             * The cascading list attribute.
             */
            static cascadeList: UIFontDescriptor.AttributeName;
            /**
             * The character set attribute.
             */
            static characterSet: UIFontDescriptor.AttributeName;
            /**
             * The font face attribute.
             */
            static face: UIFontDescriptor.AttributeName;
            /**
             * The font family attribute.
             */
            static family: UIFontDescriptor.AttributeName;
            /**
             * The font feature settings attribute.
             */
            static featureSettings: UIFontDescriptor.AttributeName;
            /**
             * The glyph advancement attribute.
             */
            static fixedAdvance: UIFontDescriptor.AttributeName;
            /**
             * The font’s transformation matrix attribute.
             */
            static matrix: UIFontDescriptor.AttributeName;
            /**
             * The font name attribute.
             */
            static name: UIFontDescriptor.AttributeName;
            /**
             * The font size attribute.
             */
            static size: UIFontDescriptor.AttributeName;
            /**
             * The text style attribute.
             */
            static textStyle: UIFontDescriptor.AttributeName;
            /**
             * The font traits dictionary attribute.
             */
            static traits: UIFontDescriptor.AttributeName;
            /**
             * The font’s visible name attribute.
             */
            static visibleName: UIFontDescriptor.AttributeName;
            /**
             * Creates an attribute name with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export class FeatureKey {
            /**
             * A key for identifying a font feature type such as ligature or character shape.
             */
            static featureIdentifier: UIFontDescriptor.FeatureKey;
            /**
             * A key for identifying the font feature selector. 
             */
            static typeIdentifier: UIFontDescriptor.FeatureKey;
            static selector: UIFontDescriptor.FeatureKey;
            static type: UIFontDescriptor.FeatureKey;
            constructor (rawValue: string);
            constructor (rawValue: string);
        }
        export class TraitKey {
            /**
             * The relative slant angle of the font.
             */
            static slant: UIFontDescriptor.TraitKey;
            /**
             * The symbolic font traits.
             */
            static symbolic: UIFontDescriptor.TraitKey;
            /**
             * The numerical value that corresponds to a font face.
             */
            static weight: UIFontDescriptor.TraitKey;
            /**
             * The inter-glyph spacing of the font.
             */
            static width: UIFontDescriptor.TraitKey;
            constructor (rawValue: string);
        }
    }
    export class UIFontMetrics extends NSObject {
        /**
         * The default font metrics object for content. 
         */
        static default: UIFontMetrics;
        /**
         * Creates a font metrics object for the specified text style.
         */
        constructor (textStyle: UIFont.TextStyle);
        /**
         * Returns a version of the specified font that adopts the current font metrics. 
         */
        scaledFont(font: UIFont):UIFont;
        /**
         * Scales an arbitrary layout value based on the current Dynamic Type settings.
         */
        scaledValue(value: CGFloat):CGFloat;
    }
    export class UIFontPickerViewController extends UIViewController {
        /**
         * Settings for fonts the font picker should offer to the user and how to display those fonts.
         */
        configuration: UIFontPickerViewController.Configuration;
        /**
         * The object that handles messages about the user’s interaction with a font picker.
         */
        delegate: UIFontPickerViewControllerDelegate | null;
        /**
         * Information about the font family or face selected by the user in the font picker.
         */
        selectedFontDescriptor: UIFontDescriptor | null;
        /**
         * Creates a controller for a font picker view.
         */
        constructor (configuration: UIFontPickerViewController.Configuration);
    }
    /**
     * the same name namespace of class UIFontPickerViewController
     */
    export namespace UIFontPickerViewController {
        export class Configuration extends NSObject {
            /**
             * A Boolean value that determines whether to use the system font for all font names in the font picker.
             */
            displayUsingSystemFont: boolean;
            /**
             * A Boolean value that determines whether the font picker should allow the user to select from font faces, or just font families.
             */
            includeFaces: boolean;
            /**
             * A predicate to filter fonts based on their traits, like bold, italic, or monospace.
             */
            filteredTraits: UIFontDescriptor.SymbolicTraits;
            /**
             * A predicate to filter fonts based on the languages they support.
             */
            filteredLanguagesPredicate: NSPredicate | null;
            /**
             * Creates a font picker filter based on language support.
             */
            static filterPredicate(filteredLanguages: string[]):NSPredicate | null;
        }
    }
    export interface UIFontPickerViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user dismissed the font picker without selecting a font.
         */
        fontPickerViewControllerDidCancel(viewController: UIFontPickerViewController):void;
        /**
         * Tells the delegate that the user has selected a font.
         */
        fontPickerViewControllerDidPickFont(viewController: UIFontPickerViewController):void;
    }
    export class UITextChecker extends NSObject {
        /**
         * Returns the languages that the text checker’s class can perform spell-checking for.
         */
        static availableLanguages: string[];
        /**
         * Returns the words that the text checker ignores when spell-checking.
         */
        ignoredWords: string[] | null;
        /**
         * Tells the text checker to learn the specified word so that it doesn’t evaluate it as misspelled.
         */
        static learnWord(word: string):void;
        /**
         * Tells the text checker to unlearn the specified word. 
         */
        static unlearnWord(word: string):void;
        /**
         * Returns whether the text checker has learned the specified word.
         */
        static hasLearnedWord(word: string):boolean;
        /**
         * Initiates a search of a range of a string for a misspelled word.
         */
        rangeOfMisspelledWord(stringToCheck: string, range: NSRange, startingOffset: number, wrapFlag: boolean, language: string):NSRange;
        /**
         * Returns a list of words that are possible valid replacements for a misspelled word.
         */
        guesses(range: NSRange, _string: string, language: string):string[] | null;
        /**
         * Returns an array of strings that are possible completions for a partially entered word.
         */
        completions(range: NSRange, _string: string, language: string):string[] | null;
        /**
         * Tells the text checker to ignore the specified word when spell-checking.
         */
        ignoreWord(wordToIgnore: string):void;
    }
    export class UITextPosition extends NSObject {}
    export class UITextRange extends NSObject {
        /**
         * The start of a range of text.
         */
        start: UITextPosition;
        /**
         * The end of the range of text.
         */
        end: UITextPosition;
        /**
         * A Boolean value that indicates whether the range of text represented by the receiver is zero-length.
         */
        isEmpty: boolean;
    }
    export class UITextSelectionRect extends NSObject {
        /**
         * The rectangle that encloses the text selection rectangle’s text range.
         */
        rect: CGRect;
        /**
         * The writing direction of text in the text selection rectangle’s text range.
         */
        writingDirection: NSWritingDirection;
        /**
         * A Boolean value that indicates whether the text is vertical.
         */
        isVertical: boolean;
        /**
         * A Boolean value that indicates whether the rectangle contains the start of the selection.
         */
        containsStart: boolean;
        /**
         * A Boolean value that indicates whether the rectangle contains the end of the selection.
         */
        containsEnd: boolean;
    }
    export enum NSTextScalingType {
        standard = 0,
        iOS = 1,
    }
    export class NSTextContentManager extends NSObject {
        /**
         * Determines whether to automatically synchronize with the backing store when an editing transaction finishes.
         */
        automaticallySynchronizesToBackingStore: boolean;
        /**
         * Indicates there’s an active editing transaction from the primary text layout manager.
         */
        hasEditingTransaction: boolean;
        /**
         * The primary text layout manager for this content.
         */
        primaryTextLayoutManager: NSTextLayoutManager | null;
        /**
         * The array of text layout managers associated with this text content manager.
         */
        textLayoutManagers: NSTextLayoutManager[];
        /**
         * Determines if the framework should automatically synchronize all text layout managers when exiting an editing transaction.
         */
        automaticallySynchronizesTextLayoutManagers: boolean;
        /**
         * The delegate for the content manager object.
         */
        delegate: NSTextContentManagerDelegate | null;
        /**
         * Creates a new content manager.
         */
        constructor ();
        /**
         * Creates a new content manager object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Performs an editing transaction and invokes a block upon completion.
         */
        performEditingTransaction(transaction: ()=>any):void;
        /**
         * Records information about an edit action to the transaction.
         */
        recordEditAction(originalTextRange: NSTextRange, newTextRange: NSTextRange):void;
        /**
         * Adds the layout manager you provide to the list of layout managers.
         */
        addTextLayoutManager(textLayoutManager: NSTextLayoutManager):void;
        /**
         * Removes the layout manager you specifiy from the list of layout managers.
         */
        removeTextLayoutManager(textLayoutManager: NSTextLayoutManager):void;
        /**
         * Synchronizes changes to all nonprimary text layout managers.
         */
        synchronizeTextLayoutManagers(completionHandler: ()=>any | null):void;
        /**
         * Returns an array of text elements that intersect with the range you specify.
         */
        textElements(range: NSTextRange):NSTextElement[];
    }
    /**
     * the same name namespace of class NSTextContentManager
     */
    export namespace NSTextContentManager {
        export class EnumerationOptions {
            /**
             * Returns whether enumerations start from the end of the text element.
             */
            static reverse: NSTextContentManager.EnumerationOptions;
            /**
             * Creates a new text element provider with the provided raw value.
             */
            constructor (rawValue: number);
        }
    }
    export interface NSTextContentManagerDelegate extends NSObjectProtocol {
        /**
         * The method the framework calls to return the text element at a specific location.
         */
        textContentManager(textContentManager: NSTextContentManager, location: NSTextLocation):NSTextElement | null;
    }
    export class NSTextContentStorage extends NSTextContentManager {
        /**
         * The contents of a document.
         */
        attributedString: NSAttributedString | null;
        /**
         * The delegate for the content storage object.
         */
        delegate: NSTextContentStorageDelegate | null;
        /**
         * Returns the text element corresponding to object’s attributed string.
         */
        textElement(attributedString: NSAttributedString):NSTextElement | null;
        /**
         * Returns the text range, if any, in the backing store that required manual adjustment after editing.
         */
        adjustedRange(textRange: NSTextRange, forEditingTextSelection: boolean):NSTextRange | null;
        /**
         * Returns a new text location from an existing location and offset you provide.
         */
        location(location: NSTextLocation, offset: number):NSTextLocation | null;
        /**
         * Returns the offset between the two specified locations.
         */
        offset(from: NSTextLocation, to: NSTextLocation):number;
    }
    export interface NSTextContentStorageDelegate extends NSTextContentManagerDelegate {
        /**
         * Returns a custom paragraph for a range that you provide from the object’s attributed string.
         */
        textContentStorage(textContentStorage: NSTextContentStorage, range: NSRange):NSTextParagraph | null;
    }
    export interface NSTextStorageDelegate extends NSObjectProtocol {
        /**
         * The method the framework calls when a text storage object is about to process edits.
         */
        textStorage(textStorage: NSTextStorage, editedMask: NSTextStorage.EditActions, editedRange: NSRange, delta: number):void;
    }
    export interface NSTextStorageObserving extends NSObjectProtocol {
        textStorage: NSTextStorage | null;
        performEditingTransaction(textStorage: NSTextStorage, transaction: ()=>any):void;
        processEditing(textStorage: NSTextStorage, editMask: NSTextStorage.EditActions, newCharRange: NSRange, delta: number, invalidatedCharRange: NSRange):void;
    }
    export class NSTextLayoutManager extends NSObject {
        /**
         * Returns the default set of attributes for rendering a link.
         */
        static linkRenderingAttributes: Record<NSAttributedString.Key, any>;
        /**
         * The queue that the framework dispatches layout operations on.
         */
        layoutQueue: OperationQueue | null;
        /**
         * A callback block that the framework invokes whenever the text layout manager needs to validate the rendering attributes for the range.
         */
        renderingAttributesValidator: ()=>any | null;
        /**
         * A Boolean value that controls whether the framework uses the leading information specified by the font when laying out text.
         */
        usesFontLeading: boolean;
        /**
         * A Boolean values that controls whether the text layout manager attempts to hyphenate when wrapping lines.
         */
        usesHyphenation: boolean;
        /**
         * A Boolean value that controls internal security analysis for malicious inputs and activates defensive behaviors.
         */
        limitsLayoutForSuspiciousContents: boolean;
        /**
         * The delegate for the text layout manager object.
         */
        delegate: NSTextLayoutManagerDelegate | null;
        /**
         * Returns the text content manager associated with this text layout manager.
         */
        textContentManager: NSTextContentManager | null;
        /**
         * The text container object that provides geometric information for the layout destination.
         */
        textContainer: NSTextContainer | null;
        /**
         * Returns a text selection manager configured to have the text layout manager as its data source.
         */
        textSelectionNavigation: NSTextSelectionNavigation;
        /**
         * An array of text selections associated by the text layout manager.
         */
        textSelections: NSTextSelection[];
        /**
         * Returns the usage bounds for the text container.
         */
        usageBoundsForTextContainer: CGRect;
        /**
         * Returns text viewport layout controller associated with the layout manager’s text container.
         */
        textViewportLayoutController: NSTextViewportLayoutController;
        /**
         * Creates a new text layout manager.
         */
        constructor ();
        /**
         * Creates a new text layout manager with the coder you provide.
         */
        constructor (coder: NSCoder);
        /**
         * Enumerates text segments of a specific type and in the text range you provide.
         */
        enumerateTextSegments(textRange: NSTextRange, type: NSTextLayoutManager.SegmentType, options: NSTextLayoutManager.SegmentOptions, block: ()=>any):void;
        /**
         * Replaces the current text content manager with a new one you provide.
         */
        replace(textContentManager: NSTextContentManager):void;
        /**
         * Replaces content at the location you specify with an attributed string you provide.
         */
        replaceContents(range: NSTextRange, attributedString: NSAttributedString):void;
        /**
         * Sets the rendering attribute for the value and range you specify.
         */
        addRenderingAttribute(renderingAttribute: NSAttributedString.Key, value: any, textRange: NSTextRange):void;
        /**
         * Enumerates the rendering attributes from a location you specify.
         */
        enumerateRenderingAttributes(location: NSTextLocation, reverse: boolean, block: ()=>any):void;
        /**
         * Returns a dictionary of rendering attributes for rendering a link.
         */
        renderingAttributes(link: any, location: NSTextLocation):Record<NSAttributedString.Key, any>;
        /**
         * Invalidates the rendering attributes of the specified text range.
         */
        invalidateRenderingAttributes(textRange: NSTextRange):void;
        /**
         * Removes the rendering attribute from the specified text range.
         */
        removeRenderingAttribute(renderingAttribute: NSAttributedString.Key, textRange: NSTextRange):void;
        /**
         * Sets the rendering attributes for the range you specify.
         */
        setRenderingAttributes(renderingAttributes: Record<NSAttributedString.Key, any>, textRange: NSTextRange):void;
        /**
         * Invalidates the layout information for specified text range.
         */
        invalidateLayout(range: NSTextRange):void;
        /**
         * Returns the text layout fragment from the document at the specified location.
         */
        textLayoutFragment(location: NSTextLocation):NSTextLayoutFragment | null;
        /**
         * Performs the layout for filling the bounds you specify inside the last text container.
         */
        ensureLayout(bounds: CGRect):void;
        /**
         * Enumerates the text layout fragments starting at the specified location.
         */
        enumerateTextLayoutFragments(location: NSTextLocation | null, options: NSTextLayoutFragment.EnumerationOptions, block: ()=>any):NSTextLocation | null;
    }
    /**
     * the same name namespace of class NSTextLayoutManager
     */
    export namespace NSTextLayoutManager {
        export enum SegmentType {
            highlight = 2,
            selection = 1,
            standard = 0,
        }
        export class SegmentOptions {
            /**
             * Returns the value that causes the framework to extend the segment to the tail edge.
             */
            static headSegmentExtended: NSTextLayoutManager.SegmentOptions;
            /**
             * Returns the value that causes the framework to enumerate segments in only the first and last line fragments.
             */
            static middleFragmentsExcluded: NSTextLayoutManager.SegmentOptions;
            /**
             * Returns the value that causes the framework enumerate text segment rectangles, but avoids preparing a range object.
             */
            static rangeNotRequired: NSTextLayoutManager.SegmentOptions;
            /**
             * Returns the value that causes the framework to extend the segment to the tail edge.
             */
            static tailSegmentExtended: NSTextLayoutManager.SegmentOptions;
            /**
             * Returns the value that causes the framework to the place the segment based on the upstream affinity for an empty range.
             */
            static upstreamAffinity: NSTextLayoutManager.SegmentOptions;
            /**
             * Cceates a new segment option using the value you provide.
             */
            constructor (rawValue: number);
        }
    }
    export interface NSTextLayoutManagerDelegate extends NSObjectProtocol {
        /**
         * The method the framework calls to return a dictionary of attributes for rendering a link attribute name.
         */
        textLayoutManager(textLayoutManager: NSTextLayoutManager, link: any, location: NSTextLocation, renderingAttributes: Record<NSAttributedString.Key, any>):Record<NSAttributedString.Key, any> | null;
    }
    export class NSTextLayoutFragment extends NSObject {
        /**
         * Returns the amount of space reserved during paragraph layout between the bottom of the last line in the paragraph and the bottom of the text layout fragment.
         */
        bottomMargin: CGFloat;
        /**
         * Returns the amount of margin space reserved during paragraph layout between the leading edge of the text layout fragment and the start of the lines in the paragraph.
         */
        leadingPadding: CGFloat;
        /**
         * Returns the amount of space reserved during paragraph layout between the top of the text layout fragment and the top of the first line in the paragraph.
         */
        topMargin: CGFloat;
        /**
         * Returns the amount of margin space reserved during paragraph layout between the end of the lines in the paragraph and the trailing edge of the text layout fragment.
         */
        trailingPadding: CGFloat;
        /**
         * Returns the layout manager for this text layout fragment.
         */
        textLayoutManager: NSTextLayoutManager | null;
        /**
         * The queue on which the framework dispatches layout operations.
         */
        layoutQueue: OperationQueue | null;
        /**
         * Returns the rectangle the framework uses for tiling the layout fragment inside the target layout coordinate system.
         */
        layoutFragmentFrame: CGRect;
        /**
         * Returns the bounds defining the area required for rendering the contents.
         */
        renderingSurfaceBounds: CGRect;
        /**
         * Returns the attachment view provider associated with the text layout fragment.
         */
        textAttachmentViewProviders: NSTextAttachmentViewProvider[];
        /**
         * The layout information state.
         */
        state: NSTextLayoutFragment.State;
        /**
         * Returns the range inside the text element relative to the document origin.
         */
        rangeInElement: NSTextRange;
        /**
         * Returns the parent text element.
         */
        textElement: NSTextElement | null;
        /**
         * Returns an array of text line fragments.
         */
        textLineFragments: NSTextLineFragment[];
        /**
         * Creates a new layout fragment with the coder you provide.
         */
        constructor (coder: NSCoder);
        /**
         * Create a new layout fragment using the provided text element and range.
         */
        constructor (textElement: NSTextElement, rangeInElement: NSTextRange | null);
        /**
         * Renders the visual representation of this element in the specified graphics context.
         */
        draw(point: CGPoint, context: CGContext):void;
        /**
         * Invalidates any layout information associated with the text layout fragment.
         */
        invalidateLayout():void;
        /**
         * Returns the frame in the text layout fragment coordinate system for the attachment at the location you specify.
         */
        frameForTextAttachment(location: NSTextLocation):CGRect;
    }
    /**
     * the same name namespace of class NSTextLayoutFragment
     */
    export namespace NSTextLayoutFragment {
        export enum State {
            calculatedUsageBounds = 2,
            estimatedUsageBounds = 1,
            layoutAvailable = 3,
            none = 0,
        }
        export class EnumerationOptions {
            /**
             * Synthesize the extra line fragment when necessary.
             */
            static ensuresExtraLineFragment: NSTextLayoutFragment.EnumerationOptions;
            /**
             * When enumerating, tell the layout fragments to layout their contents.
             */
            static ensuresLayout: NSTextLayoutFragment.EnumerationOptions;
            /**
             * When enumerating, tell the layout fragments to estimate their size.
             */
            static estimatesSize: NSTextLayoutFragment.EnumerationOptions;
            /**
             * Causes the enumeration to start from the last element.
             */
            static reverse: NSTextLayoutFragment.EnumerationOptions;
            /**
             * Creates an instance of the enumeration with the provided unsigned integer value.
             */
            constructor (rawValue: number);
        }
    }
    export class NSTextViewportLayoutController extends NSObject {
        /**
         * Returns the text layout manager for this viewport layout controller.
         */
        textLayoutManager: NSTextLayoutManager | null;
        /**
         * The delegate for the text layout manager object.
         */
        delegate: NSTextViewportLayoutControllerDelegate | null;
        /**
         * Returns the visible bounds of the view, plus the overdraw area.
         */
        viewportBounds: CGRect;
        /**
         * Returns the text range of the current viewport layout.
         */
        viewportRange: NSTextRange | null;
        /**
         * Creates a new instance with the text layout manager you provide.
         */
        constructor (textLayoutManager: NSTextLayoutManager);
        /**
         * Adjusts the viewport rect by the specified offset if needed.
         */
        adjustViewport(verticalOffset: CGFloat):void;
        /**
         * Performs layout in the viewport.
         */
        layoutViewport():void;
        /**
         * Relocates the viewport to the location you specify.
         */
        relocateViewport(textLocation: NSTextLocation):CGFloat;
    }
    export interface NSTextViewportLayoutControllerDelegate extends NSObjectProtocol {
        /**
         * The method the framework calls when the layout controller lays out a text layout fragment in the UI.
         */
        textViewportLayoutController(textViewportLayoutController: NSTextViewportLayoutController, textLayoutFragment: NSTextLayoutFragment):void;
        /**
         * The method the framework calls when the text viewport layout controller finishes its layout process.
         */
        textViewportLayoutControllerDidLayout(textViewportLayoutController: NSTextViewportLayoutController):void;
        /**
         * The method the framework calls before the text viewport layout controller starts its layout process.
         */
        textViewportLayoutControllerWillLayout(textViewportLayoutController: NSTextViewportLayoutController):void;
        /**
         * Returns the current viewport, which is the view visible bounds plus the overdraw area.
         */
        viewportBounds(textViewportLayoutController: NSTextViewportLayoutController):CGRect;
    }
    export class NSTextContainer extends NSObject {
        /**
         * The text container’s layout manager.
         */
        layoutManager: NSLayoutManager | null;
        textLayoutManager: NSTextLayoutManager | null;
        /**
         * The size of the text container’s bounding rectangle.
         */
        size: CGSize;
        /**
         * An array of path objects that represents the regions where text doesn’t display in the text container.
         */
        exclusionPaths: UIBezierPath[];
        /**
         * The behavior of the last line inside the text container.
         */
        lineBreakMode: NSLineBreakMode;
        /**
         * A Boolean that controls whether the text container adjusts the width of its bounding rectangle when its text view resizes.
         */
        widthTracksTextView: boolean;
        /**
         * A Boolean that controls whether the text container adjusts the height of its bounding rectangle when its text view resizes.
         */
        heightTracksTextView: boolean;
        /**
         * The maximum number of lines that the text container can store.
         */
        maximumNumberOfLines: number;
        /**
         * The value for the text inset within line fragment rectangles.
         */
        lineFragmentPadding: CGFloat;
        /**
         * A Boolean that indicates whether the text container’s region is a rectangle with no holes or gaps, and whose edges are parallel to the text view's coordinate system axes.
         */
        isSimpleRectangularTextContainer: boolean;
        /**
         * Initializes a text container with a specified bounding rectangle.
         */
        constructor (size: CGSize);
        /**
         * Creates a text container from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Replaces the layout manager for the group of text system objects that contains the text container.
         */
        replaceLayoutManager(newLayoutManager: NSLayoutManager):void;
        /**
         * Returns the bounds of a line fragment rectangle inside the text container for the proposed rectangle.
         */
        lineFragmentRect(proposedRect: CGRect, characterIndex: number, baseWritingDirection: NSWritingDirection, remainingRect: UnsafeMutablePointer<CGRect> | null):CGRect;
    }
    export class NSLayoutManager extends NSObject {
        /**
         * The layout manager’s delegate.
         */
        delegate: NSLayoutManagerDelegate | null;
        /**
         * The text storage object that contains the content to lay out.
         */
        textStorage: NSTextStorage | null;
        /**
         * A Boolean value that indicates whether the layout manager allows noncontiguous layout.
         */
        allowsNonContiguousLayout: boolean;
        /**
         * A Boolean value that indicates whether the layout manager currently has any areas of noncontiguous layout.
         */
        hasNonContiguousLayout: boolean;
        /**
         * A Boolean value that indicates whether to substitute visible glyphs for whitespace and other typically invisible characters.
         */
        showsInvisibleCharacters: boolean;
        /**
         * A Boolean value that indicates whether the layout manager substitutes visible glyphs for control characters in the layout.
         */
        showsControlCharacters: boolean;
        /**
         * A Boolean value that indicates whether the layout manager uses the leading of the font.
         */
        usesFontLeading: boolean;
        /**
         * A Boolean value that indicates whether the layout manager avoids laying out unusually long or suspicious input.
         */
        limitsLayoutForSuspiciousContents: boolean;
        /**
         * A Boolean value that indicates whether the layout manager uses the default hyphenation rules to wrap lines.
         */
        usesDefaultHyphenation: boolean;
        /**
         * The current text containers of the layout manager.
         */
        textContainers: NSTextContainer[];
        /**
         * The number of glyphs in the layout manager.
         */
        numberOfGlyphs: number;
        /**
         * The rectangle for the extra line fragment at the end of a document. 
         */
        extraLineFragmentRect: CGRect;
        /**
         * The text container for the extra line fragment rectangle.
         */
        extraLineFragmentTextContainer: NSTextContainer | null;
        /**
         * The rectangle that encloses the insertion point in the extra line fragment rectangle.
         */
        extraLineFragmentUsedRect: CGRect;
        /**
         * The threshold controlling when hyphenation is done.
         */
        hyphenationFactor: CGFloat;
        /**
         * Initializes a newly created layout manager object.
         */
        constructor ();
        /**
         * Creates a layout manager from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Appends the specified text container to the series of text containers where the layout manager arranges text.
         */
        addTextContainer(container: NSTextContainer):void;
        /**
         * Inserts a text container at the specified index in the list of text containers.
         */
        insertTextContainer(container: NSTextContainer, index: number):void;
        /**
         * Removes the text container at the specified index and invalidates the layout as necessary.
         */
        removeTextContainer(index: number):void;
        /**
         * Associates a text container with the specified range of glyphs.
         */
        setTextContainer(container: NSTextContainer, glyphRange: NSRange):void;
        /**
         * Invalidates the layout information, and possibly glyphs, for the specified text container and all subsequent text container objects.
         */
        textContainerChangedGeometry(container: NSTextContainer):void;
        /**
         * Returns the text container that manages the layout for the specified glyph, causing layout to happen as necessary.
         */
        textContainer(glyphIndex: number, effectiveGlyphRange: NSRangePointer | null):NSTextContainer | null;
        /**
         * Returns the bounding rectangle for the glyphs in the specified text container.
         */
        usedRect(container: NSTextContainer):CGRect;
        /**
         * Invalidates display for the specified character range.
         */
        invalidateDisplay(charRange: NSRange):void;
        /**
         * Invalidates and adjusts the glyphs in the specified character range. 
         */
        invalidateGlyphs(charRange: NSRange, delta: number, actualCharRange: NSRangePointer | null):void;
        /**
         * Invalidates the layout information for the glyphs that map to the specified character range.
         */
        invalidateLayout(charRange: NSRange, actualCharRange: NSRangePointer | null):void;
        /**
         * Notifies the layout manager when an edit action changes the contents of its text storage object.
         */
        processEditing(textStorage: NSTextStorage, editMask: NSTextStorage.EditActions, newCharRange: NSRange, delta: number, invalidatedCharRange: NSRange):void;
        /**
         * Forces the layout manager to generate glyphs for the specified character range if it hasn’t already.
         */
        ensureGlyphs(charRange: NSRange):void;
        /**
         * Forces the layout manager to perform layout for the specified area in the specified text container if it hasn’t already. 
         */
        ensureLayout(bounds: CGRect, container: NSTextContainer):void;
        /**
         * Fills a passed-in buffer with a sequence of glyphs.
         */
        getGlyphs(glyphRange: NSRange, glyphBuffer: UnsafeMutablePointer<CGGlyph> | null, props: UnsafeMutablePointer<NSLayoutManager.GlyphProperty> | null, charIndexBuffer: UnsafeMutablePointer<Int> | null, bidiLevelBuffer: UnsafeMutablePointer<UInt8> | null):number;
        /**
         * Returns the glyph at the specified index. 
         */
        cgGlyph(glyphIndex: number):CGGlyph;
        /**
         * Stores the initial glyphs and glyph properties for a character range.
         */
        setGlyphs(glyphs: UnsafePointer<CGGlyph>, props: UnsafePointer<NSLayoutManager.GlyphProperty>, charIndexes: UnsafePointer<Int>, aFont: UIFont, glyphRange: NSRange):void;
        /**
         * Returns the index in the text storage for the first character of the specified glyph.
         */
        characterIndexForGlyph(glyphIndex: number):number;
        /**
         * Returns the index of the first glyph of the character at the specified index.
         */
        glyphIndexForCharacter(charIndex: number):number;
        /**
         * Indicates whether the specified index refers to a valid glyph.
         */
        isValidGlyphIndex(glyphIndex: number):boolean;
        /**
         * Returns the glyph property of the glyph at the specified index.
         */
        propertyForGlyph(glyphIndex: number):NSLayoutManager.GlyphProperty;
        /**
         * Sets the size to use when drawing a glyph that represents an attachment. 
         */
        setAttachmentSize(attachmentSize: CGSize, glyphRange: NSRange):void;
        /**
         * Indicates whether the specified glyph exceeds the bounds of the line fragment for its layout.
         */
        setDrawsOutsideLineFragment(flag: boolean, glyphIndex: number):void;
        /**
         * Sets the bounds and container for the extra line fragment.
         */
        setExtraLineFragmentRect(fragmentRect: CGRect, usedRect: CGRect, container: NSTextContainer):void;
        /**
         * Associates the line fragment bounds for the specified range of glyphs.
         */
        setLineFragmentRect(fragmentRect: CGRect, glyphRange: NSRange, usedRect: CGRect):void;
        /**
         * Sets the location for the first glyph in the specified range.
         */
        setLocation(location: CGPoint, glyphRange: NSRange):void;
        /**
         * Sets the visibility of the glyph at the specified index.
         */
        setNotShownAttribute(flag: boolean, glyphIndex: number):void;
        /**
         * Returns the size of the attachment glyph at the specified index. 
         */
        attachmentSize(glyphIndex: number):CGSize;
        /**
         * Indicates whether the glyph draws outside its line fragment rectangle.
         */
        drawsOutsideLineFragment(glyphIndex: number):boolean;
        /**
         * Returns the index for the first character in the layout manager that isn’t in the layout.
         */
        firstUnlaidCharacterIndex():number;
        /**
         * Returns the index for the first glyph in the layout manager that isn’t in the layout. 
         */
        firstUnlaidGlyphIndex():number;
        /**
         * Returns the indexes for the first character and glyph that have invalid layout information.
         */
        getFirstUnlaidCharacterIndex(charIndex: UnsafeMutablePointer<Int> | null, glyphIndex: UnsafeMutablePointer<Int> | null):void;
        /**
         * Returns the rectangle for the line fragment where the glyph lies and (optionally), by reference, the entire range of glyphs in that fragment.
         */
        lineFragmentRect(glyphIndex: number, effectiveGlyphRange: NSRangePointer | null):CGRect;
        /**
         * Returns the usage rectangle for the line fragment and (optionally) returns the entire range of glyphs in that fragment.
         */
        lineFragmentUsedRect(glyphIndex: number, effectiveGlyphRange: NSRangePointer | null):CGRect;
        /**
         * Returns the location for the specified glyph within its line fragment.
         */
        location(glyphIndex: number):CGPoint;
        /**
         * Indicates whether the glyph at the specified index has a visible representation.
         */
        notShownAttribute(glyphIndex: number):boolean;
        /**
         * Returns the range of truncated glyphs for a line fragment that contains the specified index.
         */
        truncatedGlyphRange(glyphIndex: number):NSRange;
        /**
         * Returns the bounding rectangle for the specified glyphs in a container. 
         */
        boundingRect(glyphRange: NSRange, container: NSTextContainer):CGRect;
        /**
         * Returns the index of the character that lies beneath the specified point using the specified container's coordinate system.
         */
        characterIndex(point: CGPoint, container: NSTextContainer, partialFraction: UnsafeMutablePointer<CGFloat> | null):number;
        /**
         * Returns the range of characters that correspond to the glyphs in the specified glyph range.
         */
        characterRange(glyphRange: NSRange, actualGlyphRange: NSRangePointer | null):NSRange;
        /**
         * Enumerates enclosing rectangles for the specified glyph range in a text container.
         */
        enumerateEnclosingRects(glyphRange: NSRange, selectedRange: NSRange, textContainer: NSTextContainer, block: ()=>any):void;
        /**
         * Enumerates line fragments intersecting with the specified glyph range.
         */
        enumerateLineFragments(glyphRange: NSRange, block: ()=>any):void;
        /**
         * Returns the fraction of the distance between the glyph at the specified point and the next glyph.
         */
        fractionOfDistanceThroughGlyph(point: CGPoint, container: NSTextContainer):CGFloat;
        /**
         * Returns insertion points in bulk for a specified line fragment.
         */
        getLineFragmentInsertionPoints(charIndex: number, aFlag: boolean, dFlag: boolean, positions: UnsafeMutablePointer<CGFloat> | null, charIndexes: UnsafeMutablePointer<Int> | null):number;
        /**
         * Returns the index of the glyph at the specified location in a text container.
         */
        glyphIndex(point: CGPoint, container: NSTextContainer):number;
        /**
         * Returns the smallest contiguous range for glyphs lying wholly or partially within the specified rectangle of the text container.
         */
        glyphRange(bounds: CGRect, container: NSTextContainer):NSRange;
        /**
         * Returns the range of displayable glyphs that surround the glyph at the specified index. 
         */
        range(glyphIndex: number):NSRange;
        /**
         * Draws background marks for the specified glyphs, which must lie completely within a single text container.
         */
        drawBackground(glyphsToShow: NSRange, origin: CGPoint):void;
        /**
         * Draws the specified glyphs, which must lie completely within a single text container.
         */
        drawGlyphs(glyphsToShow: NSRange, origin: CGPoint):void;
        /**
         * Draws a strikethrough for the specified glyphs.
         */
        drawStrikethrough(glyphRange: NSRange, strikethroughVal: NSUnderlineStyle, baselineOffset: CGFloat, lineRect: CGRect, lineGlyphRange: NSRange, containerOrigin: CGPoint):void;
        /**
         * Draws underlining for the glyphs in a specified range.
         */
        drawUnderline(glyphRange: NSRange, underlineVal: NSUnderlineStyle, baselineOffset: CGFloat, lineRect: CGRect, lineGlyphRange: NSRange, containerOrigin: CGPoint):void;
        /**
         * Fills background rectangles with a color.
         */
        fillBackgroundRectArray(rectArray: UnsafePointer<CGRect>, rectCount: number, charRange: NSRange, color: UIColor):void;
        /**
         * Renders the glyphs at the specified positions, using the specified attributes. 
         */
        showCGGlyphs(glyphs: UnsafePointer<CGGlyph>, positions: UnsafePointer<CGPoint>, glyphCount: number, font: UIFont, textMatrix: CGAffineTransform, attributes: Record<NSAttributedString.Key, any>, CGContext: CGContext):void;
        /**
         * Calculates and draws strikethrough for the specified glyphs. 
         */
        strikethroughGlyphRange(glyphRange: NSRange, strikethroughVal: NSUnderlineStyle, lineRect: CGRect, lineGlyphRange: NSRange, containerOrigin: CGPoint):void;
        /**
         * Calculates subranges to underline for the specified glyphs and draws the underlining as appropriate.
         */
        underlineGlyphRange(glyphRange: NSRange, underlineVal: NSUnderlineStyle, lineRect: CGRect, lineGlyphRange: NSRange, containerOrigin: CGPoint):void;
        /**
         * Returns the glyph at the specified index.
         */
        glyph(glyphIndex: number):CGGlyph;
    }
    /**
     * the same name namespace of class NSLayoutManager
     */
    export namespace NSLayoutManager {
        export class ControlCharacterAction {
            /**
             * An action that triggers a break in layout for the current container.
             */
            static containerBreak: NSLayoutManager.ControlCharacterAction;
            /**
             * An action that inserts a horizontal tab.
             */
            static horizontalTab: NSLayoutManager.ControlCharacterAction;
            /**
             * An action that causes a line break. 
             */
            static lineBreak: NSLayoutManager.ControlCharacterAction;
            /**
             * An action that causes a paragraph break.
             */
            static paragraphBreak: NSLayoutManager.ControlCharacterAction;
            /**
             * An action that adds whitespace. 
             */
            static whitespace: NSLayoutManager.ControlCharacterAction;
            /**
             * An action that removes the glyph from layout.
             */
            static zeroAdvancement: NSLayoutManager.ControlCharacterAction;
            /**
             * Creates a new control character action with the specified raw value.
             */
            constructor (rawValue: number);
        }
        export class GlyphProperty {
            /**
             * The null glyph, which the layout manager ignores.
             */
            static null: NSLayoutManager.GlyphProperty;
            /**
             * A glyph representing a control character.
             */
            static controlCharacter: NSLayoutManager.GlyphProperty;
            /**
             * A glyph with a changeable width, such as a white space character.
             */
            static elastic: NSLayoutManager.GlyphProperty;
            /**
             * A glyph that combines several properties. 
             */
            static nonBaseCharacter: NSLayoutManager.GlyphProperty;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: number);
        }
        export enum TextLayoutOrientation {
            horizontal = 0,
            vertical = 1,
        }
    }
    export interface NSLayoutManagerDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate when the specified layout manager invalidates layout information (not glyph information).
         */
        layoutManagerDidInvalidateLayout(sender: NSLayoutManager):void;
        /**
         * Enables customization of the initial glyph generation process.
         */
        layoutManager(layoutManager: NSLayoutManager, glyphs: UnsafePointer<CGGlyph>, props: UnsafePointer<NSLayoutManager.GlyphProperty>, charIndexes: UnsafePointer<Int>, aFont: UIFont, glyphRange: NSRange):number;
    }
    export class UIWindowSceneDestructionRequestOptions extends UISceneDestructionRequestOptions {
        /**
         * The animations to use when dismissing the scene's windows.
         */
        windowDismissalAnimation: UIWindowScene.DismissalAnimation;
    }
    export class UIOpenURLContext extends NSObject {
        /**
         * The URL to open.
         */
        url: URL;
        /**
         * Additional information for determining how to open the URL.
         */
        options: UIScene.OpenURLOptions;
    }
    export interface NSTextLayoutOrientationProvider {
        /**
         * The default layout orientation.
         */
        layoutOrientation: NSLayoutManager.TextLayoutOrientation;
    }
    export class NSTextElement extends NSObject {
        /**
         * The value that represents the current content manager.
         */
        textContentManager: NSTextContentManager | null;
        /**
         * A range value that represents the range of the element inside the document.
         */
        elementRange: NSTextRange | null;
        /**
         * A Boolean value that indicates whether this element is in the text layout.
         */
        isRepresentedElement: boolean;
        /**
         * A value that represents the parent element if this text element is a child of an enclosing element.
         */
        parent: NSTextElement | null;
        /**
         * An array of zero or more child text elements.
         */
        childElements: NSTextElement[];
        /**
         * Creates a new text element with the content manager you provide.
         */
        constructor (textContentManager: NSTextContentManager | null);
    }
    export interface NSTextElementProvider extends NSObjectProtocol {
        /**
         * Describes the starting and ending locations for the document.
         */
        documentRange: NSTextRange;
        /**
         * Enumerates text elements starting at the text location you provide.
         */
        enumerateTextElements(textLocation: NSTextLocation | null, options: NSTextContentManager.EnumerationOptions, block: ()=>any):NSTextLocation | null;
        /**
         * Returns a new location from location with offset you provide.
         */
        location(location: NSTextLocation, offset: number):NSTextLocation | null;
        /**
         * Replaces the characters specified by range with the text elements you provide.
         */
        replaceContents(range: NSTextRange, textElements: NSTextElement[] | null):void;
        /**
         * A method you implement if the location backing store requires manual adjustment after editing.
         */
        adjustedRange(textRange: NSTextRange, forEditingTextSelection: boolean):NSTextRange | null;
        /**
         * Returns the offset between the two specified locations.
         */
        offset(from: NSTextLocation, to: NSTextLocation):number;
        /**
         * Synchronizes changes to the backing store.
         */
        synchronizeToBackingStore(completionHandler: ()=>any | null):void;
    }
    export class NSTextLineFragment extends NSObject {
        /**
         * The source attributed string.
         */
        attributedString: NSAttributedString;
        /**
         * The string range for the source attributed string that corresponds to this line fragment.
         */
        characterRange: NSRange;
        /**
         * Rendering origin for the left-most glyph in the line fragment coordinate system.
         */
        glyphOrigin: CGPoint;
        /**
         * The typographic bounds that specifies the dimensions of the line fragment for laying out line fragments to each other.
         */
        typographicBounds: CGRect;
        /**
         * Creates a new line fragment from the attributed string for the range of characters you specify.
         */
        constructor (attributedString: NSAttributedString, range: NSRange);
        /**
         * Creates a new line fragment with from data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Creates a new line fragment using the string, attributes, and range you provide.
         */
        constructor (_string: string, attributes: Record<NSAttributedString.Key, any>, range: NSRange);
        /**
         * Returns character index for a point inside the line fragment coordinate system.
         */
        characterIndex(point: CGPoint):number;
        /**
         * Returns character index for a point inside the line fragment coordinate system.
         */
        fractionOfDistanceThroughGlyph(point: CGPoint):CGFloat;
        /**
         * Returns the location of the character at the specified index.
         */
        locationForCharacter(index: number):CGPoint;
        /**
         * Renders the line fragment contents at the rendering origin.
         */
        draw(point: CGPoint, context: CGContext):void;
    }
    export class NSTextParagraph extends NSTextElement {
        /**
         * Returns the source attributed string.
         */
        attributedString: NSAttributedString;
        /**
         * Returns the range of the paragraph in the attributed string.
         */
        paragraphContentRange: NSTextRange | null;
        /**
         * Returns the range of the paragraph separator in the attributed string.
         */
        paragraphSeparatorRange: NSTextRange | null;
        /**
         * Creates a new paragraph with the attributed string you provide.
         */
        constructor (attributedString: NSAttributedString | null);
    }
    export class NSTextRange extends NSObject {
        /**
         * Returns the ending location of the text range.
         */
        endLocation: NSTextLocation;
        /**
         * Returns whether the text range is empty.
         */
        isEmpty: boolean;
        /**
         * Returns the starting location of the text range.
         */
        location: NSTextLocation;
        /**
         * Creates a new text range at the location you specify.
         */
        constructor (location: NSTextLocation);
        /**
         * Creates a new text range with the starting and ending locations you specify.
         */
        constructor (location: NSTextLocation, endLocation: NSTextLocation | null);
        /**
         * Returns the range, if any, where two text ranges intersect.
         */
        intersection(textRange: NSTextRange):Self | null;
        /**
         * Determines if two ranges intersect.
         */
        intersects(textRange: NSTextRange):boolean;
        /**
         * Compares two text ranges.
         */
        isEqual(textRange: NSTextRange):boolean;
        /**
         * Returns a new text range by forming the union with the text range you provide.
         */
        union(textRange: NSTextRange):Self;
        /**
         * Determines if the text location you specify is in the current text range.
         */
        contains(location: NSTextLocation):boolean;
    }
    export class NSTextSelection extends NSObject {
        /**
         * Returns the selection affinity of the text selection.
         */
        affinity: NSTextSelection.Affinity;
        /**
         * Represents the anchor position offset from the beginning of a line fragment in the visual order for the initial tap or click location.
         */
        anchorPositionOffset: CGFloat;
        /**
         * The granularity of the selection.
         */
        granularity: NSTextSelection.Granularity;
        /**
         * A Boolean value that indicates whether the framework interprets the selection as logical or visual.
         */
        isLogical: boolean;
        /**
         * A Boolean value that indicates transient text selection during drag handling.
         */
        isTransient: boolean;
        /**
         * Specifies the secondary character location when user taps or clicks at a directional boundary.
         */
        secondarySelectionLocation: NSTextLocation | null;
        /**
         * Represents an array of noncontiguous logical ranges in the selection.
         */
        textRanges: NSTextRange[];
        /**
         * The template attributes the framework uses for characters that replace the contents of this selection.
         */
        typingAttributes: Record<NSAttributedString.Key, any>;
        /**
         * Creates a new text selection with the location and selection affinity you provide.
         */
        constructor (location: NSTextLocation, affinity: NSTextSelection.Affinity);
        /**
         * Creates a new text selection with the range, selection affinity, and granularity you provide.
         */
        constructor (range: NSTextRange, affinity: NSTextSelection.Affinity, granularity: NSTextSelection.Granularity);
        /**
         * Creates a new text selection with the ranges, selection affinity, and granularity you provide.
         */
        constructor (textRanges: NSTextRange[], affinity: NSTextSelection.Affinity, granularity: NSTextSelection.Granularity);
        /**
         * Creates a test selection from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a subselection of the current text selection with the ranges you specify.
         */
        textSelection(textRanges: NSTextRange[]):NSTextSelection;
    }
    /**
     * the same name namespace of class NSTextSelection
     */
    export namespace NSTextSelection {
        export enum Affinity {
            downstream = 1,
            upstream = 0,
        }
        export enum Granularity {
            character = 0,
            word = 1,
            paragraph = 2,
            line = 3,
            sentence = 4,
        }
    }
    export interface NSTextLocation extends NSObjectProtocol {
        /**
         * Compares and returns the logical ordering to location.
         */
        compare(location: NSTextLocation):ComparisonResult;
    }
    export class NSTextSelectionNavigation extends NSObject {
        /**
         * Determines if the instance could produce selections with multiple noncontiguous selections.
         */
        allowsNonContiguousRanges: boolean;
        /**
         * Determines if the framework rotates the coordinate system to match the layout orientation.
         */
        rotatesCoordinateSystemForLayoutOrientation: boolean;
        /**
         * The data source associated with this selection navigation.
         */
        textSelectionDataSource: NSTextSelectionDataSource | null;
        /**
         * Creates a new object using the text selection data source you provide.
         */
        constructor (dataSource: NSTextSelectionDataSource);
        /**
         * Returns a text selection that expands to the nearest boundaries for selection granularity and an enclosing point you specify.
         */
        textSelection(selectionGranularity: NSTextSelection.Granularity, point: CGPoint, location: NSTextLocation):NSTextSelection | null;
        /**
         * Returns an array of text selections produced by a tap or click at the point you specify.
         */
        textSelections(point: CGPoint, containerLocation: NSTextLocation, anchors: NSTextSelection[], modifiers: NSTextSelectionNavigation.Modifier, selecting: boolean, bounds: CGRect):NSTextSelection[];
        /**
         * Returns a new selection that results from applying the navigation operations you specify to the text selection you provide.
         */
        destinationSelection(textSelection: NSTextSelection, direction: NSTextSelectionNavigation.Direction, destination: NSTextSelectionNavigation.Destination, extending: boolean, confined: boolean):NSTextSelection | null;
        /**
         * Flushes cached layout information.
         */
        flushLayoutCache():void;
        /**
         * Returns the location for inserting the next input depending on the state of the current and secondary selections.
         */
        resolvedInsertionLocation(textSelection: NSTextSelection, writingDirection: NSTextSelectionNavigation.WritingDirection):NSTextLocation | null;
        /**
         * Returns the ranges for deleting the text based on the current selection and movement arguments.
         */
        deletionRanges(textSelection: NSTextSelection, direction: NSTextSelectionNavigation.Direction, destination: NSTextSelectionNavigation.Destination, allowsDecomposition: boolean):NSTextRange[];
    }
    /**
     * the same name namespace of class NSTextSelectionNavigation
     */
    export namespace NSTextSelectionNavigation {
        export class Modifier {
            /**
             * The value that indicates the framework extends the selection by not moving the initial location while in a drag selection.
             */
            static extend: NSTextSelectionNavigation.Modifier;
            /**
             * The value that indicates the framework extends the selection visually inside the rectangular area defined by the anchor and dragged positions.
             */
            static multiple: NSTextSelectionNavigation.Modifier;
            /**
             * The value that indicates the framework extends the selection visually inside the rectangular area defined by the anchor and drag positions.
             */
            static visual: NSTextSelectionNavigation.Modifier;
            /**
             * Creates a new navigation modifier using a raw value.
             */
            constructor (rawValue: number);
        }
        export enum Destination {
            character = 0,
            word = 1,
            line = 2,
            sentence = 3,
            paragraph = 4,
            container = 5,
            document = 6,
        }
        export enum Direction {
            forward = 0,
            backward = 1,
            left = 3,
            right = 2,
            up = 4,
            down = 5,
        }
        export enum WritingDirection {
            leftToRight = 0,
            rightToLeft = 1,
        }
        export enum LayoutOrientation {
            horizontal = 0,
            vertical = 1,
        }
    }
    export class UISceneError {}
    /**
     * the same name namespace of class UISceneError
     */
    export namespace UISceneError {
        export enum Code {
            multipleScenesNotSupported = 0,
            requestDenied = 1,
            geometryRequestUnsupported = 100,
            geometryRequestDenied = 101,
        }
    }
    export interface NSTextSelectionDataSource extends NSObjectProtocol {
        /**
         * Returns the starting and ending locations for the document.
         */
        documentRange: NSTextRange;
        /**
         * Enumerates all the insertion point caret offsets from left to right in visual order.
         */
        enumerateCaretOffsetsInLineFragment(location: NSTextLocation, block: ()=>any):void;
        /**
         * Enumerates all the container boundaries starting from the location you specify.
         */
        enumerateContainerBoundaries(location: NSTextLocation, reverse: boolean, block: ()=>any):void;
        /**
         * Enumerates the textual segment boundaries starting at the location you specify.
         */
        enumerateSubstrings(location: NSTextLocation, options: NSString.EnumerationOptions, block: ()=>any):void;
        /**
         * Returns a new location using the location and offset you specify.
         */
        location(location: NSTextLocation, offset: number):NSTextLocation | null;
        /**
         * Returns the range of the line fragment that contains the point you specify.
         */
        lineFragmentRange(point: CGPoint, location: NSTextLocation):NSTextRange | null;
        /**
         * Returns the offset between the two locations you specify.
         */
        offset(from: NSTextLocation, to: NSTextLocation):number;
        /**
         * Returns a text range that corresponds to selection granularity of the enclosing location.
         */
        textRange(selectionGranularity: NSTextSelection.Granularity, location: NSTextLocation):NSTextRange | null;
        /**
         * Returns the base writing direction at the location you specify.
         */
        baseWritingDirection(location: NSTextLocation):NSTextSelectionNavigation.WritingDirection;
        /**
         * Returns the layout orientation at the location you specify.
         */
        textLayoutOrientation(location: NSTextLocation):NSTextSelectionNavigation.LayoutOrientation;
    }
    export class NSTextListElement extends NSTextParagraph {
        /**
         * The value that represents the text list.
         */
        textList: NSTextList;
        /**
         * A text list element that refers to the enclosing text list element.
         */
        parent: NSTextListElement | null;
        /**
         * An array that contains child text elements.
         */
        childElements: NSTextListElement[];
        /**
         * A dictionary of attributed string keys and IDs that represent the list’s marker attributes.
         */
        markerAttributes: Record<NSAttributedString.Key, any> | null;
        /**
         * An attributed string that represents the string the framework displays for this element taking into account markers and the indentation level of the list element.
         */
        attributedString: NSAttributedString;
        /**
         * The text list element contents without markers and formatting.
         */
        contents: NSAttributedString | null;
        /**
         * Creates a text list element with the list elements and nesting level you provide.
         */
        constructor (children: NSTextListElement[], textList: NSTextList, nestingLevel: number);
        /**
         * Creates a text list element with the list elements, nesting level, and marker attributes you provide.
         */
        constructor (contents: NSAttributedString, markerAttributes: Record<NSAttributedString.Key, any> | null, textList: NSTextList, children: NSTextListElement[] | null);
        /**
         * Creates a text list element with the parent, list elements, nesting level, and marker attributes you provide.
         */
        constructor (parent: NSTextListElement | null, textList: NSTextList, contents: NSAttributedString | null, markerAttributes: Record<NSAttributedString.Key, any> | null, children: NSTextListElement[] | null);
    }
    export class NSParagraphStyle extends NSObject {
        /**
         * The default paragraph style.
         */
        static default: NSParagraphStyle;
        /**
         * The text alignment of the paragraph.
         */
        alignment: NSTextAlignment;
        /**
         * The indentation of the first line of the paragraph.
         */
        firstLineHeadIndent: CGFloat;
        /**
         * The indentation of the paragraph’s lines other than the first.
         */
        headIndent: CGFloat;
        /**
         * The trailing indentation of the paragraph.
         */
        tailIndent: CGFloat;
        /**
         * The line height multiple.
         */
        lineHeightMultiple: CGFloat;
        /**
         * The paragraph’s maximum line height.
         */
        maximumLineHeight: CGFloat;
        /**
         * The paragraph’s minimum line height.
         */
        minimumLineHeight: CGFloat;
        /**
         * The distance in points between the bottom of one line fragment and the top of the next.
         */
        lineSpacing: CGFloat;
        /**
         * Distance between the bottom of this paragraph and top of next.
         */
        paragraphSpacing: CGFloat;
        /**
         * The distance between the paragraph’s top and the beginning of its text content.
         */
        paragraphSpacingBefore: CGFloat;
        /**
         * The text tab objects that represent the paragraph’s tab stops.
         */
        tabStops: NSTextTab[];
        /**
         * The documentwide default tab interval.
         */
        defaultTabInterval: CGFloat;
        /**
         * The text lists that contain the paragraph.
         */
        textLists: NSTextList[];
        /**
         * The mode for breaking lines in the paragraph that don’t fit within a container.
         */
        lineBreakMode: NSLineBreakMode;
        /**
         * The strategy for breaking lines while laying out paragraphs.
         */
        lineBreakStrategy: NSParagraphStyle.LineBreakStrategy;
        /**
         * The paragraph’s threshold for hyphenation.
         */
        hyphenationFactor: Float;
        /**
         * A Boolean value that indicates whether the paragraph style uses the system hyphenation settings.
         */
        usesDefaultHyphenation: boolean;
        /**
         * A Boolean value that indicates whether the system tightens character spacing before truncating text.
         */
        allowsDefaultTighteningForTruncation: boolean;
        /**
         * The base writing direction for the paragraph. 
         */
        baseWritingDirection: NSWritingDirection;
        /**
         * Returns the default writing direction for the specified language.
         */
        static defaultWritingDirection(languageName: string):NSWritingDirection;
    }
    /**
     * the same name namespace of class NSParagraphStyle
     */
    export namespace NSParagraphStyle {
        export class LineBreakStrategy {
            /**
             * The text system prohibits breaking between Hangul characters.
             */
            static hangulWordPriority: NSParagraphStyle.LineBreakStrategy;
            /**
             * The text system pushes out individual lines to avoid an orphan word on the last line of the paragraph.
             */
            static pushOut: NSParagraphStyle.LineBreakStrategy;
            /**
             * The text system uses the same configuration of line-break strategies that it uses for standard UI labels. 
             */
            static standard: NSParagraphStyle.LineBreakStrategy;
            /**
             * Creates a line-break strategy with the specified raw value.
             */
            constructor (rawValue: number);
        }
    }
    export enum NSLineBreakMode {
        byWordWrapping = 0,
        byCharWrapping = 1,
        byClipping = 2,
        byTruncatingHead = 3,
        byTruncatingTail = 4,
        byTruncatingMiddle = 5,
    }
    export enum NSWritingDirection {
        natural = -1,
        leftToRight = 0,
        rightToLeft = 1,
    }
    export class NSMutableParagraphStyle extends NSParagraphStyle {
        /**
         * The text alignment of the paragraph.
         */
        alignment: NSTextAlignment;
        /**
         * The indentation of the first line of the paragraph.
         */
        firstLineHeadIndent: CGFloat;
        /**
         * The indentation of the paragraph’s lines other than the first.
         */
        headIndent: CGFloat;
        /**
         * The trailing indentation of the paragraph.
         */
        tailIndent: CGFloat;
        /**
         * The line height multiple.
         */
        lineHeightMultiple: CGFloat;
        /**
         * The paragraph’s maximum line height.
         */
        maximumLineHeight: CGFloat;
        /**
         * The paragraph’s minimum line height.
         */
        minimumLineHeight: CGFloat;
        /**
         * The distance in points between the bottom of one line fragment and the top of the next.
         */
        lineSpacing: CGFloat;
        /**
         * The space after the end of the paragraph.
         */
        paragraphSpacing: CGFloat;
        /**
         * The distance between the paragraph’s top and the beginning of its text content.
         */
        paragraphSpacingBefore: CGFloat;
        /**
         * The base writing direction for the paragraph. 
         */
        baseWritingDirection: NSWritingDirection;
        /**
         * The text tab objects that represent the paragraph’s tab stops.
         */
        tabStops: [NSTextTab]!;
        /**
         * A number used as the document’s default tab spacing.
         */
        defaultTabInterval: CGFloat;
        /**
         * The text lists that contain the paragraph.
         */
        textLists: NSTextList[];
        /**
         * The mode for breaking lines in the paragraph.
         */
        lineBreakMode: NSLineBreakMode;
        /**
         * The strategies that the text system may use to break lines while laying out the paragraph.
         */
        lineBreakStrategy: NSParagraphStyle.LineBreakStrategy;
        /**
         * The paragraph’s threshold for hyphenation.
         */
        hyphenationFactor: Float;
        usesDefaultHyphenation: boolean;
        /**
         * A Boolean value that indicates whether the system tightens intercharacter spacing before truncating text.
         */
        allowsDefaultTighteningForTruncation: boolean;
        /**
         * Replaces the subattributes of the paragraph with those in the specified paragraph style object.
         */
        setParagraphStyle(obj: NSParagraphStyle):void;
        /**
         * Adds the specified tab stop to the paragraph.
         */
        addTabStop(anObject: NSTextTab):void;
        /**
         * Removes the first text tab with a location and type equal to the specified tab stop.
         */
        removeTabStop(anObject: NSTextTab):void;
    }
    export class NSTextTab extends NSObject {
        /**
         * The text tab’s ruler location relative to the back margin.
         */
        location: CGFloat;
        /**
         * The text alignment of the text tab.
         */
        alignment: NSTextAlignment;
        /**
         * The dictionary of attributes for the text tab.
         */
        options: Record<NSTextTab.OptionKey, any>;
        /**
         * Initializes a text tab with the specified text alignment, location, and options. 
         */
        constructor (alignment: NSTextAlignment, loc: CGFloat, options: Record<NSTextTab.OptionKey, any>);
        /**
         * Returns the column terminators for the specified locale.
         */
        static columnTerminators(aLocale: Locale | null):CharacterSet;
    }
    /**
     * the same name namespace of class NSTextTab
     */
    export namespace NSTextTab {
        export class OptionKey {
            /**
             * The value is an 
             *  object. 
             */
            static columnTerminators: NSTextTab.OptionKey;
            constructor (rawValue: string);
        }
    }
    export class NSTextAttachment extends NSObject {
        /**
         * Specifies a character that denotes an attachment.
         */
        static character: number;
        /**
         * The layout bounds of the text attachment’s graphical representation in the text coordinate system.
         */
        bounds: CGRect;
        /**
         * The contents for the text attachment.
         */
        contents: Data | null;
        /**
         * The file type of the contents for the text attachment.
         */
        fileType: string;
        /**
         * An instance of the relevant image class that represents the contents of the text attachment object.
         */
        image: UIImage | null;
        /**
         * The text attachment’s file wrapper.
         */
        fileWrapper: FileWrapper | null;
        /**
         * A Boolean value that determines whether the text attachment uses text attachment views.
         */
        allowsTextAttachmentView: boolean;
        /**
         * A Boolean value that indicates whether the text attachment uses text attachment views.
         */
        usesTextAttachmentView: boolean;
        /**
         * The layout padding before and after the text attachment bounds.
         */
        lineLayoutPadding: CGFloat;
        /**
         * Creates a text attachment object with the specified data.
         */
        constructor (contentData: Data | null, uti: string);
        /**
         * Creates a text attachment object to contain the specified image.
         */
        constructor (image: UIImage);
        /**
         * Registers a specific file type with the attachment view provider.
         */
        static registerViewProviderClass(textAttachmentViewProviderClass: AnyClass, fileType: string):void;
        /**
         * Returns the text attachment view provider class, if any, for the file type you specify.
         */
        static textAttachmentViewProviderClass(fileType: string):AnyClass | null;
    }
    export interface NSTextAttachmentContainer extends NSObjectProtocol {
        /**
         * Returns the layout bounds of the text attachment to the layout manager.
         */
        attachmentBounds(textContainer: NSTextContainer | null, lineFrag: CGRect, position: CGPoint, charIndex: number):CGRect;
        /**
         * Returns the image object that the layout manager renders in the specified image bounds rectangle inside the text container.
         */
        image(imageBounds: CGRect, textContainer: NSTextContainer | null, charIndex: number):UIImage | null;
    }
    export class NSTextAttachmentViewProvider extends NSObject {
        /**
         * The location that indicates the start of the text attachment.
         */
        location: NSTextLocation;
        /**
         * The text attachment for this view.
         */
        textAttachment: NSTextAttachment | null;
        /**
         * The text layout manager for this view.
         */
        textLayoutManager: NSTextLayoutManager | null;
        /**
         * A Boolean value that determines the text attachment’s bounds policy.
         */
        tracksTextAttachmentViewBounds: boolean;
        /**
         * The text attachment’s view.
         */
        view: UIView | null;
        /**
         * Creates a new text attachment view whose content starts at the location you provide.
         */
        constructor (textAttachment: NSTextAttachment, parentView: UIView | null, textLayoutManager: NSTextLayoutManager | null, location: NSTextLocation);
        /**
         * Draws the custom view hierarchy that text attachment view subclasses implement.
         */
        loadView():void;
        /**
         * Returns the layout bounds for an attachment at a specific text location that contains the text attributes you specify.
         */
        attachmentBounds(attributes: Record<NSAttributedString.Key, any>, location: NSTextLocation, textContainer: NSTextContainer | null, proposedLineFragment: CGRect, position: CGPoint):CGRect;
    }
    export interface NSTextAttachmentLayout extends NSObjectProtocol {
        /**
         * Returns the layout bounds of the attachment you specify.
         */
        attachmentBounds(attributes: Record<NSAttributedString.Key, any>, location: NSTextLocation, textContainer: NSTextContainer | null, proposedLineFragment: CGRect, position: CGPoint):CGRect;
        /**
         * Returns the image object rendered at the bounds and inside the text container you specify.
         */
        image(bounds: CGRect, attributes: Record<NSAttributedString.Key, any>, location: NSTextLocation, textContainer: NSTextContainer | null):UIImage | null;
        /**
         * Returns the text attachment view provider corresponding to the file type.
         */
        viewProvider(parentView: UIView | null, location: NSTextLocation, textContainer: NSTextContainer | null):NSTextAttachmentViewProvider | null;
    }
    export interface UITextInput extends UIKeyInput {
        /**
         * An input delegate that receives a notification when text changes or when the selection changes.
         */
        inputDelegate: UITextInputDelegate | null;
        /**
         * Returns the text in the specified range.
         */
        text(range: UITextRange):string;
        /**
         * Replaces the text in a document that is in the specified range.
         */
        replace(range: UITextRange, text: string):void;
        /**
         * Asks whether to replace the text in the specified range. 
         */
        shouldChangeText(range: UITextRange, text: string):boolean;
        /**
         * The range of selected text in a document.
         */
        selectedTextRange: UITextRange | null;
        /**
         * The range of currently marked text in a document.
         */
        markedTextRange: UITextRange | null;
        /**
         * A dictionary of attributes that describes how to draw marked text.
         */
        markedTextStyle: Record<NSAttributedString.Key, any> | null;
        /**
         * Inserts the provided text and marks it to indicate that it is part of an active input session.
         */
        setMarkedText(markedText: string, selectedRange: NSRange):void;
        /**
         * Inserts the provided styled text and marks it to indicate that it is part of an active input session.
         */
        setAttributedMarkedText(markedText: NSAttributedString | null, selectedRange: NSRange):void;
        /**
         * Unmarks the currently marked text.
         */
        unmarkText():void;
        /**
         * The desired location for the insertion point.
         */
        selectionAffinity: UITextStorageDirection;
        /**
         * Returns the range between two text positions.
         */
        textRange(fromPosition: UITextPosition, toPosition: UITextPosition):UITextRange | null;
        /**
         * Returns the text position at a specified offset from another text position.
         */
        position(position: UITextPosition, offset: number):UITextPosition | null;
        /**
         * The text position for the beginning of a document.
         */
        beginningOfDocument: UITextPosition;
        /**
         * The text position for the end of a document.
         */
        endOfDocument: UITextPosition;
        /**
         * Returns how one text position compares to another text position.
         */
        compare(position: UITextPosition, other: UITextPosition):ComparisonResult;
        /**
         * Returns the number of UTF-16 characters between one text position and another text position.
         */
        offset(from: UITextPosition, toPosition: UITextPosition):number;
        /**
         * Returns a text range from a specified text position to its farthest extent in a certain direction of layout. 
         */
        characterRange(position: UITextPosition, direction: UITextLayoutDirection):UITextRange | null;
        /**
         * Returns the base writing direction for a position in the text going in a certain direction.
         */
        baseWritingDirection(position: UITextPosition, direction: UITextStorageDirection):NSWritingDirection;
        /**
         * Sets the base writing direction for a specified range of text in a document.
         */
        setBaseWritingDirection(writingDirection: NSWritingDirection, range: UITextRange):void;
        /**
         * Returns the first rectangle that encloses a range of text in a document. 
         */
        firstRect(range: UITextRange):CGRect;
        /**
         * Returns a rectangle to draw the caret at a specified insertion point.
         */
        caretRect(position: UITextPosition):CGRect;
        /**
         * Returns the position in a document that is closest to a specified point.
         */
        closestPosition(point: CGPoint):UITextPosition | null;
        /**
         * Returns an array of selection rects corresponding to the range of text.
         */
        selectionRects(range: UITextRange):UITextSelectionRect[];
        /**
         * An input tokenizer that provides information about the granularity of text units.
         */
        tokenizer: UITextInputTokenizer;
        /**
         * Called at the beginning of the gesture that the system uses to manipulate the cursor. 
         */
        beginFloatingCursor(point: CGPoint):void;
        /**
         * Called to move the floating cursor to a new location. 
         */
        updateFloatingCursor(point: CGPoint):void;
        /**
         * Called at the end of the gesture that the system uses to manipulate the cursor. 
         */
        endFloatingCursor():void;
        /**
         * Called when there is a pending dictation result.
         */
        dictationRecordingDidEnd():void;
        /**
         * Called when dictation ends, but recognition fails.
         */
        dictationRecognitionFailed():void;
        /**
         * Called when there is more than one interpretation of a spoken phrase in a dictation result.
         */
        insertDictationResult(dictationResult: UIDictationPhrase[]):void;
        /**
         * Asks for the placeholder object to use while generating dictation results. 
         */
        insertDictationResultPlaceholder: any;
        /**
         * Asks for the rectangle for displaying the dictation placeholder animation.
         */
        frame(placeholder: any):CGRect;
        /**
         * Tells the view that the specified placeholder object is unnecessary.
         */
        removeDictationResultPlaceholder(placeholder: any, willInsertResult: boolean):void;
        /**
         * Inserts a placeholder object to reserve visual space during text input.
         */
        insertTextPlaceholder(size: CGSize):UITextPlaceholder;
        /**
         * Removes a placeholder object from the text input view.
         */
        remove(textPlaceholder: UITextPlaceholder):void;
        /**
         * Asks the delegate for the menu to display for the given text range and actions the system provides.
         */
        editMenu(textRange: UITextRange, suggestedActions: UIMenuElement[]):UIMenu | null;
        willPresentEditMenu(animator: UIEditMenuInteractionAnimating):void;
        willDismissEditMenu(animator: UIEditMenuInteractionAnimating):void;
        insertText(text: string, alternatives: string[], style: UITextAlternativeStyle):void;
        /**
         * Returns a dictionary with properties that specify how to style the text at a certain location in a document.
         */
        textStyling(position: UITextPosition, direction: UITextStorageDirection):Record<NSAttributedString.Key, any> | null;
        /**
         * Returns the character offset of a position in a document’s text that falls within a specified range.
         */
        characterOffset(position: UITextPosition, range: UITextRange):number;
        /**
         * An affiliated view that provides a coordinate system for all geometric values in the protocol.
         */
        textInputView: UIView;
    }
    export interface UITextInputDelegate extends NSObjectProtocol {
        /**
         * Tells the input delegate when text is about to change in the document.
         */
        textWillChange(textInput: UITextInput | null):void;
        /**
         * Tells the input delegate when text has changed in the document.
         */
        textDidChange(textInput: UITextInput | null):void;
        /**
         * Tells the input delegate when the selection is about to change in the document.
         */
        selectionWillChange(textInput: UITextInput | null):void;
        /**
         * Tells the input delegate when the selection has changed in the document.
         */
        selectionDidChange(textInput: UITextInput | null):void;
    }
    export interface UITextInputTokenizer extends NSObjectProtocol {
        /**
         * Return whether a text position is at a boundary of a text unit of a specified granularity in a specified direction.
         */
        isPosition(position: UITextPosition, granularity: UITextGranularity, direction: UITextDirection):boolean;
        /**
         * Return the next text position at a boundary of a text unit of the given granularity in a given direction.
         */
        position(position: UITextPosition, granularity: UITextGranularity, direction: UITextDirection):UITextPosition | null;
        /**
         * Return the range for the text enclosing a text position in a text unit of a given granularity in a given direction.
         */
        rangeEnclosingPosition(position: UITextPosition, granularity: UITextGranularity, direction: UITextDirection):UITextRange | null;
    }
    export class UITextDirection {
        /**
         * Creates a text direction with the specified raw value.
         */
        constructor (rawValue: number);
        /**
         * Specifies the direction of text layout.
         */
        static layout(direction: UITextLayoutDirection):UITextDirection;
        /**
         * Specifies the direction of text storage.
         */
        static storage(direction: UITextStorageDirection):UITextDirection;
    }
    export enum UITextGranularity {
        character = 0,
        word = 1,
        sentence = 2,
        paragraph = 3,
        line = 4,
        document = 5,
    }
    export class UITextPlaceholder extends NSObject {
        rects: UITextSelectionRect[];
    }
    export enum UITextAlternativeStyle {
        lowConfidence = 1,
        none = 0,
    }
    export enum UITextStorageDirection {
        forward = 0,
        backward = 1,
    }
    export enum UITextLayoutDirection {
        right = 2,
        left = 3,
        up = 4,
        down = 5,
    }
    export interface UIKeyInput extends UITextInputTraits {
        /**
         * Inserts a character into the displayed text.
         */
        insertText(text: string):void;
        /**
         * Deletes a character from the displayed text.
         */
        deleteBackward():void;
        /**
         * A Boolean value that indicates whether the text-entry object has any text.
         */
        hasText: boolean;
    }
    export enum UIKeyboardType {
        default = 0,
        asciiCapable = 1,
        numbersAndPunctuation = 2,
        URL = 3,
        numberPad = 4,
        phonePad = 5,
        namePhonePad = 6,
        emailAddress = 7,
        decimalPad = 8,
        twitter = 9,
        webSearch = 10,
        asciiCapableNumberPad = 11,
    }
    export enum UIKeyboardAppearance {
        default = 0,
        dark = 1,
        light = 2,
    }
    export enum UIReturnKeyType {
        default = 0,
        go = 1,
        google = 2,
        join = 3,
        next = 4,
        route = 5,
        search = 6,
        send = 7,
        yahoo = 8,
        done = 9,
        emergencyCall = 10,
        continue = 11,
    }
    export enum UITextAutocapitalizationType {
        none = 0,
        words = 1,
        sentences = 2,
        allCharacters = 3,
    }
    export enum UITextAutocorrectionType {
        default = 0,
        no = 1,
        yes = 2,
    }
    export enum UITextSpellCheckingType {
        default = 0,
        no = 1,
        yes = 2,
    }
    export enum UITextSmartQuotesType {
        default = 0,
        no = 1,
        yes = 2,
    }
    export enum UITextSmartDashesType {
        default = 0,
        no = 1,
        yes = 2,
    }
    export enum UITextSmartInsertDeleteType {
        default = 0,
        no = 1,
        yes = 2,
    }
    export enum UIDeviceOrientation {
        unknown = 0,
        portrait = 1,
        portraitUpsideDown = 2,
        landscapeLeft = 3,
        landscapeRight = 4,
        faceUp = 5,
        faceDown = 6,
    }
    export class UITextInputAssistantItem extends NSObject {
        /**
         * The array of button item groups to display before the typing suggestions.
         */
        leadingBarButtonGroups: UIBarButtonItemGroup[];
        /**
         * The array of button item groups to display after the typing suggestions. 
         */
        trailingBarButtonGroups: UIBarButtonItemGroup[];
        /**
         * A Boolean value that indicates whether the user can hide the shortcuts bar.
         */
        allowsHidingShortcuts: boolean;
    }
    export class UIDictationPhrase extends NSObject {
        /**
         * An array of alternative textual interpretations of a dictated phrase.
         */
        alternativeInterpretations: string[] | null;
        /**
         * The most likely textual interpretation of a dictated phrase.
         */
        text: string;
    }
    export class UITextInputStringTokenizer extends NSObject {
        /**
         * Returns an object initialized with the document object that directly communicates with the text input system.
         */
        constructor (textInput: (UIResponder & UITextInput));
    }
    export class UITextInteraction extends NSObject {
        /**
         * The object that interacts with the text input system.
         */
        textInput: ((UIResponder & UITextInput));
        /**
         * The object that receives events from the text interaction.
         */
        delegate: UITextInteractionDelegate | null;
        /**
         * The list of gestures that the text interaction adds to the view hierarchy.
         */
        gesturesForFailureRequirements: UIGestureRecognizer[];
        /**
         * The mode of the text interaction.
         */
        textInteractionMode: UITextInteractionMode;
        /**
         * Creates a text interaction with the specified mode.
         */
        constructor (mode: UITextInteractionMode);
    }
    export interface UITextInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether the text interaction should begin.
         */
        interactionShouldBegin(interaction: UITextInteraction, point: CGPoint):boolean;
        /**
         * Tells the delegate that the text interaction will begin.
         */
        interactionWillBegin(interaction: UITextInteraction):void;
        /**
         * Tells the delegate that the text interaction ended.
         */
        interactionDidEnd(interaction: UITextInteraction):void;
    }
    export enum UITextInteractionMode {
        editable = 0,
        nonEditable = 1,
    }
    export class UIKeyboardLayoutGuide extends UITrackingLayoutGuide {
        /**
         * A Boolean value that determines if the layout guide tracks the keyboard when it’s undocked from the bottom of the screen.
         */
        followsUndockedKeyboard: boolean;
    }
    export class UITrackingLayoutGuide extends UILayoutGuide {
        /**
         * Configures the tracking layout guide to automatically activate and deactivate constraints when the guide is close to the given edge.
         */
        setConstraints(trackingConstraints: NSLayoutConstraint[], edge: NSDirectionalRectEdge):void;
        /**
         * Returns the constraints that the tracking layout guide activates when it’s near the given edge, and deactivates when it’s away from the given edge.
         */
        constraints(edge: NSDirectionalRectEdge):NSLayoutConstraint[];
        /**
         * Stops the layout guide from tracking any constraints.
         */
        removeAllTrackedConstraints():void;
    }
    export class UIInputViewController extends UIViewController {
        /**
         * The primary view for the input view controller.
         */
        inputView: UIInputView | null;
        /**
         * A proxy to the text input object that the custom keyboard is interacting with.
         */
        textDocumentProxy: UITextDocumentProxy;
        /**
         * The primary language for a custom keyboard.
         */
        primaryLanguage: string;
        /**
         * A Boolean value that indicates whether the keyboard must display an input switcher key.
         */
        needsInputModeSwitchKey: boolean;
        /**
         * A Boolean value that indicates whether the keyboard has full access. 
         */
        hasFullAccess: boolean;
        /**
         * A Boolean value that indicates whether the keyboard has a dictation key.
         */
        hasDictationKey: boolean;
        /**
         * Switches to the next keyboard in the list of user-enabled keyboards.
         */
        advanceToNextInputMode():void;
        /**
         * Dismisses the custom keyboard from the screen.
         */
        dismissKeyboard():void;
        /**
         * Supports interaction with the list of user-enabled keyboards.
         */
        handleInputModeList(view: UIView, event: UIEvent):void;
        /**
         * Obtains a supplementary lexicon of term pairs in a custom keyboard.
         */
        requestSupplementaryLexicon(completionHandler: ()=>any):void;
    }
    export interface UITextDocumentProxy extends UIKeyInput {
        /**
         * The text-input mode for the keyboard.
         */
        documentInputMode: UITextInputMode | null;
        /**
         * Textual context after the insertion point in the current text input object.
         */
        documentContextAfterInput: string;
        /**
         * Textual context before the insertion point in the current text input object.
         */
        documentContextBeforeInput: string;
        /**
         * Moves the insertion point forward or backward in the current text input object.
         */
        adjustTextPosition(offset: number):void;
        /**
         * The currently selected text in the document.
         */
        selectedText: string;
        /**
         * Inserts the provided text and marks it to indicate that it’s part of an active input session.
         */
        setMarkedText(markedText: string, selectedRange: NSRange):void;
        /**
         * Unmarks the currently marked text.
         */
        unmarkText():void;
        /**
         * The unique identifier for the document.
         */
        documentIdentifier: UUID;
    }
    export class UIInputView extends UIView {
        /**
         * The style for the content of the view.
         */
        inputViewStyle: UIInputView.Style;
        /**
         * A Boolean value that indicates whether the input view is responsible for its own size.
         */
        allowsSelfSizing: boolean;
        /**
         * Initializes and returns an input view using the specified style information.
         */
        constructor (frame: CGRect, inputViewStyle: UIInputView.Style);
        /**
         * Creates an input view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    /**
     * the same name namespace of class UIInputView
     */
    export namespace UIInputView {
        export enum Style {
            default = 0,
            keyboard = 1,
        }
    }
    export class UILexicon extends NSObject {
        /**
         * A read-only array of term pairs for use by a custom keyboard.
         */
        entries: UILexiconEntry[];
    }
    export class UILexiconEntry extends NSObject {
        /**
         * Text to be inserted into a text input object by a custom keyboard, corresponding to the user input value in the same lexicon entry.
         */
        documentText: string;
        /**
         * Text to match, during user input, to provide appropriate output to a text document from the document text value in the same lexicon entry.
         */
        userInput: string;
    }
    export class UIKey extends NSObject {
        /**
         * The HID usage code of the key.
         */
        keyCode: UIKeyboardHIDUsage;
        /**
         * The modifier keys pressed and held while the user presses the key.
         */
        modifierFlags: UIKeyModifierFlags;
        /**
         * A string that represents the text value of the key combined with any active modifier keys.
         */
        characters: string;
        /**
         * A string that represents the text value of the key without modifier keys.
         */
        charactersIgnoringModifiers: string;
    }
    export enum UIKeyboardHIDUsage {
        keyboardA = 4,
        keyboardB = 5,
        keyboardC = 6,
        keyboardD = 7,
        keyboardE = 8,
        keyboardF = 9,
        keyboardG = 10,
        keyboardH = 11,
        keyboardI = 12,
        keyboardJ = 13,
        keyboardK = 14,
        keyboardL = 15,
        keyboardM = 16,
        keyboardN = 17,
        keyboardO = 18,
        keyboardP = 19,
        keyboardQ = 20,
        keyboardR = 21,
        keyboardS = 22,
        keyboardT = 23,
        keyboardU = 24,
        keyboardV = 25,
        keyboardW = 26,
        keyboardX = 27,
        keyboardY = 28,
        keyboardZ = 29,
        keyboard0 = 39,
        keyboard1 = 30,
        keyboard2 = 31,
        keyboard3 = 32,
        keyboard4 = 33,
        keyboard5 = 34,
        keyboard6 = 35,
        keyboard7 = 36,
        keyboard8 = 37,
        keyboard9 = 38,
        keyboardBackslash = 49,
        keyboardCloseBracket = 48,
        keyboardComma = 54,
        keyboardEqualSign = 46,
        keyboardHyphen = 45,
        keyboardNonUSBackslash = 100,
        keyboardNonUSPound = 50,
        keyboardOpenBracket = 47,
        keyboardPeriod = 55,
        keyboardQuote = 52,
        keyboardSemicolon = 51,
        keyboardSeparator = 159,
        keyboardSlash = 56,
        keyboardSpacebar = 44,
        keyboardCapsLock = 57,
        keyboardLeftAlt = 226,
        keyboardLeftControl = 224,
        keyboardLeftShift = 225,
        keyboardLockingCapsLock = 130,
        keyboardLockingNumLock = 131,
        keyboardLockingScrollLock = 132,
        keyboardRightAlt = 230,
        keyboardRightControl = 228,
        keyboardRightShift = 229,
        keyboardScrollLock = 71,
        keyboardLeftArrow = 80,
        keyboardRightArrow = 79,
        keyboardUpArrow = 82,
        keyboardDownArrow = 81,
        keyboardPageUp = 75,
        keyboardPageDown = 78,
        keyboardHome = 74,
        keyboardEnd = 77,
        keyboardDeleteForward = 76,
        keyboardDeleteOrBackspace = 42,
        keyboardEscape = 41,
        keyboardInsert = 73,
        keyboardReturn = 158,
        keyboardTab = 43,
        keyboardF1 = 58,
        keyboardF2 = 59,
        keyboardF3 = 60,
        keyboardF4 = 61,
        keyboardF5 = 62,
        keyboardF6 = 63,
        keyboardF7 = 64,
        keyboardF8 = 65,
        keyboardF9 = 66,
        keyboardF10 = 67,
        keyboardF11 = 68,
        keyboardF12 = 69,
        keyboardF13 = 104,
        keyboardF14 = 105,
        keyboardF15 = 106,
        keyboardF16 = 107,
        keyboardF17 = 108,
        keyboardF18 = 109,
        keyboardF19 = 110,
        keyboardF20 = 111,
        keyboardF21 = 112,
        keyboardF22 = 113,
        keyboardF23 = 114,
        keyboardF24 = 115,
        keypad0 = 98,
        keypad1 = 89,
        keypad2 = 90,
        keypad3 = 91,
        keypad4 = 92,
        keypad5 = 93,
        keypad6 = 94,
        keypad7 = 95,
        keypad8 = 96,
        keypad9 = 97,
        keypadAsterisk = 85,
        keypadComma = 133,
        keypadEnter = 88,
        keypadEqualSign = 103,
        keypadEqualSignAS400 = 134,
        keypadHyphen = 86,
        keypadNumLock = 83,
        keypadPeriod = 99,
        keypadPlus = 87,
        keypadSlash = 84,
        keyboardPause = 72,
        keyboardStop = 120,
        keyboardMute = 127,
        keyboardVolumeUp = 128,
        keyboardVolumeDown = 129,
        keyboardLANG1 = 144,
        keyboardLANG2 = 145,
        keyboardLANG3 = 146,
        keyboardLANG4 = 147,
        keyboardLANG5 = 148,
        keyboardLANG6 = 149,
        keyboardLANG7 = 150,
        keyboardLANG8 = 151,
        keyboardLANG9 = 152,
        keyboardInternational1 = 135,
        keyboardInternational2 = 136,
        keyboardInternational3 = 137,
        keyboardInternational4 = 138,
        keyboardInternational5 = 139,
        keyboardInternational6 = 140,
        keyboardInternational7 = 141,
        keyboardInternational8 = 142,
        keyboardInternational9 = 143,
        keyboardErrorRollOver = 1,
        keyboardErrorUndefined = 3,
        keyboardAgain = 121,
        keyboardAlternateErase = 153,
        keyboardApplication = 101,
        keyboardCancel = 155,
        keyboardClear = 156,
        keyboardClearOrAgain = 162,
        keyboardCopy = 124,
        keyboardCrSelOrProps = 163,
        keyboardCut = 123,
        keyboardExSel = 164,
        keyboardExecute = 116,
        keyboardFind = 126,
        keyboardGraveAccentAndTilde = 53,
        keyboardHelp = 117,
        keyboardLeftGUI = 227,
        keyboardMenu = 118,
        keyboardOper = 161,
        keyboardOut = 160,
        keyboardPOSTFail = 2,
        keyboardPaste = 125,
        keyboardPower = 102,
        keyboardPrintScreen = 70,
        keyboardPrior = 157,
        keyboardReturnOrEnter = 40,
        keyboardRightGUI = 231,
        keyboardSelect = 119,
        keyboardSysReqOrAttention = 154,
        keyboardUndo = 122,
        keyboard_Reserved = 65535,
    }
    export class UIScribbleInteraction extends NSObject {
        /**
         * A Boolean value that indicates the user is likely to use Apple Pencil and handwriting instead of the keyboard to enter text.
         */
        static isPencilInputExpected: boolean;
        /**
         * The object that acts as the delegate for this interaction and responds to Scribble events for text input views.
         */
        delegate: UIScribbleInteractionDelegate | null;
        /**
         * A Boolean value that indicates whether the user is actively writing in a text view.
         */
        isHandlingWriting: boolean;
        /**
         * Creates a Scribble interaction that allows customizing the behavior of Scribble on text input views with the delegate you provide.
         */
        constructor (delegate: UIScribbleInteractionDelegate);
    }
    export interface UIScribbleInteractionDelegate extends NSObjectProtocol {
        /**
         * Returns a Boolean value that indicates whether the delegate should allow writing at a specific location in the view.
         */
        scribbleInteraction(interaction: UIScribbleInteraction, location: CGPoint):boolean;
        /**
         * Tells the delegate to delay focusing the text input view.
         */
        scribbleInteractionShouldDelayFocus(interaction: UIScribbleInteraction):boolean;
        /**
         * Informs the delegate when the user begins writing in the view.
         */
        scribbleInteractionWillBeginWriting(interaction: UIScribbleInteraction):void;
        /**
         * Informs the delegate that the user stops writing in the view, after Scribble transcribes and enters the last word.
         */
        scribbleInteractionDidFinishWriting(interaction: UIScribbleInteraction):void;
    }
    export enum UIUserInterfaceIdiom {
        unspecified = -1,
        phone = 0,
        pad = 1,
        tv = 2,
        carPlay = 3,
        mac = 5,
    }
    export interface UIIndirectScribbleInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if an element is currently focused, according to the internal state of the interaction’s view.
         */
        indirectScribbleInteraction(interaction: UIInteraction, elementIdentifier: Self.ElementIdentifier):boolean;
    }
    export class UIActionSheet extends UIView {
        /**
         * The receiver’s delegate or 
         *  if it doesn’t have a delegate.
         */
        delegate: UIActionSheetDelegate | null;
        /**
         * The string that appears in the receiver’s title bar.
         */
        title: string;
        /**
         * A Boolean value that indicates whether the receiver is displayed.
         */
        isVisible: boolean;
        /**
         * The receiver’s presentation style.
         */
        actionSheetStyle: UIActionSheetStyle;
        /**
         * The number of buttons on the action sheet.
         */
        numberOfButtons: number;
        /**
         * The index number of the cancel button.
         */
        cancelButtonIndex: number;
        /**
         * The index number of the destructive button.
         */
        destructiveButtonIndex: number;
        /**
         * The index of the first custom button.
         */
        firstOtherButtonIndex: number;
        /**
         * Creates an action sheet with the specified values.
         */
        constructor (title: string, delegate: UIActionSheetDelegate | null, cancelButtonTitle: string, destructiveButtonTitle: string, firstButtonTitle: string, ...moreButtonTitles: string);
        /**
         * Initializes the action sheet using the specified starting parameters.
         */
        constructor (title: string, delegate: UIActionSheetDelegate | null, cancelButtonTitle: string, destructiveButtonTitle: string);
        /**
         * Adds a custom button to the action sheet.
         */
        addButton(title: string):number;
        /**
         * Returns the title of the button at the specified index.
         */
        buttonTitle(buttonIndex: number):string;
        /**
         * Displays an action sheet that originates from the specified tab bar.
         */
        show(view: UITabBar):void;
        /**
         * Dismisses the action sheet immediately using an optional animation.
         */
        dismiss(buttonIndex: number, animated: boolean):void;
    }
    export enum UIActionSheetStyle {
        automatic = -1,
        default = 0,
        blackTranslucent = 2,
        blackOpaque = 1,
    }
    export class UIAlertView extends UIView {
        /**
         * The receiver’s delegate or 
         *  if it doesn’t have a delegate.
         */
        delegate: AnyObject | null;
        /**
         * The kind of alert displayed to the user.
         */
        alertViewStyle: UIAlertViewStyle;
        /**
         * The string that appears in the receiver’s title bar.
         */
        title: string;
        /**
         * Descriptive text that provides more details than the title.
         */
        message: string;
        /**
         * A Boolean value that indicates whether the receiver is displayed.
         */
        isVisible: boolean;
        /**
         * The number of buttons on the alert view.
         */
        numberOfButtons: number;
        /**
         * The index number of the cancel button.
         */
        cancelButtonIndex: number;
        /**
         * The index of the first other button.
         */
        firstOtherButtonIndex: number;
        /**
         * Convenience method for initializing an alert view.
         */
        constructor (title: string, message: string, delegate: any, cancelButtonTitle: string);
        /**
         * Creates an alert view with the specified values.
         */
        constructor (title: string, message: string, delegate: UIAlertViewDelegate | null, cancelButtonTitle: string, firstButtonTitle: string, ...moreButtonTitles: string);
        /**
         * Creates an alert view with the specified frame.
         */
        constructor (frame: CGRect);
        /**
         * Creates an alert view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Adds a button to the receiver with the given title.
         */
        addButton(title: string):number;
        /**
         * Returns the title of the button at the given index.
         */
        buttonTitle(buttonIndex: number):string;
        /**
         * Returns the text field at the given index
         */
        textField(textFieldIndex: number):UITextField | null;
        /**
         * Displays the receiver using animation.
         */
        show():void;
        /**
         * Dismisses the receiver, optionally with animation.
         */
        dismiss(buttonIndex: number, animated: boolean):void;
    }
    export enum UIAlertViewStyle {
        default = 0,
        secureTextInput = 1,
        plainTextInput = 2,
        loginAndPasswordInput = 3,
    }
    export class UIDocumentMenuViewController extends UIViewController {
        /**
         * The document menu’s delegate.
         */
        delegate: UIDocumentMenuDelegate | null;
        /**
         * Initializes and returns a document menu to import or open the given file types.
         */
        constructor (allowedUTIs: string[], mode: UIDocumentPickerMode);
        /**
         * Initializes and returns a document menu to export or move the given document.
         */
        constructor (url: URL, mode: UIDocumentPickerMode);
        /**
         * Creates a document menu from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Adds a custom menu item to the list of document pickers.
         */
        addOption(title: string, image: UIImage | null, order: UIDocumentMenuOrder, handler: ()=>any):void;
    }
    export interface UIDocumentMenuDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user has selected a document picker from the menu.
         */
        documentMenu(documentMenu: UIDocumentMenuViewController, documentPicker: UIDocumentPickerViewController):void;
        /**
         * Tells the delegate that the user dismissed the document menu.
         */
        documentMenuWasCancelled(documentMenu: UIDocumentMenuViewController):void;
    }
    export enum UIDocumentMenuOrder {
        first = 0,
        last = 1,
    }
    export class UILocalNotification extends NSObject {
        /**
         * The date and time when the system should deliver the notification.
         */
        fireDate: Date | null;
        /**
         * The time zone of the notification’s fire date.
         */
        timeZone: TimeZone | null;
        /**
         * The calendar interval at which to reschedule the notification.
         */
        repeatInterval: NSCalendar.Unit;
        /**
         * The calendar the system should refer to when it reschedules a repeating notification.
         */
        repeatCalendar: Calendar | null;
        /**
         * The geographic region that triggers the notification. 
         */
        region: CLRegion | null;
        /**
         * A Boolean value indicating whether crossing a geographic region boundary delivers only one notification.
         */
        regionTriggersOnce: boolean;
        /**
         * The message displayed in the notification alert.
         */
        alertBody: string;
        /**
         * The title of the action button or slider.
         */
        alertAction: string;
        /**
         * A short description of the reason for the alert.
         */
        alertTitle: string;
        /**
         * A Boolean value that controls whether the notification shows or hides the alert action.
         */
        hasAction: boolean;
        /**
         * Identifies the image used as the launch image when the user taps (or slides) the action button (or slider).
         */
        alertLaunchImage: string;
        /**
         * The name of a group of actions to display in the alert.
         */
        category: string;
        /**
         * The number to display as the app’s icon badge.
         */
        applicationIconBadgeNumber: number;
        /**
         * The name of the file containing the sound to play when an alert is displayed.
         */
        soundName: string;
        /**
         * A dictionary for passing custom information to the notified app.
         */
        userInfo: Record<AnyHashable, any> | null;
        constructor ();
        constructor (coder: NSCoder);
    }
    export class UIStatusBarManager extends NSObject {
        /**
         * A Boolean value that indicates whether the status bar is currently hidden.
         */
        isStatusBarHidden: boolean;
        /**
         * The current appearance of the status bar.
         */
        statusBarStyle: UIStatusBarStyle;
        /**
         * The frame rectangle of the status bar.
         */
        statusBarFrame: CGRect;
    }
    export class UIMenuItem extends NSObject {
        /**
         * The title of the menu item.
         */
        title: string;
        /**
         * A selector identifying the method of the responder object to invoke for handling of the menu command.
         */
        action: Selector;
        /**
         * Creates and returns a menu-item object initialized with the given title and action.
         */
        constructor (title: string, action: Selector);
    }
    export class UIMutableUserNotificationAction extends UIUserNotificationAction {
        /**
         * The string that you use internally to identify the action.
         */
        identifier: string;
        /**
         * The localized string to use as the button title for the action. 
         */
        title: string;
        /**
         * The mode in which to run the app when the action is performed.
         */
        activationMode: UIUserNotificationActivationMode;
        /**
         * A Boolean value indicating whether the user must unlock the device before the action is performed.
         */
        isAuthenticationRequired: boolean;
        /**
         * A Boolean value indicating whether the action is destructive.
         */
        isDestructive: boolean;
        /**
         * The custom behavior (if any) that the action supports. 
         */
        behavior: UIUserNotificationActionBehavior;
        /**
         * A dictionary of additional parameters to include with the action.
         */
        parameters: Record<AnyHashable, any>;
    }
    export class UIMutableUserNotificationCategory extends UIUserNotificationCategory {
        /**
         * The name of the action group.
         */
        identifier: string;
        /**
         * Sets the actions to display for different alert styles. 
         */
        setActions(actions: UIUserNotificationAction[] | null, context: UIUserNotificationActionContext):void;
    }
    export class UIPopoverController extends NSObject {
        /**
         * The view controller responsible for the content portion of the popover.
         */
        contentViewController: UIViewController;
        /**
         * The size of the popover’s content view.
         */
        contentSize: CGSize;
        /**
         * An array of views that the user can interact with while the popover is visible.
         */
        passthroughViews: UIView[] | null;
        /**
         * A Boolean value indicating whether the popover is currently visible.
         */
        isPopoverVisible: boolean;
        /**
         * The direction of the popover’s arrow.
         */
        arrowDirection: UIPopoverArrowDirection;
        /**
         * The delegate you want to receive popover controller messages.
         */
        delegate: UIPopoverControllerDelegate | null;
        /**
         * The margins that define the portion of the screen in which it is permissible to display the popover.
         */
        layoutMargins: UIEdgeInsets;
        /**
         * The class to use for displaying the popover background content.
         */
        backgroundViewClass: AnyClass | null;
        /**
         * The color of the popover’s backdrop view.
         */
        backgroundColor: UIColor | null;
        /**
         * Returns an initialized popover controller object.
         */
        constructor (viewController: UIViewController);
        /**
         * Displays the popover and anchors it to the specified location in the view. 
         */
        present(rect: CGRect, view: UIView, arrowDirections: UIPopoverArrowDirection, animated: boolean):void;
        /**
         * Dismisses the popover programmatically.
         */
        dismiss(animated: boolean):void;
        /**
         * Sets the view controller responsible for the content portion of the popover.
         */
        setContentView(viewController: UIViewController, animated: boolean):void;
        /**
         * Changes the size of the popover’s content view.
         */
        setContentSize(size: CGSize, animated: boolean):void;
    }
    export class UIPopoverArrowDirection {
        /**
         * An arrow that points upward.
         */
        static up: UIPopoverArrowDirection;
        /**
         * An arrow that points downward.
         */
        static down: UIPopoverArrowDirection;
        /**
         * An arrow that points toward the left.
         */
        static left: UIPopoverArrowDirection;
        /**
         * An arrow that points toward the right.
         */
        static right: UIPopoverArrowDirection;
        /**
         * An arrow that points in any direction.
         */
        static any: UIPopoverArrowDirection;
        /**
         * The status of the arrow is currently unknown.
         */
        static unknown: UIPopoverArrowDirection;
        /**
         * Creates a popover arrow direction with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UITraitCollection extends NSObject {
        /**
         * The complete set of traits for the current environment. 
         */
        static current: UITraitCollection;
        /**
         * The horizontal size class of the trait collection.
         */
        horizontalSizeClass: UIUserInterfaceSizeClass;
        /**
         * The vertical size class of the trait collection.
         */
        verticalSizeClass: UIUserInterfaceSizeClass;
        /**
         * The display scale of the trait collection.
         */
        displayScale: CGFloat;
        /**
         * The gamut of the current display. 
         */
        displayGamut: UIDisplayGamut;
        /**
         * The style associated with the user interface.
         */
        userInterfaceStyle: UIUserInterfaceStyle;
        /**
         * The user interface idiom of the trait collection.
         */
        userInterfaceIdiom: UIUserInterfaceIdiom;
        /**
         * The elevation level of the interface.
         */
        userInterfaceLevel: UIUserInterfaceLevel;
        /**
         * The layout direction associated with the current environment.
         */
        layoutDirection: UITraitEnvironmentLayoutDirection;
        /**
         * The accessibility contrast associated with the current environment.
         */
        accessibilityContrast: UIAccessibilityContrast;
        /**
         * The font weight to apply to text.
         */
        legibilityWeight: UILegibilityWeight;
        /**
         * A property that indicates whether the user interface has an active appearance.
         */
        activeAppearance: UIUserInterfaceActiveAppearance;
        /**
         * The presentation size of a toolbar item in an AppKit toolbar.
         */
        toolbarItemPresentationSize: UINSToolbarItemPresentationSize;
        /**
         * The force touch capability value of the trait collection.
         */
        forceTouchCapability: UIForceTouchCapability;
        /**
         * The font sizing option preferred by the user.
         */
        preferredContentSizeCategory: UIContentSizeCategory;
        /**
         * An image configuration object compatible with this trait collection. 
         */
        imageConfiguration: UIImage.Configuration;
        /**
         * Creates a trait collection whose traits are set to their default (unspecified) values. 
         */
        constructor ();
        /**
         * Creates a trait collection that consists of traits merged from a specified array of trait collections.
         */
        constructor (traitCollections: UITraitCollection[]);
        /**
         * Creates a trait collection that contains only a specified interface idiom.
         */
        constructor (idiom: UIUserInterfaceIdiom);
        /**
         * Creates a trait collection that contains only a specified horizontal size class.
         */
        constructor (horizontalSizeClass: UIUserInterfaceSizeClass);
        /**
         * Creates a trait collection that contains only a specified vertical size class.
         */
        constructor (verticalSizeClass: UIUserInterfaceSizeClass);
        /**
         * Creates a trait collection that contains only the specified user interface style trait.
         */
        constructor (userInterfaceStyle: UIUserInterfaceStyle);
        /**
         * Creates a trait collection that contains only the specified accessibility contrast trait.
         */
        constructor (accessibilityContrast: UIAccessibilityContrast);
        /**
         * Creates a trait collection that contains only the specified user interface level trait.
         */
        constructor (userInterfaceLevel: UIUserInterfaceLevel);
        /**
         * Creates a trait collection that contains only the specified legibility weight trait.
         */
        constructor (legibilityWeight: UILegibilityWeight);
        /**
         * Creates a trait collection that contains only a specified force touch capability trait.
         */
        constructor (capability: UIForceTouchCapability);
        /**
         * Creates a trait collection that contains only a specified display scale.
         */
        constructor (scale: CGFloat);
        /**
         * Creates a trait collection that contains only the specified display gamut trait.
         */
        constructor (displayGamut: UIDisplayGamut);
        /**
         * Creates a trait collection that contains only the specified layout direction trait.
         */
        constructor (layoutDirection: UITraitEnvironmentLayoutDirection);
        /**
         * Creates a trait collection that contains only the specified content size category trait.
         */
        constructor (preferredContentSizeCategory: UIContentSizeCategory);
        /**
         * Creates a trait collection that contains only the specified active appearance trait.
         */
        constructor (userInterfaceActiveAppearance: UIUserInterfaceActiveAppearance);
        /**
         * Creates a trait collection that contains only the specified toolbar item presentation size trait.
         */
        constructor (toolbarItemPresentationSize: UINSToolbarItemPresentationSize);
        /**
         * Creates a trait collection from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Queries whether a trait collection contains all of another trait collection’s values.
         */
        containsTraits(trait: UITraitCollection | null):boolean;
        /**
         * Queries whether changing between the specified and current trait collections would affect color values. 
         */
        hasDifferentColorAppearance(traitCollection: UITraitCollection | null):boolean;
        /**
         * Executes custom code using the traits of the current trait collection.
         */
        performAsCurrent(actions: ()=>any):void;
    }
    export class UIPreviewAction extends NSObject {
        /**
         * The block called when the peek quick action is selected by the user.
         */
        handler: ()=>any;
        /**
         * Creates a peek quick action using a specified title, style, and handler.
         */
        constructor (title: string, style: UIPreviewAction.Style, handler: ()=>any);
    }
    /**
     * the same name namespace of class UIPreviewAction
     */
    export namespace UIPreviewAction {
        export enum Style {
            default = 0,
            selected = 1,
            destructive = 2,
        }
    }
    export class UIPreviewActionGroup extends NSObject {
        /**
         * Creates a peek quick action group using a specified title, style, and array of peek quick actions.
         */
        constructor (title: string, style: UIPreviewAction.Style, actions: UIPreviewAction[]);
    }
    export class UISearchDisplayController extends NSObject {
        /**
         * The visibility state of the search interface.
         */
        isActive: boolean;
        /**
         * The controller’s delegate.
         */
        delegate: UISearchDisplayDelegate | null;
        /**
         * The search bar.
         */
        searchBar: UISearchBar;
        /**
         * The view controller that manages the contents being searched.
         */
        searchContentsController: UIViewController;
        /**
         * The table view in which the search results are displayed.
         */
        searchResultsTableView: UITableView;
        /**
         * The data source for the table view in which the search results are displayed.
         */
        searchResultsDataSource: UITableViewDataSource | null;
        /**
         * The delegate for the table view in which the search results are displayed.
         */
        searchResultsDelegate: UITableViewDelegate | null;
        /**
         * The title for the search results view.
         */
        searchResultsTitle: string;
        /**
         * Specifies that the navigation bar contains a search bar.
         */
        displaysSearchBarInNavigationBar: boolean;
        /**
         * Represents the search display controller in a navigation controller’s navigation bar.
         */
        navigationItem: UINavigationItem | null;
        /**
         * Returns a display controller initialized with the given search bar and contents controller.
         */
        constructor (searchBar: UISearchBar, viewController: UIViewController);
        /**
         * Displays or hides the search interface, optionally with animation.
         */
        setActive(visible: boolean, animated: boolean):void;
    }
    export class UIStoryboardPopoverSegue extends UIStoryboardSegue {
        /**
         * The popover controller used to display the destination view controller. 
         */
        popoverController: UIPopoverController;
    }
    export class UIUserNotificationAction extends NSObject {
        /**
         * The string that you use internally to identify the action.
         */
        identifier: string;
        /**
         * The localized string to use as the button title for the action. 
         */
        title: string;
        /**
         * The mode in which to run the app when the action is performed.
         */
        activationMode: UIUserNotificationActivationMode;
        /**
         * A Boolean value indicating whether the user must unlock the device before the action is performed.
         */
        isAuthenticationRequired: boolean;
        /**
         * A Boolean value indicating whether the action is destructive.
         */
        isDestructive: boolean;
        /**
         * The custom behavior (if any) that the action supports. 
         */
        behavior: UIUserNotificationActionBehavior;
        /**
         * A dictionary of additional parameters to include with the action.
         */
        parameters: Record<AnyHashable, any>;
        /**
         * Creates a user notification action.
         */
        constructor ();
        /**
         * Creates a user notification action from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export enum UIUserNotificationActivationMode {
        foreground = 0,
        background = 1,
    }
    export enum UIUserNotificationActionBehavior {
        default = 0,
        textInput = 1,
    }
    export class UIUserNotificationCategory extends NSObject {
        /**
         * The name of the action group. 
         */
        identifier: string;
        /**
         * Creates an action group.
         */
        constructor ();
        /**
         * Creates an action group from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Returns the actions to be displayed for the given notification context. 
         */
        actions(context: UIUserNotificationActionContext):UIUserNotificationAction[] | null;
    }
    export enum UIUserNotificationActionContext {
        default = 0,
        minimal = 1,
    }
    export class UIUserNotificationSettings extends NSObject {
        /**
         * A bitmask of the notification types that your app is allowed to use.
         */
        types: UIUserNotificationType;
        /**
         * The app’s registered groups of actions. 
         */
        categories: Set<UIUserNotificationCategory> | null;
        /**
         * Creates and returns a settings object that you can use to register your requested notification and action types.
         */
        constructor (types: UIUserNotificationType, categories: Set<UIUserNotificationCategory> | null);
    }
    export class UIUserNotificationType {
        /**
         * The app badges its icon.
         */
        static badge: UIUserNotificationType;
        /**
         * The app plays a sound.
         */
        static sound: UIUserNotificationType;
        /**
         * The app posts an alert.
         */
        static alert: UIUserNotificationType;
        /**
         * Creates a notification type with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface UIAccelerometerDelegate extends NSObjectProtocol {}
    export interface UIActionSheetDelegate extends NSObjectProtocol {
        /**
         * Sent to the delegate when the user clicks a button on an action sheet.
         */
        actionSheet(actionSheet: UIActionSheet, buttonIndex: number):void;
        /**
         * Sent to the delegate before an action sheet is presented to the user.
         */
        willPresent(actionSheet: UIActionSheet):void;
        /**
         * Sent to the delegate after an action sheet is presented to the user. 
         */
        didPresent(actionSheet: UIActionSheet):void;
        /**
         * Sent to the delegate before an action sheet is canceled.
         */
        actionSheetCancel(actionSheet: UIActionSheet):void;
    }
    export interface UIAlertViewDelegate extends NSObjectProtocol {
        /**
         * Sent to the delegate when the user clicks a button on an alert view.
         */
        alertView(alertView: UIAlertView, buttonIndex: number):void;
        /**
         * Sent to the delegate to determine whether the first non-cancel button in the alert should be enabled.
         */
        alertViewShouldEnableFirstOtherButton(alertView: UIAlertView):boolean;
        /**
         * Sent to the delegate before a model view is presented to the user.
         */
        willPresent(alertView: UIAlertView):void;
        /**
         * Sent to the delegate after an alert view is presented to the user. 
         */
        didPresent(alertView: UIAlertView):void;
        /**
         * Sent to the delegate before an alert view is canceled.
         */
        alertViewCancel(alertView: UIAlertView):void;
    }
    export interface UIPopoverControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the popover controller needs to change the popover’s location in its view. 
         */
        popoverController(popoverController: UIPopoverController, rect: UnsafeMutablePointer<CGRect>, view: AutoreleasingUnsafeMutablePointer<UIView>):void;
        /**
         * Asks the delegate if the popover should be dismissed.
         */
        popoverControllerShouldDismissPopover(popoverController: UIPopoverController):boolean;
        /**
         * Tells the delegate that the popover was dismissed.
         */
        popoverControllerDidDismissPopover(popoverController: UIPopoverController):void;
    }
    export interface UISearchDisplayDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the controller is about to begin searching.
         */
        searchDisplayControllerWillBeginSearch(controller: UISearchDisplayController):void;
        /**
         * Tells the delegate that the controller has started searching. 
         */
        searchDisplayControllerDidBeginSearch(controller: UISearchDisplayController):void;
        /**
         * Tells the delegate that the controller is about to end searching. 
         */
        searchDisplayControllerWillEndSearch(controller: UISearchDisplayController):void;
        /**
         * Tells the delegate that the controller has finished searching. 
         */
        searchDisplayControllerDidEndSearch(controller: UISearchDisplayController):void;
        /**
         * Tells the delegate that the controller has loaded its table view. 
         */
        searchDisplayController(controller: UISearchDisplayController, tableView: UITableView):void;
    }
    export interface UIViewControllerPreviewing extends NSObjectProtocol {
        /**
         * The rectangle, in the source view’s coordinate system, that responds to a 3D Touch by a user and remains visually sharp while surrounding content blurs.
         */
        sourceRect: CGRect;
        /**
         * A gesture recognizer suitable for setting up failure requirements for a preview’s (peek’s) gestures.
         */
        previewingGestureRecognizerForFailureRelationship: UIGestureRecognizer;
        /**
         * The previewing view controller's delegate for managing preview (peek) and commit (pop) view controllers.
         */
        delegate: UIViewControllerPreviewingDelegate;
        /**
         * A source view, in a previewing view controller’s view hierarchy, responds to a 3D Touch by the user.
         */
        sourceView: UIView;
    }
    export interface UIViewControllerPreviewingDelegate extends NSObjectProtocol {
        /**
         * Called when the user has pressed a source view in a previewing view controller, thereby obtaining a surrounding blur to indicate that a preview (peek) is available.
         */
        previewingContext(previewingContext: UIViewControllerPreviewing, location: CGPoint):UIViewController | null;
    }
    export enum UIStatusBarAnimation {
        none = 0,
        fade = 1,
        slide = 2,
    }
    export enum UIStatusBarStyle {
        default = 0,
        lightContent = 1,
        darkContent = 3,
    }
    export enum UIUserInterfaceSizeClass {
        unspecified = 0,
        compact = 1,
        regular = 2,
    }
    export enum UIDisplayGamut {
        unspecified = -1,
        SRGB = 0,
        P3 = 1,
    }
    export enum UIUserInterfaceStyle {
        unspecified = 0,
        light = 1,
        dark = 2,
    }
    export enum UIUserInterfaceLevel {
        unspecified = -1,
        base = 0,
        elevated = 1,
    }
    export enum UITraitEnvironmentLayoutDirection {
        unspecified = -1,
        leftToRight = 0,
        rightToLeft = 1,
    }
    export enum UIAccessibilityContrast {
        unspecified = -1,
        normal = 0,
        high = 1,
    }
    export enum UILegibilityWeight {
        unspecified = -1,
        regular = 0,
        bold = 1,
    }
    export enum UIUserInterfaceActiveAppearance {
        unspecified = -1,
        inactive = 0,
        active = 1,
    }
    export enum UINSToolbarItemPresentationSize {
        regular = 0,
        small = 1,
        large = 3,
        unspecified = -1,
    }
    export enum UIForceTouchCapability {
        unknown = 0,
        available = 2,
        unavailable = 1,
    }
    export interface UITraitEnvironment extends NSObjectProtocol {
        /**
         * The traits, such as the size class and scale factor, that describe the current environment of the object. 
         */
        traitCollection: UITraitCollection;
        /**
         * Called when the iOS interface environment changes.
         */
        traitCollectionDidChange(previousTraitCollection: UITraitCollection | null):void;
    }
    export interface UIAdaptivePresentationControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for the presentation style to use when the specified set of traits are active.
         */
        adaptivePresentationStyle(controller: UIPresentationController, traitCollection: UITraitCollection):UIModalPresentationStyle;
        /**
         * Asks the delegate for the view controller to display when adapting to the specified presentation style.
         */
        presentationController(controller: UIPresentationController, style: UIModalPresentationStyle):UIViewController | null;
        /**
         * Notifies the delegate that a user-initiated attempt to dismiss a view was prevented.
         */
        presentationControllerDidAttemptToDismiss(presentationController: UIPresentationController):void;
        /**
         * Asks the delegate for permission to dismiss the presentation.
         */
        presentationControllerShouldDismiss(presentationController: UIPresentationController):boolean;
        /**
         * Notifies the delegate after a presentation is dismissed.
         */
        presentationControllerDidDismiss(presentationController: UIPresentationController):void;
        /**
         * Notifies the delegate before a presentation is dismissed.
         */
        presentationControllerWillDismiss(presentationController: UIPresentationController):void;
    }
    export interface UIContentContainer extends NSObjectProtocol {
        /**
         * Notifies the container that the size of its view is about to change.
         */
        viewWillTransition(size: CGSize, coordinator: UIViewControllerTransitionCoordinator):void;
        /**
         * Notifies the container that its trait collection changed.
         */
        willTransition(newCollection: UITraitCollection, coordinator: UIViewControllerTransitionCoordinator):void;
        /**
         * Returns the size of the specified child view controller’s content.
         */
        size(container: UIContentContainer, parentSize: CGSize):CGSize;
        /**
         * Notifies an interested controller that the preferred content size of one of its children changed.
         */
        preferredContentSizeDidChange(container: UIContentContainer):void;
        /**
         * Notifies the container that a child view controller was resized using Auto Layout.
         */
        systemLayoutFittingSizeDidChange(container: UIContentContainer):void;
        /**
         * The preferred size for the container’s content.
         */
        preferredContentSize: CGSize;
    }
    export interface UIGuidedAccessRestrictionDelegate extends NSObjectProtocol {
        /**
         * An array of strings identifying custom restrictions.
         */
        guidedAccessRestrictionIdentifiers: string[] | null;
        /**
         * Provides a succinct description of the restriction for the specified identifier.
         */
        textForGuidedAccessRestriction(restrictionIdentifier: string):string;
        /**
         * Provides more detailed information about the restriction for the specified identifier.
         */
        detailTextForGuidedAccessRestriction(restrictionIdentifier: string):string;
        /**
         * Tells the delegate that the restriction associated with the identifier has changed state.
         */
        guidedAccessRestriction(restrictionIdentifier: string, newRestrictionState: UIAccessibility.GuidedAccessRestrictionState):void;
    }
    export enum UIBackgroundRefreshStatus {
        restricted = 0,
        denied = 1,
        available = 2,
    }
    export class UIManagedDocument extends UIDocument {
        /**
         * Returns the name for the persistent store file inside the document’s file package.
         */
        static persistentStoreName: string;
        /**
         * The document’s managed object context.
         */
        managedObjectContext: NSManagedObjectContext;
        /**
         * The document’s managed object model.
         */
        managedObjectModel: NSManagedObjectModel;
        /**
         * Options used when creating the document’s persistent store.
         */
        persistentStoreOptions: Record<AnyHashable, any> | null;
        /**
         * A model configuration name to be passed when configuring the persistent store.
         */
        modelConfiguration: string;
        /**
         * Creates or loads the document’s persistent store.
         */
        configurePersistentStoreCoordinator(storeURL: URL, fileType: string, configuration: string, storeOptions: Record<AnyHashable, any> | null):void;
        /**
         * Returns the Core Data store type for a given document file type.
         */
        persistentStoreType(fileType: string):string;
        /**
         * Handles reading non-Core Data content in the additional content directory in the document’s file package.
         */
        readAdditionalContent(absoluteURL: URL):void;
        /**
         * Handles writing non-Core Data content to the additional content directory in the document’s file package.
         */
        additionalContent(absoluteURL: URL):any;
        /**
         * Handles writing non-Core Data content to the document’s file package.
         */
        writeAdditionalContent(content: any, absoluteURL: URL, absoluteOriginalContentsURL: URL | null):void;
    }
    export interface UIDataSourceModelAssociation {
        /**
         * Returns the string that uniquely identifies the data at the specified location in the view.
         */
        modelIdentifierForElement(idx: IndexPath, view: UIView):string;
        /**
         * Returns the current index of the data object with the specified identifier.
         */
        indexPathForElement(identifier: string, view: UIView):IndexPath | null;
    }
    export class UIPasteControl extends UIControl {
        /**
         * The UI control that receives pasted content.
         */
        target: UIPasteConfigurationSupporting | null;
        /**
         * An object that customizes the look of the paste button.
         */
        configuration: UIPasteControl.Configuration;
        /**
         * Creates a paste button by deserializing the specified coder.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a paste button that conforms to the specified configuration.
         */
        constructor (configuration: UIPasteControl.Configuration);
        /**
         * Creates a paste button with the specified size and position.
         */
        constructor (frame: CGRect);
    }
    /**
     * the same name namespace of class UIPasteControl
     */
    export namespace UIPasteControl {
        export class Configuration extends NSObject {
            /**
             * A color for the paste button’s background.
             */
            baseBackgroundColor: UIColor | null;
            /**
             * A color for the paste button’s icon and text.
             */
            baseForegroundColor: UIColor | null;
            /**
             * A value that rounds the edges of a paste button.
             */
            cornerRadius: CGFloat;
            /**
             * A shape for the button among a predetermined set of templates.
             */
            cornerStyle: UIButton.Configuration.CornerStyle;
            /**
             * An option that determines whether the paste button composes an icon, textual label, or both.
             */
            displayMode: UIPasteControl.DisplayMode;
        }
        export enum DisplayMode {
            iconAndLabel = 0,
            iconOnly = 1,
            labelOnly = 2,
        }
    }
    export class UIBackgroundTaskIdentifier {
        /**
         * A token that indicates an invalid task request.
         */
        static invalid: UIBackgroundTaskIdentifier;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UIPasteConfiguration extends NSObject {
        /**
         * An array of UTI strings that specify the types accepted by the paste configuration.
         */
        acceptableTypeIdentifiers: string[];
        /**
         * Initializes a new paste configuration.
         */
        constructor ();
        /**
         * Initializes a new paste configuration with a specified array of acceptable UTIs.
         */
        constructor (acceptableTypeIdentifiers: string[]);
        /**
         * Initializes a new paste configuration with the UTIs declared as supported by a specified class.
         */
        constructor (aClass: NSItemProviderReading.Type);
        /**
         * Adds an array of UTI strings to a paste configuration, increasing the variety of types the paste configuration accepts.
         */
        addAcceptableTypeIdentifiers(acceptableTypeIdentifiers: string[]):void;
        /**
         * Expands the array of accepted UTIs for a paste configuration, based on those declared as supported by a specified class.
         */
        addTypeIdentifiers(aClass: NSItemProviderReading.Type):void;
    }
    export interface UIPasteConfigurationSupporting extends NSObjectProtocol {
        /**
         * The paste configuration associated with the responder object.
         */
        pasteConfiguration: UIPasteConfiguration | null;
        /**
         * Returns a Boolean value that determines whether the responder object can perform a paste operation using data provided by the item providers.
         */
        canPaste(itemProviders: NSItemProvider[]):boolean;
        /**
         * Performs a paste operation on the responder object.
         */
        paste(itemProviders: NSItemProvider[]):void;
    }
    export class UIStoryboard extends NSObject {
        /**
         * Creates and returns a storyboard object for the specified resource file. 
         */
        constructor (name: string, storyboardBundleOrNil: Bundle | null);
        /**
         * Creates the initial view controller and initializes it with the data from the storyboard.
         */
        instantiateInitialViewController():UIViewController | null;
        /**
         * Creates the view controller with the specified identifier and initializes it with the data from the storyboard.
         */
        instantiateViewController(identifier: string):UIViewController;
    }
    export class UIStoryboardSegue extends NSObject {
        /**
         * The source view controller for the segue.
         */
        source: UIViewController;
        /**
         * The destination view controller for the segue.
         */
        destination: UIViewController;
        /**
         * The identifier for the segue object.
         */
        identifier: string;
        /**
         * Initializes and returns a storyboard segue object for use in performing a segue.
         */
        constructor (identifier: string, source: UIViewController, destination: UIViewController);
        /**
         * Creates a segue that calls a block to perform the segue transition.
         */
        constructor (identifier: string, source: UIViewController, destination: UIViewController, performHandler: ()=>any);
        /**
         * Performs the visual transition for the segue.
         */
        perform():void;
    }
    export class UIStoryboardUnwindSegueSource extends NSObject {
        /**
         * The view controller being dismissed by the unwind segue.
         */
        source: UIViewController;
        /**
         * The action method associated with the unwind segue.
         */
        unwindAction: Selector;
        /**
         * The object that performed the unwind action.
         */
        sender: any;
    }
    export class UIImageAsset extends NSObject {
        /**
         * Creates a new image asset object.
         */
        constructor ();
        /**
         * Creates an image asset from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Registers an image with the specified trait collection.
         */
        register(image: UIImage, traitCollection: UITraitCollection):void;
        /**
         * Unregisters the image with the specified trait collection from the image asset.
         */
        unregister(traitCollection: UITraitCollection):void;
        /**
         * Unregisters the image with the specified image configuration details from the image asset.
         */
        unregisterImage(configuration: UIImage.Configuration):void;
        /**
         * Retrieves the variant of the image that best matches the specified trait collection.
         */
        image(traitCollection: UITraitCollection):UIImage;
    }
    export class NSDataAsset extends NSObject {
        /**
         * The raw data values in the data asset.
         */
        data: Data;
        /**
         * The name of the data set in the asset catalog.
         */
        name: NSDataAssetName;
        /**
         * The uniform type identifier for the data asset.
         */
        typeIdentifier: string;
        /**
         * Initializes and returns an object with a reference to the named data asset in an asset catalog.
         */
        constructor (name: NSDataAssetName);
        /**
         * Initializes and returns an object with a reference to the named data asset that’s in an asset catalog in the specified bundle.
         */
        constructor (name: NSDataAssetName, bundle: Bundle);
    }
    export class UINib extends NSObject {
        /**
         * Returns a nib object from the nib file in the specified bundle.
         */
        constructor (name: string, bundleOrNil: Bundle | null);
        /**
         * Creates a nib object from nib data stored in memory.
         */
        constructor (data: Data, bundleOrNil: Bundle | null);
        /**
         * Unarchives and instantiates the in-memory contents of the nib object’s nib file, creating a distinct object tree and set of top-level objects.
         */
        instantiate(ownerOrNil: any, optionsOrNil: Record<UINib.OptionsKey, any> | null):any[];
    }
    /**
     * the same name namespace of class UINib
     */
    export namespace UINib {
        export class OptionsKey {
            /**
             * The replacements for any proxy objects in the nib file.
             */
            static externalObjects: UINib.OptionsKey;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: string);
        }
    }
    export class UIDocumentPickerExtensionViewController extends UIViewController {
        /**
         * The document picker’s file-transfer operation. (read-only)
         */
        documentPickerMode: UIDocumentPickerMode;
        /**
         * The root URL for documents provided by the corresponding File Provider extension. (read-only)
         */
        documentStorageURL: URL | null;
        /**
         * The URL of the file to be exported. (read-only)
         */
        originalURL: URL | null;
        /**
         * An identifier shared by this Document Picker extension and its corresponding File Provider extension. (read-only)
         */
        providerIdentifier: string;
        /**
         * An array of valid uniform type identifiers.
         */
        validTypes: string[] | null;
        /**
         * Dismisses the document picker.
         */
        dismissGrantingAccess(url: URL | null):void;
        /**
         * Performs any custom configuration of the document picker view controller.
         */
        prepareForPresentation(mode: UIDocumentPickerMode):void;
    }
    export interface UIInputViewAudioFeedback extends NSObjectProtocol {
        /**
         * Specifies whether or not an input view enables input clicks.
         */
        enableInputClicksWhenVisible: boolean;
    }
    export enum UIUserInterfaceLayoutDirection {
        leftToRight = 0,
        rightToLeft = 1,
    }
    export interface UIUserActivityRestoring extends NSObjectProtocol {
        /**
         * Restores the state necessary to continue the specified user activity.
         */
        restoreUserActivityState(userActivity: NSUserActivity):void;
    }
    export class UIActivity extends NSObject {
        /**
         * The category of the activity, which may be used to group activities in the UI.
         */
        static activityCategory: UIActivity.Category;
        /**
         * The type of service being provided.
         */
        activityType: UIActivity.ActivityType | null;
        /**
         * A user-readable string that describes the service.
         */
        activityTitle: string;
        /**
         * An image that identifies the service to the user.
         */
        activityImage: UIImage | null;
        /**
         * The view controller to present to the user.
         */
        activityViewController: UIViewController | null;
        /**
         * Queries whether the service can act on the specified data items.
         */
        canPerform(activityItems: any[]):boolean;
        /**
         * Prepares your service to act on the specified data.
         */
        prepare(activityItems: any[]):void;
        /**
         * Performs the service when no custom view controller is provided.
         */
        perform():void;
        /**
         * Notifies the system that your activity object has completed its work.
         */
        activityDidFinish(completed: boolean):void;
    }
    /**
     * the same name namespace of class UIActivity
     */
    export namespace UIActivity {
        export enum Category {
            action = 0,
            share = 1,
        }
        export class ActivityType {
            /**
             * A type of activity that adds the URL to Safari’s reading list.
             */
            static addToReadingList: UIActivity.ActivityType;
            /**
             * A type of activity that makes the provided content available through AirDrop.
             */
            static airDrop: UIActivity.ActivityType;
            /**
             * A type of activity that assigns the image to a contact.
             */
            static assignToContact: UIActivity.ActivityType;
            static collaborationCopyLink: UIActivity.ActivityType;
            static collaborationInviteWithLink: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to the pasteboard.
             */
            static copyToPasteboard: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to a new email message.
             */
            static mail: UIActivity.ActivityType;
            /**
             * A type of activity that marks up the provided content as a PDF file.
             */
            static markupAsPDF: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to the Messages app.
             */
            static message: UIActivity.ActivityType;
            /**
             * A type of activity that opens the content in iBooks.
             */
            static openInIBooks: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to the user’s wall on Facebook.
             */
            static postToFacebook: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided image to the user’s Flickr account.
             */
            static postToFlickr: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to the user’s Tencent Weibo feed.
             */
            static postToTencentWeibo: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to the user’s Twitter feed.
             */
            static postToTwitter: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided video to the user’s Vimeo account.
             */
            static postToVimeo: UIActivity.ActivityType;
            /**
             * A type of activity that posts the provided content to the user’s Weibo feed.
             */
            static postToWeibo: UIActivity.ActivityType;
            /**
             * A type of activity that prints the provided content.
             */
            static print: UIActivity.ActivityType;
            /**
             * A type of activity that assigns the image or video to the user’s camera roll.
             */
            static saveToCameraRoll: UIActivity.ActivityType;
            /**
             * A type of activity that makes the provided content available through SharePlay.
             */
            static sharePlay: UIActivity.ActivityType;
            /**
             * Creates an activity type.
             */
            constructor (rawValue: string);
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: string);
        }
    }
    export class UIActivityViewController extends UIViewController {
        /**
         * The completion handler to execute after the activity view controller is dismissed.
         */
        completionWithItemsHandler: UIActivityViewController.CompletionWithItemsHandler | null;
        /**
         * The list of services that should not be displayed.
         */
        excludedActivityTypes: UIActivity.ActivityType[] | null;
        /**
         * The completion handler to execute after the activity view controller is dismissed.
         */
        completionHandler: UIActivityViewController.CompletionHandler | null;
        allowsProminentActivity: boolean;
        /**
         * Initializes a new activity view controller object that acts on the specified data. 
         */
        constructor (activityItems: any[], applicationActivities: UIActivity[] | null);
        /**
         * Initializes a new activity view controller object that acts on the specified configuration. 
         */
        constructor (activityItemsConfiguration: UIActivityItemsConfigurationReading);
    }
    export class UIActivityItemsConfiguration extends NSObject {
        /**
         * A local object that represents the configuration.
         */
        localObject: any;
        /**
         * A closure that provides metadata for the activity items.
         */
        metadataProvider: ()=>any | null;
        /**
         * A closure that provides metadata for each activity item.
         */
        perItemMetadataProvider: ()=>any | null;
        /**
         * A closure that provides application acitivites for the activity items.
         */
        applicationActivitiesProvider: ()=>any | null;
        /**
         * The types of interactions that the configuration supports.
         */
        supportedInteractions: UIActivityItemsConfigurationInteraction[];
        /**
         * A closure that provides previews for the activity items.
         */
        previewProvider: ()=>any | null;
        /**
         * Initializes and returns an activity items configuration with the specified objects.
         */
        constructor (objects: NSItemProviderWriting[]);
        /**
         * Initializes and returns an activity items configuration with the specified item providers.
         */
        constructor (itemProviders: NSItemProvider[]);
    }
    export class UIActivityItemsConfigurationMetadataKey {
        /**
         * A key for the title.
         */
        static title: UIActivityItemsConfigurationMetadataKey;
        /**
         * A key for the message body.
         */
        static messageBody: UIActivityItemsConfigurationMetadataKey;
        static linkPresentationMetadata: UIActivityItemsConfigurationMetadataKey;
        /**
         * Creates an activity items configuration metadata key.
         */
        constructor (rawValue: string);
        /**
         * Creates an activity items configuration metadata key with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class UIActivityItemsConfigurationInteraction {
        /**
         * The share interaction.
         */
        static share: UIActivityItemsConfigurationInteraction;
        /**
         * Creates an activity items configuration interaction.
         */
        constructor (rawValue: string);
        /**
         * Creates an activity items configuration interaction with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class UIActivityItemsConfigurationPreviewIntent {
        /**
         * A full-size preview image.
         */
        static fullSize: UIActivityItemsConfigurationPreviewIntent;
        /**
         * A thumbnail preview image.
         */
        static thumbnail: UIActivityItemsConfigurationPreviewIntent;
        /**
         * Creates a preview intent.
         */
        constructor (rawValue: string);
        /**
         * Creates a preview intent with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export interface UIActivityItemsConfigurationReading extends NSObjectProtocol {
        /**
         * The item providers for the configuration.
         */
        itemProvidersForActivityItemsConfiguration: NSItemProvider[];
        /**
         * The application activities, if any, for the configuration.
         */
        applicationActivitiesForActivityItemsConfiguration: UIActivity[] | null;
        /**
         * Returns the configuration for the specified metadata key.
         */
        activityItemsConfigurationMetadata(key: UIActivityItemsConfigurationMetadataKey):any;
        /**
         * Returns the configuration for a particular item for the specified metadata key.
         */
        activityItemsConfigurationMetadataForItem(index: number, key: UIActivityItemsConfigurationMetadataKey):any;
        /**
         * Returns a Boolean value that indicates whether the activity items configuration supports the specified type of interaction.
         */
        activityItemsConfigurationSupports(interaction: UIActivityItemsConfigurationInteraction):boolean;
        /**
         * Returns an activity items configuration preview for the specified item and preview size.
         */
        activityItemsConfigurationPreviewForItem(index: number, intent: UIActivityItemsConfigurationPreviewIntent, suggestedSize: CGSize):NSItemProvider | null;
    }
    export interface UIActivityItemSource extends NSObjectProtocol {
        /**
         * Returns the placeholder object for the data.
         */
        activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController):any;
        /**
         * Returns the data object to be acted upon.
         */
        activityViewController(activityViewController: UIActivityViewController, activityType: UIActivity.ActivityType | null):any;
        /**
         * Returns metadata to display in the preview header of the share sheet.
         */
        activityViewControllerLinkMetadata(activityViewController: UIActivityViewController):LPLinkMetadata | null;
    }
    export class UIActivityItemProvider extends Operation {
        /**
         * Generates and returns the actual data-bearing object.
         */
        item: any;
        /**
         * The placeholder object you specified at initialization time.
         */
        placeholderItem: any;
        /**
         * The type of the activity object that is expecting the data. 
         */
        activityType: UIActivity.ActivityType | null;
        /**
         * Initializes and returns a provider object with the specified placeholder data. 
         */
        constructor (placeholderItem: any);
    }
    export class NSUIViewToolbarItem extends NSToolbarItem {
        /**
         * The UIKit view to host in an AppKit toolbar.
         */
        uiView: UIView;
        /**
         * Creates a toolbar item with the identifier and underlying UIKit view you specify.
         */
        constructor (identifier: NSToolbarItem.Identifier, uiView: UIView);
    }
    export interface UIContentSizeCategoryAdjusting extends NSObjectProtocol {
        /**
         * A Boolean that indicates whether the object automatically updates its font when the device’s content size category changes.
         */
        adjustsFontForContentSizeCategory: boolean;
    }
    export class UIRemoteNotificationType {
        /**
         * The app accepts notifications that badge the app icon.
         */
        static badge: UIRemoteNotificationType;
        /**
         * The app accepts alert sounds as notifications.
         */
        static sound: UIRemoteNotificationType;
        /**
         * The app accepts alert messages as notifications.
         */
        static alert: UIRemoteNotificationType;
        /**
         * The app accepts notifications that start the downloading of issue assets for Newsstand apps.
         */
        static newsstandContentAvailability: UIRemoteNotificationType;
        constructor (rawValue: number);
    }
    export class UIHoverGestureRecognizer extends UIGestureRecognizer {}
    export class UIToolTipInteraction extends NSObject {
        /**
         * A Boolean value that indicates whether the tooltip interaction is in the enabled state.
         */
        isEnabled: boolean;
        /**
         * The text that appears in a tooltip by default.
         */
        defaultToolTip: string;
        /**
         * An object that provides text that a tooltip displays instead of the default text.
         */
        delegate: UIToolTipInteractionDelegate | null;
        /**
         * Creates a tooltip interaction object.
         */
        constructor ();
        /**
         * Creates a tooltip interaction object and sets the default tooltip text.
         */
        constructor (defaultToolTip: string);
    }
    export interface UIToolTipInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for a tooltip configuration that describes the tooltip settings.
         */
        toolTipInteraction(interaction: UIToolTipInteraction, point: CGPoint):UIToolTipConfiguration | null;
    }
    export class UIToolTipConfiguration extends NSObject {
        /**
         * The text to display in the tooltip.
         */
        toolTip: string;
        /**
         * The region of the view or control where the pointer must hover to trigger the appearance of the tooltip.
         */
        sourceRect: CGRect | null;
        /**
         * Creates a tooltip configuration and sets the tooltip text.
         */
        constructor (toolTip: string);
        /**
         * Creates a tooltip configuration, and sets the tooltip text and hover region within the view or control.
         */
        constructor (toolTip: string, sourceRect: CGRect);
    }
    export class UIView extends UIResponder {
        /**
         * Returns the class used to create the layer for instances of this class.
         */
        static layerClass: AnyClass;
        /**
         * A Boolean value that indicates whether the receiver depends on the constraint-based layout system.
         */
        static requiresConstraintBasedLayout: boolean;
        /**
         * Returns the inherited duration of the current animation.
         */
        static inheritedAnimationDuration: TimeInterval;
        /**
         * The option to use the smallest possible size.
         */
        static layoutFittingCompressedSize: CGSize;
        /**
         * The option to use the largest possible size.
         */
        static layoutFittingExpandedSize: CGSize;
        /**
         * The absence of an intrinsic metric for a given numeric view property.
         */
        static noIntrinsicMetric: CGFloat;
        /**
         * Returns a Boolean value indicating whether animations are enabled.
         */
        static areAnimationsEnabled: boolean;
        /**
         * The view’s background color.
         */
        backgroundColor: UIColor | null;
        /**
         * A Boolean value that determines whether the view is hidden.
         */
        isHidden: boolean;
        /**
         * The view’s alpha value.
         */
        alpha: CGFloat;
        /**
         * A Boolean value that determines whether the view is opaque.
         */
        isOpaque: boolean;
        /**
         * The first nondefault tint color value in the view’s hierarchy, ascending from and starting with the view itself.
         */
        tintColor: UIColor!;
        /**
         * The first non-default tint adjustment mode value in the view’s hierarchy, ascending from and starting with the view itself.
         */
        tintAdjustmentMode: UIView.TintAdjustmentMode;
        /**
         * A Boolean value that determines whether subviews are confined to the bounds of the view.
         */
        clipsToBounds: boolean;
        /**
         * A Boolean value that determines whether the view’s bounds should be automatically cleared before drawing.
         */
        clearsContextBeforeDrawing: boolean;
        /**
         * An optional view whose alpha channel is used to mask a view’s content.
         */
        mask: UIView | null;
        /**
         * The view’s Core Animation layer used for rendering.
         */
        layer: CALayer;
        /**
         * A Boolean value that determines whether user events are ignored and removed from the event queue.
         */
        isUserInteractionEnabled: boolean;
        /**
         * A Boolean value that indicates whether the view receives more than one touch at a time.
         */
        isMultipleTouchEnabled: boolean;
        /**
         * A Boolean value that indicates whether the receiver handles touch events exclusively.
         */
        isExclusiveTouch: boolean;
        /**
         * The frame rectangle, which describes the view’s location and size in its superview’s coordinate system.
         */
        frame: CGRect;
        /**
         * The bounds rectangle, which describes the view’s location and size in its own coordinate system.
         */
        bounds: CGRect;
        /**
         * The center point of the view's frame rectangle.
         */
        center: CGPoint;
        /**
         * Specifies the transform applied to the view, relative to the center of its bounds.
         */
        transform: CGAffineTransform;
        /**
         * The three-dimensional transform to apply to the view.
         */
        transform3D: CATransform3D;
        /**
         * The anchor point of the view’s bounds rectangle.
         */
        anchorPoint: CGPoint;
        /**
         * The receiver’s superview, or 
         *  if it has none.
         */
        superview: UIView | null;
        /**
         * The receiver’s immediate subviews.
         */
        subviews: UIView[];
        /**
         * The receiver’s window object, or 
         *  if it has none.
         */
        window: UIWindow | null;
        /**
         * The default spacing to use when laying out content in a view, taking into account the current language direction.
         */
        directionalLayoutMargins: NSDirectionalEdgeInsets;
        /**
         * The default spacing to use when laying out content in the view. 
         */
        layoutMargins: UIEdgeInsets;
        /**
         * A Boolean value indicating whether the current view also respects the margins of its superview. 
         */
        preservesSuperviewLayoutMargins: boolean;
        /**
         * The insets that you use to determine the safe area for this view.
         */
        safeAreaInsets: UIEdgeInsets;
        /**
         * The layout guide representing the portion of your view that is unobscured by bars and other content.
         */
        safeAreaLayoutGuide: UILayoutGuide;
        /**
         * A Boolean value indicating whether the view's layout margins are updated automatically to reflect the safe area.
         */
        insetsLayoutMarginsFromSafeArea: boolean;
        /**
         * The constraints held by the view.
         */
        constraints: NSLayoutConstraint[];
        /**
         * A layout anchor representing the bottom edge of the view’s frame.
         */
        bottomAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the horizontal center of the view’s frame.
         */
        centerXAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the vertical center of the view’s frame.
         */
        centerYAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the baseline for the topmost line of text in the view.
         */
        firstBaselineAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the height of the view’s frame.
         */
        heightAnchor: NSLayoutDimension;
        /**
         * A layout anchor representing the baseline for the bottommost line of text in the view.
         */
        lastBaselineAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the leading edge of the view’s frame.
         */
        leadingAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the left edge of the view’s frame.
         */
        leftAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the right edge of the view’s frame.
         */
        rightAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the top edge of the view’s frame.
         */
        topAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the trailing edge of the view’s frame.
         */
        trailingAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the width of the view’s frame.
         */
        widthAnchor: NSLayoutDimension;
        /**
         * The array of layout guide objects owned by this view.
         */
        layoutGuides: UILayoutGuide[];
        /**
         * A layout guide representing the view’s margins.
         */
        layoutMarginsGuide: UILayoutGuide;
        /**
         * A layout guide representing an area with a readable width within the view.
         */
        readableContentGuide: UILayoutGuide;
        /**
         * The natural size for the receiving view, considering only properties of the view itself.
         */
        intrinsicContentSize: CGSize;
        /**
         * The insets from the view’s frame that define its alignment rectangle.
         */
        alignmentRectInsets: UIEdgeInsets;
        /**
         * Returns a view used to satisfy first baseline constraints.
         */
        forFirstBaselineLayout: UIView;
        /**
         * Returns a view used to satisfy last baseline constraints.
         */
        forLastBaselineLayout: UIView;
        /**
         * A Boolean value that determines whether the constraints impacting the layout of the view incompletely specify the location of the view.
         */
        hasAmbiguousLayout: boolean;
        /**
         * A flag used to determine how a view lays out its content when its bounds change.
         */
        contentMode: UIView.ContentMode;
        /**
         * A Boolean value that determines whether the receiver automatically resizes its subviews when its bounds change.
         */
        autoresizesSubviews: boolean;
        /**
         * An integer bit mask that determines how the receiver resizes itself when its superview’s bounds change.
         */
        autoresizingMask: UIView.AutoresizingMask;
        /**
         * A Boolean value that determines whether the view’s autoresizing mask is translated into Auto Layout constraints.
         */
        translatesAutoresizingMaskIntoConstraints: boolean;
        /**
         * The user interface style adopted by the view and all of its subviews.
         */
        overrideUserInterfaceStyle: UIUserInterfaceStyle;
        /**
         * A semantic description of the view’s contents, used to determine whether the view should be flipped when switching between left-to-right and right-to-left layouts.
         */
        semanticContentAttribute: UISemanticContentAttribute;
        /**
         * The user interface layout direction appropriate for arranging the immediate content of the view.
         */
        effectiveUserInterfaceLayoutDirection: UIUserInterfaceLayoutDirection;
        /**
         * A layout guide that tracks the keyboard’s position in your app’s layout.
         */
        keyboardLayoutGuide: UIKeyboardLayoutGuide;
        /**
         * The array of interactions for the view.
         */
        interactions: UIInteraction[];
        /**
         * The scale factor applied to the view.
         */
        contentScaleFactor: CGFloat;
        /**
         * The gesture-recognizer objects currently attached to the view.
         */
        gestureRecognizers: UIGestureRecognizer[] | null;
        /**
         * A Boolean value that indicates whether the view is currently capable of being focused.
         */
        canBecomeFocused: boolean;
        /**
         * A Boolean value that indicates whether the item is currently focused.
         */
        isFocused: boolean;
        /**
         * The identifier of the focus group that this view belongs to.
         */
        focusGroupIdentifier: string;
        /**
         * The visual effect to apply when the view becomes focused.
         */
        focusEffect: UIFocusEffect | null;
        /**
         * The importance of the item within a focus group, used by the focus system to determine the group’s primary item.
         */
        focusGroupPriority: UIFocusGroupPriority;
        /**
         * The array of motion effects for the view.
         */
        motionEffects: UIMotionEffect[];
        maximumContentSizeCategory: UIContentSizeCategory | null;
        minimumContentSizeCategory: UIContentSizeCategory | null;
        appliedContentSizeCategoryLimitsDescription: string;
        /**
         * The identifier that determines whether the view supports state restoration.
         */
        restorationIdentifier: string;
        /**
         * An integer that you can use to identify view objects in your application.
         */
        tag: number;
        /**
         * A Boolean value indicating whether the view ignores an accessibility request to invert its colors.
         */
        accessibilityIgnoresInvertColors: boolean;
        /**
         * An image that represents the view in the large content viewer. 
         */
        largeContentImage: UIImage | null;
        /**
         * Insets to adjust the position of the view’s image so it appears centered in the large content viewer. 
         */
        largeContentImageInsets: UIEdgeInsets;
        /**
         * A string that describes the view in the large content viewer.
         */
        largeContentTitle: string;
        /**
         * A Boolean value that indicates whether the large content viewer scales the item’s image to a larger size.
         */
        scalesLargeContentImage: boolean;
        /**
         * A Boolean value that indicates whether to show the view in the large content viewer.
         */
        showsLargeContentViewer: boolean;
        /**
         * The type that specifies a view or view controller to use when displaying a live view in a Swift Playground.
         */
        playgroundLiveViewRepresentation: PlaygroundLiveViewRepresentation;
        /**
         * Initializes and returns a newly allocated view object with the specified frame rectangle.
         */
        constructor (frame: CGRect);
        constructor (coder: NSCoder);
        /**
         * Returns the user interface direction for the given semantic content attribute.
         */
        static userInterfaceLayoutDirection(attribute: UISemanticContentAttribute):UIUserInterfaceLayoutDirection;
        /**
         * Animate changes to one or more views using the specified duration, delay, options, and completion handler.
         */
        static animate(duration: TimeInterval, delay: TimeInterval, options: UIView.AnimationOptions, animations: ()=>any, completion: ()=>any | null):void;
        /**
         * Creates a transition animation for the specified container view.
         */
        static transition(view: UIView, duration: TimeInterval, options: UIView.AnimationOptions, animations: ()=>any | null, completion: ()=>any | null):void;
        /**
         * Creates an animation block object that can be used to set up keyframe-based animations for the current view.
         */
        static animateKeyframes(duration: TimeInterval, delay: TimeInterval, options: UIView.KeyframeAnimationOptions, animations: ()=>any, completion: ()=>any | null):void;
        /**
         * Specifies the timing and animation values for a single frame of a keyframe animation.
         */
        static addKeyframe(frameStartTime: number, frameDuration: number, animations: ()=>any):void;
        /**
         *  Performs a specified system-provided animation on one or more views, along with optional parallel animations that you define.
         */
        static perform(animation: UIView.SystemAnimation, views: UIView[], options: UIView.AnimationOptions, parallelAnimations: ()=>any | null, completion: ()=>any | null):void;
        /**
         * Disables a view transition animation.
         */
        static performWithoutAnimation(actionsWithoutAnimation: ()=>any):void;
        /**
         * Repeats the specified animations a specific number of times, optionally running the animation forward and backward.
         */
        static modifyAnimations(count: CGFloat, autoreverses: boolean, animations: ()=>any):void;
        /**
         * Marks the beginning of a begin/commit animation block.
         */
        static beginAnimations(animationID: string, context: UnsafeMutableRawPointer | null):void;
        /**
         * Marks the end of a begin/commit animation block and schedules the animations for execution.
         */
        static commitAnimations():void;
        /**
         * Sets the start time for the current animation block. 
         */
        static setAnimationStart(startDate: Date):void;
        /**
         * Sets whether animations are enabled.
         */
        static setAnimationsEnabled(enabled: boolean):void;
        /**
         * Sets the delegate for any animation messages.
         */
        static setAnimationDelegate(delegate: any):void;
        /**
         * Sets the message to send to the animation delegate when the animation starts.
         */
        static setAnimationWillStart(selector: Selector | null):void;
        /**
         * Sets the message to send to the animation delegate when animation stops.
         */
        static setAnimationDidStop(selector: Selector | null):void;
        /**
         * Sets the duration (measured in seconds) of the animations in an animation block.
         */
        static setAnimationDuration(duration: TimeInterval):void;
        /**
         * Sets the amount of time (in seconds) to wait before animating property changes within an animation block.
         */
        static setAnimationDelay(delay: TimeInterval):void;
        /**
         * Sets the curve to use when animating property changes within an animation block.
         */
        static setAnimationCurve(curve: UIView.AnimationCurve):void;
        /**
         * Sets the number of times animations within an animation block repeat. 
         */
        static setAnimationRepeatCount(repeatCount: Float):void;
        /**
         * Sets whether the animations within an animation block automatically reverse themselves. 
         */
        static setAnimationRepeatAutoreverses(repeatAutoreverses: boolean):void;
        /**
         * Sets whether the animation should begin playing from the current state.
         */
        static setAnimationBeginsFromCurrentState(fromCurrentState: boolean):void;
        /**
         * Sets a transition to apply to a view during an animation block.
         */
        static setAnimationTransition(transition: UIView.AnimationTransition, view: UIView, cache: boolean):void;
        /**
         * Adds a view to the end of the receiver’s list of subviews. 
         */
        addSubview(view: UIView):void;
        /**
         * Moves the specified subview so that it appears on top of its siblings.
         */
        bringSubviewToFront(view: UIView):void;
        /**
         * Moves the specified subview so that it appears behind its siblings.
         */
        sendSubviewToBack(view: UIView):void;
        /**
         * Unlinks the view from its superview and its window, and removes it from the responder chain.
         */
        removeFromSuperview():void;
        /**
         * Inserts a subview at the specified index.
         */
        insertSubview(view: UIView, index: number):void;
        /**
         * Exchanges the subviews at the specified indices. 
         */
        exchangeSubview(index1: number, index2: number):void;
        /**
         * Returns a Boolean value indicating whether the receiver is a subview of a given view or identical to that view.
         */
        isDescendant(view: UIView):boolean;
        /**
         * Tells the view that a subview was added.
         */
        didAddSubview(subview: UIView):void;
        /**
         * Tells the view that a subview is about to be removed.
         */
        willRemoveSubview(subview: UIView):void;
        /**
         * Tells the view that its superview is about to change to the specified superview.
         */
        willMove(newSuperview: UIView | null):void;
        /**
         * Tells the view that its superview changed. 
         */
        didMoveToSuperview():void;
        /**
         * Tells the view that its window object changed.
         */
        didMoveToWindow():void;
        /**
         * Notifies the view that the layout margins changed. 
         */
        layoutMarginsDidChange():void;
        /**
         * Called when the safe area of the view changes.
         */
        safeAreaInsetsDidChange():void;
        /**
         * Adds a constraint on the layout of the receiving view or its subviews.
         */
        addConstraint(constraint: NSLayoutConstraint):void;
        /**
         * Adds multiple constraints on the layout of the receiving view or its subviews.
         */
        addConstraints(constraints: NSLayoutConstraint[]):void;
        /**
         * Removes the specified constraint from the view.
         */
        removeConstraint(constraint: NSLayoutConstraint):void;
        /**
         * Removes the specified constraints from the view.
         */
        removeConstraints(constraints: NSLayoutConstraint[]):void;
        /**
         * Adds the specified layout guide to the view.
         */
        addLayoutGuide(layoutGuide: UILayoutGuide):void;
        /**
         * Removes the specified layout guide from the view.
         */
        removeLayoutGuide(layoutGuide: UILayoutGuide):void;
        /**
         * Returns the optimal size of the view based on its current constraints.
         */
        systemLayoutSizeFitting(targetSize: CGSize):CGSize;
        /**
         * Invalidates the view’s intrinsic content size.
         */
        invalidateIntrinsicContentSize():void;
        /**
         * Returns the priority with which a view resists being made smaller than its intrinsic size.
         */
        contentCompressionResistancePriority(axis: NSLayoutConstraint.Axis):UILayoutPriority;
        /**
         * Sets the priority with which a view resists being made smaller than its intrinsic size.
         */
        setContentCompressionResistancePriority(priority: UILayoutPriority, axis: NSLayoutConstraint.Axis):void;
        /**
         * Returns the priority with which a view resists being made larger than its intrinsic size.
         */
        contentHuggingPriority(axis: NSLayoutConstraint.Axis):UILayoutPriority;
        /**
         * Sets the priority with which a view resists being made larger than its intrinsic size.
         */
        setContentHuggingPriority(priority: UILayoutPriority, axis: NSLayoutConstraint.Axis):void;
        /**
         * Returns the view’s alignment rectangle for a given frame.
         */
        alignmentRect(frame: CGRect):CGRect;
        /**
         * Returns a view used to satisfy baseline constraints.
         */
        forBaselineLayout():UIView;
        /**
         * A Boolean value that determines whether the view’s constraints need updating.
         */
        needsUpdateConstraints():boolean;
        /**
         * Controls whether the view’s constraints need updating.
         */
        setNeedsUpdateConstraints():void;
        /**
         * Updates constraints for the view.
         */
        updateConstraints():void;
        /**
         * Updates the constraints for the receiving view and its subviews.
         */
        updateConstraintsIfNeeded():void;
        /**
         * Returns the constraints impacting the layout of the view for a given axis.
         */
        constraintsAffectingLayout(axis: NSLayoutConstraint.Axis):NSLayoutConstraint[];
        /**
         * Randomly changes the frame of a view with an ambiguous layout between the different valid values.
         */
        exerciseAmbiguityInLayout():void;
        /**
         * Asks the view to calculate and return the size that best fits the specified size.
         */
        sizeThatFits(size: CGSize):CGSize;
        /**
         * Resizes and moves the receiver view so it just encloses its subviews.
         */
        sizeToFit():void;
        /**
         * Lays out subviews.
         */
        layoutSubviews():void;
        /**
         * Invalidates the current layout of the receiver and triggers a layout update during the next update cycle.
         */
        setNeedsLayout():void;
        /**
         * Lays out the subviews immediately, if layout updates are pending.
         */
        layoutIfNeeded():void;
        /**
         * Adds an interaction to the view.
         */
        addInteraction(interaction: UIInteraction):void;
        /**
         * Removes an interaction from the view.
         */
        removeInteraction(interaction: UIInteraction):void;
        /**
         * Draws the receiver’s image within the passed-in rectangle.
         */
        draw(rect: CGRect):void;
        /**
         * Marks the receiver’s entire bounds rectangle as needing to be redrawn.
         */
        setNeedsDisplay():void;
        /**
         * Called by the system when the 
         *  property changes.
         */
        tintColorDidChange():void;
        /**
         * Returns a print formatter for the receiving view.
         */
        viewPrintFormatter():UIViewPrintFormatter;
        /**
         * Attaches a gesture recognizer to the view.
         */
        addGestureRecognizer(gestureRecognizer: UIGestureRecognizer):void;
        /**
         * Detaches a gesture recognizer from the receiving view.
         */
        removeGestureRecognizer(gestureRecognizer: UIGestureRecognizer):void;
        /**
         * Asks the view if the gesture recognizer should be allowed to continue tracking touch events.
         */
        gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Begins applying a motion effect to the view.
         */
        addMotionEffect(effect: UIMotionEffect):void;
        /**
         * Stops applying a motion effect to the view.
         */
        removeMotionEffect(effect: UIMotionEffect):void;
        /**
         * Encodes state-related information for the view.
         */
        encodeRestorableState(coder: NSCoder):void;
        /**
         * Decodes and restores state-related information for the view.
         */
        decodeRestorableState(coder: NSCoder):void;
        /**
         * Returns a snapshot view based on the contents of the current view.
         */
        snapshotView(afterUpdates: boolean):UIView | null;
        /**
         * Returns a snapshot view based on the specified contents of the current view, with stretchable insets.
         */
        resizableSnapshotView(rect: CGRect, afterUpdates: boolean, capInsets: UIEdgeInsets):UIView | null;
        /**
         * Renders a snapshot of the complete view hierarchy as visible onscreen into the current context.
         */
        drawHierarchy(rect: CGRect, afterUpdates: boolean):boolean;
        /**
         * Returns the view whose tag matches the specified value.
         */
        viewWithTag(tag: number):UIView | null;
        /**
         * Converts a point from the receiver’s coordinate system to that of the specified view.
         */
        convert(point: CGPoint, view: UIView | null):CGPoint;
        /**
         * Returns the farthest descendant of the receiver in the view hierarchy (including itself) that contains a specified point.
         */
        hitTest(point: CGPoint, event: UIEvent | null):UIView | null;
        /**
         * Returns a Boolean value indicating whether the receiver contains the specified point.
         */
        point(point: CGPoint, event: UIEvent | null):boolean;
        /**
         * Causes the view (or one of its embedded text fields) to resign the first responder status.
         */
        endEditing(force: boolean):boolean;
    }
    /**
     * the same name namespace of class UIView
     */
    export namespace UIView {
        export enum ContentMode {
            scaleToFill = 0,
            scaleAspectFit = 1,
            scaleAspectFill = 2,
            redraw = 3,
            center = 4,
            top = 5,
            bottom = 6,
            left = 7,
            right = 8,
            topLeft = 9,
            topRight = 10,
            bottomLeft = 11,
            bottomRight = 12,
        }
        export enum Invalidations {}
        export enum AnimationCurve {
            easeInOut = 0,
            easeIn = 1,
            easeOut = 2,
            linear = 3,
        }
        export class AnimationOptions {
            /**
             * Lay out subviews at commit time so that they are animated along with their parent.
             */
            static layoutSubviews: UIView.AnimationOptions;
            /**
             * Allow the user to interact with views while they are being animated.
             */
            static allowUserInteraction: UIView.AnimationOptions;
            /**
             * Start the animation from the current setting associated with an already in-flight animation.
             */
            static beginFromCurrentState: UIView.AnimationOptions;
            /**
             * Repeat the animation indefinitely.
             */
            static repeat: UIView.AnimationOptions;
            /**
             * Run the animation backwards and forwards (must be combined with the repeat option).
             */
            static autoreverse: UIView.AnimationOptions;
            /**
             * Force the animation to use the original duration value specified when the animation was submitted. 
             */
            static overrideInheritedDuration: UIView.AnimationOptions;
            /**
             * Force the animation to use the original curve value specified when the animation was submitted. 
             */
            static overrideInheritedCurve: UIView.AnimationOptions;
            /**
             * Animate the views by changing the property values dynamically and redrawing the view. 
             */
            static allowAnimatedContent: UIView.AnimationOptions;
            /**
             * Hide or show views during a view transition.
             */
            static showHideTransitionViews: UIView.AnimationOptions;
            /**
             * The option to not inherit the animation type or any options.
             */
            static overrideInheritedOptions: UIView.AnimationOptions;
            /**
             * Specify an ease-in ease-out curve, which causes the animation to begin slowly, accelerate through the middle of its duration, and then slow again before completing.
             */
            static curveEaseInOut: UIView.AnimationOptions;
            /**
             * An ease-in curve causes the animation to begin slowly, and then speed up as it progresses.
             */
            static curveEaseIn: UIView.AnimationOptions;
            /**
             * An ease-out curve causes the animation to begin quickly, and then slow as it completes.
             */
            static curveEaseOut: UIView.AnimationOptions;
            /**
             * A linear animation curve causes an animation to occur evenly over its duration.
             */
            static curveLinear: UIView.AnimationOptions;
            /**
             * A transition that flips a view around its vertical axis from left to right (the left side of the view moves toward the front and right side toward the back).
             */
            static transitionFlipFromLeft: UIView.AnimationOptions;
            /**
             * A transition that flips a view around its vertical axis from right to left (the right side of the view moves toward the front and left side toward the back).
             */
            static transitionFlipFromRight: UIView.AnimationOptions;
            /**
             * A transition that curls a view up from the bottom.
             */
            static transitionCurlUp: UIView.AnimationOptions;
            /**
             * A transition that curls a view down from the top.
             */
            static transitionCurlDown: UIView.AnimationOptions;
            /**
             * A transition that dissolves from one view to the next.
             */
            static transitionCrossDissolve: UIView.AnimationOptions;
            /**
             * A transition that flips a view around its horizontal axis from top to bottom (the top side of the view moves toward the front and the bottom side toward the back).
             */
            static transitionFlipFromTop: UIView.AnimationOptions;
            /**
             * A transition that flips a view around its horizontal axis from bottom to top (the bottom side of the view moves toward the front and the top side toward the back).
             */
            static transitionFlipFromBottom: UIView.AnimationOptions;
            /**
             * A frame rate of 30 frames per second.
             */
            static preferredFramesPerSecond30: UIView.AnimationOptions;
            /**
             * A frame rate of 60 frames per second.
             */
            static preferredFramesPerSecond60: UIView.AnimationOptions;
            constructor (rawValue: number);
        }
        export enum AnimationTransition {
            none = 0,
            flipFromLeft = 1,
            flipFromRight = 2,
            curlUp = 3,
            curlDown = 4,
        }
        export enum SystemAnimation {
            delete = 0,
        }
        export class KeyframeAnimationOptions {
            static layoutSubviews: UIView.KeyframeAnimationOptions;
            static allowUserInteraction: UIView.KeyframeAnimationOptions;
            static beginFromCurrentState: UIView.KeyframeAnimationOptions;
            static repeat: UIView.KeyframeAnimationOptions;
            static autoreverse: UIView.KeyframeAnimationOptions;
            static overrideInheritedDuration: UIView.KeyframeAnimationOptions;
            static overrideInheritedOptions: UIView.KeyframeAnimationOptions;
            static calculationModeLinear: UIView.KeyframeAnimationOptions;
            static calculationModeDiscrete: UIView.KeyframeAnimationOptions;
            static calculationModePaced: UIView.KeyframeAnimationOptions;
            static calculationModeCubic: UIView.KeyframeAnimationOptions;
            static calculationModeCubicPaced: UIView.KeyframeAnimationOptions;
            constructor (rawValue: number);
        }
        export enum TintAdjustmentMode {
            automatic = 0,
            normal = 1,
            dimmed = 2,
        }
        export class AutoresizingMask {
            /**
             * Resizing performed by expanding or shrinking a view in the direction of the left margin.
             */
            static flexibleLeftMargin: UIView.AutoresizingMask;
            /**
             * Resizing performed by expanding or shrinking a view’s width.
             */
            static flexibleWidth: UIView.AutoresizingMask;
            /**
             * Resizing performed by expanding or shrinking a view in the direction of the right margin.
             */
            static flexibleRightMargin: UIView.AutoresizingMask;
            /**
             * Resizing performed by expanding or shrinking a view in the direction of the top margin.
             */
            static flexibleTopMargin: UIView.AutoresizingMask;
            /**
             * Resizing performed by expanding or shrinking a view's height.
             */
            static flexibleHeight: UIView.AutoresizingMask;
            /**
             * Resizing performed by expanding or shrinking a view in the direction of the bottom margin.
             */
            static flexibleBottomMargin: UIView.AutoresizingMask;
            constructor (rawValue: number);
        }
    }
    export interface UIInteraction extends NSObjectProtocol {
        /**
         * The view that owns the interaction.
         */
        view: UIView | null;
        /**
         * Tells the interaction that a view added or removed it from the view's interactions array.
         */
        didMove(view: UIView | null):void;
        /**
         * Tells the interaction that a view will add or remove it from the view's interactions array.
         */
        willMove(view: UIView | null):void;
    }
    export interface UIViewInvalidating {
        /**
         * A change that invalidates a view’s configuration.
         */
        static configuration: UIView.Invalidations.Configuration;
        /**
         * A change that invalidates a view’s constraints.
         */
        static constraints: UIView.Invalidations.Constraints;
        /**
         * A change that requires the system to redraw a view’s content.
         */
        static display: UIView.Invalidations.Display;
        /**
         * A change that invalidates a view’s intrinsic size.
         */
        static intrinsicContentSize: UIView.Invalidations.IntrinsicContentSize;
        /**
         * A change that invalidates the layout of the containing view’s subviews.
         */
        static layout: UIView.Invalidations.Layout;
        /**
         * Indicates to the system that an aspect of a view is invalid and triggers the necessary update.
         */
        invalidate(view: UIView):void;
    }
    export class NSLayoutConstraint extends NSObject {}
    /**
     * the same name namespace of class NSLayoutConstraint
     */
    export namespace NSLayoutConstraint {
        export enum Axis {
            horizontal = 0,
            vertical = 1,
        }
    }
    export enum UISemanticContentAttribute {
        unspecified = 0,
        playback = 1,
        spatial = 2,
        forceLeftToRight = 3,
        forceRightToLeft = 4,
    }
    export class UICollectionView extends UIScrollView {
        /**
         * A supplementary view that identifies the footer for a given section.
         */
        static elementKindSectionFooter: string;
        /**
         * A supplementary view that identifies the header for a given section.
         */
        static elementKindSectionHeader: string;
        /**
         * The object that provides the data for the collection view.
         */
        dataSource: UICollectionViewDataSource | null;
        /**
         * A Boolean value that indicates whether cell and data prefetching are enabled.
         */
        isPrefetchingEnabled: boolean;
        /**
         * The object that acts as the prefetching data source for the collection view, receiving notifications of upcoming cell data requirements.
         */
        prefetchDataSource: UICollectionViewDataSourcePrefetching | null;
        /**
         * The object that acts as the delegate of the collection view.
         */
        delegate: UICollectionViewDelegate | null;
        /**
         * The view that provides the background appearance.
         */
        backgroundView: UIView | null;
        /**
         * The layout used to organize the collected view’s items. 
         */
        collectionViewLayout: UICollectionViewLayout;
        /**
         * The number of sections displayed by the collection view. 
         */
        numberOfSections: number;
        /**
         * An array of visible cells currently displayed by the collection view. 
         */
        visibleCells: UICollectionViewCell[];
        /**
         * The delegate object that manages the dragging of items from the collection view.
         */
        dragDelegate: UICollectionViewDragDelegate | null;
        /**
         * A Boolean value that indicates whether items were lifted from the collection view and have not yet been dropped.
         */
        hasActiveDrag: boolean;
        /**
         * A Boolean value that indicates whether the collection view supports dragging content.
         */
        dragInteractionEnabled: boolean;
        /**
         * The delegate object that manages the dropping of items into the collection view.
         */
        dropDelegate: UICollectionViewDropDelegate | null;
        /**
         * A Boolean value that indicates whether the collection view is currently tracking a drop session.
         */
        hasActiveDrop: boolean;
        /**
         * The speed at which items in the collection view are reordered to show potential drop locations.
         */
        reorderingCadence: UICollectionView.ReorderingCadence;
        /**
         * The index paths for the selected items.
         */
        indexPathsForSelectedItems: IndexPath[] | null;
        /**
         * A Boolean value that indicates whether users can select items in the collection view.
         */
        allowsSelection: boolean;
        /**
         * A Boolean value that determines whether users can select more than one item in the collection view.
         */
        allowsMultipleSelection: boolean;
        /**
         * A Boolean value that determines whether users can select cells while the collection view is in editing mode.
         */
        allowsSelectionDuringEditing: boolean;
        /**
         * A Boolean value that controls whether users can select more than one cell simultaneously in editing mode.
         */
        allowsMultipleSelectionDuringEditing: boolean;
        /**
         * A Boolean value that triggers an automatic selection when focus moves to a cell.
         */
        selectionFollowsFocus: boolean;
        /**
         * A Boolean value that determines whether the collection view is in editing mode.
         */
        isEditing: boolean;
        /**
         * An array of the visible items in the collection view.
         */
        indexPathsForVisibleItems: IndexPath[];
        /**
         * A Boolean value that indicates whether the collection view contains drop placeholders or is reordering its items as part of handling a drop.
         */
        hasUncommittedUpdates: boolean;
        /**
         * A Boolean value that determines whether the collection view allows its cells to become focused.
         */
        allowsFocus: boolean;
        /**
         * A Boolean value that determines whether the collection view allows its cells to become focused in edit mode.
         */
        allowsFocusDuringEditing: boolean;
        /**
         * A Boolean value that indicates whether the collection view automatically assigns the focus to the item at the last focused index path.
         */
        remembersLastFocusedIndexPath: boolean;
        /**
         * The collection view’s context menu interaction.
         */
        contextMenuInteraction: UIContextMenuInteraction | null;
        /**
         * The mode that the collection view uses for invalidating the size of self-sizing cells.
         */
        selfSizingInvalidation: UICollectionView.SelfSizingInvalidation;
        /**
         * Creates a collection view object with the specified frame and layout.
         */
        constructor (frame: CGRect, layout: UICollectionViewLayout);
        /**
         * Creates a collection view object from data in a given unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Registers a class for use in creating new collection view cells. 
         */
        register(cellClass: AnyClass | null, identifier: string):void;
        /**
         * Dequeues a reusable cell object located by its identifier.
         */
        dequeueReusableCell(identifier: string, indexPath: IndexPath):UICollectionViewCell;
        /**
         * Dequeues a reusable supplementary view located by its identifier and kind.
         */
        dequeueReusableSupplementaryView(elementKind: string, identifier: string, indexPath: IndexPath):UICollectionReusableView;
        /**
         * Changes the collection view’s layout and optionally animates the change.
         */
        setCollectionViewLayout(layout: UICollectionViewLayout, animated: boolean):void;
        /**
         * Changes the collection view’s current layout using an interactive transition effect. 
         */
        startInteractiveTransition(layout: UICollectionViewLayout, completion: UICollectionView.LayoutInteractiveTransitionCompletion | null):UICollectionViewTransitionLayout;
        /**
         * Tells the collection view to finish an interactive transition by installing the intended target layout. 
         */
        finishInteractiveTransition():void;
        /**
         * Tells the collection view to cancel an interactive transition and return to its original layout object.
         */
        cancelInteractiveTransition():void;
        /**
         * Fetches the count of items in the specified section.
         */
        numberOfItems(section: number):number;
        /**
         * Inserts new items at the specified index paths.
         */
        insertItems(indexPaths: IndexPath[]):void;
        /**
         * Moves an item from one location to another in the collection view.
         */
        moveItem(indexPath: IndexPath, newIndexPath: IndexPath):void;
        /**
         * Deletes the items at the specified index paths. 
         */
        deleteItems(indexPaths: IndexPath[]):void;
        /**
         * Inserts new sections at the specified indexes. 
         */
        insertSections(sections: IndexSet):void;
        /**
         * Moves a section from one location to another in the collection view. 
         */
        moveSection(section: number, newSection: number):void;
        /**
         * Deletes the sections at the specified indexes. 
         */
        deleteSections(sections: IndexSet):void;
        /**
         * Initiates the interactive movement of the item at the specified index path.
         */
        beginInteractiveMovementForItem(indexPath: IndexPath):boolean;
        /**
         * Updates the position of the item within the collection view’s bounds.
         */
        updateInteractiveMovementTargetPosition(targetPosition: CGPoint):void;
        /**
         * Ends interactive movement tracking and moves the target item to its new location.  
         */
        endInteractiveMovement():void;
        /**
         * Ends interactive movement tracking and returns the target item to its original location.
         */
        cancelInteractiveMovement():void;
        /**
         * Selects the item at the specified index path and optionally scrolls it into view.
         */
        selectItem(indexPath: IndexPath | null, animated: boolean, scrollPosition: UICollectionView.ScrollPosition):void;
        /**
         * Deselects the item at the specified index.
         */
        deselectItem(indexPath: IndexPath, animated: boolean):void;
        /**
         * Gets the index path of the item at the specified point in the collection view.
         */
        indexPathForItem(point: CGPoint):IndexPath | null;
        /**
         * Gets the index path of the specified cell. 
         */
        indexPath(cell: UICollectionViewCell):IndexPath | null;
        /**
         * Gets the cell object at the index path you specify.
         */
        cellForItem(indexPath: IndexPath):UICollectionViewCell | null;
        /**
         * Gets the index paths of all visible supplementary views of the specified type.
         */
        indexPathsForVisibleSupplementaryElements(elementKind: string):IndexPath[];
        /**
         * Gets the supplementary view at the specified index path.
         */
        supplementaryView(elementKind: string, indexPath: IndexPath):UICollectionReusableView | null;
        /**
         * Gets an array of the visible supplementary views of the specified kind.
         */
        visibleSupplementaryViews(elementKind: string):UICollectionReusableView[];
        /**
         * Gets the layout information for the item at the specified index path.
         */
        layoutAttributesForItem(indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Gets the layout information for the specified supplementary view.
         */
        layoutAttributesForSupplementaryElement(kind: string, indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Scrolls the collection view contents until the specified item is visible.
         */
        scrollToItem(indexPath: IndexPath, scrollPosition: UICollectionView.ScrollPosition, animated: boolean):void;
        /**
         * Animates multiple insert, delete, reload, and move operations as a group.
         */
        performBatchUpdates(updates: ()=>any | null, completion: ()=>any | null):void;
        /**
         * Updates the data for the items at the index paths you specify, preserving the existing cells for the items.
         */
        reconfigureItems(indexPaths: IndexPath[]):void;
        /**
         * Reloads all of the data for the collection view.
         */
        reloadData():void;
        /**
         * Reloads the data in the specified sections of the collection view.
         */
        reloadSections(sections: IndexSet):void;
        /**
         * Reloads just the items at the specified index paths.
         */
        reloadItems(indexPaths: IndexPath[]):void;
    }
    /**
     * the same name namespace of class UICollectionView
     */
    export namespace UICollectionView {
        export enum ReorderingCadence {
            immediate = 0,
            fast = 1,
            slow = 2,
        }
        export class ScrollPosition {
            /**
             * Scroll so that the item is positioned at the top of the collection view’s bounds.
             */
            static top: UICollectionView.ScrollPosition;
            /**
             * Scroll so that the item is centered vertically in the collection view.
             */
            static centeredVertically: UICollectionView.ScrollPosition;
            /**
             * Scroll so that the item is positioned at the bottom of the collection view’s bounds.
             */
            static bottom: UICollectionView.ScrollPosition;
            /**
             * Scroll so that the item is positioned at the left edge of the collection view’s bounds.
             */
            static left: UICollectionView.ScrollPosition;
            /**
             * Scroll so that the item is centered horizontally in the collection view.
             */
            static centeredHorizontally: UICollectionView.ScrollPosition;
            /**
             * Scroll so that the item is positioned at the right edge of the collection view’s bounds.
             */
            static right: UICollectionView.ScrollPosition;
            /**
             * Creates a scroll-position structure with the specified raw value.
             */
            constructor (rawValue: number);
        }
        export enum ScrollDirection {
            vertical = 0,
            horizontal = 1,
        }
        export enum ElementCategory {
            cell = 0,
            supplementaryView = 1,
            decorationView = 2,
        }
        export enum SelfSizingInvalidation {
            disabled = 0,
            enabled = 1,
            enabledIncludingConstraints = 2,
        }
    }
    export class UICollectionViewDiffableDataSourceReference extends NSObject {
        /**
         * The closure that configures and returns the collection view’s supplementary views, such as headers and footers, from the diffable data source.
         */
        supplementaryViewProvider: UICollectionViewDiffableDataSourceReferenceSupplementaryViewProvider | null;
        /**
         * The diffable data source’s handlers for reordering items.
         */
        reorderingHandlers: __UICollectionViewDiffableDataSourceReorderingHandlers;
        /**
         * The diffable data source’s handlers for expanding and collapsing items.
         */
        sectionSnapshotHandlers: __UICollectionViewDiffableDataSourceSectionSnapshotHandlers;
        /**
         * Creates a diffable data source with the specified cell provider, and connects it to the specified collection view.
         */
        constructor (collectionView: UICollectionView, cellProvider: UICollectionViewDiffableDataSourceReferenceCellProvider);
        /**
         * Returns an identifier for the item at the specified index path in the collection view.
         */
        itemIdentifier(indexPath: IndexPath):any;
        /**
         * Returns an index path for the item with the specified identifier in the collection view.
         */
        indexPath(identifier: any):IndexPath | null;
        /**
         * Returns an identifier for the section at the index you specify in the collection view.
         */
        sectionIdentifier(index: number):any;
        /**
         * Returns an index for the section with the identifier you specify in the collection view.
         */
        index(identifier: any):number;
        /**
         * Returns a representation of the current state of the data in the collection view.
         */
        snapshot():NSDiffableDataSourceSnapshotReference;
        /**
         * Updates the UI to reflect the state of the data in the snapshot, optionally animating the UI changes.
         */
        applySnapshot(snapshot: NSDiffableDataSourceSnapshotReference, animatingDifferences: boolean):void;
    }
    export interface UICollectionViewDataSource extends NSObjectProtocol {
        /**
         * Asks your data source object for the number of items in the specified section.
         */
        collectionView(collectionView: UICollectionView, section: number):number;
        /**
         * Asks your data source object for the number of sections in the collection view.
         */
        numberOfSections(collectionView: UICollectionView):number;
        /**
         * Asks the data source to return the titles for the index items to display for the collection view.
         */
        indexTitles(collectionView: UICollectionView):string[] | null;
    }
    export interface UICollectionViewDataSourcePrefetching extends NSObjectProtocol {
        /**
         * Tells your prefetch data source object to begin preparing data for the cells at the supplied index paths.
         */
        collectionView(collectionView: UICollectionView, indexPaths: IndexPath[]):void;
    }
    export interface UICollectionViewDelegate extends UIScrollViewDelegate {
        /**
         * Asks the delegate if the specified item should be selected. 
         */
        collectionView(collectionView: UICollectionView, indexPath: IndexPath):boolean;
        /**
         * Tells the delegate when the user stops using a two-finger pan gesture to select multiple items in a collection view.
         */
        collectionViewDidEndMultipleSelectionInteraction(collectionView: UICollectionView):void;
        /**
         * Asks the delegate for the index path of the cell that should be focused.
         */
        indexPathForPreferredFocusedView(collectionView: UICollectionView):IndexPath | null;
    }
    export interface UICollectionViewDragDelegate extends NSObjectProtocol {
        /**
         * Provides the initial set of items (if any) to drag.
         */
        collectionView(collectionView: UICollectionView, session: UIDragSession, indexPath: IndexPath):UIDragItem[];
    }
    export interface UICollectionViewDropDelegate extends NSObjectProtocol {
        /**
         * Asks your delegate whether the collection view can accept a drop with the specified type of data.
         */
        collectionView(collectionView: UICollectionView, session: UIDropSession):boolean;
    }
    export class UICollectionViewController extends UIViewController {
        /**
         * The collection view object managed by this view controller.
         */
        collectionView: UICollectionView!;
        /**
         * The layout object used to initialize the collection view controller.
         */
        collectionViewLayout: UICollectionViewLayout;
        /**
         * A Boolean value indicating if the controller clears the selection when the collection view appears.
         */
        clearsSelectionOnViewWillAppear: boolean;
        /**
         * A Boolean value indicating whether the collection view controller installs a standard gesture recognizer to drive the reordering process.
         */
        installsStandardGestureForInteractiveMovement: boolean;
        /**
         * A Boolean that indicates whether the collection view controller coordinates with a navigation controller for transitions. 
         */
        useLayoutToLayoutNavigationTransitions: boolean;
        /**
         * Initializes a collection view controller and configures the collection view with the provided layout.
         */
        constructor (layout: UICollectionViewLayout);
        /**
         * Returns a newly initialized view controller with the nib file in the specified bundle.
         */
        constructor (nibNameOrNil: string, nibBundleOrNil: Bundle | null);
        /**
         * Creates a collection view controller with the nib file in the specified bundle.
         */
        constructor (coder: NSCoder);
    }
    export enum UIBackgroundFetchResult {
        newData = 0,
        noData = 1,
        failed = 2,
    }
    export class NSDiffableDataSourceSnapshotReference extends NSObject {
        /**
         * The number of items in the snapshot.
         */
        numberOfItems: number;
        /**
         * The number of sections in the snapshot.
         */
        numberOfSections: number;
        /**
         * The identifiers of all of the items in the snapshot.
         */
        itemIdentifiers: any[];
        /**
         * The identifiers of all of the sections in the snapshot.
         */
        sectionIdentifiers: any[];
        /**
         * Identifies the items reconfigured by the changes to the snapshot.
         */
        reconfiguredItemIdentifiers: any[];
        /**
         * Identifies the items reloaded by the changes to the snapshot.
         */
        reloadedItemIdentifiers: any[];
        /**
         * Identifies the sections reloaded by the changes to the snapshot.
         */
        reloadedSectionIdentifiers: any[];
        /**
         * Adds the sections with the specified identifiers to the snapshot.
         */
        appendSections(sectionIdentifiers: any[]):void;
        /**
         * Adds the items with the specified identifiers to the specified section of the snapshot.
         */
        appendItems(identifiers: any[], sectionIdentifier: any):void;
        /**
         * Returns the index of the item in the snapshot with the specified identifier.
         */
        index(itemIdentifier: any):number;
        /**
         * Returns the identifiers of all of the items in the specified section of the snapshot.
         */
        itemIdentifiersInSection(sectionIdentifier: any):any[];
        /**
         * Returns the identifier of the section containing the specified item in the snapshot.
         */
        sectionIdentifier(itemIdentifier: any):any;
        /**
         * Inserts the provided items immediately after the item with the specified identifier in the snapshot.
         */
        insertItems(identifiers: any[], itemIdentifier: any):void;
        /**
         * Inserts the provided sections immediately after the section with the specified identifier in the snapshot.
         */
        insertSections(sectionIdentifiers: any[], toSectionIdentifier: any):void;
        /**
         * Deletes all of the items from the snapshot.
         */
        deleteAllItems():void;
        /**
         * Deletes the items with the specified identifiers from the snapshot.
         */
        deleteItems(identifiers: any[]):void;
        /**
         * Deletes the sections with the specified identifiers from the snapshot.
         */
        deleteSections(sectionIdentifiers: any[]):void;
        /**
         * Moves the item from its current position in the snapshot to the position immediately after the specified item.
         */
        moveItem(fromIdentifier: any, toIdentifier: any):void;
        /**
         * Moves the section from its current position in the snapshot to the position immediately after the specified section.
         */
        moveSection(fromSectionIdentifier: any, toSectionIdentifier: any):void;
        /**
         * Updates the data for the items you specify in the snapshot, preserving the existing cells for the items.
         */
        reconfigureItems(identifiers: any[]):void;
        /**
         * Reloads the data within the specified items in the snapshot.
         */
        reloadItems(identifiers: any[]):void;
        /**
         * Reloads the data within the specified sections of the snapshot.
         */
        reloadSections(sectionIdentifiers: any[]):void;
    }
    export class NSDiffableDataSourceSectionSnapshotReference extends NSObject {
        /**
         * The identifiers of all items in the section snapshot.
         */
        items: any[];
        /**
         * The identifiers of the items at the top level of the section snapshot’s hierarchy.
         */
        rootItems: any[];
        /**
         * The identifiers of the currently visible items in the section snapshot.
         */
        visibleItems: any[];
        /**
         * Creates an empty section snapshot.
         */
        constructor ();
        /**
         * Creates a section snapshot containing the child items of the specified parent item, excluding the parent item.
         */
        ofParentItem(parentItem: any):NSDiffableDataSourceSectionSnapshotReference;
        /**
         * Adds the specified items to the section snapshot.
         */
        appendItems(items: any[]):void;
        /**
         * Finds the index of the specified item in the section snapshot.
         */
        index(item: any):number;
        /**
         * Finds the hierarchical level of the specified item in the section snapshot. 
         */
        level(item: any):number;
        /**
         * Finds the parent item of the specified item in the section snapshot. 
         */
        parent(childItem: any):any;
        /**
         * Indicates whether the section snapshot contains the specified item.
         */
        containsItem(item: any):boolean;
        /**
         * Indicates whether the specified item is currently visible onscreen.
         */
        isVisible(item: any):boolean;
        /**
         * Inserts the provided items immediately after the item with the specified identifier in the section snapshot.
         */
        insertItems(items: any[], afterIdentifier: any):void;
        /**
         * Inserts the provided section snapshot immediately after the item with the specified identifier in the section snapshot.
         */
        insert(snapshot: NSDiffableDataSourceSectionSnapshotReference, item: any):any;
        /**
         * Deletes the items with the specified identifiers, and any of their child items, from the section snapshot.
         */
        deleteItems(items: any[]):void;
        /**
         * Deletes all of the items from the section snapshot. 
         */
        deleteAllItems():void;
        /**
         * Replaces all child items of the specified parent item with the provided section snapshot.
         */
        replaceChildren(parentItem: any, snapshot: NSDiffableDataSourceSectionSnapshotReference):void;
        /**
         * Indicates whether the item with the specified identifier is in an expanded state.
         */
        isExpanded(item: any):boolean;
        /**
         * Expands the specified items in the section snapshot.
         */
        expandItems(items: any[]):void;
        /**
         * Collapses the specified items in the section snapshot.
         */
        collapseItems(items: any[]):void;
        /**
         * The identifiers of all expanded items in the section snapshot.
         */
        expandedItems():any[];
        /**
         * Returns a string with an ASCII representation of the section snapshot.
         */
        visualDescription():string;
    }
    export class UIRefreshControl extends UIControl {
        /**
         * The tint color for the refresh control.
         */
        tintColor: UIColor!;
        /**
         * The styled title text to display in the refresh control.
         */
        attributedTitle: NSAttributedString | null;
        /**
         * A Boolean value indicating whether a refresh operation has been triggered and is in progress.
         */
        isRefreshing: boolean;
        /**
         * Initializes and returns a standard refresh control.
         */
        constructor ();
        /**
         * Tells the control that a refresh operation was started programmatically.
         */
        beginRefreshing():void;
        /**
         * Tells the control that a refresh operation has ended. 
         */
        endRefreshing():void;
    }
    export class UICollectionViewCell extends UICollectionReusableView {
        /**
         * The current background configuration of the cell.
         */
        backgroundConfiguration: UIBackgroundConfiguration | null;
        /**
         * A Boolean value that determines whether the cell automatically updates its background configuration when its state changes.
         */
        automaticallyUpdatesBackgroundConfiguration: boolean;
        /**
         * The view that displays behind the cell’s other content.
         */
        backgroundView: UIView | null;
        /**
         * The view that displays just above the background view for a selected cell. 
         */
        selectedBackgroundView: UIView | null;
        /**
         * The current content configuration of the cell.
         */
        contentConfiguration: UIContentConfiguration | null;
        /**
         * A Boolean value that determines whether the cell automatically updates its content configuration when its state changes.
         */
        automaticallyUpdatesContentConfiguration: boolean;
        /**
         * The main view that you add your cell’s custom content to.
         */
        contentView: UIView;
        /**
         * The current configuration state of the cell.
         */
        configurationState: UICellConfigurationState;
        /**
         * A block for handling updates to the cell’s configuration using the current state.
         */
        configurationUpdateHandler: UICollectionViewCell.ConfigurationUpdateHandler | null;
        /**
         * The selection state of the cell.
         */
        isSelected: boolean;
        /**
         * The highlight state of the cell.
         */
        isHighlighted: boolean;
        /**
         * Retrieves a background configuration with system default values.
         */
        defaultBackgroundConfiguration():UIBackgroundConfiguration;
        /**
         * Informs the cell to update its configuration for its current state.
         */
        setNeedsUpdateConfiguration():void;
        /**
         * Updates the cell’s configuration using the current state.
         */
        updateConfiguration(state: UICellConfigurationState):void;
        /**
         * Called when the drag state of the cell changes.
         */
        dragStateDidChange(dragState: UICollectionViewCell.DragState):void;
    }
    /**
     * the same name namespace of class UICollectionViewCell
     */
    export namespace UICollectionViewCell {
        export enum DragState {
            none = 0,
            lifting = 1,
            dragging = 2,
        }
    }
    export class UICollectionViewListCell extends UICollectionViewCell {
        /**
         * An array of the accessories that decorate the cell.
         */
        accessories: UICellAccessory[];
        /**
         * The level of indentation for the cell.
         */
        indentationLevel: number;
        /**
         * The width of an indentation level.
         */
        indentationWidth: CGFloat;
        /**
         * A Boolean value that detemines whether the cell indents accessories on the leading side.
         */
        indentsAccessories: boolean;
        /**
         * A guide for laying out separators in relation to the primary content in the cell.
         */
        separatorLayoutGuide: UILayoutGuide;
        /**
         * Retrieves a default list content configuration for the cell’s style.
         */
        defaultContentConfiguration():UIListContentConfiguration;
    }
    export class UICellAccessory {
        /**
         * The type of the cell accessory.
         */
        accessoryType: UICellAccessory.AccessoryType;
        /**
         * Creates a disclosure indicator system accessory with the specified display state and configuration options.
         */
        static disclosureIndicator(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.DisclosureIndicatorOptions):UICellAccessory;
        /**
         * Creates an outline disclosure system accessory with the specified display state, configuration options, and optional action handler.
         */
        static outlineDisclosure(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.OutlineDisclosureOptions, actionHandler: UICellAccessory.ActionHandler | null):UICellAccessory;
        /**
         * Creates a popup menu system accessory with the specified menu, display state, configuration options, and optional selection handler.
         */
        static popUpMenu(menu: UIMenu, displayed: UICellAccessory.DisplayedState, options: UICellAccessory.PopUpMenuOptions, selectedElementDidChangeHandler: UICellAccessory.MenuSelectedElementDidChangeHandler | null):UICellAccessory;
        /**
         * Creates a checkmark system accessory with the specified display state and configuration options.
         */
        static checkmark(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.CheckmarkOptions):UICellAccessory;
        /**
         * Creates a delete system accessory with the specified display state, configuration options, and optional action handler.
         */
        static delete(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.DeleteOptions, actionHandler: UICellAccessory.ActionHandler | null):UICellAccessory;
        /**
         * Creates an insert system accessory with the specified display state, configuration options, and optional action handler.
         */
        static insert(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.InsertOptions, actionHandler: UICellAccessory.ActionHandler | null):UICellAccessory;
        /**
         * Creates a reorder system accessory with the specified display state and configuration options.
         */
        static reorder(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.ReorderOptions):UICellAccessory;
        /**
         * Creates a multiselect system accessory with the specified display state and configuration options.
         */
        static multiselect(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.MultiselectOptions):UICellAccessory;
        /**
         * Creates a label system accessory with the specified text, display state, and configuration options.
         */
        static label(text: string, displayed: UICellAccessory.DisplayedState, options: UICellAccessory.LabelOptions):UICellAccessory;
        /**
         * Creates a detail system accessory with the specified display state, configuration options, and optional action handler.
         */
        static detail(displayed: UICellAccessory.DisplayedState, options: UICellAccessory.DetailOptions, actionHandler: UICellAccessory.ActionHandler | null):UICellAccessory;
        /**
         * Creates a custom view accessory.
         */
        static customView(configuration: UICellAccessory.CustomViewConfiguration):UICellAccessory;
    }
    /**
     * the same name namespace of class UICellAccessory
     */
    export namespace UICellAccessory {
        export class DisclosureIndicatorOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory.
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory. 
             */
            tintColor: UIColor | null;
            /**
             * Creates a disclosure indicator options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null);
        }
        export class OutlineDisclosureOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory. 
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory. 
             */
            tintColor: UIColor | null;
            /**
             * The style of the outline disclosure accessory.
             */
            style: UICellAccessory.OutlineDisclosureOptions.Style;
            /**
             * Creates an outline disclosure options structure.
             */
            constructor (style: UICellAccessory.OutlineDisclosureOptions.Style | null, isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null);
        }
        /**
         * the same name namespace of class OutlineDisclosureOptions
         */
        export namespace OutlineDisclosureOptions {
            export enum Style {
                automatic,
                cell,
                header,
            }
        }
        export class PopUpMenuOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory.
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within.
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * Creates a popup menu accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null);
        }
        export class CheckmarkOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory. 
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * Creates a checkmark accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null);
        }
        export class DeleteOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory. 
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * The background color to apply to the accessory.
             */
            backgroundColor: UIColor | null;
            /**
             * Creates a delete accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null, backgroundColor: UIColor | null);
        }
        export class InsertOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory. 
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * The background color to apply to the accessory.
             */
            backgroundColor: UIColor | null;
            /**
             * Creates an insert accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null, backgroundColor: UIColor | null);
        }
        export class ReorderOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory. 
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * A Boolean value that detemines whether a vertical separator displays before the accessory when it appears after another accessory.
             */
            showsVerticalSeparator: boolean;
            /**
             * Creates a reorder accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null, showsVerticalSeparator: boolean);
        }
        export class MultiselectOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory. 
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * The background color to apply to the accessory.
             */
            backgroundColor: UIColor | null;
            /**
             * Creates a multiselect accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null, backgroundColor: UIColor | null);
        }
        export class LabelOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory.
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within. 
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * The font for the label. 
             */
            font: UIFont;
            /**
             * A Boolean value that determines whether the label automatically adjusts its font according to the content size category.
             */
            adjustsFontForContentSizeCategory: boolean;
            /**
             * Creates a label accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null, font: UIFont | null, adjustsFontForContentSizeCategory: boolean);
        }
        export class DetailOptions {
            /**
             * A Boolean value that determines whether the cell hides the accessory.
             */
            isHidden: boolean;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within.
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * Creates a detail accessory options structure.
             */
            constructor (isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null);
        }
        export class CustomViewConfiguration {
            /**
             * A Boolean value that determines whether the cell hides the accessory.
             */
            isHidden: boolean;
            /**
             * The custom view to display for the accessory.
             */
            customView: UIView;
            /**
             * The placement for the accessory.
             */
            placement: UICellAccessory.Placement;
            /**
             * The layout width that the system reserves for the accessory, and then centers the accessory within.
             */
            reservedLayoutWidth: UICellAccessory.LayoutDimension;
            /**
             * The tint color to apply to the accessory.
             */
            tintColor: UIColor | null;
            /**
             * A Boolean value that detemines whether to preserve the frame size of the custom view.
             */
            maintainsFixedSize: boolean;
            /**
             * Creates a custom accessory options structure.
             */
            constructor (customView: UIView, placement: UICellAccessory.Placement, isHidden: boolean, reservedLayoutWidth: UICellAccessory.LayoutDimension | null, tintColor: UIColor | null, maintainsFixedSize: boolean);
        }
        export enum AccessoryType {
            disclosureIndicator,
            outlineDisclosure,
            popUpMenu,
            checkmark,
            delete,
            insert,
            reorder,
            multiselect,
            label,
            detail,
            customView,
        }
        export enum LayoutDimension {
            actual,
            standard,
            custom,
        }
        export enum Placement {
            leading,
            trailing,
        }
        export enum DisplayedState {
            always,
            whenEditing,
            whenNotEditing,
        }
    }
    export class UICollectionReusableView extends UIView {
        /**
         * A string that identifies the purpose of the view. 
         */
        reuseIdentifier: string;
        /**
         * Performs any clean up necessary to prepare the view for use again. 
         */
        prepareForReuse():void;
        /**
         * Gives the cell a chance to modify the attributes provided by the layout object.
         */
        preferredLayoutAttributesFitting(layoutAttributes: UICollectionViewLayoutAttributes):UICollectionViewLayoutAttributes;
        /**
         * Applies the specified layout attributes to the view. 
         */
        apply(layoutAttributes: UICollectionViewLayoutAttributes):void;
        /**
         * Tells your view that the layout object of the collection view is about to change. 
         */
        willTransition(oldLayout: UICollectionViewLayout, newLayout: UICollectionViewLayout):void;
        /**
         * Tells your view that the layout object of the collection view changed.
         */
        didTransition(oldLayout: UICollectionViewLayout, newLayout: UICollectionViewLayout):void;
    }
    export class UICollectionViewCompositionalLayout extends UICollectionViewLayout {
        /**
         * The layout’s configuration, such as its scroll direction and section spacing.
         */
        configuration: UICollectionViewCompositionalLayoutConfiguration;
        /**
         * Creates a compositional layout object with a single section.
         */
        constructor (section: NSCollectionLayoutSection);
        /**
         * Creates a compositional layout object with a single section and an additional configuration.
         */
        constructor (section: NSCollectionLayoutSection, configuration: UICollectionViewCompositionalLayoutConfiguration);
        /**
         * Creates a compositional layout object with a section provider to supply the layout's sections.
         */
        constructor (sectionProvider: UICollectionViewCompositionalLayoutSectionProvider);
        /**
         * Creates a compositional layout object with a section provider and an additional configuration.
         */
        constructor (sectionProvider: UICollectionViewCompositionalLayoutSectionProvider, configuration: UICollectionViewCompositionalLayoutConfiguration);
        /**
         * Creates a compositional layout that contains only list sections of the specified configuration.
         */
        static list(configuration: UICollectionLayoutListConfiguration):UICollectionViewCompositionalLayout;
    }
    export class UICollectionLayoutListConfiguration {
        /**
         * The overall appearance of the list. 
         */
        appearance: UICollectionLayoutListConfiguration.Appearance;
        /**
         * The background color of the list.
         */
        backgroundColor: UIColor | null;
        /**
         * A Boolean value that determines whether the list shows separators between cells.
         */
        showsSeparators: boolean;
        /**
         * The section's preferred configuration for list separators. 
         */
        separatorConfiguration: UIListSeparatorConfiguration;
        /**
         * The closure that provides granular control over the list separator appearance of each item.
         */
        itemSeparatorHandler: UICollectionLayoutListConfiguration.ItemSeparatorHandler | null;
        /**
         * The type of header to use for the list. 
         */
        headerMode: UICollectionLayoutListConfiguration.HeaderMode;
        /**
         * The type of footer to use for the list. 
         */
        footerMode: UICollectionLayoutListConfiguration.FooterMode;
        /**
         * The amount of padding above each section header. 
         */
        headerTopPadding: CGFloat | null;
        /**
         * The closure that provides the set of actions to display when swiping on the leading edge of the cell.
         */
        leadingSwipeActionsConfigurationProvider: UICollectionLayoutListConfiguration.SwipeActionsConfigurationProvider | null;
        /**
         * The closure that provides the set of actions to display when swiping on the trailing edge of the cell.
         */
        trailingSwipeActionsConfigurationProvider: UICollectionLayoutListConfiguration.SwipeActionsConfigurationProvider | null;
        /**
         * Creates a list layout configuration with the specified appearance.
         */
        constructor (appearance: UICollectionLayoutListConfiguration.Appearance);
    }
    /**
     * the same name namespace of class UICollectionLayoutListConfiguration
     */
    export namespace UICollectionLayoutListConfiguration {
        export enum Appearance {
            plain,
            grouped,
            insetGrouped,
            sidebar,
            sidebarPlain,
        }
        export enum HeaderMode {
            none,
            supplementary,
            firstItemInSection,
        }
        export enum FooterMode {
            none,
            supplementary,
        }
    }
    export enum UIInterfaceOrientation {
        unknown = 0,
        portrait = 1,
        portraitUpsideDown = 2,
        landscapeLeft = 4,
        landscapeRight = 3,
    }
    export class UIListSeparatorConfiguration {
        /**
         * A constant that specifies a placeholder size for separator insets.
         */
        static automaticInsets: NSDirectionalEdgeInsets;
        /**
         * The visibility of the top separator for the item the configuration applies to.
         */
        topSeparatorVisibility: UIListSeparatorConfiguration.Visibility;
        /**
         * The visibility of the bottom separator for the item the configuration applies to.
         */
        bottomSeparatorVisibility: UIListSeparatorConfiguration.Visibility;
        /**
         * Insets to apply to the top separator of the item the configuration applies to.
         */
        topSeparatorInsets: NSDirectionalEdgeInsets;
        /**
         * Insets to apply to the bottom separator of the item the configuration applies to.
         */
        bottomSeparatorInsets: NSDirectionalEdgeInsets;
        /**
         * The color to use for the separators of the item the configuration applies to.
         */
        color: UIColor;
        /**
         * The color to use for the separators of the item the configuration applies to when the item is in a multiple-selection group.
         */
        multipleSelectionColor: UIColor;
        /**
         * The visual effect to use for the separators of the item the configuration applies to.
         */
        visualEffect: UIVisualEffect | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * Creates a list separator configuration with default values according to the specified list appearance.
         */
        constructor (listAppearance: UICollectionLayoutListConfiguration.Appearance);
        /**
         * Hashes the essential components of the list separator configuration by feeding them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UIListSeparatorConfiguration
     */
    export namespace UIListSeparatorConfiguration {
        export enum Visibility {
            automatic,
            hidden,
            visible,
        }
    }
    export class NSCollectionLayoutItem extends NSObject {
        /**
         * The item's size expressed in width and height dimensions.
         */
        layoutSize: NSCollectionLayoutSize;
        /**
         * An array of the supplementary items attached to the item.
         */
        supplementaryItems: NSCollectionLayoutSupplementaryItem[];
        /**
         * The amount of space added around the boundaries of the item between other items and this item's container.
         */
        edgeSpacing: NSCollectionLayoutEdgeSpacing | null;
        /**
         * The amount of space added around the content of the item to adjust its final size after its position is computed.
         */
        contentInsets: NSDirectionalEdgeInsets;
        /**
         * Creates an item of the specified size.
         */
        constructor (layoutSize: NSCollectionLayoutSize);
        /**
         * Creates an item of the specified size with an array of supplementary items to attach to the item.
         */
        constructor (layoutSize: NSCollectionLayoutSize, supplementaryItems: NSCollectionLayoutSupplementaryItem[]);
    }
    export class NSCollectionLayoutGroup extends NSCollectionLayoutItem {
        /**
         * An array of the items contained in the group.
         */
        subitems: NSCollectionLayoutItem[];
        /**
         * An array of the supplementary items that are anchored to the group.
         */
        supplementaryItems: NSCollectionLayoutSupplementaryItem[];
        /**
         * The amount of space between the items in the group.
         */
        interItemSpacing: NSCollectionLayoutSpacing | null;
        /**
         * Creates a group of the specified size, containing an array of items arranged in a horizontal line.
         */
        static horizontal(layoutSize: NSCollectionLayoutSize, subitems: NSCollectionLayoutItem[]):Self;
        /**
         * Creates a group of the specified size, containing an array of items arranged in a vertical line.
         */
        static vertical(layoutSize: NSCollectionLayoutSize, subitems: NSCollectionLayoutItem[]):Self;
        /**
         * Creates a group of the specified size, with an item provider that creates a custom arrangement for those items.
         */
        static custom(layoutSize: NSCollectionLayoutSize, itemProvider: NSCollectionLayoutGroupCustomItemProvider):Self;
        /**
         * Creates a group that repeats the specified subitem a certain number of times along the horizontal axis.
         */
        static horizontalGroup(size: NSCollectionLayoutSize, subitem: NSCollectionLayoutItem, count: number):NSCollectionLayoutGroup;
        /**
         * Creates a group that repeats the specified subitem a certain number of times along the vertical axis.
         */
        static verticalGroup(size: NSCollectionLayoutSize, subitem: NSCollectionLayoutItem, count: number):NSCollectionLayoutGroup;
        /**
         * Returns a string with an ASCII representation of the group.
         */
        visualDescription():string;
    }
    export class NSCollectionLayoutSection extends NSObject {
        /**
         * The section’s scrolling behavior in relation to the main layout axis.
         */
        orthogonalScrollingBehavior: UICollectionLayoutSectionOrthogonalScrollingBehavior;
        /**
         * The amount of space between the groups in the section.
         */
        interGroupSpacing: CGFloat;
        /**
         * The amount of space between the content of the section and its boundaries.
         */
        contentInsets: NSDirectionalEdgeInsets;
        /**
         * The boundary to reference when defining content insets.
         */
        contentInsetsReference: UIContentInsetsReference;
        /**
         * The reference boundary for content insets on boundary supplementary items.
         */
        supplementaryContentInsetsReference: UIContentInsetsReference;
        /**
         * An array of the supplementary items that are associated with the boundary edges of the section, such as headers and footers.
         */
        boundarySupplementaryItems: NSCollectionLayoutBoundarySupplementaryItem[];
        /**
         * An array of the decoration items that are anchored to the section, such as background decoration views.
         */
        decorationItems: NSCollectionLayoutDecorationItem[];
        /**
         * A closure called before each layout cycle to allow modification of the items in the section immediately before they’re displayed.
         */
        visibleItemsInvalidationHandler: NSCollectionLayoutSectionVisibleItemsInvalidationHandler | null;
        /**
         * A Boolean value that indicates whether the section’s supplementary items follow the specified content insets for the section.
         */
        supplementariesFollowContentInsets: boolean;
        /**
         * Creates a section containing the specified group.
         */
        constructor (group: NSCollectionLayoutGroup);
        /**
         * Creates a list section with the specified list configuration and layout environment.
         */
        static list(configuration: UICollectionLayoutListConfiguration, layoutEnvironment: NSCollectionLayoutEnvironment):NSCollectionLayoutSection;
    }
    export enum UIContentInsetsReference {
        automatic = 0,
        none = 1,
        safeArea = 2,
        layoutMargins = 3,
        readableContent = 4,
    }
    export class NSCollectionLayoutDimension extends NSObject {
        /**
         * The floating-point value of the dimension.
         */
        dimension: CGFloat;
        /**
         * A Boolean value that indicates whether the dimension is expressed as an absolute value.
         */
        isAbsolute: boolean;
        /**
         * A Boolean value that indicates whether the dimension is expressed as an estimated value.
         */
        isEstimated: boolean;
        /**
         * A Boolean value that indicates whether the dimension is expressed as a fraction of its container's height.
         */
        isFractionalHeight: boolean;
        /**
         * A Boolean value that indicates whether the dimension is expressed as a fraction of its container's width.
         */
        isFractionalWidth: boolean;
        /**
         * Creates a dimension with an absolute point value.
         */
        static absolute(absoluteDimension: CGFloat):Self;
        /**
         * Creates a dimension with an estimated point value.
         */
        static estimated(estimatedDimension: CGFloat):Self;
        /**
         * Creates a dimension that is computed as a fraction of the height of the containing group.
         */
        static fractionalHeight(fractionalHeight: CGFloat):Self;
        /**
         * Creates a dimension that is computed as a fraction of the width of the containing group.
         */
        static fractionalWidth(fractionalWidth: CGFloat):Self;
    }
    export class NSCollectionLayoutSize extends NSObject {
        /**
         * The width dimension of an item in a collection view layout.
         */
        widthDimension: NSCollectionLayoutDimension;
        /**
         * The height dimension of an item in a collection view layout.
         */
        heightDimension: NSCollectionLayoutDimension;
        /**
         * Creates a size with the specified width and height dimensions.
         */
        constructor (width: NSCollectionLayoutDimension, height: NSCollectionLayoutDimension);
    }
    export class NSCollectionLayoutSpacing extends NSObject {
        /**
         * The floating-point value of the space.
         */
        spacing: CGFloat;
        /**
         * A Boolean value that indicates whether the space is fixed to a specific number of points.
         */
        isFixed: boolean;
        /**
         * A Boolean value that indicates whether the space is flexible.
         */
        isFlexible: boolean;
        /**
         * Creates a space equivalent to the specified number of points.
         */
        static fixed(fixedSpacing: CGFloat):Self;
        /**
         * Creates a space equivalent to or greater than the specified number of points, depending on the available space.
         */
        static flexible(flexibleSpacing: CGFloat):Self;
    }
    export class NSCollectionLayoutEdgeSpacing extends NSObject {
        /**
         * The leading edge spacing value.
         */
        leading: NSCollectionLayoutSpacing | null;
        /**
         * The top edge spacing value.
         */
        top: NSCollectionLayoutSpacing | null;
        /**
         * The trailing edge spacing value.
         */
        trailing: NSCollectionLayoutSpacing | null;
        /**
         * The bottom edge spacing value.
         */
        bottom: NSCollectionLayoutSpacing | null;
        /**
         * Creates an edge spacing object with the specified leading, top, trailing, and bottom spacing.
         */
        constructor (leading: NSCollectionLayoutSpacing | null, top: NSCollectionLayoutSpacing | null, trailing: NSCollectionLayoutSpacing | null, bottom: NSCollectionLayoutSpacing | null);
    }
    export interface NSCollectionLayoutContainer extends NSObjectProtocol {
        /**
         * The size of the container before content insets are applied.
         */
        contentSize: CGSize;
        /**
         * The size of the container after content insets are applied.
         */
        effectiveContentSize: CGSize;
        /**
         * The amount of space added around the content of the container to adjust its final size.
         */
        contentInsets: NSDirectionalEdgeInsets;
        /**
         * The amount of space added around the content of the container to adjust its final size after item content insets are applied.
         */
        effectiveContentInsets: NSDirectionalEdgeInsets;
    }
    export class UICollectionViewCompositionalLayoutConfiguration extends NSObject {
        /**
         * The axis that the content in the collection view layout scrolls along.
         */
        scrollDirection: UICollectionView.ScrollDirection;
        /**
         * The amount of space between the sections in the layout.
         */
        interSectionSpacing: CGFloat;
        /**
         * The boundary to reference when defining content insets. 
         */
        contentInsetsReference: UIContentInsetsReference;
        /**
         * An array of the supplementary items that are associated with the boundary edges of the entire layout, such as global headers and footers. 
         */
        boundarySupplementaryItems: NSCollectionLayoutBoundarySupplementaryItem[];
    }
    export interface NSCollectionLayoutEnvironment extends NSObjectProtocol {
        /**
         * Information about the layout's container, such as its size and content insets.
         */
        container: NSCollectionLayoutContainer;
        /**
         * The traits that describe the current environment of the layout, such as the size classes and display scale factor.
         */
        traitCollection: UITraitCollection;
    }
    export enum UICollectionLayoutSectionOrthogonalScrollingBehavior {
        none = 0,
        continuous = 1,
        continuousGroupLeadingBoundary = 2,
        paging = 3,
        groupPaging = 4,
        groupPagingCentered = 5,
    }
    export class NSCollectionLayoutAnchor extends NSObject {
        /**
         * The edges of the item an anchor is attached to.
         */
        edges: NSDirectionalRectEdge;
        /**
         * The floating-point value of the anchor's offset from the item it's attached to.
         */
        offset: CGPoint;
        /**
         * A Boolean value that indicates whether the anchor's offset is expressed as an absolute value.
         */
        isAbsoluteOffset: boolean;
        /**
         * A Boolean value that indicates whether the anchor's offset is expressed as a fraction of its supplementary item's dimension.
         */
        isFractionalOffset: boolean;
        /**
         * Creates an anchor with the specified edges to attach to.
         */
        constructor (edges: NSDirectionalRectEdge);
        /**
         * Creates an anchor with the specified edges to attach to, offset by the provided absolute value.
         */
        constructor (edges: NSDirectionalRectEdge, absoluteOffset: CGPoint);
        /**
         * Creates an anchor with the specified edges to attach to, offset by the provided fractional value.
         */
        constructor (edges: NSDirectionalRectEdge, fractionalOffset: CGPoint);
    }
    export class NSCollectionLayoutSupplementaryItem extends NSCollectionLayoutItem {
        /**
         * The anchor between the supplementary item and the item it's attached to.
         */
        itemAnchor: NSCollectionLayoutAnchor | null;
        /**
         * The anchor between the supplementary item and the container it's attached to.
         */
        containerAnchor: NSCollectionLayoutAnchor;
        /**
         * A string that identifies the type of supplementary item.
         */
        elementKind: string;
        /**
         * The vertical stacking order of the supplementary item in relation to other items in the section.
         */
        zIndex: number;
        /**
         * Creates a supplementary item of the specified size and element kind, with an anchor relative to a container.
         */
        constructor (layoutSize: NSCollectionLayoutSize, elementKind: string, containerAnchor: NSCollectionLayoutAnchor);
        /**
         * Creates a supplementary item of the specified size and element kind, an anchor relative to a container, and an anchor relative to an item.
         */
        constructor (layoutSize: NSCollectionLayoutSize, elementKind: string, containerAnchor: NSCollectionLayoutAnchor, itemAnchor: NSCollectionLayoutAnchor);
    }
    export class NSCollectionLayoutBoundarySupplementaryItem extends NSCollectionLayoutSupplementaryItem {
        /**
         * A Boolean value that indicates whether a header or footer is pinned to the top or bottom visible boundary of the section or layout it’s attached to.
         */
        pinToVisibleBounds: boolean;
        /**
         * The floating-point value of the boundary supplementary item’s offset from the section or layout it’s attached to.
         */
        offset: CGPoint;
        /**
         * The alignment of the boundary supplementary item relative to the section or layout it’s attached to.
         */
        alignment: NSRectAlignment;
        /**
         * A Boolean value that indicates whether a boundary supplementary item extends the content area of the section or layout it’s attached to.
         */
        extendsBoundary: boolean;
        /**
         * Creates a boundary supplementary item of the specified size and element kind, with an alignment relative to a section or layout.
         */
        constructor (layoutSize: NSCollectionLayoutSize, elementKind: string, alignment: NSRectAlignment);
        /**
         * Creates a boundary supplementary item of the specified size and element kind, with an alignment relative to a section or layout at an absolute offset.
         */
        constructor (layoutSize: NSCollectionLayoutSize, elementKind: string, alignment: NSRectAlignment, absoluteOffset: CGPoint);
    }
    export class NSCollectionLayoutDecorationItem extends NSCollectionLayoutItem {
        /**
         * A string that identifies the type of decoration item.
         */
        elementKind: string;
        /**
         * The vertical stacking order of the decoration item in relation to other items in the section.
         */
        zIndex: number;
        /**
         * Creates a section background with a string to identify the element kind.
         */
        static background(elementKind: string):Self;
    }
    export class NSCollectionLayoutGroupCustomItem extends NSObject {
        /**
         * The frame of the custom item. 
         */
        frame: CGRect;
        /**
         * The vertical stacking order of the custom item in relation to other items in the group.
         */
        zIndex: number;
        /**
         * Creates a custom item with the specified frame.
         */
        constructor (frame: CGRect);
        /**
         * Creates a custom item with the specified frame and vertical stacking order in relation to other items in the group.
         */
        constructor (frame: CGRect, zIndex: number);
    }
    export interface NSCollectionLayoutVisibleItem extends NSObjectProtocol,UIDynamicItem {
        /**
         * The name of the item.
         */
        name: string;
        /**
         * A string that identifies the type of item.
         */
        representedElementKind: string;
        /**
         * A category that identifies the item, such as decoration or supplementary view.
         */
        representedElementCategory: UICollectionView.ElementCategory;
        /**
         * The index path of the item.
         */
        indexPath: IndexPath;
        /**
         * The transparency of the item.
         */
        alpha: CGFloat;
        /**
         * A Boolean value that determines whether the item is hidden.
         */
        isHidden: boolean;
        /**
         * The frame rectangle, which describes the item's location and size in its section's coordinate system.
         */
        frame: CGRect;
        /**
         * The bounds rectangle, which describes the item's location and size in its own coordinate system.
         */
        bounds: CGRect;
        /**
         * The center point of the item's frame rectangle.
         */
        center: CGPoint;
        /**
         * The transform applied to the item, relative to the center of its bounds.
         */
        transform: CGAffineTransform;
        /**
         * The 3D transform applied to the item.
         */
        transform3D: CATransform3D;
        /**
         * The vertical stacking order of the item in relation to other items in the section.
         */
        zIndex: number;
    }
    export class UICollectionViewUpdateItem extends NSObject {
        /**
         * The index path of the item before the update.
         */
        indexPathBeforeUpdate: IndexPath | null;
        /**
         * The index path of the item after the update.
         */
        indexPathAfterUpdate: IndexPath | null;
        /**
         * The action being performed on the item.
         */
        updateAction: UICollectionViewUpdateItem.Action;
    }
    /**
     * the same name namespace of class UICollectionViewUpdateItem
     */
    export namespace UICollectionViewUpdateItem {
        export enum Action {
            none = 4,
            insert = 0,
            delete = 1,
            reload = 2,
            move = 3,
        }
    }
    export class UICollectionViewFocusUpdateContext extends UIFocusUpdateContext {
        /**
         * The index path of the collection view cell that previously had the focus.
         */
        previouslyFocusedIndexPath: IndexPath | null;
        /**
         * The index path of the collection view cell that’s receiving the focus.
         */
        nextFocusedIndexPath: IndexPath | null;
    }
    export class UICollectionViewLayoutInvalidationContext extends NSObject {
        /**
         * A Boolean that indicates that all layout data should be marked as invalid.
         */
        invalidateEverything: boolean;
        /**
         * A Boolean that indicates whether the layout should ask for new section and item counts. 
         */
        invalidateDataSourceCounts: boolean;
        /**
         * The delta value to be applied to the collection view’s content offset.
         */
        contentOffsetAdjustment: CGPoint;
        /**
         * The delta value to be applied to the collection view’s content size. 
         */
        contentSizeAdjustment: CGSize;
        /**
         * An array of index paths representing the cells that were invalidated.
         */
        invalidatedItemIndexPaths: IndexPath[] | null;
        /**
         * A dictionary that identifies the supplementary views that were invalidated.
         */
        invalidatedSupplementaryIndexPaths: Record<string, IndexPath[]> | null;
        /**
         * A dictionary that identifies the decoration views that were invalidated.
         */
        invalidatedDecorationIndexPaths: Record<string, IndexPath[]> | null;
        /**
         * An array of index paths representing the previous location of moving items in the collection view.
         */
        previousIndexPathsForInteractivelyMovingItems: IndexPath[] | null;
        /**
         * An array of index paths representing the new location of moving items in the collection view.
         */
        targetIndexPathsForInteractivelyMovingItems: IndexPath[] | null;
        /**
         * The current point used to determine the placement of moving items.
         */
        interactiveMovementTarget: CGPoint;
        /**
         * Adds the cells at the specified index paths to the list of invalid items.
         */
        invalidateItems(indexPaths: IndexPath[]):void;
        /**
         * Adds the supplementary views at the specified index paths to the list of invalid items.
         */
        invalidateSupplementaryElements(elementKind: string, indexPaths: IndexPath[]):void;
        /**
         * Adds the decoration views at the specified index paths to the list of invalid items.
         */
        invalidateDecorationElements(elementKind: string, indexPaths: IndexPath[]):void;
    }
    export class UICollectionViewLayout extends NSObject {
        /**
         * The class to use when creating layout attributes objects.
         */
        static layoutAttributesClass: AnyClass;
        /**
         * Returns the class to use when creating an invalidation context for the layout.
         */
        static invalidationContextClass: AnyClass;
        /**
         * The collection view object currently using this layout object. 
         */
        collectionView: UICollectionView | null;
        /**
         * The width and height of the collection view’s contents. 
         */
        collectionViewContentSize: CGSize;
        /**
         * The direction of the language you used when designing your custom layout. 
         */
        developmentLayoutDirection: UIUserInterfaceLayoutDirection;
        /**
         * A Boolean value that indicates whether the horizontal coordinate system is automatically flipped at appropriate times.
         */
        flipsHorizontallyInOppositeLayoutDirection: boolean;
        /**
         * Creates a collection view layout object.
         */
        constructor ();
        /**
         * Creates a collection view layout object from data in a given unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Tells the layout object to update the current layout. 
         */
        prepare():void;
        /**
         * Retrieves the layout attributes for all of the cells and views in the specified rectangle.
         */
        layoutAttributesForElements(rect: CGRect):UICollectionViewLayoutAttributes[] | null;
        /**
         * Retrieves layout information for an item at the specified index path with a corresponding cell.
         */
        layoutAttributesForItem(indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the layout attributes of an item when it is being moved interactively by the user.
         */
        layoutAttributesForInteractivelyMovingItem(indexPath: IndexPath, position: CGPoint):UICollectionViewLayoutAttributes;
        /**
         * Retrieves the layout attributes for the specified supplementary view. 
         */
        layoutAttributesForSupplementaryView(elementKind: string, indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the layout attributes for the specified decoration view.
         */
        layoutAttributesForDecorationView(elementKind: string, indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the content offset to use after an animated layout update or change.
         */
        targetContentOffset(proposedContentOffset: CGPoint):CGPoint;
        /**
         * Performs any additional animations or clean up needed during a collection view update. 
         */
        finalizeCollectionViewUpdates():void;
        /**
         * Retrieves an array of index paths for the supplementary views you want to add to the layout. 
         */
        indexPathsToInsertForSupplementaryView(elementKind: string):IndexPath[];
        /**
         * Retrieves an array of index paths representing the decoration views to add. 
         */
        indexPathsToInsertForDecorationView(elementKind: string):IndexPath[];
        /**
         * Retrieves the starting layout information for an item being inserted into the collection view.
         */
        initialLayoutAttributesForAppearingItem(itemIndexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the starting layout information for a supplementary view being inserted into the collection view.
         */
        initialLayoutAttributesForAppearingSupplementaryElement(elementKind: string, elementIndexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the starting layout information for a decoration view being inserted into the collection view.
         */
        initialLayoutAttributesForAppearingDecorationElement(elementKind: string, decorationIndexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves an array of index paths representing the supplementary views to remove. 
         */
        indexPathsToDeleteForSupplementaryView(elementKind: string):IndexPath[];
        /**
         * Retrieves an array of index paths representing the decoration views to remove. 
         */
        indexPathsToDeleteForDecorationView(elementKind: string):IndexPath[];
        /**
         * Retrieves the final layout information for an item that is about to be removed from the collection view.
         */
        finalLayoutAttributesForDisappearingItem(itemIndexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the final layout information for a supplementary view that is about to be removed from the collection view. 
         */
        finalLayoutAttributesForDisappearingSupplementaryElement(elementKind: string, elementIndexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the final layout information for a decoration view that is about to be removed from the collection view. 
         */
        finalLayoutAttributesForDisappearingDecorationElement(elementKind: string, decorationIndexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * Retrieves the index path to for an item when it is at the specified location in the collection view’s bounds.
         */
        targetIndexPath(previousIndexPath: IndexPath, position: CGPoint):IndexPath;
        /**
         * Invalidates the current layout and triggers a layout update.
         */
        invalidateLayout():void;
        /**
         * Asks the layout object if the new bounds require a layout update. 
         */
        shouldInvalidateLayout(newBounds: CGRect):boolean;
        /**
         * Retrieves a context object that defines the portions of the layout that should change when a bounds change occurs.
         */
        invalidationContext(newBounds: CGRect):UICollectionViewLayoutInvalidationContext;
        /**
         * Retrieves a context object that identifies the items that were moved 
         */
        invalidationContextForEndingInteractiveMovementOfItems(indexPaths: IndexPath[], previousIndexPaths: IndexPath[], movementCancelled: boolean):UICollectionViewLayoutInvalidationContext;
        /**
         * Cleans up after any animated changes to the view’s bounds or after the insertion or deletion of items.
         */
        finalizeAnimatedBoundsChange():void;
        /**
         * Tells the layout object to prepare to be installed as the layout for the collection view. 
         */
        prepareForTransition(oldLayout: UICollectionViewLayout):void;
        /**
         * Tells the layout object to perform any final steps before the transition animations occur.
         */
        finalizeLayoutTransition():void;
        /**
         * Registers a class for use in creating decoration views for a collection view.
         */
        register(viewClass: AnyClass | null, elementKind: string):void;
    }
    export class UICollectionViewFlowLayout extends UICollectionViewLayout {
        /**
         * A placeholder size for self-sizing cells.
         */
        static automaticSize: CGSize;
        /**
         * The scroll direction of the grid. 
         */
        scrollDirection: UICollectionView.ScrollDirection;
        /**
         * The minimum spacing to use between lines of items in the grid.
         */
        minimumLineSpacing: CGFloat;
        /**
         * The minimum spacing to use between items in the same row.
         */
        minimumInteritemSpacing: CGFloat;
        /**
         * The default size to use for cells. 
         */
        itemSize: CGSize;
        /**
         * The estimated size of cells in the collection view.
         */
        estimatedItemSize: CGSize;
        /**
         * The margins used to lay out content in a section.
         */
        sectionInset: UIEdgeInsets;
        /**
         * The boundary that section insets are defined in relation to.
         */
        sectionInsetReference: UICollectionViewFlowLayout.SectionInsetReference;
        /**
         * The default sizes to use for section headers.
         */
        headerReferenceSize: CGSize;
        /**
         * The default sizes to use for section footers.
         */
        footerReferenceSize: CGSize;
        /**
         * A Boolean value that indicates whether headers pin to the top of the collection view bounds during scrolling.
         */
        sectionHeadersPinToVisibleBounds: boolean;
        /**
         * A Boolean value that indicates whether footers pin to the bottom of the collection view bounds during scrolling.
         */
        sectionFootersPinToVisibleBounds: boolean;
    }
    /**
     * the same name namespace of class UICollectionViewFlowLayout
     */
    export namespace UICollectionViewFlowLayout {
        export enum SectionInsetReference {
            fromContentInset = 0,
            fromLayoutMargins = 2,
            fromSafeArea = 1,
        }
    }
    export interface UICollectionViewDelegateFlowLayout extends UICollectionViewDelegate {
        /**
         * Asks the delegate for the size of the specified item’s cell. 
         */
        collectionView(collectionView: UICollectionView, collectionViewLayout: UICollectionViewLayout, indexPath: IndexPath):CGSize;
    }
    export class UICollectionViewTransitionLayout extends UICollectionViewLayout {
        /**
         * The completion percentage of the transition.
         */
        transitionProgress: CGFloat;
        /**
         * The collection view’s current layout object.
         */
        currentLayout: UICollectionViewLayout;
        /**
         * The collection view’s new layout object.
         */
        nextLayout: UICollectionViewLayout;
        /**
         * Initializes and returns a transition layout object.
         */
        constructor (currentLayout: UICollectionViewLayout, newLayout: UICollectionViewLayout);
        /**
         * Creates a transition layout object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Sets the value for an animatable key. 
         */
        updateValue(value: CGFloat, key: string):void;
        /**
         * Returns the most recently set value for the specified key.
         */
        value(key: string):CGFloat;
    }
    export class UICollectionViewLayoutAttributes extends NSObject {
        /**
         * The index path of the item in the collection view. 
         */
        indexPath: IndexPath;
        /**
         * The layout-specific identifier for the target view. 
         */
        representedElementKind: string;
        /**
         * The type of the item. 
         */
        representedElementCategory: UICollectionView.ElementCategory;
        /**
         * The frame rectangle of the item.
         */
        frame: CGRect;
        /**
         * The bounds of the item.
         */
        bounds: CGRect;
        /**
         * The center point of the item.
         */
        center: CGPoint;
        /**
         * The size of the item.
         */
        size: CGSize;
        /**
         * The 3D transform of the item.
         */
        transform3D: CATransform3D;
        /**
         * The affine transform of the item.
         */
        transform: CGAffineTransform;
        /**
         * The transparency of the item.
         */
        alpha: CGFloat;
        /**
         * Specifies the item’s position on the z axis.
         */
        zIndex: number;
        /**
         * Determines whether the item is currently displayed.
         */
        isHidden: boolean;
        /**
         * Creates and returns a layout attributes object that represents a cell with the specified index path.
         */
        constructor (indexPath: IndexPath);
        /**
         * Creates and returns a layout attributes object that represents the specified supplementary view. 
         */
        constructor (elementKind: string, indexPath: IndexPath);
        /**
         * Creates and returns a layout attributes object that represents the specified decoration view.
         */
        constructor (decorationViewKind: string, indexPath: IndexPath);
    }
    export class UICollectionViewFlowLayoutInvalidationContext extends UICollectionViewLayoutInvalidationContext {
        /**
         * A Boolean indicating whether to recompute the size of items and views in the layout.
         */
        invalidateFlowLayoutDelegateMetrics: boolean;
        /**
         * A Boolean indicating whether to recompute the layout attributes for items and views in the layout.
         */
        invalidateFlowLayoutAttributes: boolean;
    }
    export interface UIWindowSceneDelegate extends UISceneDelegate {
        /**
         * The main window associated with the scene.
         */
        window: UIWindow | null;
        /**
         * Notifies you when the size, orientation, or traits of a scene change.
         */
        windowScene(windowScene: UIWindowScene, previousCoordinateSpace: UICoordinateSpace, previousInterfaceOrientation: UIInterfaceOrientation, previousTraitCollection: UITraitCollection):void;
    }
    export interface UICollectionViewDropCoordinator extends NSObjectProtocol {
        /**
         * The items being dragged.
         */
        items: UICollectionViewDropItem[];
        /**
         * The index path at which to insert the item in the collection view.
         */
        destinationIndexPath: IndexPath | null;
        /**
         * Animates the item to the specified index path in the collection view.
         */
        drop(dragItem: UIDragItem, indexPath: IndexPath):UIDragAnimating;
        /**
         * The drop session containing information about the transaction.
         */
        session: UIDropSession;
        /**
         * The current proposal for how to incorporate the dropped items.
         */
        proposal: UICollectionViewDropProposal;
    }
    export class UICollectionViewDropPlaceholder extends UICollectionViewPlaceholder {
        /**
         * The object that provides the preview parameters for a drag item.
         */
        previewParametersProvider: ()=>any | null;
    }
    export class UICollectionViewDropProposal extends UIDropProposal {
        /**
         * The option to use when incorporating the dropped items into your content.
         */
        intent: UICollectionViewDropProposal.Intent;
        /**
         * Creates a drop proposal object that specifies how to incorporate the dropped content.  
         */
        constructor (operation: UIDropOperation, intent: UICollectionViewDropProposal.Intent);
    }
    /**
     * the same name namespace of class UICollectionViewDropProposal
     */
    export namespace UICollectionViewDropProposal {
        export enum Intent {
            unspecified = 0,
            insertAtDestinationIndexPath = 1,
            insertIntoDestinationIndexPath = 2,
        }
    }
    export enum UIDropOperation {
        cancel = 0,
        forbidden = 1,
        copy = 2,
        move = 3,
    }
    export interface UICollectionViewDropItem extends NSObjectProtocol {
        /**
         * The item that was dragged. 
         */
        dragItem: UIDragItem;
        /**
         * The size of the drag item's preview. 
         */
        previewSize: CGSize;
        /**
         * The index path of the item in the collection view, if any.
         */
        sourceIndexPath: IndexPath | null;
    }
    export interface UICollectionViewDropPlaceholderContext extends UIDragAnimating {
        /**
         * Exchanges the placeholder cell for a cell with the final content.
         */
        commitInsertion(dataSourceUpdates: ()=>any):boolean;
        /**
         * Updates the contents of the placeholder cell.
         */
        setNeedsCellUpdate():void;
        /**
         * Removes an unneeded placeholder cell altogether from the collection view.
         */
        deletePlaceholder():boolean;
        /**
         * The drag item being represented by the placeholder cell.
         */
        dragItem: UIDragItem;
    }
    export interface UIDataSourceTranslating extends NSObjectProtocol {
        /**
         * Translates an index in your data source object to the equivalent index in your presented layout.
         */
        presentationIndexPath(dataSourceIndexPath: IndexPath | null):IndexPath | null;
        /**
         * Translates an index in your presented layout to the equivalent index in your data source object.
         */
        dataSourceIndexPath(presentationIndexPath: IndexPath | null):IndexPath | null;
        /**
         * Translates a section index in your data source object to the equivalent section index in your presented layout.
         */
        presentationSectionIndex(dataSourceSectionIndex: number):number;
        /**
         * Translates a section index in your presented layout to the equivalent section index in your data source object.
         */
        dataSourceSectionIndex(presentationSectionIndex: number):number;
        /**
         * Performs actions on the current object using index paths that are relative to the presentation layer of that object.
         */
        performUsingPresentationValues(actionsToTranslate: ()=>any):void;
    }
    export class UICollectionViewPlaceholder extends NSObject {
        /**
         * The block that updates the contents of the placeholder cell.
         */
        cellUpdateHandler: ()=>any | null;
        /**
         * Creates a placeholder object with the specified index path and reuse identifier.
         */
        constructor (insertionIndexPath: IndexPath, reuseIdentifier: string);
    }
    export interface UITableViewDataSource extends NSObjectProtocol {
        /**
         * Tells the data source to return the number of rows in a given section of a table view.
         */
        tableView(tableView: UITableView, section: number):number;
        /**
         * Asks the data source to return the number of sections in the table view.
         */
        numberOfSections(tableView: UITableView):number;
        /**
         * Asks the data source to return the titles for the sections of a table view.
         */
        sectionIndexTitles(tableView: UITableView):string[] | null;
    }
    export interface UITableViewDataSourcePrefetching extends NSObjectProtocol {
        /**
         * Instructs your prefetch data source object to begin preparing data for the cells at the supplied index paths.
         */
        tableView(tableView: UITableView, indexPaths: IndexPath[]):void;
    }
    export interface UITableViewDelegate extends NSObjectProtocol,UIScrollViewDelegate {
        /**
         * Tells the delegate the table view is about to draw a cell for a particular row.
         */
        tableView(tableView: UITableView, cell: UITableViewCell, indexPath: IndexPath):void;
        /**
         * Tells the delegate when the user stops using a two-finger pan gesture to select multiple rows in a table view.
         */
        tableViewDidEndMultipleSelectionInteraction(tableView: UITableView):void;
        /**
         * Asks the delegate for the table view’s index path for the preferred focused view.
         */
        indexPathForPreferredFocusedView(tableView: UITableView):IndexPath | null;
    }
    export class UISceneSizeRestrictions extends NSObject {
        /**
         * The minimum width and height supported by your app’s windows.
         */
        minimumSize: CGSize;
        /**
         * The maximum width and height supported by your app’s windows.
         */
        maximumSize: CGSize;
        /**
         * A Boolean value that indicates whether the scene can appear full screen.
         */
        allowsFullScreen: boolean;
    }
    export class UITableViewCell extends UIView {}
    /**
     * the same name namespace of class UITableViewCell
     */
    export namespace UITableViewCell {
        export enum SeparatorStyle {
            none = 0,
            singleLine = 1,
            singleLineEtched = 2,
        }
    }
    export interface UITableViewDragDelegate extends NSObjectProtocol {
        /**
         * Provides the initial set of items (if any) to drag.
         */
        tableView(tableView: UITableView, session: UIDragSession, indexPath: IndexPath):UIDragItem[];
    }
    export interface UITableViewDropDelegate extends NSObjectProtocol {
        /**
         * Asks your delegate whether it can accept the specified type of data.
         */
        tableView(tableView: UITableView, session: UIDropSession):boolean;
    }
    export interface UIActivityItemsConfigurationProviding extends NSObjectProtocol {
        /**
         * An object or value that specifies items to share.
         */
        activityItemsConfiguration: UIActivityItemsConfigurationReading | null;
    }
    export class UITableViewDiffableDataSourceReference extends NSObject {
        /**
         * The default type of animation to use when inserting or deleting rows.
         */
        defaultRowAnimation: UITableView.RowAnimation;
        /**
         * Creates a diffable data source with the specified cell provider, and connects it to the specified table view.
         */
        constructor (tableView: UITableView, cellProvider: UITableViewDiffableDataSourceReferenceCellProvider);
        /**
         * Returns an identifier for the item at the specified index path in the table view.
         */
        itemIdentifier(indexPath: IndexPath):any;
        /**
         * Returns an index path for the item with the specified identifier in the table view.
         */
        indexPath(identifier: any):IndexPath | null;
        /**
         * Returns an identifier for the section at the index you specify in the table view.
         */
        sectionIdentifier(index: number):any;
        /**
         * Returns an index for the section with the identifier you specify in the table view.
         */
        index(identifier: any):number;
        /**
         * Returns a representation of the current state of the data in the table view.
         */
        snapshot():NSDiffableDataSourceSnapshotReference;
        /**
         * Updates the UI to reflect the state of the data in the snapshot, optionally animating the UI changes.
         */
        applySnapshot(snapshot: NSDiffableDataSourceSnapshotReference, animatingDifferences: boolean):void;
    }
    export class UISceneWindowingBehaviors extends NSObject {
        /**
         * A Boolean value that determines whether the window displays a close button.
         */
        isClosable: boolean;
        /**
         * A Boolean value that determines whether the window displays a minimize button.
         */
        isMiniaturizable: boolean;
    }
    export class UILocalizedIndexedCollation extends NSObject {
        /**
         * Returns the list of section titles for the table view. 
         */
        sectionTitles: string[];
        /**
         * Returns the list of section-index titles for the table view.
         */
        sectionIndexTitles: string[];
        /**
         * Returns an indexed-collation instance for the current table view.
         */
        static current():Self;
        /**
         * Returns an integer identifying the section in which a model object belongs.
         */
        section(object: any, selector: Selector):number;
        /**
         * Sorts the objects within a section by their localized titles.
         */
        sortedArray(array: any[], selector: Selector):any[];
    }
    export class UITableViewController extends UIViewController {
        /**
         * Returns the table view managed by the controller object.
         */
        tableView: UITableView!;
        /**
         * A Boolean value indicating if the controller clears the selection when the table appears.
         */
        clearsSelectionOnViewWillAppear: boolean;
        /**
         * The refresh control used to update the table contents.
         */
        refreshControl: UIRefreshControl | null;
        /**
         * Initializes a table view controller to manage a table view of a given style.
         */
        constructor (style: UITableView.Style);
        /**
         * Creates a table view controller with the nib file in the specified bundle.
         */
        constructor (nibNameOrNil: string, nibBundleOrNil: Bundle | null);
        /**
         * Creates a table view controller from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export class UITableViewFocusUpdateContext extends UIFocusUpdateContext {
        /**
         * Returns the index path of the cell containing the context’s previously focused view.
         */
        previouslyFocusedIndexPath: IndexPath | null;
        /**
         * Returns the index path of the cell containing the context’s next focused view.
         */
        nextFocusedIndexPath: IndexPath | null;
    }
    export class UITableViewHeaderFooterView extends UIView {
        /**
         * A string used to identify a reusable header or footer.
         */
        reuseIdentifier: string;
        /**
         * The current background configuration of the view.
         */
        backgroundConfiguration: UIBackgroundConfiguration | null;
        /**
         * A Boolean value that determines whether the view automatically updates its background configuration when its state changes.
         */
        automaticallyUpdatesBackgroundConfiguration: boolean;
        /**
         * The background view of the header or footer.
         */
        backgroundView: UIView | null;
        /**
         * The current content configuration of the view.
         */
        contentConfiguration: UIContentConfiguration | null;
        /**
         * A Boolean value that determines whether the view automatically updates its content configuration when its state changes.
         */
        automaticallyUpdatesContentConfiguration: boolean;
        /**
         * The content view of the header or footer.
         */
        contentView: UIView;
        /**
         * The current configuration state of the view.
         */
        configurationState: UIViewConfigurationState;
        /**
         * A block for handling updates to the view’s configuration using the current state.
         */
        configurationUpdateHandler: UITableViewHeaderFooterView.ConfigurationUpdateHandler | null;
        /**
         * A primary text label for the view.
         */
        textLabel: UILabel | null;
        /**
         * A detail text label for the view.
         */
        detailTextLabel: UILabel | null;
        /**
         * Initializes a header-footer view with the specified reuse identifier.
         */
        constructor (reuseIdentifier: string);
        /**
         * Creates a header-footer view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Prepares a reusable header or footer view for reuse by the table.
         */
        prepareForReuse():void;
        /**
         * Retrieves a background configuration with system default values.
         */
        defaultBackgroundConfiguration():UIBackgroundConfiguration;
        /**
         * Retrieves a default list content configuration for the view’s style.
         */
        defaultContentConfiguration():UIListContentConfiguration;
        /**
         * Informs the view to update its configuration for its current state.
         */
        setNeedsUpdateConfiguration():void;
        /**
         * Updates the view’s configuration using the current state.
         */
        updateConfiguration(state: UIViewConfigurationState):void;
    }
    export class UISwipeActionsConfiguration extends NSObject {
        /**
         * The swipe actions.
         */
        actions: UIContextualAction[];
        /**
         * A Boolean value indicating whether a full swipe automatically performs the first action.
         */
        performsFirstActionWithFullSwipe: boolean;
        /**
         * Creates a swipe action configuration object with the specified set of actions.
         */
        constructor (actions: UIContextualAction[]);
    }
    export class UIContextualAction extends NSObject {
        /**
         * The title displayed on the action button.
         */
        title: string;
        /**
         * The background color of the action button.
         */
        backgroundColor: UIColor!;
        /**
         * The image to display in the action button.
         */
        image: UIImage | null;
        /**
         * The handler block to execute when the user selects the action.
         */
        handler: UIContextualAction.Handler;
        /**
         * The style that applies to the action button.
         */
        style: UIContextualAction.Style;
        /**
         * Creates a new contextual action with the specified title and handler.
         */
        constructor (style: UIContextualAction.Style, title: string, handler: UIContextualAction.Handler);
    }
    /**
     * the same name namespace of class UIContextualAction
     */
    export namespace UIContextualAction {
        export enum Style {
            normal = 0,
            destructive = 1,
        }
    }
    export class UITableViewRowAction extends NSObject {
        /**
         * The style applied to the action button.
         */
        style: UITableViewRowAction.Style;
        /**
         * The title of the action button.
         */
        title: string;
        /**
         * The background color of the action button.
         */
        backgroundColor: UIColor | null;
        /**
         * The visual effect to apply to the button.
         */
        backgroundEffect: UIVisualEffect | null;
        /**
         * Creates and returns a new table view row action object.
         */
        constructor (style: UITableViewRowAction.Style, title: string, handler: ()=>any);
    }
    /**
     * the same name namespace of class UITableViewRowAction
     */
    export namespace UITableViewRowAction {
        export enum Style {
            default = 0,
            normal = 1,
        }
    }
    export interface UITableViewDropCoordinator extends NSObjectProtocol {
        /**
         * The items being dragged.
         */
        items: UITableViewDropItem[];
        /**
         * The index path at which to insert the item into the table view.
         */
        destinationIndexPath: IndexPath | null;
        /**
         * Animates the item to the specified index path in the table view.
         */
        drop(dragItem: UIDragItem, indexPath: IndexPath):UIDragAnimating;
        /**
         * The drop session containing information about the transaction.
         */
        session: UIDropSession;
        /**
         * The proposal for how to incorporate the dropped items.
         */
        proposal: UITableViewDropProposal;
    }
    export interface UITableViewDropItem extends NSObjectProtocol {
        /**
         * The item that was dragged. 
         */
        dragItem: UIDragItem;
        /**
         * The size of the drag item’s preview.
         */
        previewSize: CGSize;
        /**
         * The index path of the item in the table view, if any.
         */
        sourceIndexPath: IndexPath | null;
    }
    export class UITitlebar extends NSObject {
        /**
         * The type of separator that the app displays between the title bar and content of a window.
         */
        separatorStyle: UITitlebarSeparatorStyle;
        /**
         * A value that indicates the visibility of the title.
         */
        titleVisibility: UITitlebarTitleVisibility;
        /**
         * A URL of the file or resource represented in the window.
         */
        representedURL: URL | null;
        /**
         * The toolbar displayed beneath or integrated with the title bar.
         */
        toolbar: NSToolbar | null;
        /**
         * The style of the toolbar determining its appearance and location related to the title bar.
         */
        toolbarStyle: UITitlebarToolbarStyle;
        /**
         * A Boolean value that determines whether the toolbar automatically hides in full-screen windows.
         */
        autoHidesToolbarInFullScreen: boolean;
    }
    export class UITableViewDropProposal extends UIDropProposal {
        /**
         * The option to use when incorporating dropped items into your content.
         */
        intent: UITableViewDropProposal.Intent;
        /**
         * Creates a drop proposal object that specifies how to incorporate the dropped content.
         */
        constructor (operation: UIDropOperation, intent: UITableViewDropProposal.Intent);
    }
    /**
     * the same name namespace of class UITableViewDropProposal
     */
    export namespace UITableViewDropProposal {
        export enum Intent {
            unspecified = 0,
            insertAtDestinationIndexPath = 1,
            insertIntoDestinationIndexPath = 2,
            automatic = 3,
        }
    }
    export interface UITableViewDropPlaceholderContext extends UIDragAnimating {
        /**
         * Exchanges the placeholder cell for a cell with the final content.
         */
        commitInsertion(dataSourceUpdates: ()=>any):boolean;
        /**
         * Removes an unneeded placeholder cell from the table view.
         */
        deletePlaceholder():boolean;
        /**
         * The drag item represented by the placeholder cell.
         */
        dragItem: UIDragItem;
    }
    export class UITableViewDropPlaceholder extends UITableViewPlaceholder {
        /**
         * The handler block that provides the preview parameters for the specified cell.
         */
        previewParametersProvider: ()=>any | null;
    }
    export enum UITitlebarSeparatorStyle {
        automatic = 0,
        line = 2,
        none = 1,
        shadow = 3,
    }
    export class UITableViewPlaceholder extends NSObject {
        /**
         * The block that updates the contents of the placeholder cell.
         */
        cellUpdateHandler: ()=>any | null;
        /**
         * Creates a placeholder object with the specified index path and cell-related information.
         */
        constructor (insertionIndexPath: IndexPath, reuseIdentifier: string, rowHeight: CGFloat);
    }
    export class UIStackView extends UIView {
        /**
         * The default spacing for subviews within a stack view.
         */
        static spacingUseDefault: CGFloat;
        /**
         * The system-defined spacing to the neighboring view.
         */
        static spacingUseSystem: CGFloat;
        /**
         * The list of views arranged by the stack view.
         */
        arrangedSubviews: UIView[];
        /**
         * The axis along which the arranged views lay out.
         */
        axis: NSLayoutConstraint.Axis;
        /**
         * The alignment of the arranged subviews perpendicular to the stack view’s axis.
         */
        alignment: UIStackView.Alignment;
        /**
         * The distribution of the arranged views along the stack view’s axis.
         */
        distribution: UIStackView.Distribution;
        /**
         * The distance in points between the adjacent edges of the stack view’s arranged views.
         */
        spacing: CGFloat;
        /**
         * A Boolean value that determines whether the vertical spacing between views is measured from their baselines.
         */
        isBaselineRelativeArrangement: boolean;
        /**
         * A Boolean value that determines whether the stack view lays out its arranged views relative to its layout margins.
         */
        isLayoutMarginsRelativeArrangement: boolean;
        /**
         * Returns a new stack view object that manages the provided views.
         */
        constructor (views: UIView[]);
        /**
         * Creates a stack view with the specified frame.
         */
        constructor (frame: CGRect);
        /**
         * Creates a stack view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Adds a view to the end of the arranged subviews array.
         */
        addArrangedSubview(view: UIView):void;
        /**
         * Adds the provided view to the array of arranged subviews at the specified index.
         */
        insertArrangedSubview(view: UIView, stackIndex: number):void;
        /**
         * Removes the provided view from the stack’s array of arranged subviews.
         */
        removeArrangedSubview(view: UIView):void;
        /**
         * Returns the custom spacing after the specified view.
         */
        customSpacing(arrangedSubview: UIView):CGFloat;
        /**
         * Applies custom spacing after the specified view.
         */
        setCustomSpacing(spacing: CGFloat, arrangedSubview: UIView):void;
    }
    /**
     * the same name namespace of class UIStackView
     */
    export namespace UIStackView {
        export enum Distribution {
            fill = 0,
            fillEqually = 1,
            fillProportionally = 2,
            equalSpacing = 3,
            equalCentering = 4,
        }
        export enum Alignment {
            fill = 0,
            center = 3,
            leading = 1,
            trailing = 4,
            firstBaseline = 2,
            lastBaseline = 5,
        }
    }
    export class UIScrollView extends UIView {
        /**
         * The delegate of the scroll view.
         */
        delegate: UIScrollViewDelegate | null;
        /**
         * The size of the content view.
         */
        contentSize: CGSize;
        /**
         * The point at which the origin of the content view is offset from the origin of the scroll view.
         */
        contentOffset: CGPoint;
        /**
         * The insets derived from the content insets and the safe area of the scroll view.
         */
        adjustedContentInset: UIEdgeInsets;
        /**
         * The custom distance that the content view is inset from the safe area or scroll view edges.
         */
        contentInset: UIEdgeInsets;
        /**
         * The behavior for determining the adjusted content offsets.
         */
        contentInsetAdjustmentBehavior: UIScrollView.ContentInsetAdjustmentBehavior;
        /**
         * The layout guide based on the untransformed frame rectangle of the scroll view.
         */
        frameLayoutGuide: UILayoutGuide;
        /**
         * The layout guide based on the untranslated content rectangle of the scroll view.
         */
        contentLayoutGuide: UILayoutGuide;
        /**
         * A Boolean value that determines whether scrolling is enabled.
         */
        isScrollEnabled: boolean;
        /**
         * A Boolean value that determines whether scrolling is disabled in a particular direction.
         */
        isDirectionalLockEnabled: boolean;
        /**
         * A Boolean value that determines whether paging is enabled for the scroll view.
         */
        isPagingEnabled: boolean;
        /**
         * A Boolean value that controls whether the scroll-to-top gesture is enabled.
         */
        scrollsToTop: boolean;
        /**
         * A Boolean value that controls whether the scroll view bounces past the edge of content and back again.
         */
        bounces: boolean;
        /**
         * A Boolean value that determines whether bouncing always occurs when vertical scrolling reaches the end of the content.
         */
        alwaysBounceVertical: boolean;
        /**
         * A Boolean value that determines whether bouncing always occurs when horizontal scrolling reaches the end of the content view.
         */
        alwaysBounceHorizontal: boolean;
        /**
         * A Boolean value that indicates whether the user has touched the content to initiate scrolling.
         */
        isTracking: boolean;
        /**
         * A Boolean value that indicates whether the user has begun scrolling the content.
         */
        isDragging: boolean;
        /**
         * A Boolean value that indicates whether the content is moving in the scroll view after the user lifted their finger.
         */
        isDecelerating: boolean;
        /**
         * A floating-point value that determines the rate of deceleration after the user lifts their finger.
         */
        decelerationRate: UIScrollView.DecelerationRate;
        /**
         * The style of the scroll indicators.
         */
        indicatorStyle: UIScrollView.IndicatorStyle;
        /**
         * A Boolean value that controls whether the horizontal scroll indicator is visible.
         */
        showsHorizontalScrollIndicator: boolean;
        /**
         * A Boolean value that controls whether the vertical scroll indicator is visible.
         */
        showsVerticalScrollIndicator: boolean;
        /**
         * The horizontal distance the scroll indicators are inset from the edge of the scroll view.
         */
        horizontalScrollIndicatorInsets: UIEdgeInsets;
        /**
         * The vertical distance the scroll indicators are inset from the edge of the scroll view.
         */
        verticalScrollIndicatorInsets: UIEdgeInsets;
        /**
         * A Boolean value that indicates whether the system automatically adjusts the scroll indicator insets.
         */
        automaticallyAdjustsScrollIndicatorInsets: boolean;
        /**
         * The refresh control associated with the scroll view.
         */
        refreshControl: UIRefreshControl | null;
        /**
         * A Boolean value that controls whether touches in the content view always lead to tracking.
         */
        canCancelContentTouches: boolean;
        /**
         * A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.
         */
        delaysContentTouches: boolean;
        /**
         * The underlying gesture recognizer for directional button presses.
         */
        directionalPressGestureRecognizer: UIGestureRecognizer;
        /**
         * The underlying gesture recognizer for pan gestures.
         */
        panGestureRecognizer: UIPanGestureRecognizer;
        /**
         * The underlying gesture recognizer for pinch gestures.
         */
        pinchGestureRecognizer: UIPinchGestureRecognizer | null;
        /**
         * A floating-point value that specifies the current scale factor applied to the scroll view’s content.
         */
        zoomScale: CGFloat;
        /**
         * A floating-point value that specifies the maximum scale factor that can apply to the scroll view’s content.
         */
        maximumZoomScale: CGFloat;
        /**
         * A floating-point value that specifies the minimum scale factor that can apply to the scroll view’s content.
         */
        minimumZoomScale: CGFloat;
        /**
         * A Boolean value that indicates that zooming has exceeded the scaling limits specified for the scroll view.
         */
        isZoomBouncing: boolean;
        /**
         * A Boolean value that indicates whether the content view is currently zooming in or out.
         */
        isZooming: boolean;
        /**
         * A Boolean value that determines whether the scroll view animates the content scaling when the scaling exceeds the maximum or minimum limits.
         */
        bouncesZoom: boolean;
        /**
         * The manner in which the system dismisses the keyboard when a drag begins in the scroll view.
         */
        keyboardDismissMode: UIScrollView.KeyboardDismissMode;
        /**
         * The manner in which the index appears while the user is scrolling.
         */
        indexDisplayMode: UIScrollView.IndexDisplayMode;
        /**
         * The distance the scroll indicators are inset from the edge of the scroll view.
         */
        scrollIndicatorInsets: UIEdgeInsets;
        /**
         * Sets the offset from the content view’s origin that corresponds to the scroll view’s origin.
         */
        setContentOffset(contentOffset: CGPoint, animated: boolean):void;
        /**
         * Notifies the scroll view when the adjusted content insets of the scroll view change.
         */
        adjustedContentInsetDidChange():void;
        /**
         * Displays the scroll indicators momentarily.
         */
        flashScrollIndicators():void;
        /**
         * Scrolls a specific area of the content so that it’s visible in the scroll view.
         */
        scrollRectToVisible(rect: CGRect, animated: boolean):void;
        /**
         * Overridden by subclasses to customize the default behavior when a finger touches down in displayed content.
         */
        touchesShouldBegin(touches: Set<UITouch>, event: UIEvent | null, view: UIView):boolean;
        /**
         * Returns whether to cancel touches related to the content subview and start dragging.
         */
        touchesShouldCancel(view: UIView):boolean;
        /**
         * Zooms to a specific area of the content so that it’s visible in the scroll view.
         */
        zoom(rect: CGRect, animated: boolean):void;
        /**
         * A floating-point value that specifies the current zoom scale.
         */
        setZoomScale(scale: CGFloat, animated: boolean):void;
    }
    /**
     * the same name namespace of class UIScrollView
     */
    export namespace UIScrollView {
        export enum ContentInsetAdjustmentBehavior {
            automatic = 0,
            scrollableAxes = 1,
            never = 2,
            always = 3,
        }
        export class DecelerationRate {
            /**
             * The default deceleration rate for a scroll view.
             */
            static normal: UIScrollView.DecelerationRate;
            /**
             * A fast deceleration rate for a scroll view.
             */
            static fast: UIScrollView.DecelerationRate;
            /**
             * Creates a deceleration rate with the specified raw value.
             */
            constructor (rawValue: CGFloat);
        }
        export enum IndicatorStyle {
            default = 0,
            black = 1,
            white = 2,
        }
        export enum KeyboardDismissMode {
            none = 0,
            onDrag = 1,
            interactive = 2,
            onDragWithAccessory = 3,
            interactiveWithAccessory = 4,
        }
        export enum IndexDisplayMode {
            automatic = 0,
            alwaysHidden = 1,
        }
    }
    export interface UIScrollViewDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the user scrolls the content view within the scroll view.
         */
        scrollViewDidScroll(scrollView: UIScrollView):void;
        /**
         * Tells the delegate when the scroll view is about to start scrolling the content.
         */
        scrollViewWillBeginDragging(scrollView: UIScrollView):void;
        /**
         * Tells the delegate when the user finishes scrolling the content.
         */
        scrollViewWillEndDragging(scrollView: UIScrollView, velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>):void;
        /**
         * Tells the delegate when dragging ended in the scroll view.
         */
        scrollViewDidEndDragging(scrollView: UIScrollView, decelerate: boolean):void;
        /**
         * Asks the delegate if the scroll view should scroll to the top of the content.
         */
        scrollViewShouldScrollToTop(scrollView: UIScrollView):boolean;
        /**
         * Tells the delegate that the scroll view scrolled to the top of the content.
         */
        scrollViewDidScrollToTop(scrollView: UIScrollView):void;
        /**
         * Tells the delegate that the scroll view is starting to decelerate the scrolling movement.
         */
        scrollViewWillBeginDecelerating(scrollView: UIScrollView):void;
        /**
         * Tells the delegate that the scroll view ended decelerating the scrolling movement.
         */
        scrollViewDidEndDecelerating(scrollView: UIScrollView):void;
        /**
         * Asks the delegate for the view to scale when zooming is about to occur in the scroll view.
         */
        viewForZooming(scrollView: UIScrollView):UIView | null;
        /**
         * Tells the delegate that zooming of the content in the scroll view is about to commence.
         */
        scrollViewWillBeginZooming(scrollView: UIScrollView, view: UIView | null):void;
        /**
         * Tells the delegate when zooming of the content in the scroll view completed.
         */
        scrollViewDidEndZooming(scrollView: UIScrollView, view: UIView | null, scale: CGFloat):void;
        /**
         * Tells the delegate that the scroll view’s zoom factor changed.
         */
        scrollViewDidZoom(scrollView: UIScrollView):void;
        /**
         * Tells the delegate when a scrolling animation in the scroll view concludes.
         */
        scrollViewDidEndScrollingAnimation(scrollView: UIScrollView):void;
        /**
         * Tells the delegate when the scroll view’s inset values change.
         */
        scrollViewDidChangeAdjustedContentInset(scrollView: UIScrollView):void;
    }
    export enum UITitlebarTitleVisibility {
        visible = 0,
        hidden = 1,
    }
    export enum UITitlebarToolbarStyle {
        automatic = 0,
        expanded = 1,
        preference = 2,
        unified = 3,
        unifiedCompact = 4,
    }
    export class UIActivityIndicatorView extends UIView {
        /**
         * A Boolean value indicating whether the activity indicator is currently running its animation.
         */
        isAnimating: boolean;
        /**
         * A Boolean value that controls whether the activity indicator is hidden when the animation is stopped.
         */
        hidesWhenStopped: boolean;
        /**
         * The basic appearance of the activity indicator.
         */
        style: UIActivityIndicatorView.Style;
        /**
         * The color of the activity indicator.
         */
        color: UIColor!;
        /**
         * Creates an activity indicator.
         */
        constructor (style: UIActivityIndicatorView.Style);
        /**
         * Creates an activity indicator with the specified frame rectangle.
         */
        constructor (frame: CGRect);
        /**
         * Creates an activity indicator from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Starts the animation of the progress indicator.
         */
        startAnimating():void;
        /**
         * Stops the animation of the progress indicator.
         */
        stopAnimating():void;
    }
    /**
     * the same name namespace of class UIActivityIndicatorView
     */
    export namespace UIActivityIndicatorView {
        export enum Style {
            large = 101,
            medium = 100,
            whiteLarge = 0,
            white = 1,
            gray = 2,
        }
    }
    export class UICalendarView extends UIView {
        /**
         * The calendar that the calendar view illustrates.
         */
        calendar: Calendar;
        /**
         * The locale the calendar view uses for calendar conventions.
         */
        locale: Locale;
        /**
         * The time zone from the date the calendar view displays.
         */
        timeZone: TimeZone | null;
        /**
         * The date components that represent the visible date in the calendar view.
         */
        visibleDateComponents: DateComponents;
        /**
         * The range of dates that the calendar view displays.
         */
        availableDateRange: DateInterval;
        /**
         * A font design that the calendar view uses for displaying calendar text.
         */
        fontDesign: UIFontDescriptor.SystemDesign;
        /**
         * A delegate object the calendar view calls for decoration views.
         */
        delegate: UICalendarViewDelegate | null;
        /**
         * A Boolean value that indicates whether the calendar view displays date decorations.
         */
        wantsDateDecorations: boolean;
        /**
         * The current date selection method of the calendar view.
         */
        selectionBehavior: UICalendarSelection | null;
        /**
         * Sets the date components that represent the date for the calendar view to make visible, with an option to animate the date change.
         */
        setVisibleDateComponents(dateComponents: DateComponents, animated: boolean):void;
        /**
         * Reloads the decorations for the dates you provide, with an option to animate the decoration reload.
         */
        reloadDecorations(dates: DateComponents[], animated: boolean):void;
    }
    /**
     * the same name namespace of class UICalendarView
     */
    export namespace UICalendarView {
        export class Decoration extends NSObject {
            /**
             * Creates a default calendar view decoration with a filled circle image, using the system fill color and medium size.
             */
            constructor ();
            /**
             * Creates a default calendar view decoration with a filled circle image, using the color and size you specify.
             */
            static default(color: UIColor | null, size: UICalendarView.DecorationSize):UICalendarView.Decoration;
            /**
             * Creates a new calendar view decoration with a custom view, using your view provider. 
             */
            static customView(customViewProvider: ()=>any):Self;
            /**
             * Creates a new calendar view decoration with the image, color, and size that you specify.
             */
            static image(image: UIImage | null, color: UIColor | null, size: UICalendarView.DecorationSize):UICalendarView.Decoration;
        }
        export enum DecorationSize {
            large = 2,
            medium = 1,
            small = 0,
        }
    }
    export interface UICalendarViewDelegate extends NSObjectProtocol {
        /**
         * Creates a calendar view decoration for the date represented by the date components you provide.
         */
        calendarView(calendarView: UICalendarView, dateComponents: DateComponents):UICalendarView.Decoration | null;
    }
    export class UICalendarSelectionSingleDate extends UICalendarSelection {
        /**
         * A delegate object that a calendar view asks about selectable dates and informs of changes to the selection of a single date.
         */
        delegate: UICalendarSelectionSingleDateDelegate | null;
        /**
         * A date component object that represents a selected date in a calendar view.
         */
        selectedDate: DateComponents | null;
        /**
         * Creates an object that tracks a date a user selects from a calendar view, with an optional delegate to manage selectable dates and selection changes.
         */
        constructor (delegate: UICalendarSelectionSingleDateDelegate | null);
        /**
         * Updates the date component object that represents a selected date in a calendar view, with an option to animate the change.
         */
        setSelected(selectedDate: DateComponents | null, animated: boolean):void;
    }
    export interface UICalendarSelectionSingleDateDelegate extends NSObjectProtocol {
        /**
         * Returns whether a user can select a date represented by date components in the calendar view.
         */
        dateSelection(selection: UICalendarSelectionSingleDate, dateComponents: DateComponents | null):boolean;
    }
    export class UICalendarSelectionMultiDate extends UICalendarSelection {
        /**
         * A delegate object that a calendar view asks for selectable dates and informs of changes to the selection of multiple dates.
         */
        delegate: UICalendarSelectionMultiDateDelegate | null;
        /**
         * An array of date component objects that represent selected dates in a calendar view.
         */
        selectedDates: DateComponents[];
        /**
         * Creates an object that tracks multiple dates a user selects from a calendar view, with an optional delegate to manage selectable dates and selection changes.
         */
        constructor (delegate: UICalendarSelectionMultiDateDelegate | null);
        /**
         * Updates the array of date component objects that represent selected dates in a calendar view, with an option to animate the change.
         */
        setSelectedDates(selectedDates: DateComponents[], animated: boolean):void;
    }
    export interface UICalendarSelectionMultiDateDelegate extends NSObjectProtocol {
        /**
         * Returns whether a user can select a date represented by date components in the calendar view.
         */
        multiDateSelection(selection: UICalendarSelectionMultiDate, dateComponents: DateComponents):boolean;
    }
    export class UICalendarSelection extends NSObject {
        /**
         * Informs the calendar view to update the view for selectable dates.
         */
        updateSelectableDates():void;
    }
    export class UIImageView extends UIView {
        /**
         * The image displayed in the image view.
         */
        image: UIImage | null;
        /**
         * The highlighted image displayed in the image view.
         */
        highlightedImage: UIImage | null;
        /**
         * An array of 
         *  objects to use for an animation. 
         */
        animationImages: UIImage[] | null;
        /**
         * An array of 
         *  objects to use for an animation when the view is highlighted. 
         */
        highlightedAnimationImages: UIImage[] | null;
        /**
         * The amount of time it takes to go through one cycle of the images.
         */
        animationDuration: TimeInterval;
        /**
         * Specifies the number of times to repeat the animation.
         */
        animationRepeatCount: number;
        /**
         * Returns a Boolean value indicating whether the animation is running.
         */
        isAnimating: boolean;
        /**
         * The configuration values to use when rendering the image.
         */
        preferredSymbolConfiguration: UIImage.SymbolConfiguration | null;
        /**
         * A Boolean value that determines whether user events are ignored and removed from the event queue.
         */
        isUserInteractionEnabled: boolean;
        /**
         * A Boolean value that determines whether the image is highlighted.
         */
        isHighlighted: boolean;
        /**
         * A color used to tint template images in the view hierarchy.
         */
        tintColor: UIColor!;
        /**
         * Allows 
         *  to respond when an ancestor becomes focused.
         */
        adjustsImageWhenAncestorFocused: boolean;
        /**
         * The layout guide to use when the image view is focused.
         */
        focusedFrameGuide: UILayoutGuide;
        /**
         * A Boolean value indicating whether the floating focused appearance uses the image’s alpha channel.
         */
        masksFocusEffectToContents: boolean;
        /**
         * A view for hosting layered content on top of the image view.
         */
        overlayContentView: UIView;
        /**
         * Returns an image view initialized with the specified image.
         */
        constructor (image: UIImage | null);
        /**
         * Returns an image view initialized with the specified regular and highlighted images.
         */
        constructor (image: UIImage | null, highlightedImage: UIImage | null);
        /**
         * Starts animating the images in the receiver.
         */
        startAnimating():void;
        /**
         * Stops animating the images in the receiver.
         */
        stopAnimating():void;
    }
    export class UIPickerView extends UIView {
        /**
         * The data source for the picker view.
         */
        dataSource: UIPickerViewDataSource | null;
        /**
         * The delegate for the picker view.
         */
        delegate: UIPickerViewDelegate | null;
        /**
         * The number of components for the picker view.
         */
        numberOfComponents: number;
        /**
         * A Boolean value that determines whether the selection indicator is displayed.
         */
        showsSelectionIndicator: boolean;
        /**
         * Returns the number of rows for a component.
         */
        numberOfRows(component: number):number;
        /**
         * Returns the size of a row for a component.
         */
        rowSize(component: number):CGSize;
        /**
         * Reloads all components of the picker view.
         */
        reloadAllComponents():void;
        /**
         * Reloads a particular component of the picker view.
         */
        reloadComponent(component: number):void;
        /**
         * Selects a row in a specified component of the picker view.
         */
        selectRow(row: number, component: number, animated: boolean):void;
        /**
         * Returns the index of the selected row in a given component.
         */
        selectedRow(component: number):number;
        /**
         * Returns the view used by the picker view for a given row and component.
         */
        view(row: number, component: number):UIView | null;
    }
    export interface UIPickerViewDataSource extends NSObjectProtocol {
        /**
         * Asks the data source for the number of components in the picker view.
         */
        numberOfComponents(pickerView: UIPickerView):number;
        /**
         * Asks the data source for the number of rows for a specified component.
         */
        pickerView(pickerView: UIPickerView, component: number):number;
    }
    export interface UIPickerViewDelegate extends NSObjectProtocol {
        /**
         * Called by the picker view when it needs the row height to use for drawing row content.
         */
        pickerView(pickerView: UIPickerView, component: number):CGFloat;
    }
    export class UIProgressView extends UIView {
        /**
         * The current progress of the progress view.
         */
        progress: Float;
        /**
         * The progress object to use for updating the progress view.
         */
        observedProgress: Progress | null;
        /**
         * The current graphical style of the progress view.
         */
        progressViewStyle: UIProgressView.Style;
        /**
         * The color shown for the portion of the progress bar that’s filled.
         */
        progressTintColor: UIColor | null;
        /**
         * An image to use for the portion of the progress bar that’s filled.
         */
        progressImage: UIImage | null;
        /**
         * The color shown for the portion of the progress bar that isn’t filled.
         */
        trackTintColor: UIColor | null;
        /**
         * An image to use for the portion of the track that isn’t filled.
         */
        trackImage: UIImage | null;
        /**
         * Creates a progress view with the specified style.
         */
        constructor (style: UIProgressView.Style);
        /**
         * Creates a progress view with the specified frame rectangle.
         */
        constructor (frame: CGRect);
        /**
         * Creates a progress view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Adjusts the current progress of the progress view, optionally animating the change.
         */
        setProgress(progress: Float, animated: boolean):void;
    }
    /**
     * the same name namespace of class UIProgressView
     */
    export namespace UIProgressView {
        export enum Style {
            default = 0,
            bar = 1,
        }
    }
    export class UIWebView extends UIView {
        /**
         * The receiver’s delegate.
         */
        delegate: UIWebViewDelegate | null;
        /**
         * The URL request identifying the location of the content to load.
         */
        request: URLRequest | null;
        /**
         * A Boolean value indicating whether the receiver is done loading content.
         */
        isLoading: boolean;
        /**
         * A Boolean value indicating whether the receiver can move backward.
         */
        canGoBack: boolean;
        /**
         * A Boolean value indicating whether the receiver can move forward.
         */
        canGoForward: boolean;
        /**
         * A Boolean value that determines whether pressing on a link displays a preview of the destination for the link.
         */
        allowsLinkPreview: boolean;
        /**
         * A Boolean value determining whether the webpage scales to fit the view and the user can change the scale.
         */
        scalesPageToFit: boolean;
        /**
         * The scroll view associated with the web view.
         */
        scrollView: UIScrollView;
        /**
         * A Boolean value indicating whether the web view suppresses content rendering until it is fully loaded into memory.
         */
        suppressesIncrementalRendering: boolean;
        /**
         * A Boolean value indicating whether web content can programmatically display the keyboard.
         */
        keyboardDisplayRequiresUserAction: boolean;
        /**
         * The types of data converted to clickable URLs in the web view’s content.
         */
        dataDetectorTypes: UIDataDetectorTypes;
        /**
         * A Boolean value that determines whether HTML5 videos play inline or use the native full-screen controller.
         */
        allowsInlineMediaPlayback: boolean;
        /**
         * A Boolean value that determines whether HTML5 videos can play automatically or require the user to start playing them.
         */
        mediaPlaybackRequiresUserAction: boolean;
        /**
         * A Boolean value that determines whether Air Play is allowed from this view.
         */
        mediaPlaybackAllowsAirPlay: boolean;
        /**
         * A Boolean value that determines whether Picture in Picture playback is allowed from this view.
         */
        allowsPictureInPictureMediaPlayback: boolean;
        /**
         * The size of the gap, in points, between pages.
         */
        gapBetweenPages: CGFloat;
        /**
         * The number of pages produced by the layout of the web view.
         */
        pageCount: number;
        /**
         * The size of each page, in points, in the direction that the pages flow.
         */
        pageLength: CGFloat;
        /**
         * The manner in which column- or page-breaking occurs.
         */
        paginationBreakingMode: UIWebView.PaginationBreakingMode;
        /**
         * The layout of content in the web view.
         */
        paginationMode: UIWebView.PaginationMode;
        /**
         * Sets the main page contents, MIME type, content encoding, and base URL.
         */
        load(data: Data, MIMEType: string, textEncodingName: string, baseURL: URL):void;
        /**
         * Sets the main page content and base URL.
         */
        loadHTMLString(_string: string, baseURL: URL | null):void;
        /**
         * Connects to a given URL by initiating an asynchronous client request.
         */
        loadRequest(request: URLRequest):void;
        /**
         * Stops the loading of any web content managed by the receiver.
         */
        stopLoading():void;
        /**
         * Reloads the current page.
         */
        reload():void;
        /**
         * Loads the previous location in the back-forward list.
         */
        goBack():void;
        /**
         * Loads the next location in the back-forward list.
         */
        goForward():void;
        /**
         * Returns the result of running a JavaScript script. Although this method is not deprecated, best practice is to use the 
         *  method of the 
         *  class instead.
         */
        stringByEvaluatingJavaScript(script: string):string;
    }
    /**
     * the same name namespace of class UIWebView
     */
    export namespace UIWebView {
        export enum NavigationType {
            linkClicked = 0,
            formSubmitted = 1,
            backForward = 2,
            reload = 3,
            formResubmitted = 4,
            other = 5,
        }
        export enum PaginationBreakingMode {
            page = 0,
            column = 1,
        }
        export enum PaginationMode {
            unpaginated = 0,
            leftToRight = 1,
            topToBottom = 2,
            bottomToTop = 3,
            rightToLeft = 4,
        }
    }
    export interface UIWebViewDelegate extends NSObjectProtocol {
        /**
         * Sent before a web view begins loading a frame.
         */
        webView(webView: UIWebView, request: URLRequest, navigationType: UIWebView.NavigationType):boolean;
        /**
         * Sent after a web view starts loading a frame.
         */
        webViewDidStartLoad(webView: UIWebView):void;
        /**
         * Sent after a web view finishes loading a frame.
         */
        webViewDidFinishLoad(webView: UIWebView):void;
    }
    export class UIControl extends UIView {
        /**
         * The state of the control, specified as a bit mask value.
         */
        state: UIControl.State;
        /**
         * A Boolean value indicating whether the control is in the enabled state.
         */
        isEnabled: boolean;
        /**
         * A Boolean value indicating whether the control is in the selected state.
         */
        isSelected: boolean;
        /**
         * A Boolean value indicating whether the control draws a highlight.
         */
        isHighlighted: boolean;
        /**
         * The vertical alignment of content within the control’s bounds.
         */
        contentVerticalAlignment: UIControl.ContentVerticalAlignment;
        /**
         * The horizontal alignment of content within the control’s bounds.
         */
        contentHorizontalAlignment: UIControl.ContentHorizontalAlignment;
        /**
         * The horizontal alignment currently in effect for the control.
         */
        effectiveContentHorizontalAlignment: UIControl.ContentHorizontalAlignment;
        /**
         * Returns the events for which the control has associated actions.
         */
        allControlEvents: UIControl.Event;
        /**
         * Returns all target objects associated with the control.
         */
        allTargets: Set<AnyHashable>;
        /**
         * A Boolean value indicating whether the control is currently tracking touch events.
         */
        isTracking: boolean;
        /**
         * A Boolean value indicating whether a tracked touch event is currently inside the control’s bounds.
         */
        isTouchInside: boolean;
        isContextMenuInteractionEnabled: boolean;
        showsMenuAsPrimaryAction: boolean;
        /**
         * The default text to display in the control’s tooltip.
         */
        toolTip: string;
        /**
         * The tooltip interaction associated with the control.
         */
        toolTipInteraction: UIToolTipInteraction | null;
        constructor (coder: NSCoder);
        constructor (frame: CGRect);
        constructor (frame: CGRect, primaryAction: UIAction | null);
        /**
         * Associates a target object and action method with the control.
         */
        addTarget(target: any, action: Selector, controlEvents: UIControl.Event):void;
        /**
         * Stops the delivery of events to the specified target object.
         */
        removeTarget(target: any, action: Selector | null, controlEvents: UIControl.Event):void;
        /**
         * Returns the actions performed on a target object when the specified event occurs.
         */
        actions(target: any, controlEvent: UIControl.Event):string[] | null;
        /**
         * Calls the specified action method.
         */
        sendAction(action: Selector, target: any, event: UIEvent | null):void;
        /**
         * Calls the action methods associated with the specified events.
         */
        sendActions(controlEvents: UIControl.Event):void;
        /**
         * Called when a touch event enters the control’s bounds.
         */
        beginTracking(touch: UITouch, event: UIEvent | null):boolean;
        /**
         * Called when a touch event for the control updates.
         */
        continueTracking(touch: UITouch, event: UIEvent | null):boolean;
        /**
         * Called when a touch event associated with the control ends. 
         */
        endTracking(touch: UITouch | null, event: UIEvent | null):void;
        /**
         * Tells the control to cancel tracking related to the specified event.
         */
        cancelTracking(event: UIEvent | null):void;
        addAction(action: UIAction, controlEvents: UIControl.Event):void;
        contextMenuInteraction(interaction: UIContextMenuInteraction, location: CGPoint):UIContextMenuConfiguration | null;
        enumerateEventHandlers(iterator: ()=>any):void;
        menuAttachmentPoint(configuration: UIContextMenuConfiguration):CGPoint;
        removeAction(action: UIAction, controlEvents: UIControl.Event):void;
    }
    /**
     * the same name namespace of class UIControl
     */
    export namespace UIControl {
        export enum ContentVerticalAlignment {
            center = 0,
            top = 1,
            bottom = 2,
            fill = 3,
        }
        export enum ContentHorizontalAlignment {
            center = 0,
            left = 1,
            right = 2,
            fill = 3,
            leading = 4,
            trailing = 5,
        }
        export class Event {
            /**
             * A touch-down event in the control.
             */
            static touchDown: UIControl.Event;
            /**
             * A repeated touch-down event in the control; for this event the value of the UITouch 
             *  method is greater than one.
             */
            static touchDownRepeat: UIControl.Event;
            /**
             * An event where a finger is dragged inside the bounds of the control.
             */
            static touchDragInside: UIControl.Event;
            /**
             * An event where a finger is dragged just outside the bounds of the control. 
             */
            static touchDragOutside: UIControl.Event;
            /**
             * An event where a finger is dragged into the bounds of the control.
             */
            static touchDragEnter: UIControl.Event;
            /**
             * An event where a finger is dragged from within a control to outside its bounds.
             */
            static touchDragExit: UIControl.Event;
            /**
             * A touch-up event in the control where the finger is inside the bounds of the control. 
             */
            static touchUpInside: UIControl.Event;
            /**
             * A touch-up event in the control where the finger is outside the bounds of the control. 
             */
            static touchUpOutside: UIControl.Event;
            /**
             * A system event canceling the current touches for the control.
             */
            static touchCancel: UIControl.Event;
            /**
             * A touch dragging or otherwise manipulating a control, causing it to emit a series of different values.
             */
            static valueChanged: UIControl.Event;
            /**
             * A menu action has triggered prior to the menu being presented.
             */
            static menuActionTriggered: UIControl.Event;
            /**
             * A semantic action triggered by buttons.
             */
            static primaryActionTriggered: UIControl.Event;
            /**
             * A touch initiating an editing session in a 
             *  object by entering its bounds.
             */
            static editingDidBegin: UIControl.Event;
            /**
             * A touch making an editing change in a 
             *  object.
             */
            static editingChanged: UIControl.Event;
            /**
             * A touch ending an editing session in a 
             *  object by leaving its bounds.
             */
            static editingDidEnd: UIControl.Event;
            /**
             * A touch ending an editing session in a 
             *  object.
             */
            static editingDidEndOnExit: UIControl.Event;
            /**
             * All touch events.
             */
            static allTouchEvents: UIControl.Event;
            /**
             * All editing touches for 
             *  objects.
             */
            static allEditingEvents: UIControl.Event;
            /**
             * A range of control-event values available for application use.
             */
            static applicationReserved: UIControl.Event;
            /**
             * A range of control-event values reserved for internal framework use.
             */
            static systemReserved: UIControl.Event;
            /**
             * All events, including system events.
             */
            static allEvents: UIControl.Event;
            constructor (rawValue: number);
        }
        export class State {
            /**
             * The normal, or default state of a control—that is, enabled but neither selected nor highlighted.
             */
            static normal: UIControl.State;
            /**
             * Highlighted state of a control. 
             */
            static highlighted: UIControl.State;
            /**
             * Disabled state of a control. 
             */
            static disabled: UIControl.State;
            /**
             * Selected state of a control. 
             */
            static selected: UIControl.State;
            /**
             * Focused state of a control. 
             */
            static focused: UIControl.State;
            /**
             * Additional control-state flags available for application use.
             */
            static application: UIControl.State;
            /**
             * Control-state flags reserved for internal framework use.
             */
            static reserved: UIControl.State;
            constructor (rawValue: number);
        }
    }
    export class UIButton extends UIControl {
        /**
         * The configuration for the button’s appearance.
         */
        configuration: UIButton.Configuration | null;
        /**
         * A Boolean value that determines whether the button configuration changes when button’s state changes.
         */
        automaticallyUpdatesConfiguration: boolean;
        /**
         * A closure that executes when the button state changes.
         */
        configurationUpdateHandler: UIButton.ConfigurationUpdateHandler | null;
        /**
         * A view that displays the value of the 
         *  property for a button.
         */
        titleLabel: UILabel | null;
        /**
         * The tint color to apply to the button title and image.
         */
        tintColor: UIColor!;
        /**
         * The role of the button.
         */
        role: UIButton.Role;
        /**
         * The style that determines how the button behaves.
         */
        behavioralStyle: UIBehavioralStyle;
        /**
         * The preferred behavioral style.
         */
        preferredBehavioralStyle: UIBehavioralStyle;
        /**
         * The button type.
         */
        buttonType: UIButton.ButtonType;
        /**
         * The current title that is displayed on the button.
         */
        currentTitle: string;
        /**
         * The current styled title that is displayed on the button.
         */
        currentAttributedTitle: NSAttributedString | null;
        /**
         * The color used to display the title.
         */
        currentTitleColor: UIColor;
        /**
         * The color of the title’s shadow.
         */
        currentTitleShadowColor: UIColor | null;
        /**
         * The current image displayed on the button.
         */
        currentImage: UIImage | null;
        /**
         * The current background image displayed on the button.
         */
        currentBackgroundImage: UIImage | null;
        /**
         * The current symbol size, style, and weight.
         */
        currentPreferredSymbolConfiguration: UIImage.SymbolConfiguration | null;
        /**
         * The button’s image view.
         */
        imageView: UIImageView | null;
        /**
         * The label that displays the text of the subtitle.
         */
        subtitleLabel: UILabel | null;
        /**
         * A Boolean that enables pointer interaction.
         */
        isPointerInteractionEnabled: boolean;
        /**
         * A Boolean value that indicates whether a pointer effect is active.
         */
        isHovered: boolean;
        /**
         * A closure that returns the pointer style to use when the pointer hovers over the button.
         */
        pointerStyleProvider: UIButton.PointerStyleProvider | null;
        /**
         * A menu that the button displays.
         */
        menu: UIMenu | null;
        /**
         * A Boolean value that indicates whether the button menu is visible.
         */
        isHeld: boolean;
        /**
         * A Boolean value that indicates whether the button tracks a selection, either through a menu or a toggle.
         */
        changesSelectionAsPrimaryAction: boolean;
        /**
         * The preferred menu-element ordering strategy for the menu.
         */
        preferredMenuElementOrder: UIContextMenuConfiguration.ElementOrder;
        /**
         * A Boolean value that determines whether the title shadow changes when the button is highlighted.
         */
        reversesTitleShadowWhenHighlighted: boolean;
        /**
         * A Boolean value that determines whether the image changes when the button is highlighted.
         */
        adjustsImageWhenHighlighted: boolean;
        /**
         * A Boolean value that determines whether the image changes when the button is disabled.
         */
        adjustsImageWhenDisabled: boolean;
        /**
         * A Boolean value that determines whether tapping the button causes it to glow.
         */
        showsTouchWhenHighlighted: boolean;
        /**
         * The inset or outset margins for the rectangle surrounding all of the button’s content.
         */
        contentEdgeInsets: UIEdgeInsets;
        /**
         * The inset or outset margins for the rectangle around the button’s title text.
         */
        titleEdgeInsets: UIEdgeInsets;
        /**
         * The inset or outset margins for the rectangle around the button’s image.
         */
        imageEdgeInsets: UIEdgeInsets;
        /**
         * Creates a new button with the specified frame.
         */
        constructor (frame: CGRect);
        /**
         * Creates a new button with the specified frame, registers the primary action event, and sets the title and image to the action’s title and image.
         */
        constructor (frame: CGRect, primaryAction: UIAction | null);
        /**
         * Creates a new button with data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates and returns a new button of the specified type.
         */
        constructor (buttonType: UIButton.ButtonType);
        /**
         * Creates a new button with the specified type, registers the primary action event, and sets the title and image to the action’s title and image.
         */
        constructor (buttonType: UIButton.ButtonType, primaryAction: UIAction | null);
        /**
         * Creates a new button with the specified configuration and registers the primary action event.
         */
        constructor (configuration: UIButton.Configuration, primaryAction: UIAction | null);
        /**
         * Creates and returns a system type button with specified image, target, and action.
         */
        static systemButton(image: UIImage, target: any, action: Selector | null):Self;
        /**
         * Requests the system update the button configuration.
         */
        setNeedsUpdateConfiguration():void;
        /**
         * Updates button configuration in response to button state change.
         */
        updateConfiguration():void;
        /**
         * Returns the title associated with the specified state.
         */
        title(state: UIControl.State):string;
        /**
         * Sets the title to use for the specified state.
         */
        setTitle(title: string, state: UIControl.State):void;
        /**
         * Returns the styled title associated with the specified state.
         */
        attributedTitle(state: UIControl.State):NSAttributedString | null;
        /**
         * Sets the styled title to use for the specified state.
         */
        setAttributedTitle(title: NSAttributedString | null, state: UIControl.State):void;
        /**
         * Returns the title color used for a state.
         */
        titleColor(state: UIControl.State):UIColor | null;
        /**
         * Sets the color of the title to use for the specified state.
         */
        setTitleColor(color: UIColor | null, state: UIControl.State):void;
        /**
         * Returns the shadow color of the title used for a state.
         */
        titleShadowColor(state: UIControl.State):UIColor | null;
        /**
         * Sets the color of the title shadow to use for the specified state.
         */
        setTitleShadowColor(color: UIColor | null, state: UIControl.State):void;
        /**
         * Returns the background image used for a button state.
         */
        backgroundImage(state: UIControl.State):UIImage | null;
        /**
         * Returns the image used for a button state.
         */
        image(state: UIControl.State):UIImage | null;
        /**
         * Sets the background image to use for the specified button state.
         */
        setBackgroundImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Sets the image to use for the specified state.
         */
        setImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the preferred symbol configuration for a button state.
         */
        preferredSymbolConfigurationForImage(state: UIControl.State):UIImage.SymbolConfiguration | null;
        /**
         * Sets the preferred symbol configuration for a button state.
         */
        setPreferredSymbolConfiguration(configuration: UIImage.SymbolConfiguration | null, state: UIControl.State):void;
        /**
         * Returns the rectangle in which the receiver draws its background.
         */
        backgroundRect(bounds: CGRect):CGRect;
        /**
         * Returns the rectangle in which the receiver draws its entire content.
         */
        contentRect(bounds: CGRect):CGRect;
        /**
         * Returns the rectangle in which the receiver draws its title.
         */
        titleRect(contentRect: CGRect):CGRect;
        /**
         * Returns the rectangle in which the receiver draws its image.
         */
        imageRect(contentRect: CGRect):CGRect;
    }
    /**
     * the same name namespace of class UIButton
     */
    export namespace UIButton {
        export enum ButtonType {
            custom = 0,
            system = 1,
            detailDisclosure = 2,
            infoLight = 3,
            infoDark = 4,
            contactAdd = 5,
            plain = 6,
            close = 7,
        }
        export class Configuration {
            /**
             * The text of the title label the button displays.
             */
            title: string;
            /**
             * The text the subtitle label of the button displays.
             */
            subtitle: string;
            /**
             * The text and style attributes for the button’s title label.
             */
            attributedTitle: AttributedString | null;
            /**
             * The text and style attributes for the button’s subtitle label.
             */
            attributedSubtitle: AttributedString | null;
            /**
             * A structure to update the attributed title when the button state changes.
             */
            titleTextAttributesTransformer: UIConfigurationTextAttributesTransformer | null;
            /**
             * A structure to update the attributed subtitle when the button state changes.
             */
            subtitleTextAttributesTransformer: UIConfigurationTextAttributesTransformer | null;
            /**
             * The distance between the title and subtitle labels.
             */
            titlePadding: CGFloat;
            /**
             * The text alignment the button uses to lay out the title and subtitle.
             */
            titleAlignment: UIButton.Configuration.TitleAlignment;
            /**
             * The foreground image the button displays.
             */
            image: UIImage | null;
            /**
             * The distance between the button’s image and text.
             */
            imagePadding: CGFloat;
            /**
             * The edge against which the button places the image.
             */
            imagePlacement: NSDirectionalRectEdge;
            /**
             * A block that transforms the image color when the button state changes.
             */
            imageColorTransformer: UIConfigurationColorTransformer | null;
            /**
             * A requested configuration object for the button symbol image.
             */
            preferredSymbolConfigurationForImage: UIImage.SymbolConfiguration | null;
            /**
             * A size that requests a preferred size for the button.
             */
            buttonSize: UIButton.Configuration.Size;
            /**
             * The distance from the button’s content area to its bounds.
             */
            contentInsets: NSDirectionalEdgeInsets;
            /**
             * The untransformed color for background views.
             */
            baseBackgroundColor: UIColor | null;
            /**
             * The untransformed color for foreground views.
             */
            baseForegroundColor: UIColor | null;
            /**
             * The configuration to customize the button background.
             */
            background: UIBackgroundConfiguration;
            /**
             * The button style that controls the display behavior of the background corner radius.
             */
            cornerStyle: UIButton.Configuration.CornerStyle;
            /**
             * The style of the indicator that appears on the button.
             */
            indicator: UIButton.Configuration.Indicator;
            /**
             * The color transformer for resolving the indicator color.
             */
            indicatorColorTransformer: UIConfigurationColorTransformer | null;
            /**
             * A Boolean value that determines whether the button displays an activity indicator instead of an image.
             */
            showsActivityIndicator: boolean;
            /**
             * The color transformer for resolving the color of the activity indicator.
             */
            activityIndicatorColorTransformer: UIConfigurationColorTransformer | null;
            /**
             * A Boolean value that determines whether the style automatically updates when the button is in a selected state.
             */
            automaticallyUpdateForSelection: boolean;
            /**
             * The style to use when this button appears in macOS.
             */
            macIdiomStyle: UIButton.Configuration.MacIdiomStyle;
            /**
             * The hash value of the configuration.
             */
            hashValue: number;
            /**
             * Creates a configuration for a button with a transparent background.
             */
            static plain():UIButton.Configuration;
            /**
             * Creates a configuration for a button with a gray background.
             */
            static gray():UIButton.Configuration;
            /**
             * Creates a configuration for a button with a tinted background color.
             */
            static tinted():UIButton.Configuration;
            /**
             * Creates a configuration for a button with a background filled with the button’s tint color.
             */
            static filled():UIButton.Configuration;
            /**
             * Creates a configuration for a button that has a borderless style.
             */
            static borderless():UIButton.Configuration;
            /**
             * Creates a configuration for a button that has a bordered style.
             */
            static bordered():UIButton.Configuration;
            /**
             * Creates a configuration for a button that has a tinted, bordered style.
             */
            static borderedTinted():UIButton.Configuration;
            /**
             * Creates a configuration for a button that has a prominent, bordered style.
             */
            static borderedProminent():UIButton.Configuration;
            /**
             * Returns a copy of the configuration, updated for the given button.
             */
            updated(button: UIButton):UIButton.Configuration;
            /**
             * Restores the default content insets.
             */
            setDefaultContentInsets():void;
            /**
             * Hashes the essential components of the button configuration by feeding them into the given hash function.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class Configuration
         */
        export namespace Configuration {
            export enum TitleAlignment {
                automatic,
                center,
                leading,
                trailing,
            }
            export enum Size {
                large,
                medium,
                small,
                mini,
            }
            export enum CornerStyle {
                dynamic,
                fixed,
                capsule,
                large,
                medium,
                small,
            }
            export enum Indicator {
                automatic,
                none,
                popup,
            }
            export enum MacIdiomStyle {
                automatic,
                bordered,
                borderless,
                borderlessTinted,
            }
        }
        export enum Role {
            normal = 0,
            primary = 1,
            cancel = 2,
            destructive = 3,
        }
    }
    export class UIConfigurationTextAttributesTransformer {
        /**
         * A closure that defines the text transformation.
         */
        transform: ()=>any;
        /**
         * Creates a new text attributes transformer.
         */
        constructor (transform: ()=>any);
        /**
         * Calls the transform closure of the text attributes transformer.
         */
        callAsFunction(input: AttributeContainer):AttributeContainer;
    }
    export enum UIBehavioralStyle {
        automatic = 0,
        pad = 1,
        mac = 2,
    }
    export class UIColorWell extends UIControl {
        /**
         * The title for the color picker.
         */
        title: string;
        /**
         * A Boolean value that determines whether the color picker supports alpha values.
         */
        supportsAlpha: boolean;
        /**
         * The selected color in the color picker.
         */
        selectedColor: UIColor | null;
    }
    export class UIDatePicker extends UIControl {
        /**
         * The calendar to use for the date picker.
         */
        calendar: Calendar!;
        /**
         * The date displayed by the date picker.
         */
        date: Date;
        /**
         * The locale used by the date picker.
         */
        locale: Locale | null;
        /**
         * The time zone reflected in the date displayed by the date picker.
         */
        timeZone: TimeZone | null;
        /**
         * The mode of the date picker.
         */
        datePickerMode: UIDatePicker.Mode;
        /**
         * The current style of the date picker.
         */
        datePickerStyle: UIDatePickerStyle;
        /**
         * The preferred style of the date picker.
         */
        preferredDatePickerStyle: UIDatePickerStyle;
        /**
         * The maximum date that a date picker can show.
         */
        maximumDate: Date | null;
        /**
         * The minimum date that a date picker can show.
         */
        minimumDate: Date | null;
        /**
         * The interval at which the date picker should display minutes.
         */
        minuteInterval: number;
        /**
         * The value displayed by the date picker when the mode property is set to show a countdown time.
         */
        countDownDuration: TimeInterval;
        /**
         * A Boolean value that determines whether the date rounds to a specific minute interval.
         */
        roundsToMinuteInterval: boolean;
        /**
         * Sets the date to display in the date picker, with an option to animate the setting.
         */
        setDate(date: Date, animated: boolean):void;
    }
    /**
     * the same name namespace of class UIDatePicker
     */
    export namespace UIDatePicker {
        export enum Mode {
            time = 0,
            date = 1,
            dateAndTime = 2,
            countDownTimer = 3,
        }
    }
    export enum UIDatePickerStyle {
        automatic = 0,
        compact = 2,
        inline = 3,
        wheels = 1,
    }
    export class UIPageControl extends UIControl {
        /**
         * The current page, shown by the page control as a white dot.
         */
        currentPage: number;
        /**
         * The number of pages the receiver shows (as dots).
         */
        numberOfPages: number;
        /**
         * A Boolean value that controls whether the page control is hidden when there is only one page.
         */
        hidesForSinglePage: boolean;
        /**
         * A Boolean value that controls when the current page is displayed.
         */
        defersCurrentPageDisplay: boolean;
        /**
         * The tint color to apply to the page indicator.
         */
        pageIndicatorTintColor: UIColor | null;
        /**
         * The tint color to apply to the current page indicator.
         */
        currentPageIndicatorTintColor: UIColor | null;
        /**
         * The preferred image for indicators.
         */
        preferredIndicatorImage: UIImage | null;
        /**
         * The preferred image for the current page indicator.
         */
        preferredCurrentPageIndicatorImage: UIImage | null;
        /**
         * The layout direction of the page indicators.
         */
        direction: UIPageControl.Direction;
        /**
         * The preferred background style.
         */
        backgroundStyle: UIPageControl.BackgroundStyle;
        /**
         * A Boolean value that determines whether the page control allows continuous interaction.
         */
        allowsContinuousInteraction: boolean;
        /**
         * The interaction state when the current page changes.
         */
        interactionState: UIPageControl.InteractionState;
        /**
         * Updates the page indicator to the current page. 
         */
        updateCurrentPageDisplay():void;
        /**
         * Returns the override image for the indicator of the specified page.
         */
        indicatorImage(page: number):UIImage | null;
        /**
         * Registers an override image for the indicator of the specified page. 
         */
        setIndicatorImage(image: UIImage | null, page: number):void;
        /**
         * Returns the override image for the current page indicator of the specified page.
         */
        currentPageIndicatorImage(page: number):UIImage | null;
        /**
         * Registers an override image for the current page indicator of the specified page.
         */
        setCurrentPageIndicatorImage(image: UIImage | null, page: number):void;
        /**
         * Returns the size the receiver’s bounds should be to accommodate the given number of pages.
         */
        size(pageCount: number):CGSize;
    }
    /**
     * the same name namespace of class UIPageControl
     */
    export namespace UIPageControl {
        export enum Direction {
            natural = 0,
            leftToRight = 1,
            rightToLeft = 2,
            topToBottom = 3,
            bottomToTop = 4,
        }
        export enum BackgroundStyle {
            automatic = 0,
            prominent = 1,
            minimal = 2,
        }
        export enum InteractionState {
            none = 0,
            discrete = 1,
            continuous = 2,
        }
    }
    export class UISegmentedControl extends UIControl {
        /**
         * A segment index value indicating that there’s no selected segment.
         */
        static noSegment: number;
        /**
         * Returns the number of segments the segmented control has.
         */
        numberOfSegments: number;
        /**
         * The index number that identifies the selected segment that the user last touched.
         */
        selectedSegmentIndex: number;
        /**
         * A Boolean value that determines whether segments in the segmented control show selected state.
         */
        isMomentary: boolean;
        /**
         * Indicates whether the control attempts to adjust segment widths based on their content widths.
         */
        apportionsSegmentWidthsByContent: boolean;
        /**
         * The color to use for highlighting the currently selected segment.
         */
        selectedSegmentTintColor: UIColor | null;
        /**
         * Creates a segmented control with segments having the given titles or images.
         */
        constructor (items: any[] | null);
        /**
         * Creates a segmented control with the given frame and adds segments for the actions you specify.
         */
        constructor (frame: CGRect, actions: UIAction[]);
        /**
         * Creates an empty segmented control with the frame you specify.
         */
        constructor (frame: CGRect);
        /**
         * Creates a segmented control with data from an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Sets the content of a segment to a given image.
         */
        setImage(image: UIImage | null, segment: number):void;
        /**
         * Returns the image for a specific segment.
         */
        imageForSegment(segment: number):UIImage | null;
        /**
         * Sets the title of a segment. 
         */
        setTitle(title: string, segment: number):void;
        /**
         * Returns the title of the specified segment.
         */
        titleForSegment(segment: number):string;
        /**
         * Fetches the action of the segment at the index you specify, if one exists.
         */
        actionForSegment(segment: number):UIAction | null;
        /**
         * Sets the action for the segment at the index you specify.
         */
        setAction(action: UIAction, segment: number):void;
        /**
         * The index of a segment with an action that has an identifier matching the identifier you specify.
         */
        segmentIndex(actionIdentifier: UIAction.Identifier):number;
        /**
         * Insert a segment with the action you specify at the given index.
         */
        insertSegment(action: UIAction, segment: number, animated: boolean):void;
        /**
         * Removes all segments of the segmented control.
         */
        removeAllSegments():void;
        /**
         * Removes the segment you specify from the segmented control, optionally animating the transition.
         */
        removeSegment(segment: number, animated: boolean):void;
        /**
         * Enables the segment you specify.
         */
        setEnabled(enabled: boolean, segment: number):void;
        /**
         * Returns whether the indicated segment is enabled.
         */
        isEnabledForSegment(segment: number):boolean;
        /**
         * Adjusts the offset for drawing the content (image or text) of the specified segment.
         */
        setContentOffset(offset: CGSize, segment: number):void;
        /**
         * Returns the offset for drawing the content (image or text) of the segment you specify.
         */
        contentOffsetForSegment(segment: number):CGSize;
        /**
         * Sets the width of the segment at the index you specify.
         */
        setWidth(width: CGFloat, segment: number):void;
        /**
         * Returns the width of the segment at the index you specify.
         */
        widthForSegment(segment: number):CGFloat;
        /**
         * Returns the background image for a given state and bar metrics.
         */
        backgroundImage(state: UIControl.State, barMetrics: UIBarMetrics):UIImage | null;
        /**
         * Sets the background image for given state and bar metrics.
         */
        setBackgroundImage(backgroundImage: UIImage | null, state: UIControl.State, barMetrics: UIBarMetrics):void;
        /**
         * Returns the positioning offset for a given segment and bar metrics.
         */
        contentPositionAdjustment(leftCenterRightOrAlone: UISegmentedControl.Segment, barMetrics: UIBarMetrics):UIOffset;
        /**
         * Sets the content positioning offset for a given segment and bar metrics.
         */
        setContentPositionAdjustment(adjustment: UIOffset, leftCenterRightOrAlone: UISegmentedControl.Segment, barMetrics: UIBarMetrics):void;
        /**
         * Returns the divider image used for a given combination of left and right segment states and bar metrics. 
         */
        dividerImage(leftState: UIControl.State, rightState: UIControl.State, barMetrics: UIBarMetrics):UIImage | null;
        /**
         * Sets the divider image to use for a given combination of left and right segment states and bar metrics.
         */
        setDividerImage(dividerImage: UIImage | null, leftState: UIControl.State, rightState: UIControl.State, barMetrics: UIBarMetrics):void;
        /**
         * Returns the text attributes of the title for a given control state.
         */
        titleTextAttributes(state: UIControl.State):Record<NSAttributedString.Key, any> | null;
        /**
         * Sets the text attributes of the title for a given control state.
         */
        setTitleTextAttributes(attributes: Record<NSAttributedString.Key, any> | null, state: UIControl.State):void;
    }
    /**
     * the same name namespace of class UISegmentedControl
     */
    export namespace UISegmentedControl {
        export enum Segment {
            any = 0,
            left = 1,
            center = 2,
            right = 3,
            alone = 4,
        }
    }
    export class UISlider extends UIControl {
        /**
         * The slider’s current value.
         */
        value: Float;
        /**
         * The minimum value of the slider.
         */
        minimumValue: Float;
        /**
         * The maximum value of the slider.
         */
        maximumValue: Float;
        /**
         * A Boolean value indicating whether changes in the slider’s value generate continuous update events.
         */
        isContinuous: boolean;
        /**
         * The style that determines how the slider behaves.
         */
        behavioralStyle: UIBehavioralStyle;
        /**
         * The preferred behavioral style.
         */
        preferredBehavioralStyle: UIBehavioralStyle;
        /**
         * The image that represents the slider’s minimum value.
         */
        minimumValueImage: UIImage | null;
        /**
         * The image representing the slider’s maximum value.
         */
        maximumValueImage: UIImage | null;
        /**
         * The color used to tint the default minimum track images.
         */
        minimumTrackTintColor: UIColor | null;
        /**
         * The minimum track image currently being used to render the slider.
         */
        currentMinimumTrackImage: UIImage | null;
        /**
         * The color used to tint the default maximum track images.
         */
        maximumTrackTintColor: UIColor | null;
        /**
         * Contains the maximum track image currently being used to render the slider.
         */
        currentMaximumTrackImage: UIImage | null;
        /**
         * The color used to tint the default thumb images.
         */
        thumbTintColor: UIColor | null;
        /**
         * The thumb image currently being used to render the slider.
         */
        currentThumbImage: UIImage | null;
        /**
         * Sets the slider’s current value, allowing you to animate the change visually.
         */
        setValue(value: Float, animated: boolean):void;
        /**
         * Returns the minimum track image associated with the specified control state.
         */
        minimumTrackImage(state: UIControl.State):UIImage | null;
        /**
         * Assigns a minimum track image to the specified control states.
         */
        setMinimumTrackImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the maximum track image associated with the specified control state.
         */
        maximumTrackImage(state: UIControl.State):UIImage | null;
        /**
         * Assigns a maximum track image to the specified control states.
         */
        setMaximumTrackImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the thumb image associated with the specified control state.
         */
        thumbImage(state: UIControl.State):UIImage | null;
        /**
         * Assigns a thumb image to the specified control states.
         */
        setThumbImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the drawing rectangle for the maximum value image.
         */
        maximumValueImageRect(bounds: CGRect):CGRect;
        /**
         * Returns the drawing rectangle for the minimum value image.
         */
        minimumValueImageRect(bounds: CGRect):CGRect;
        /**
         * Returns the drawing rectangle for the slider’s track.
         */
        trackRect(bounds: CGRect):CGRect;
        /**
         * Returns the drawing rectangle for the slider’s thumb image.
         */
        thumbRect(bounds: CGRect, rect: CGRect, value: Float):CGRect;
    }
    export class UIStepper extends UIControl {
        /**
         * A Boolean value that determines whether to send value changes during user interaction or after user interaction ends.
         */
        isContinuous: boolean;
        /**
         * A Boolean value that determines whether to repeatedly change the stepper’s value as the user presses and holds a stepper button.
         */
        autorepeat: boolean;
        /**
         * A Boolean value that determines whether the stepper can wrap its value to the minimum or maximum value when incrementing and decrementing the value.
         */
        wraps: boolean;
        /**
         * The lowest possible numeric value for the stepper.
         */
        minimumValue: number;
        /**
         * The highest possible numeric value for the stepper.
         */
        maximumValue: number;
        /**
         * The step, or increment, value for the stepper.
         */
        stepValue: number;
        /**
         * The numeric value of the stepper.
         */
        value: number;
        /**
         * Returns the background image associated with the specified control state.
         */
        backgroundImage(state: UIControl.State):UIImage | null;
        /**
         * Sets the background image for the control when it’s in the specified state.
         */
        setBackgroundImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the image used for the decrement glyph of the control.
         */
        decrementImage(state: UIControl.State):UIImage | null;
        /**
         * Sets the image to use for the decrement glyph of the control.
         */
        setDecrementImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the divider image for the given combination of left and right states.
         */
        dividerImage(state: UIControl.State, state1: UIControl.State):UIImage | null;
        /**
         * Sets the image to use for the given combination of left and right states.
         */
        setDividerImage(image: UIImage | null, leftState: UIControl.State, rightState: UIControl.State):void;
        /**
         * Returns the image used for the increment glyph of the control.
         */
        incrementImage(state: UIControl.State):UIImage | null;
        /**
         * Sets the image to use for the increment glyph of the control.
         */
        setIncrementImage(image: UIImage | null, state: UIControl.State):void;
    }
    export class UISwitch extends UIControl {
        /**
         * A Boolean value that determines whether the switch is in the on or off position.
         */
        isOn: boolean;
        /**
         * The preferred display style for the switch.
         */
        preferredStyle: UISwitch.Style;
        /**
         * The display style for the switch.
         */
        style: UISwitch.Style;
        /**
         * The title displayed next to a checkbox-style switch.
         */
        title: string;
        /**
         * The color used to tint the appearance of the switch when it’s in the on position.
         */
        onTintColor: UIColor | null;
        /**
         * The color used to tint the appearance of the thumb.
         */
        thumbTintColor: UIColor | null;
        /**
         * The image displayed when the switch is in the on position.
         */
        onImage: UIImage | null;
        /**
         * The image displayed when the switch is in the off position.
         */
        offImage: UIImage | null;
        /**
         * Creates a switch control.
         */
        constructor (frame: CGRect);
        /**
         * Creates a switch control from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Sets the state of the switch to the on or off position, optionally animating the transition.
         */
        setOn(on: boolean, animated: boolean):void;
    }
    /**
     * the same name namespace of class UISwitch
     */
    export namespace UISwitch {
        export enum Style {
            automatic = 0,
            checkbox = 1,
            sliding = 2,
        }
    }
    export class UISearchTextField extends UITextField {
        /**
         * The range of the field’s text content.
         */
        textualRange: UITextRange;
        /**
         * A Boolean that indicates whether the user can remove tokens from the search field.
         */
        allowsDeletingTokens: boolean;
        /**
         * A Boolean that indicates whether the user can copy or drag tokens from the search field.
         */
        allowsCopyingTokens: boolean;
        /**
         * The collection of tokens in the search text field.
         */
        tokens: UISearchToken[];
        /**
         * The background color for all tokens in the search text field.
         */
        tokenBackgroundColor: UIColor!;
        /**
         * A list of suggestions to offer as shortcuts below the search field.
         */
        searchSuggestions: UISearchSuggestion[] | null;
        /**
         * Converts text in a search field into a search token.
         */
        replaceTextualPortion(textRange: UITextRange, token: UISearchToken, tokenIndex: number):void;
        /**
         * Adds a search token at a specific index.
         */
        insertToken(token: UISearchToken, tokenIndex: number):void;
        /**
         * Removes a particular search token from the search text field.
         */
        removeToken(tokenIndex: number):void;
        /**
         * Converts a token index into a text position.
         */
        positionOfToken(tokenIndex: number):UITextPosition;
    }
    export interface UISearchTextFieldDelegate extends UITextFieldDelegate {
        /**
         * Asks the delegate for an object that can provide a token when the copied token is pasted.
         */
        searchTextField(searchTextField: UISearchTextField, token: UISearchToken):NSItemProvider;
    }
    export class UISearchToken extends NSObject {
        /**
         * The object represented by the search token.
         */
        representedObject: any;
        /**
         * Creates a search token with the specified text and icon (if any).
         */
        constructor (icon: UIImage | null, text: string);
    }
    export class UIVisualEffect extends NSObject {}
    export class UIVisualEffectView extends UIView {
        /**
         * A view object that can have a visual effect view added to it.
         */
        contentView: UIView;
        /**
         * The visual effect provided by the view.
         */
        effect: UIVisualEffect | null;
        /**
         * Creates a new visual effect view with the designated visual effect.
         */
        constructor (effect: UIVisualEffect | null);
        /**
         * Creates a visual effect view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export class UIVibrancyEffect extends UIVisualEffect {
        /**
         * Creates a vibrancy effect with the specified blur and style values.
         */
        constructor (blurEffect: UIBlurEffect, style: UIVibrancyEffectStyle);
        /**
         * Creates a vibrancy effect for a specific blur effect.
         */
        constructor (blurEffect: UIBlurEffect);
        /**
         * Creates a vibrancy effect suitable for use with certain supporting text and template images within a widget.
         */
        static widgetPrimary():UIVibrancyEffect;
        /**
         * Creates a vibrancy effect suitable for indicating the secondary importance or relevance of supporting text and template images within a widget.
         */
        static widgetSecondary():UIVibrancyEffect;
        /**
         * Creates a vibrancy effect for the specified style.
         */
        static widgetEffect(vibrancyStyle: UIVibrancyEffectStyle):UIVibrancyEffect;
        /**
         * Creates a vibrancy effect for use in Notification Center.
         */
        static notificationCenter():UIVibrancyEffect;
    }
    export enum UIVibrancyEffectStyle {
        label = 0,
        secondaryLabel = 1,
        tertiaryLabel = 2,
        quaternaryLabel = 3,
        fill = 4,
        secondaryFill = 5,
        tertiaryFill = 6,
        separator = 7,
    }
    export class UIBlurEffect extends UIVisualEffect {
        /**
         * Creates a blur effect with the designated style.
         */
        constructor (style: UIBlurEffect.Style);
    }
    /**
     * the same name namespace of class UIBlurEffect
     */
    export namespace UIBlurEffect {
        export enum Style {
            systemUltraThinMaterial = 6,
            systemThinMaterial = 7,
            systemMaterial = 8,
            systemThickMaterial = 9,
            systemChromeMaterial = 10,
            systemUltraThinMaterialLight = 11,
            systemThinMaterialLight = 12,
            systemMaterialLight = 13,
            systemThickMaterialLight = 14,
            systemChromeMaterialLight = 15,
            systemUltraThinMaterialDark = 16,
            systemThinMaterialDark = 17,
            systemMaterialDark = 18,
            systemThickMaterialDark = 19,
            systemChromeMaterialDark = 20,
            extraLight = 0,
            light = 1,
            dark = 2,
            extraDark = 3,
            regular = 4,
            prominent = 5,
        }
    }
    export class UIBarItem extends NSObject {
        /**
         * The title displayed on the item.
         */
        title: string;
        /**
         * The image used to represent the item.
         */
        image: UIImage | null;
        /**
         * The image to use to represent the item in landscape orientation when using the iPhone appearance idiom.
         */
        landscapeImagePhone: UIImage | null;
        /**
         * The image to display for users who are blind or have low vision.
         */
        largeContentSizeImage: UIImage | null;
        /**
         * The image inset or outset for each edge.
         */
        imageInsets: UIEdgeInsets;
        /**
         * The image inset or outset for each edge of the image in landscape orientation when using the iPhone appearance idiom.
         */
        landscapeImagePhoneInsets: UIEdgeInsets;
        /**
         * The insets to apply to the bar item’s large image when displaying the image in an assistive UI.
         */
        largeContentSizeImageInsets: UIEdgeInsets;
        /**
         * A Boolean value indicating whether the item is enabled.
         */
        isEnabled: boolean;
        /**
         * The bar item’s tag, an app-supplied integer that you can use to identify bar item objects in your app.
         */
        tag: number;
        /**
         * Initializes the bar item to its default state.
         */
        constructor ();
        /**
         * Creates a bar item from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Sets the title’s text attributes for a given control state.
         */
        setTitleTextAttributes(attributes: Record<NSAttributedString.Key, any> | null, state: UIControl.State):void;
        /**
         * Returns the title’s text attributes for a given control state.
         */
        titleTextAttributes(state: UIControl.State):Record<NSAttributedString.Key, any> | null;
    }
    export class UIBarButtonItem extends UIBarItem {
        /**
         * A custom view representing the item.
         */
        customView: UIView | null;
        /**
         * The action associated with the item.
         */
        primaryAction: UIAction | null;
        /**
         * A Boolean value that indicates whether the button represents an action or selection.
         */
        changesSelectionAsPrimaryAction: boolean;
        /**
         * The selector defining the action message to send to the target object when the user taps this bar button item.
         */
        action: Selector | null;
        /**
         * The object that receives an action when the user selects the item.
         */
        target: AnyObject | null;
        /**
         * The context menu for this button.
         */
        menu: UIMenu | null;
        /**
         * The preferred menu-element ordering strategy for the menu.
         */
        preferredMenuElementOrder: UIContextMenuConfiguration.ElementOrder;
        /**
         * The style of the item.
         */
        style: UIBarButtonItem.Style;
        /**
         * The tint color to apply to the button item.
         */
        tintColor: UIColor | null;
        /**
         * A Boolean that determines the visibility of the item.
         */
        isHidden: boolean;
        /**
         * A Boolean value that indicates whether the button is in a selected state.
         */
        isSelected: boolean;
        /**
         * The width of the item.
         */
        width: CGFloat;
        /**
         * The set of possible titles to display on the bar button.
         */
        possibleTitles: Set<String> | null;
        /**
         * The group that the button belongs to.
         */
        buttonGroup: UIBarButtonItemGroup | null;
        /**
         * A menu element that represents the item when it appears in a menu.
         */
        menuRepresentation: UIMenuElement | null;
        /**
         * Creates a plain-style item using the specified title, image, primary action, and context menu.
         */
        constructor (title: string, image: UIImage | null, primaryAction: UIAction | null, menu: UIMenu | null);
        /**
         * Creates a plain-style item using the specified title, image, target, action, and context menu.
         */
        constructor (title: string, image: UIImage | null, target: AnyObject | null, action: Selector | null, menu: UIMenu | null);
        /**
         * Initializes the item to its default state.
         */
        constructor ();
        /**
         * Creates an item from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates an item using the specified title, style, target, and action.
         */
        constructor (title: string, style: UIBarButtonItem.Style, target: any, action: Selector | null);
        /**
         * Creates an item using the specified image, style, target, and action.
         */
        constructor (image: UIImage | null, style: UIBarButtonItem.Style, target: any, action: Selector | null);
        /**
         * Creates an item using the specified images, style, target, and action.
         */
        constructor (image: UIImage | null, landscapeImagePhone: UIImage | null, style: UIBarButtonItem.Style, target: any, action: Selector | null);
        /**
         * Creates an item using the specified system item, primary action, and context menu.
         */
        constructor (systemItem: UIBarButtonItem.SystemItem, primaryAction: UIAction | null, menu: UIMenu | null);
        /**
         * Creates an item using the specified system item, target, and action.
         */
        constructor (systemItem: UIBarButtonItem.SystemItem, target: any, action: Selector | null);
        /**
         * Creates an item using the specified custom view.
         */
        constructor (customView: UIView);
        /**
         * Creates a new fixed-width space item.
         */
        static fixedSpace(width: CGFloat):Self;
        /**
         * Creates a new flexible-width space item.
         */
        static flexibleSpace():Self;
        /**
         * Places the item in an optional group that a person can move, add to, or remove from the navigation bar during layout customization.
         */
        creatingOptionalGroup(customizationIdentifier: string, isInDefaultCustomization: boolean):UIBarButtonItemGroup;
        /**
         * Places the item in a fixed group that a person can’t move or remove from the navigation bar during layout customization.
         */
        creatingFixedGroup():UIBarButtonItemGroup;
        /**
         * Places the item in a movable group that a person can move but can’t remove from the navigation bar during layout customization.
         */
        creatingMovableGroup(customizationIdentifier: string):UIBarButtonItemGroup;
        /**
         * Returns the back button background image for a specified control state and bar metrics.
         */
        backButtonBackgroundImage(state: UIControl.State, barMetrics: UIBarMetrics):UIImage | null;
        /**
         * Sets the back button background image for a specified control state and bar metrics.
         */
        setBackButtonBackgroundImage(backgroundImage: UIImage | null, state: UIControl.State, barMetrics: UIBarMetrics):void;
        /**
         * Returns the back button title offset for specified bar metrics.
         */
        backButtonTitlePositionAdjustment(barMetrics: UIBarMetrics):UIOffset;
        /**
         * Sets the back button title offset for specified bar metrics.
         */
        setBackButtonTitlePositionAdjustment(adjustment: UIOffset, barMetrics: UIBarMetrics):void;
        /**
         * Returns the back button vertical position offset for specified bar metrics.
         */
        backButtonBackgroundVerticalPositionAdjustment(barMetrics: UIBarMetrics):CGFloat;
        /**
         * Sets the back button vertical position offset for specified bar metrics.
         */
        setBackButtonBackgroundVerticalPositionAdjustment(adjustment: CGFloat, barMetrics: UIBarMetrics):void;
        /**
         * Returns the background vertical position offset for specified bar metrics.
         */
        backgroundVerticalPositionAdjustment(barMetrics: UIBarMetrics):CGFloat;
        /**
         * Sets the background vertical position offset for specified bar metrics.
         */
        setBackgroundVerticalPositionAdjustment(adjustment: CGFloat, barMetrics: UIBarMetrics):void;
        /**
         * Returns the background image for a specified state and bar metrics.
         */
        backgroundImage(state: UIControl.State, barMetrics: UIBarMetrics):UIImage | null;
        /**
         * Sets the background image for a specified state and bar metrics.
         */
        setBackgroundImage(backgroundImage: UIImage | null, state: UIControl.State, barMetrics: UIBarMetrics):void;
        /**
         * Returns the title offset for specified bar metrics.
         */
        titlePositionAdjustment(barMetrics: UIBarMetrics):UIOffset;
        /**
         * Sets the title offset for specified bar metrics.
         */
        setTitlePositionAdjustment(adjustment: UIOffset, barMetrics: UIBarMetrics):void;
    }
    /**
     * the same name namespace of class UIBarButtonItem
     */
    export namespace UIBarButtonItem {
        export enum SystemItem {
            done = 0,
            cancel = 1,
            edit = 2,
            save = 3,
            add = 4,
            flexibleSpace = 5,
            fixedSpace = 6,
            compose = 7,
            reply = 8,
            action = 9,
            organize = 10,
            bookmarks = 11,
            search = 12,
            refresh = 13,
            stop = 14,
            camera = 15,
            trash = 16,
            play = 17,
            pause = 18,
            rewind = 19,
            fastForward = 20,
            undo = 21,
            redo = 22,
            pageCurl = 23,
            close = 24,
        }
        export enum Style {
            plain = 0,
            bordered = 1,
            done = 2,
        }
    }
    export class UIBarButtonItemGroup extends NSObject {
        /**
         * The bar button items to display on the bar.
         */
        barButtonItems: UIBarButtonItem[];
        /**
         * The item to display for a group when space is constrained.
         */
        representativeItem: UIBarButtonItem | null;
        /**
         * A Boolean value that determines whether the group is always available through the UI.
         */
        alwaysAvailable: boolean;
        /**
         * A Boolean value indicating whether the representative item is showing in place of the group’s items.
         */
        isDisplayingRepresentativeItem: boolean;
        /**
         * A Boolean that determines the visibility of the group.
         */
        isHidden: boolean;
        /**
         * A menu element that represents the group when it appears in a menu.
         */
        menuRepresentation: UIMenuElement | null;
        /**
         * Creates a fixed group with the specified items.
         */
        constructor (barButtonItems: UIBarButtonItem[], representativeItem: UIBarButtonItem | null);
        /**
         * Creates a bar button item group from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a fixed group that a person can’t move or remove from the navigation bar during layout customization.
         */
        static fixedGroup(representativeItem: UIBarButtonItem | null, items: UIBarButtonItem[]):UIBarButtonItemGroup;
        /**
         * Creates a movable group that a person can move but can’t remove from the navigation bar during layout customization.
         */
        static movableGroup(customizationIdentifier: string, representativeItem: UIBarButtonItem | null, items: UIBarButtonItem[]):UIBarButtonItemGroup;
        /**
         * Creates an optional group that a person can move, add to, or remove from the navigation bar during layout customization.
         */
        static optionalGroup(customizationIdentifier: string, isInDefaultCustomization: boolean, representativeItem: UIBarButtonItem | null, items: UIBarButtonItem[]):UIBarButtonItemGroup;
    }
    export class UINavigationBar extends UIView {
        /**
         * The navigation bar’s delegate object.
         */
        delegate: UINavigationBarDelegate | null;
        /**
         * An array of navigation items managed by the navigation bar.
         */
        items: UINavigationItem[] | null;
        /**
         * The navigation item at the top of the navigation bar’s stack.
         */
        topItem: UINavigationItem | null;
        /**
         * The navigation item that is immediately below the topmost item on a navigation bar’s stack.
         */
        backItem: UINavigationItem | null;
        /**
         * A Boolean value that indicates whether the title displays in a large format.
         */
        prefersLargeTitles: boolean;
        /**
         * The appearance settings for a standard-height navigation bar.
         */
        standardAppearance: UINavigationBarAppearance;
        /**
         * The appearance settings for a compact-height navigation bar. 
         */
        compactAppearance: UINavigationBarAppearance | null;
        /**
         * The appearance settings for the navigation bar when the edge of scrollable content aligns with the edge of the navigation bar.
         */
        scrollEdgeAppearance: UINavigationBarAppearance | null;
        /**
         * The appearance settings for a compact-height navigation bar when the edge of scrollable content aligns with the edge of the navigation bar.
         */
        compactScrollEdgeAppearance: UINavigationBarAppearance | null;
        /**
         * A Boolean value that indicates whether the navigation bar is translucent.
         */
        isTranslucent: boolean;
        /**
         * The navigation bar style that specifies its appearance.
         */
        barStyle: UIBarStyle;
        /**
         * Display attributes for the bar’s title text.
         */
        titleTextAttributes: Record<NSAttributedString.Key, any> | null;
        /**
         * Display attributes for the bar's large title text.
         */
        largeTitleTextAttributes: Record<NSAttributedString.Key, any> | null;
        /**
         * The tint color to apply to the navigation items and bar button items.
         */
        tintColor: UIColor!;
        /**
         * The image shown beside the Back button.
         */
        backIndicatorImage: UIImage | null;
        /**
         * The image used as a mask for content during push and pop transitions.
         */
        backIndicatorTransitionMaskImage: UIImage | null;
        /**
         * The tint color to apply to the navigation bar background.
         */
        barTintColor: UIColor | null;
        /**
         * The shadow image to be used for the navigation bar.
         */
        shadowImage: UIImage | null;
        /**
         * The behavioral style of the navigation bar.
         */
        behavioralStyle: UIBehavioralStyle;
        /**
         * The preferred behavioral style of the navigation bar.
         */
        preferredBehavioralStyle: UIBehavioralStyle;
        /**
         * The toolbar section that the navigation bar is currently using.
         */
        currentNSToolbarSection: UINavigationBar.NSToolbarSection;
        /**
         * Pushes the given navigation item onto the navigation bar's stack and updates the UI.
         */
        pushItem(item: UINavigationItem, animated: boolean):void;
        /**
         * Pops the top item from the navigation bar's stack and updates the UI.
         */
        popItem(animated: boolean):UINavigationItem | null;
        /**
         * Replaces the navigation items currently managed by the navigation bar with the specified items. 
         */
        setItems(items: UINavigationItem[] | null, animated: boolean):void;
        /**
         * Returns the title’s vertical position adjustment for given bar metrics.
         */
        titleVerticalPositionAdjustment(barMetrics: UIBarMetrics):CGFloat;
        /**
         * Sets the title’s vertical position adjustment for given bar metrics.
         */
        setTitleVerticalPositionAdjustment(adjustment: CGFloat, barMetrics: UIBarMetrics):void;
        /**
         * Returns the background image for given bar metrics.
         */
        backgroundImage(barMetrics: UIBarMetrics):UIImage | null;
        /**
         * Sets the background image for given bar metrics.
         */
        setBackgroundImage(backgroundImage: UIImage | null, barMetrics: UIBarMetrics):void;
    }
    /**
     * the same name namespace of class UINavigationBar
     */
    export namespace UINavigationBar {
        export enum NSToolbarSection {
            none = 0,
            sidebar = 1,
            supplementary = 2,
            content = 3,
        }
    }
    export interface UINavigationBarDelegate extends UIBarPositioningDelegate {
        /**
         * Returns a Boolean value indicating whether the navigation bar should push an item.
         */
        navigationBar(navigationBar: UINavigationBar, item: UINavigationItem):boolean;
        /**
         * Asks the delegate which section of the toolbar to host the navigation bar in.
         */
        navigationBarNSToolbarSection(navigationBar: UINavigationBar):UINavigationBar.NSToolbarSection;
    }
    export enum UIBarStyle {
        default = 0,
        black = 1,
        blackTranslucent = 2,
    }
    export class UISearchBar extends UIView {
        /**
         * The search bar’s delegate object.
         */
        delegate: UISearchBarDelegate | null;
        /**
         * The string to display when there’s no other text in the text field.
         */
        placeholder: string;
        /**
         * A single line of text displayed at the top of the search bar.
         */
        prompt: string;
        /**
         * The current or starting search text.
         */
        text: string;
        /**
         * The text field that the user enters a search query into.
         */
        searchTextField: UISearchTextField;
        /**
         * The tint color to apply to the search bar background.
         */
        barTintColor: UIColor | null;
        /**
         * A search bar style that specifies the search bar’s appearance.
         */
        searchBarStyle: UISearchBar.Style;
        /**
         * The tint color to apply to key elements in the search bar.
         */
        tintColor: UIColor!;
        /**
         * A Boolean value that indicates whether the search bar is translucent (
         * ) or not (
         * ).
         */
        isTranslucent: boolean;
        /**
         * A bar style that specifies the search bar’s appearance.
         */
        barStyle: UIBarStyle;
        /**
         * The input assistant to use for configuring the keyboard’s shortcuts bar.
         */
        inputAssistantItem: UITextInputAssistantItem;
        /**
         * A Boolean value indicating whether the bookmark button is displayed.
         */
        showsBookmarkButton: boolean;
        /**
         * A Boolean value indicating whether the cancel button is displayed.
         */
        showsCancelButton: boolean;
        /**
         * A Boolean value indicating whether the search results button is displayed.
         */
        showsSearchResultsButton: boolean;
        /**
         * A Boolean value indicating whether the search results button is selected.
         */
        isSearchResultsButtonSelected: boolean;
        /**
         * The background image for the search bar.
         */
        backgroundImage: UIImage | null;
        /**
         * A custom input accessory view for the keyboard of the search bar.
         */
        inputAccessoryView: UIView | null;
        /**
         * The offset of the search text field background in the search bar.
         */
        searchFieldBackgroundPositionAdjustment: UIOffset;
        /**
         * The offset of the text within the search text field background.
         */
        searchTextPositionAdjustment: UIOffset;
        /**
         * An array of strings indicating the titles of the scope buttons.
         */
        scopeButtonTitles: string[] | null;
        /**
         * The index of the selected scope button.
         */
        selectedScopeButtonIndex: number;
        /**
         * Specifies whether the scope bar is displayed.
         */
        showsScopeBar: boolean;
        /**
         * The background image for the scope bar.
         */
        scopeBarBackgroundImage: UIImage | null;
        /**
         * Initializes the search bar to its default state.
         */
        constructor ();
        /**
         * Creates a search bar from data in a given unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a search bar with a specified frame.
         */
        constructor (frame: CGRect);
        /**
         * Sets the display state of the cancel button optionally with animation.
         */
        setShowsCancelButton(showsCancelButton: boolean, animated: boolean):void;
        /**
         * Sets the image to use for the background in a given position and with given metrics.
         */
        setBackgroundImage(backgroundImage: UIImage | null, barPosition: UIBarPosition, barMetrics: UIBarMetrics):void;
        /**
         * Returns the image for a given search bar icon type and control state.
         */
        image(icon: UISearchBar.Icon, state: UIControl.State):UIImage | null;
        /**
         * Sets the image for a given search bar icon type and control state.
         */
        setImage(iconImage: UIImage | null, icon: UISearchBar.Icon, state: UIControl.State):void;
        /**
         * Returns the position adjustment for a given icon.
         */
        positionAdjustment(icon: UISearchBar.Icon):UIOffset;
        /**
         * Returns the position adjustment for a given icon.
         */
        setPositionAdjustment(adjustment: UIOffset, icon: UISearchBar.Icon):void;
        /**
         * Returns the search text field image for a given state.
         */
        searchFieldBackgroundImage(state: UIControl.State):UIImage | null;
        /**
         * Sets the search text field image for a given state.
         */
        setSearchFieldBackgroundImage(backgroundImage: UIImage | null, state: UIControl.State):void;
        /**
         * Specifies whether the scope bar is displayed, optionally using an animation.
         */
        setShowsScope(show: boolean, animate: boolean):void;
        /**
         * Returns the background image for the scope bar button in a given state.
         */
        scopeBarButtonBackgroundImage(state: UIControl.State):UIImage | null;
        /**
         * Sets the background image for the scope bar button in a given state.
         */
        setScopeBarButtonBackgroundImage(backgroundImage: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the divider image to use for a given combination of left and right segment states.
         */
        scopeBarButtonDividerImage(leftState: UIControl.State, rightState: UIControl.State):UIImage | null;
        /**
         * Sets the divider image to use for a given combination of left and right segment states.
         */
        setScopeBarButtonDividerImage(dividerImage: UIImage | null, leftState: UIControl.State, rightState: UIControl.State):void;
        /**
         * Returns the text attributes for the search bar’s button’s title string for a given state.
         */
        scopeBarButtonTitleTextAttributes(state: UIControl.State):Record<NSAttributedString.Key, any> | null;
        /**
         * Sets the text attributes for the search bar’ button’s title string for a given state.
         */
        setScopeBarButtonTitleTextAttributes(attributes: Record<NSAttributedString.Key, any> | null, state: UIControl.State):void;
    }
    /**
     * the same name namespace of class UISearchBar
     */
    export namespace UISearchBar {
        export enum Style {
            default = 0,
            prominent = 1,
            minimal = 2,
        }
        export enum Icon {
            search = 0,
            clear = 1,
            bookmark = 2,
            resultsList = 3,
        }
    }
    export interface UISearchBarDelegate extends UIBarPositioningDelegate {
        /**
         * Tells the delegate that the user changed the search text.
         */
        searchBar(searchBar: UISearchBar, searchText: string):void;
        /**
         * Asks the delegate if editing should begin in the specified search bar.
         */
        searchBarShouldBeginEditing(searchBar: UISearchBar):boolean;
        /**
         * Tells the delegate when the user begins editing the search text.
         */
        searchBarTextDidBeginEditing(searchBar: UISearchBar):void;
        /**
         * Asks the delegate if editing should stop in the specified search bar. 
         */
        searchBarShouldEndEditing(searchBar: UISearchBar):boolean;
        /**
         * Tells the delegate that the user finished editing the search text.
         */
        searchBarTextDidEndEditing(searchBar: UISearchBar):void;
        /**
         * Tells the delegate that the bookmark button was tapped.
         */
        searchBarBookmarkButtonClicked(searchBar: UISearchBar):void;
        /**
         * Tells the delegate that the cancel button was tapped.
         */
        searchBarCancelButtonClicked(searchBar: UISearchBar):void;
        /**
         * Tells the delegate that the search button was tapped.
         */
        searchBarSearchButtonClicked(searchBar: UISearchBar):void;
        /**
         * Tells the delegate that the search results list button was tapped.
         */
        searchBarResultsListButtonClicked(searchBar: UISearchBar):void;
    }
    export class UIToolbar extends UIView {
        /**
         * The toolbar’s delegate object.
         */
        delegate: UIToolbarDelegate | null;
        /**
         * The items displayed on the toolbar.
         */
        items: UIBarButtonItem[] | null;
        /**
         * The appearance settings to use for a standard-height toolbar.
         */
        standardAppearance: UIToolbarAppearance;
        /**
         * The appearance settings to use for a compact-height toolbar.
         */
        compactAppearance: UIToolbarAppearance | null;
        /**
         * The appearance settings for a standard-height toolbar when the edge of scrollable content aligns with the edge of the toolbar.
         */
        scrollEdgeAppearance: UIToolbarAppearance | null;
        /**
         * The appearance settings for a compact-height toolbar when the edge of any scrollable content aligns with the edge of a compact-height toolbar.
         */
        compactScrollEdgeAppearance: UIToolbarAppearance | null;
        /**
         * A Boolean value that indicates whether the toolbar is translucent.
         */
        isTranslucent: boolean;
        /**
         * The toolbar style that specifies its appearance.
         */
        barStyle: UIBarStyle;
        /**
         * The tint color to apply to the bar button items.
         */
        tintColor: UIColor!;
        /**
         * The tint color to apply to the toolbar background.
         */
        barTintColor: UIColor | null;
        /**
         * Sets the items on the toolbar by animating the changes.
         */
        setItems(items: UIBarButtonItem[] | null, animated: boolean):void;
        /**
         * Returns the image to use for the background in a given position and with given metrics.
         */
        backgroundImage(topOrBottom: UIBarPosition, barMetrics: UIBarMetrics):UIImage | null;
        /**
         * Sets the image to use for the background in a given position and with given metrics.
         */
        setBackgroundImage(backgroundImage: UIImage | null, topOrBottom: UIBarPosition, barMetrics: UIBarMetrics):void;
        /**
         * Returns the image to use for the toolbar shadow in a given position.
         */
        shadowImage(topOrBottom: UIBarPosition):UIImage | null;
        /**
         * Sets the image to use for the toolbar shadow in a given position.
         */
        setShadowImage(shadowImage: UIImage | null, topOrBottom: UIBarPosition):void;
    }
    export interface UIToolbarDelegate extends UIBarPositioningDelegate {}
    export class UITabBar extends UIView {
        /**
         * The tab bar’s delegate object.
         */
        delegate: UITabBarDelegate | null;
        /**
         * The items displayed by the tab bar.
         */
        items: UITabBarItem[] | null;
        /**
         * The currently selected item on the tab bar.
         */
        selectedItem: UITabBarItem | null;
        /**
         * The appearance settings for a standard-height tab bar.
         */
        standardAppearance: UITabBarAppearance;
        /**
         * The appearance settings for the tab bar when the edge of scrollable content aligns with the edge of the tab bar.
         */
        scrollEdgeAppearance: UITabBarAppearance | null;
        /**
         * The view at the leading edge of a tab bar on tvOS.
         */
        leadingAccessoryView: UIView;
        /**
         * The view at the trailing edge of a tab bar on tvOS.
         */
        trailingAccessoryView: UIView;
        /**
         * A Boolean value that indicates whether the tab bar is translucent.
         */
        isTranslucent: boolean;
        /**
         * The tab bar style that specifies its appearance.
         */
        barStyle: UIBarStyle;
        /**
         * The tint color to apply to the tab bar items.
         */
        tintColor: UIColor!;
        /**
         * The positioning scheme for the tab bar items in the tab bar.
         */
        itemPositioning: UITabBar.ItemPositioning;
        /**
         * The amount of space (in points) to use between tab bar items.
         */
        itemSpacing: CGFloat;
        /**
         * The width (in points) of tab bar items.
         */
        itemWidth: CGFloat;
        /**
         * The tint color to apply to unselected tabs.
         */
        unselectedItemTintColor: UIColor | null;
        /**
         * The image to use for the selection indicator.
         */
        selectionIndicatorImage: UIImage | null;
        /**
         * The tint color applied to the selected tab bar item.
         */
        selectedImageTintColor: UIColor | null;
        /**
         * The tint color to apply to the tab bar background.
         */
        barTintColor: UIColor | null;
        /**
         * The custom background image for the tab bar.
         */
        backgroundImage: UIImage | null;
        /**
         * The shadow image to use for the tab bar.
         */
        shadowImage: UIImage | null;
        /**
         * A Boolean value indicating whether the user is currently customizing the tab bar.
         */
        isCustomizing: boolean;
        /**
         * Sets the items on the tab bar, optionally animating any changes into position.
         */
        setItems(items: UITabBarItem[] | null, animated: boolean):void;
        /**
         * Presents a standard interface that lets the user customize the contents of the tab bar.
         */
        beginCustomizingItems(items: UITabBarItem[]):void;
        /**
         * Dismisses the standard interface used to customize the tab bar.
         */
        endCustomizing(animated: boolean):boolean;
    }
    /**
     * the same name namespace of class UITabBar
     */
    export namespace UITabBar {
        export enum ItemPositioning {
            automatic = 0,
            fill = 1,
            centered = 2,
        }
    }
    export interface UITabBarDelegate extends NSObjectProtocol {
        /**
         * Sent to the delegate before the customizing modal view is displayed. 
         */
        tabBar(tabBar: UITabBar, items: UITabBarItem[]):void;
    }
    export class UITabBarItem extends UIBarItem {
        /**
         * The source image the item uses to generate its selected image.
         */
        selectedImage: UIImage | null;
        /**
         * The appearance settings for a tab bar.
         */
        standardAppearance: UITabBarAppearance | null;
        /**
         * The appearance settings for the tab bar when the edge of scrollable content aligns with the edge of the tab bar.
         */
        scrollEdgeAppearance: UITabBarAppearance | null;
        /**
         * The offset to apply to the title’s position. 
         */
        titlePositionAdjustment: UIOffset;
        /**
         * The text that the item’s badge displays.
         */
        badgeValue: string;
        /**
         * The background color of the item’s badge.
         */
        badgeColor: UIColor | null;
        /**
         * Creates a tab bar item using a system-provided configuration.
         */
        constructor (systemItem: UITabBarItem.SystemItem, tag: number);
        /**
         * Creates a tab bar item that displays a title and an image.
         */
        constructor (title: string, image: UIImage | null, tag: number);
        /**
         * Creates a tab bar item that toggles the image it displays when its selected state changes.
         */
        constructor (title: string, image: UIImage | null, selectedImage: UIImage | null);
        /**
         * Creates a tab bar item with a default configuration.
         */
        constructor ();
        /**
         * Creates a tab bar item from a serialized instance.
         */
        constructor (coder: NSCoder);
        /**
         * Registers text attributes that the badge uses for the specified state.
         */
        setBadgeTextAttributes(textAttributes: Record<NSAttributedString.Key, any> | null, state: UIControl.State):void;
        /**
         * Returns the badge’s text attributes for the specified state.
         */
        badgeTextAttributes(state: UIControl.State):Record<NSAttributedString.Key, any> | null;
    }
    /**
     * the same name namespace of class UITabBarItem
     */
    export namespace UITabBarItem {
        export enum SystemItem {
            bookmarks = 7,
            contacts = 5,
            downloads = 9,
            favorites = 1,
            featured = 2,
            history = 6,
            more = 0,
            mostRecent = 10,
            mostViewed = 11,
            recents = 4,
            search = 8,
            topRated = 3,
        }
    }
    export interface UIBarPositioning extends NSObjectProtocol {
        /**
         * The position of the bar.
         */
        barPosition: UIBarPosition;
    }
    export enum UIBarMetrics {
        default = 0,
        compact = 1,
        defaultPrompt = 101,
        compactPrompt = 102,
    }
    export enum UIBarPosition {
        any = 0,
        bottom = 1,
        top = 2,
        topAttached = 3,
    }
    export interface UIBarPositioningDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for the position of the specified bar in its new window.
         */
        position(bar: UIBarPositioning):UIBarPosition;
    }
    export class UILargeContentViewerInteraction extends NSObject {
        /**
         * A Boolean value that indicates whether the large content viewer is enabled on the device.
         */
        static isEnabled: boolean;
        /**
         * A notification the system posts when it enables or disables the large content viewer.
         */
        static enabledStatusDidChangeNotification: NSNotification.Name;
        /**
         * An object that can fine-tune the large content viewer interactions, especially in the presence of other gesture recognizers.
         */
        delegate: UILargeContentViewerInteractionDelegate | null;
        /**
         * A gesture recognizer that you can use to set up simultaneous recognition or failure relationships with other gesture recognizers.
         */
        gestureRecognizerForExclusionRelationship: UIGestureRecognizer;
        /**
         * Creates an interaction object with the specified delegate.
         */
        constructor (delegate: UILargeContentViewerInteractionDelegate | null);
    }
    export interface UILargeContentViewerInteractionDelegate extends NSObjectProtocol {
        /**
         * Performs an action when the large content viewer gesture ends at the location of the specified item.
         */
        largeContentViewerInteraction(interaction: UILargeContentViewerInteraction, item: UILargeContentViewerItem | null, point: CGPoint):void;
        /**
         * Specifies which view controller should display the large content viewer.
         */
        viewController(interaction: UILargeContentViewerInteraction):UIViewController;
    }
    export interface UILargeContentViewerItem extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether or not to show the item in the large content viewer.
         */
        showsLargeContentViewer: boolean;
        /**
         * A string that describes an item to display in the large content viewer.
         */
        largeContentTitle: string;
        /**
         * An image that represents an item to display in the large content viewer.
         */
        largeContentImage: UIImage | null;
        /**
         * Insets to adjust the position of the item’s image so it appears visually centered in the large content viewer.
         */
        largeContentImageInsets: UIEdgeInsets;
        /**
         * A Boolean value that indicates whether the view scales the item’s image to a larger size or not.
         */
        scalesLargeContentImage: boolean;
    }
    export class UIEventAttributionView extends UIView {}
    export class UIEventAttribution extends NSObject {
        /**
         * The destination URL to attribute.
         */
        destinationURL: URL;
        /**
         * The entity that purchased the ad or content.
         */
        purchaser: string;
        /**
         * The URL that receives attribution data.
         */
        reportEndpoint: URL | null;
        /**
         * A string describing the source tapped to launch the external link.
         */
        sourceDescription: string;
        /**
         * A number that identifies the source of the attribution.
         */
        sourceIdentifier: UInt8;
        /**
         * Initializes a new event attribution object.
         */
        constructor (sourceIdentifier: UInt8, destinationURL: URL, sourceDescription: string, purchaser: string);
    }
    export class UIOffset {
        /**
         * An offset structure with no offset in the horizontal and vertical directions.
         */
        static zero: UIOffset;
        /**
         * The amount of horizontal offset from a position.
         */
        horizontal: CGFloat;
        /**
         * The amount of vertical offset from a position.
         */
        vertical: CGFloat;
        /**
         * Creates an offset structure from the given components.
         */
        constructor (horizontal: CGFloat, vertical: CGFloat);
        /**
         * Creates an offset structure.
         */
        constructor ();
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class UIAxis {
        /**
         * A value that represents the horizontal axis.
         */
        static horizontal: UIAxis;
        /**
         * A value that represents the vertical axis.
         */
        static vertical: UIAxis;
        /**
         * A value that represents both axes.
         */
        static both: UIAxis;
        /**
         * Creates an axis with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UIEdgeInsets {
        /**
         * An edge insets struct whose top, left, bottom, and right fields are all set to 
         * .
         */
        static zero: UIEdgeInsets;
        /**
         * The bottom edge inset value.
         */
        bottom: CGFloat;
        /**
         * The left edge inset value.
         */
        left: CGFloat;
        /**
         * The right edge inset value.
         */
        right: CGFloat;
        /**
         * The top edge inset value.
         */
        top: CGFloat;
        /**
         * Creates an edge insets structure with the specified edges.
         */
        constructor (top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat);
        /**
         * Initializes the edge insets structure to default values.
         */
        constructor ();
        /**
         * Creates an edge insets structure by decoding from the specified decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes the edge insets structure into the specified encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class NSDirectionalEdgeInsets {
        /**
         * The bottom edge inset value.
         */
        bottom: CGFloat;
        /**
         * The leading edge inset value.
         */
        leading: CGFloat;
        /**
         * The top edge inset value.
         */
        top: CGFloat;
        /**
         * The trailing edge inset value.
         */
        trailing: CGFloat;
        /**
         * Creates a directional edge insets structure that contains the specified values.
         */
        constructor (top: CGFloat, leading: CGFloat, bottom: CGFloat, trailing: CGFloat);
        /**
         * Creates a directional edge insets structure that contains default values.
         */
        constructor ();
        /**
         * Creates a directional edge insets structure by decoding from the specified decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes the directional edge insets structure into the specified encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class NSDirectionalRectEdge {
        /**
         * The top edge.
         */
        static top: NSDirectionalRectEdge;
        /**
         * The leading edge.
         */
        static leading: NSDirectionalRectEdge;
        /**
         * The bottom edge.
         */
        static bottom: NSDirectionalRectEdge;
        /**
         * The trailing edge.
         */
        static trailing: NSDirectionalRectEdge;
        /**
         * All edges.
         */
        static all: NSDirectionalRectEdge;
        /**
         * Creates an edge with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export enum NSRectAlignment {
        none = 0,
        top = 1,
        topLeading = 2,
        leading = 3,
        bottomLeading = 4,
        bottom = 5,
        bottomTrailing = 6,
        trailing = 7,
        topTrailing = 8,
    }
    export class UIDirectionalRectEdge {
        /**
         * The top edge.
         */
        static top: UIDirectionalRectEdge;
        /**
         * The leading edge.
         */
        static leading: UIDirectionalRectEdge;
        /**
         * The bottom edge.
         */
        static bottom: UIDirectionalRectEdge;
        /**
         * The trailing edge.
         */
        static trailing: UIDirectionalRectEdge;
        /**
         * All edges.
         */
        static all: UIDirectionalRectEdge;
        /**
         * Creates an edge with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UIRectEdge {
        /**
         * The top edge of the rectangle.
         */
        static top: UIRectEdge;
        /**
         * The left edge of the rectangle.
         */
        static left: UIRectEdge;
        /**
         * The bottom edge of the rectangle.
         */
        static bottom: UIRectEdge;
        /**
         * The right edge of the rectangle.
         */
        static right: UIRectEdge;
        /**
         * All edges of the rectangle.
         */
        static all: UIRectEdge;
        /**
         * Creates an edges structure with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export enum UIModalPresentationStyle {
        automatic = -2,
        none = -1,
        fullScreen = 0,
        pageSheet = 1,
        formSheet = 2,
        currentContext = 3,
        custom = 4,
        overFullScreen = 5,
        overCurrentContext = 6,
        popover = 7,
        blurOverFullScreen = 8,
    }
    export enum UIModalTransitionStyle {
        coverVertical = 0,
        flipHorizontal = 1,
        crossDissolve = 2,
        partialCurl = 3,
    }
    export class UISplitViewController extends UIViewController {
        /**
         * The default value to apply to a dimension. 
         */
        static automaticDimension: CGFloat;
        /**
         * The style that determines the number of columns that the split view interface displays.
         */
        style: UISplitViewController.Style;
        /**
         * The delegate you use to manage changes to a split view interface.
         */
        delegate: UISplitViewControllerDelegate | null;
        /**
         * The array of view controllers the split view controller manages.
         */
        viewControllers: UIViewController[];
        /**
         * The preferred arrangement of the split view interface.
         */
        preferredDisplayMode: UISplitViewController.DisplayMode;
        /**
         * The current arrangement of the split view interface.
         */
        displayMode: UISplitViewController.DisplayMode;
        /**
         * A button that changes the display mode of the split view controller.
         */
        displayModeButtonItem: UIBarButtonItem;
        /**
         * Specifies whether a hidden view controller can be presented and dismissed using a swipe gesture.
         */
        presentsWithGesture: boolean;
        /**
         * Specifies whether the secondary view controller shows a button to toggle to and from the secondary-only display mode.
         */
        showsSecondaryOnlyButton: boolean;
        /**
         * A setting that determines whether the display mode button is visible in the interface.
         */
        displayModeButtonVisibility: UISplitViewController.DisplayModeButtonVisibility;
        /**
         * The preferred behavior that determines how the child view controllers appear in relation to each other.
         */
        preferredSplitBehavior: UISplitViewController.SplitBehavior;
        /**
         * The current behavior that determines how the child view controllers appear in relation to each other.
         */
        splitBehavior: UISplitViewController.SplitBehavior;
        /**
         * A Boolean value that indicates whether only one of the child view controllers displays. 
         */
        isCollapsed: boolean;
        /**
         * The relative width of the primary view controller’s content.
         */
        preferredPrimaryColumnWidthFraction: CGFloat;
        /**
         * The preferred width, in points, of the primary view controller’s content.
         */
        preferredPrimaryColumnWidth: CGFloat;
        /**
         * The width, in points, of the primary view controller’s content.
         */
        primaryColumnWidth: CGFloat;
        /**
         * The minimum width, in points, for the primary view controller’s content.
         */
        minimumPrimaryColumnWidth: CGFloat;
        /**
         * The maximum width, in points, for the primary view controller’s content.
         */
        maximumPrimaryColumnWidth: CGFloat;
        /**
         * The relative width of the supplementary view controller’s content.
         */
        preferredSupplementaryColumnWidthFraction: CGFloat;
        /**
         * The preferred width, in points, of the supplementary view controller’s content.
         */
        preferredSupplementaryColumnWidth: CGFloat;
        /**
         * The width, in points, of the supplementary view controller’s content.
         */
        supplementaryColumnWidth: CGFloat;
        /**
         * The minimum width, in points, for the supplementary view controller’s content.
         */
        minimumSupplementaryColumnWidth: CGFloat;
        /**
         * The maximum width, in points, for the supplementary view controller’s content.
         */
        maximumSupplementaryColumnWidth: CGFloat;
        /**
         * The side on which the primary view controller sits.
         */
        primaryEdge: UISplitViewController.PrimaryEdge;
        /**
         * The background style of the primary view controller.
         */
        primaryBackgroundStyle: UISplitViewController.BackgroundStyle;
        /**
         * Creates a split view controller with the specified column style.
         */
        constructor (style: UISplitViewController.Style);
        /**
         * Creates a split view controller with the nib file in the specified bundle.
         */
        constructor (nibNameOrNil: string, nibBundleOrNil: Bundle | null);
        /**
         * Creates a split view controller from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Presents the provided view controller in the specified column of the split view interface.
         */
        setViewController(vc: UIViewController | null, column: UISplitViewController.Column):void;
        /**
         * Returns the view controller associated with the specified column of the split view interface.
         */
        viewController(column: UISplitViewController.Column):UIViewController | null;
        /**
         * Presents the view controller in the specified column of the split view interface.
         */
        show(column: UISplitViewController.Column):void;
        /**
         * Dismisses the view controller in the specified column of the split view interface.
         */
        hide(column: UISplitViewController.Column):void;
        /**
         * Presents the specified view controller as the secondary view controller of the split view interface.
         */
        showDetailViewController(vc: UIViewController, sender: any):void;
    }
    /**
     * the same name namespace of class UISplitViewController
     */
    export namespace UISplitViewController {
        export enum Style {
            unspecified = 0,
            doubleColumn = 1,
            tripleColumn = 2,
        }
        export enum Column {
            primary = 0,
            supplementary = 1,
            secondary = 2,
            compact = 3,
        }
        export enum DisplayMode {
            automatic = 0,
            secondaryOnly = 1,
            oneBesideSecondary = 2,
            oneOverSecondary = 3,
            twoBesideSecondary = 4,
            twoOverSecondary = 5,
            twoDisplaceSecondary = 6,
        }
        export enum DisplayModeButtonVisibility {
            automatic = 0,
            never = 1,
            always = 2,
        }
        export enum SplitBehavior {
            automatic = 0,
            tile = 1,
            overlay = 2,
            displace = 3,
        }
        export enum PrimaryEdge {
            leading = 0,
            trailing = 1,
        }
        export enum BackgroundStyle {
            none = 0,
            sidebar = 1,
        }
    }
    export interface UISplitViewControllerDelegate {
        /**
         * Asks the delegate for the orientation to use when presenting the split view controller.
         */
        splitViewControllerPreferredInterfaceOrientationForPresentation(splitViewController: UISplitViewController):UIInterfaceOrientation;
        /**
         * Asks the delegate to specify the interface orientations that the split view controller supports.
         */
        splitViewControllerSupportedInterfaceOrientations(splitViewController: UISplitViewController):UIInterfaceOrientationMask;
        /**
         * Tells the delegate that the display mode for the split view controller is about to change. 
         */
        splitViewController(svc: UISplitViewController, displayMode: UISplitViewController.DisplayMode):void;
        /**
         * Asks the delegate to provide the display mode to apply when a split view controller action occurs.
         */
        targetDisplayModeForAction(svc: UISplitViewController):UISplitViewController.DisplayMode;
        /**
         * Tells the delegate that the split view controller interface has collapsed.
         */
        splitViewControllerDidCollapse(svc: UISplitViewController):void;
        /**
         * Tells the delegate that the split view controller interface has expanded.
         */
        splitViewControllerDidExpand(svc: UISplitViewController):void;
        /**
         * Tells the delegate that the interactive presentation gesture is about to begin.
         */
        splitViewControllerInteractivePresentationGestureWillBegin(svc: UISplitViewController):void;
        /**
         * Tells the delegate when the interactive presentation gesture ends.
         */
        splitViewControllerInteractivePresentationGestureDidEnd(svc: UISplitViewController):void;
        /**
         * Asks the delegate to provide the single view controller to display after the split view interface collapses. 
         */
        primaryViewController(splitViewController: UISplitViewController):UIViewController | null;
    }
    export class UINavigationController extends UIViewController {
        /**
         * A variable that specifies the duration when animating the navigation bar.
         */
        static hideShowBarDuration: CGFloat;
        /**
         * The delegate of the navigation controller object.
         */
        delegate: UINavigationControllerDelegate | null;
        /**
         * The view controller at the top of the navigation stack.
         */
        topViewController: UIViewController | null;
        /**
         * The view controller associated with the currently visible view in the navigation interface.
         */
        visibleViewController: UIViewController | null;
        /**
         * The view controllers currently on the navigation stack.
         */
        viewControllers: UIViewController[];
        /**
         * The gesture recognizer responsible for popping the top view controller off the navigation stack.
         */
        interactivePopGestureRecognizer: UIGestureRecognizer | null;
        /**
         * The navigation bar managed by the navigation controller.
         */
        navigationBar: UINavigationBar;
        /**
         * The custom toolbar associated with the navigation controller.
         */
        toolbar: UIToolbar!;
        /**
         * A Boolean indicating whether the navigation controller’s built-in toolbar is visible.
         */
        isToolbarHidden: boolean;
        /**
         * A Boolean value indicating whether the navigation controller allows hiding of its bars using a tap gesture.
         */
        hidesBarsOnTap: boolean;
        /**
         * A Boolean value indicating whether the navigation bar hides its bars in response to a swipe gesture.
         */
        hidesBarsOnSwipe: boolean;
        /**
         * A Boolean value indicating whether the navigation controller hides its bars in a vertically compact environment.
         */
        hidesBarsWhenVerticallyCompact: boolean;
        /**
         * A Boolean value indicating whether the navigation controller hides its bars when the keyboard appears.
         */
        hidesBarsWhenKeyboardAppears: boolean;
        /**
         * A Boolean value that indicates whether the navigation bar is hidden.
         */
        isNavigationBarHidden: boolean;
        /**
         * The gesture recognizer used to hide and show the navigation and toolbar.
         */
        barHideOnTapGestureRecognizer: UITapGestureRecognizer;
        /**
         * The gesture recognizer used to hide the navigation bar and toolbar. 
         */
        barHideOnSwipeGestureRecognizer: UIPanGestureRecognizer;
        /**
         * Initializes and returns a newly created navigation controller.
         */
        constructor (rootViewController: UIViewController);
        /**
         * Initializes and returns a newly created navigation controller that uses your custom bar subclasses. 
         */
        constructor (navigationBarClass: AnyClass | null, toolbarClass: AnyClass | null);
        /**
         * Creates a navigation controller with the nib file in the specified bundle.
         */
        constructor (nibNameOrNil: string, nibBundleOrNil: Bundle | null);
        /**
         * Creates a navigation controller from data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Replaces the view controllers currently managed by the navigation controller with the specified items.
         */
        setViewControllers(viewControllers: UIViewController[], animated: boolean):void;
        /**
         * Pushes a view controller onto the receiver’s stack and updates the display.
         */
        pushViewController(viewController: UIViewController, animated: boolean):void;
        /**
         * Pops the top view controller from the navigation stack and updates the display.
         */
        popViewController(animated: boolean):UIViewController | null;
        /**
         * Pops all the view controllers on the stack except the root view controller and updates the display.
         */
        popToRootViewController(animated: boolean):UIViewController[] | null;
        /**
         * Pops view controllers until the specified view controller is at the top of the navigation stack.
         */
        popToViewController(viewController: UIViewController, animated: boolean):UIViewController[] | null;
        /**
         * Sets whether the navigation bar is hidden.
         */
        setNavigationBarHidden(hidden: boolean, animated: boolean):void;
        /**
         * Changes the visibility of the navigation controller’s built-in toolbar.
         */
        setToolbarHidden(hidden: boolean, animated: boolean):void;
        /**
         * Presents the specified view controller in the navigation interface.
         */
        show(vc: UIViewController, sender: any):void;
    }
    /**
     * the same name namespace of class UINavigationController
     */
    export namespace UINavigationController {
        export enum Operation {
            none = 0,
            push = 1,
            pop = 2,
        }
    }
    export interface UINavigationControllerDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate before the navigation controller displays a view controller’s view and navigation item properties.
         */
        navigationController(navigationController: UINavigationController, viewController: UIViewController, animated: boolean):void;
        /**
         * Returns the preferred orientation for presentation of the navigation controller, as determined by the delegate.
         */
        navigationControllerPreferredInterfaceOrientationForPresentation(navigationController: UINavigationController):UIInterfaceOrientation;
        /**
         * Returns the complete set of supported interface orientations for the navigation controller, as determined by the delegate.
         */
        navigationControllerSupportedInterfaceOrientations(navigationController: UINavigationController):UIInterfaceOrientationMask;
    }
    export class UINavigationItem extends NSObject {
        /**
         * The navigation item’s title that displays in the navigation bar.
         */
        title: string;
        /**
         * The mode for displaying the title of the navigation bar.
         */
        largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode;
        /**
         * The bar button item for adding a Back button to the navigation bar.
         */
        backBarButtonItem: UIBarButtonItem | null;
        /**
         * The custom title of the Back button.
         */
        backButtonTitle: string;
        /**
         * The display mode of the Back button.
         */
        backButtonDisplayMode: UINavigationItem.BackButtonDisplayMode;
        /**
         * A Boolean value that determines whether the navigation item hides the Back button.
         */
        hidesBackButton: boolean;
        /**
         * The back action for the navigation bar.
         */
        backAction: UIAction | null;
        /**
         * A style that determines how the content of the navigation item lays out in the navigation bar.
         */
        style: UINavigationItem.ItemStyle;
        /**
         * Customizable item groups to display in the center section of the navigation bar.
         */
        centerItemGroups: UIBarButtonItemGroup[];
        /**
         * Item groups to display in the leading section of the navigation bar.
         */
        leadingItemGroups: UIBarButtonItemGroup[];
        /**
         * Item groups to display in the trailing section of the navigation bar.
         */
        trailingItemGroups: UIBarButtonItemGroup[];
        /**
         * The item group to display on the trailing edge of the navigation bar, on the trailing side of the overflow and search items.
         */
        pinnedTrailingGroup: UIBarButtonItemGroup | null;
        /**
         * A custom view that displays in the center of the navigation bar when the receiver is the top item.
         */
        titleView: UIView | null;
        /**
         * An array of custom bar button items to display on the left (or leading) side of the navigation bar when the navigation item is the top item.
         */
        leftBarButtonItems: UIBarButtonItem[] | null;
        /**
         * A custom bar button item that displays on the left (or leading) edge of the navigation bar when the navigation item is the top item. 
         */
        leftBarButtonItem: UIBarButtonItem | null;
        /**
         * An array of custom bar button items to display on the right (or trailing) side of the navigation bar when the navigation item is the top item. 
         */
        rightBarButtonItems: UIBarButtonItem[] | null;
        /**
         * A custom bar button item that displays on the right (or trailing) edge of the navigation bar when the navigation item is the top item. 
         */
        rightBarButtonItem: UIBarButtonItem | null;
        /**
         * A single line of text that displays at the top of the navigation bar.
         */
        prompt: string;
        /**
         * A Boolean value that indicates whether the left items display in addition to the Back button.
         */
        leftItemsSupplementBackButton: boolean;
        /**
         * The appearance settings for a standard-height navigation bar.
         */
        standardAppearance: UINavigationBarAppearance | null;
        /**
         * The appearance settings for a compact-height navigation bar.
         */
        compactAppearance: UINavigationBarAppearance | null;
        /**
         * The appearance settings for a standard-height navigation bar when the edge of scrollable content aligns with the edge of the navigation bar.
         */
        scrollEdgeAppearance: UINavigationBarAppearance | null;
        /**
         * The appearance settings for a compact-height navigation bar when the edge of scrollable content aligns with the edge of the navigation bar.
         */
        compactScrollEdgeAppearance: UINavigationBarAppearance | null;
        /**
         * The search controller to integrate into your navigation interface.
         */
        searchController: UISearchController | null;
        /**
         * A Boolean value that indicates whether the app hides the integrated search bar when scrolling any underlying content.
         */
        hidesSearchBarWhenScrolling: boolean;
        /**
         * The placement of the search bar in the navigation bar.
         */
        searchBarPlacement: UINavigationItem.SearchBarPlacement;
        /**
         * The preferred placement of the search bar in the navigation bar.
         */
        preferredSearchBarPlacement: UINavigationItem.SearchBarPlacement;
        /**
         * A globally unique string that enables user customization of the navigation bar layout.
         */
        customizationIdentifier: string;
        /**
         * Additional items to present in the overflow menu.
         */
        additionalOverflowItems: UIDeferredMenuElement | null;
        /**
         * The item you can use as an anchor to present a custom UI from the overflow menu button.
         */
        overflowPresentationSource: UIPopoverPresentationControllerSourceItem | null;
        /**
         * A closure that generates the navigation item’s title menu.
         */
        titleMenuProvider: ()=>any | null;
        /**
         * An object that provides the document header for the title menu.
         */
        documentProperties: UIDocumentProperties | null;
        /**
         * The delegate for renaming the navigation item.
         */
        renameDelegate: UINavigationItemRenameDelegate | null;
        /**
         * Creates a navigation item with the specified title.
         */
        constructor (title: string);
        /**
         * Creates a navigation item from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Hides or shows the Back button, optionally animating the transition.
         */
        setHidesBackButton(hidesBackButton: boolean, animated: boolean):void;
        /**
         * Sets the left bar button items, optionally animating the transition to the new items.
         */
        setLeftBarButtonItems(items: UIBarButtonItem[] | null, animated: boolean):void;
        /**
         * Sets the custom bar button item, optionally animating the transition to the new item.
         */
        setLeftBarButton(item: UIBarButtonItem | null, animated: boolean):void;
        /**
         * Sets the right bar button items, optionally animating the transition to the new items. 
         */
        setRightBarButtonItems(items: UIBarButtonItem[] | null, animated: boolean):void;
        /**
         * Sets the custom bar button item, optionally animating the transition to the view.
         */
        setRightBarButton(item: UIBarButtonItem | null, animated: boolean):void;
    }
    /**
     * the same name namespace of class UINavigationItem
     */
    export namespace UINavigationItem {
        export enum LargeTitleDisplayMode {
            automatic = 0,
            always = 1,
            never = 2,
        }
        export enum BackButtonDisplayMode {
            default = 0,
            generic = 1,
            minimal = 2,
        }
        export enum ItemStyle {
            navigator = 0,
            browser = 1,
            editor = 2,
        }
        export enum SearchBarPlacement {
            automatic = 0,
            inline = 1,
            stacked = 2,
        }
    }
    export class UIDocumentProperties extends NSObject {
        /**
         * The document’s metadata.
         */
        metadata: LPLinkMetadata;
        /**
         * A Boolean value that determines whether to render an icon of the document in the navigation bar.
         */
        wantsIconRepresentation: boolean;
        /**
         * A closure that provides drag items that represent the document.
         */
        dragItemsProvider: ()=>any | null;
        /**
         * A closure that provides an activity view controller for sharing the document.
         */
        activityViewControllerProvider: ()=>any | null;
        /**
         * Creates a document properties object from document data at the URL you specify.
         */
        constructor (url: URL);
        /**
         * Creates a document properties object from the metadata object you specify.
         */
        constructor (metadata: LPLinkMetadata);
    }
    export interface UINavigationItemRenameDelegate {
        /**
         * Asks the delegate whether the navigation item supports renaming.
         */
        navigationItemShouldBeginRenaming(_: UINavigationItem):boolean;
        /**
         * Asks the delegate whether to continue or abandon the rename process.
         */
        navigationItem(_: UINavigationItem, title: string):boolean;
    }
    export class UITabBarController extends UIViewController {
        /**
         * The tab bar controller’s delegate object.
         */
        delegate: UITabBarControllerDelegate | null;
        /**
         * The tab bar view associated with this controller.
         */
        tabBar: UITabBar;
        /**
         * An array of the root view controllers displayed by the tab bar interface.
         */
        viewControllers: UIViewController[] | null;
        /**
         * The subset of view controllers managed by this tab bar controller that can be customized.
         */
        customizableViewControllers: UIViewController[] | null;
        /**
         * The view controller that manages the More navigation interface.
         */
        moreNavigationController: UINavigationController;
        /**
         * The view controller associated with the currently selected tab item. 
         */
        selectedViewController: UIViewController | null;
        /**
         * The index of the view controller associated with the currently selected tab item.
         */
        selectedIndex: number;
        /**
         * Sets the root view controllers of the tab bar controller. 
         */
        setViewControllers(viewControllers: UIViewController[] | null, animated: boolean):void;
    }
    export interface UITabBarControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether the specified view controller should be made active.
         */
        tabBarController(tabBarController: UITabBarController, viewController: UIViewController):boolean;
        /**
         * Called to allow the delegate to provide the complete set of supported interface orientations for the tab bar controller.
         */
        tabBarControllerSupportedInterfaceOrientations(tabBarController: UITabBarController):UIInterfaceOrientationMask;
        /**
         * Called to allow the delegate to provide the preferred orientation for presentation of the tab bar controller.
         */
        tabBarControllerPreferredInterfaceOrientationForPresentation(tabBarController: UITabBarController):UIInterfaceOrientation;
    }
    export class UIPageViewController extends UIViewController {
        /**
         * The object that provides view controllers.
         */
        dataSource: UIPageViewControllerDataSource | null;
        /**
         * The delegate object.
         */
        delegate: UIPageViewControllerDelegate | null;
        /**
         * The view controllers displayed by the page view controller.
         */
        viewControllers: UIViewController[] | null;
        /**
         * An array of 
         *  objects that are configured to handle user interaction.
         */
        gestureRecognizers: UIGestureRecognizer[];
        /**
         * The direction along which navigation occurs.
         */
        navigationOrientation: UIPageViewController.NavigationOrientation;
        /**
         * The location of the spine.
         */
        spineLocation: UIPageViewController.SpineLocation;
        /**
         * The style used to transition between view controllers.
         */
        transitionStyle: UIPageViewController.TransitionStyle;
        /**
         * A Boolean value that indicates whether content appears on the back of pages.
         */
        isDoubleSided: boolean;
        /**
         * Initializes a newly created page view controller.
         */
        constructor (style: UIPageViewController.TransitionStyle, navigationOrientation: UIPageViewController.NavigationOrientation, options: Record<UIPageViewController.OptionsKey, any> | null);
        /**
         * Creates a page view controller from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Sets the view controllers to be displayed.
         */
        setViewControllers(viewControllers: UIViewController[] | null, direction: UIPageViewController.NavigationDirection, animated: boolean, completion: ()=>any | null):void;
    }
    /**
     * the same name namespace of class UIPageViewController
     */
    export namespace UIPageViewController {
        export class OptionsKey {
            /**
             * Space between pages, in points.
             */
            static interPageSpacing: UIPageViewController.OptionsKey;
            /**
             * Location of the spine.
             */
            static spineLocation: UIPageViewController.OptionsKey;
            /**
             * Creates a page view controller options structure with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export enum NavigationDirection {
            forward = 0,
            reverse = 1,
        }
        export enum NavigationOrientation {
            horizontal = 0,
            vertical = 1,
        }
        export enum SpineLocation {
            none = 0,
            min = 1,
            mid = 2,
            max = 3,
        }
        export enum TransitionStyle {
            pageCurl = 0,
            scroll = 1,
        }
    }
    export interface UIPageViewControllerDataSource extends NSObjectProtocol {
        /**
         * Returns the view controller before the given view controller.
         */
        pageViewController(pageViewController: UIPageViewController, viewController: UIViewController):UIViewController | null;
        /**
         * Returns the number of items to be reflected in the page indicator.
         */
        presentationCount(pageViewController: UIPageViewController):number;
        /**
         * Returns the index of the selected item to be reflected in the page indicator.
         */
        presentationIndex(pageViewController: UIPageViewController):number;
    }
    export interface UIPageViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called before a gesture-driven transition begins.
         */
        pageViewController(pageViewController: UIPageViewController, pendingViewControllers: UIViewController[]):void;
        /**
         * Returns the complete set of supported interface orientations for the page view controller, as determined by the delegate.
         */
        pageViewControllerSupportedInterfaceOrientations(pageViewController: UIPageViewController):UIInterfaceOrientationMask;
        /**
         * Returns the preferred orientation for presentation of the page view controller, as determined by the delegate.
         */
        pageViewControllerPreferredInterfaceOrientationForPresentation(pageViewController: UIPageViewController):UIInterfaceOrientation;
    }
    export class UIPresentationController extends NSObject {
        /**
         * The delegate object for managing adaptive presentations.
         */
        delegate: UIAdaptivePresentationControllerDelegate | null;
        /**
         * The view controller that is the starting point for the presentation.  
         */
        presentingViewController: UIViewController;
        /**
         * The view controller being presented.
         */
        presentedViewController: UIViewController;
        /**
         * The view in which the presentation occurs.
         */
        containerView: UIView | null;
        /**
         * The view to be animated by the animator objects during a transition.
         */
        presentedView: UIView | null;
        /**
         * The frame rectangle to assign to the presented view at the end of the animations. 
         */
        frameOfPresentedViewInContainerView: CGRect;
        /**
         * Interface traits for the presented view controller, to use in place of traits from the iOS environment.
         */
        overrideTraitCollection: UITraitCollection | null;
        /**
         * The presentation style of the presented view controller.
         */
        presentationStyle: UIModalPresentationStyle;
        /**
         * A Boolean value indicating whether the presentation covers the entire screen.
         */
        shouldPresentInFullscreen: boolean;
        /**
         * A Boolean value indicating whether the presenting view controller’s view should be removed when the presentation animations finish.
         */
        shouldRemovePresentersView: boolean;
        /**
         * Initializes and returns a presentation controller for transitioning between the specified view controllers.
         */
        constructor (presentedViewController: UIViewController, presentingViewController: UIViewController | null);
        /**
         * Notifies the presentation controller that layout is about to begin on the views of the container view.
         */
        containerViewWillLayoutSubviews():void;
        /**
         * Notifies the presentation controller that layout ended on the views of the container view.
         */
        containerViewDidLayoutSubviews():void;
        /**
         * Notifies the presentation controller that the presentation animations are about to start.
         */
        presentationTransitionWillBegin():void;
        /**
         * Notifies the presentation controller that the presentation animations finished.
         */
        presentationTransitionDidEnd(completed: boolean):void;
        /**
         * Notifies the presentation controller that the dismissal animations are about to start.
         */
        dismissalTransitionWillBegin():void;
        /**
         * Notifies the presentation controller that the dismissal animations finished.
         */
        dismissalTransitionDidEnd(completed: boolean):void;
        /**
         * Returns the presentation style to use for the specified set of traits. 
         */
        adaptivePresentationStyle(traitCollection: UITraitCollection):UIModalPresentationStyle;
    }
    export class UISheetPresentationController extends UIPresentationController {
        /**
         * The array of heights where a sheet can rest.
         */
        detents: UISheetPresentationController.Detent[];
        /**
         * The identifier of the most recently selected detent.
         */
        selectedDetentIdentifier: UISheetPresentationController.Detent.Identifier | null;
        /**
         * The delegate of the sheet presentation controller.
         */
        delegate: UISheetPresentationControllerDelegate | null;
        /**
         * The largest detent that doesn’t dim the view underneath the sheet.
         */
        largestUndimmedDetentIdentifier: UISheetPresentationController.Detent.Identifier | null;
        /**
         * A Boolean value that determines whether scrolling expands the sheet to a larger detent.
         */
        prefersScrollingExpandsWhenScrolledToEdge: boolean;
        /**
         * A Boolean value that determines whether the sheet shows a grabber at the top.
         */
        prefersGrabberVisible: boolean;
        /**
         * A Boolean value that determines whether the sheet attaches to the bottom edge of the screen in a compact-height size class.
         */
        prefersEdgeAttachedInCompactHeight: boolean;
        /**
         * A Boolean value that determines whether the sheet’s width matches its view controller’s preferred content size.
         */
        widthFollowsPreferredContentSizeWhenEdgeAttached: boolean;
        /**
         * The corner radius that the sheet attempts to present with.
         */
        preferredCornerRadius: CGFloat | null;
        /**
         * The view that the sheet centers itself over.
         */
        sourceView: UIView | null;
        /**
         * Notifies the sheet to re-evaluate its detent value in the next layout pass.
         */
        invalidateDetents():void;
        /**
         * Animates the UI changes to the sheet’s properties.
         */
        animateChanges(changes: ()=>any):void;
    }
    /**
     * the same name namespace of class UISheetPresentationController
     */
    export namespace UISheetPresentationController {
        export class Detent extends NSObject {
            /**
             * The identifier of the detent.
             */
            identifier: UISheetPresentationController.Detent.Identifier;
            /**
             * Creates a system detent for a sheet at full height.
             */
            static large():Self;
            /**
             * Creates a system detent for a sheet that’s approximately half the height of the screen, and is inactive in compact height.
             */
            static medium():Self;
            /**
             * Creates a custom detent for a sheet by computing its value according to the properties of the provided context.
             */
            static custom(identifier: UISheetPresentationController.Detent.Identifier | null, resolver: ()=>any | null):UISheetPresentationController.Detent;
            /**
             * Resolves a detent to its value.
             */
            resolvedValue(context: UISheetPresentationControllerDetentResolutionContext):CGFloat | null;
        }
        /**
         * the same name namespace of class Detent
         */
        export namespace Detent {
            export class Identifier {
                /**
                 * The identifier for the system's large detent.
                 */
                static large: UISheetPresentationController.Detent.Identifier;
                /**
                 * The identifier for the system's medium detent.
                 */
                static medium: UISheetPresentationController.Detent.Identifier;
                /**
                 * Creates a detent identifier.
                 */
                constructor (rawValue: string);
                /**
                 * Creates a detent identifier with the specified raw value.
                 */
                constructor (rawValue: string);
            }
        }
    }
    export interface UISheetPresentationControllerDetentResolutionContext extends NSObjectProtocol {
        /**
         * The trait collection of the sheet’s container view.
         */
        containerTraitCollection: UITraitCollection;
        /**
         * The maximum value of a detent.
         */
        maximumDetentValue: CGFloat;
    }
    export interface UISheetPresentationControllerDelegate extends UIAdaptivePresentationControllerDelegate {
        /**
         * Provides an opportunity to respond after the sheet presentation controller's selected detent changes.
         */
        sheetPresentationControllerDidChangeSelectedDetentIdentifier(sheetPresentationController: UISheetPresentationController):void;
    }
    export class UISearchContainerViewController extends UIViewController {
        /**
         * The search controller the search container view controller manages.
         */
        searchController: UISearchController;
        /**
         * Initializes and returns a search container view controller with the specified search controller object.
         */
        constructor (searchController: UISearchController);
    }
    export class UISearchController extends UIViewController {
        /**
         * The search controller’s delegate.
         */
        delegate: UISearchControllerDelegate | null;
        /**
         * The search bar to install in your interface.
         */
        searchBar: UISearchBar;
        /**
         * The object responsible for updating the contents of the search results controller.
         */
        searchResultsUpdater: UISearchResultsUpdating | null;
        /**
         * The view controller that displays the results of the search.
         */
        searchResultsController: UIViewController | null;
        /**
         * The presented state of the search interface.
         */
        isActive: boolean;
        /**
         * A Boolean indicating whether to obscure the underlying content during a search.
         */
        obscuresBackgroundDuringPresentation: boolean;
        /**
         * A Boolean indicating whether to hide the navigation bar when searching.
         */
        hidesNavigationBarDuringPresentation: boolean;
        /**
         * A Boolean indicating whether the search controller manages the visibility of the search bar’s cancel button.
         */
        automaticallyShowsCancelButton: boolean;
        /**
         * A Boolean indicating whether the search controller manages the visibility of its results controller.
         */
        automaticallyShowsSearchResultsController: boolean;
        /**
         * A Boolean indicating whether the search results controller is visible when the search controller is active.
         */
        showsSearchResultsController: boolean;
        /**
         * The placement of the search bar in the navigation bar.
         */
        searchBarPlacement: UINavigationItem.SearchBarPlacement;
        /**
         * A Boolean value you use to specify whether the search controller prevents search suggestions from displaying for a stacked search bar.
         */
        ignoresSearchSuggestionsForSearchBarPlacementStacked: boolean;
        /**
         * A Boolean indicating whether the search controller manages the visibility of the search bar’s scope bar.
         */
        automaticallyShowsScopeBar: boolean;
        /**
         * A mode that determines when the search controller shows and hides the scope bar.
         */
        scopeBarActivation: UISearchController.ScopeBarActivation;
        /**
         * A list of suggestions to offer as shortcuts below the search field.
         */
        searchSuggestions: UISearchSuggestion[] | null;
        /**
         * The view with which the controller coordinates scrolling animations.
         */
        searchControllerObservedScrollView: UIScrollView | null;
        /**
         * A Boolean indicating whether to dim the underlying content during a search.
         */
        dimsBackgroundDuringPresentation: boolean;
        /**
         * Creates and returns a search controller with the specified view controller for displaying the results.
         */
        constructor (searchResultsController: UIViewController | null);
        /**
         * Returns an initialized search controller from data in the specified unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Returns an initialized view controller with the nib file in the specified bundle.
         */
        constructor (nibNameOrNil: string, nibBundleOrNil: Bundle | null);
    }
    /**
     * the same name namespace of class UISearchController
     */
    export namespace UISearchController {
        export enum ScopeBarActivation {
            automatic = 0,
            manual = 1,
            onTextEntry = 2,
            onSearchActivation = 3,
        }
    }
    export interface UISearchControllerDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate when the system completes automatic dismissal of the search controller.
         */
        didDismissSearchController(searchController: UISearchController):void;
        /**
         * Notifies the delegate when the system completes automatic presentation of the search controller.
         */
        didPresentSearchController(searchController: UISearchController):void;
        /**
         * Presents the designated search controller.
         */
        presentSearchController(searchController: UISearchController):void;
        /**
         * Notifies the delegate that the system is about to automatically dismiss the search controller.
         */
        willDismissSearchController(searchController: UISearchController):void;
        /**
         * Notifies the delegate that the system is about to automatically display the search controller.
         */
        willPresentSearchController(searchController: UISearchController):void;
        /**
         * Notifies the delegate after the search bar placement changes.
         */
        searchController(searchController: UISearchController, previousPlacement: UINavigationItem.SearchBarPlacement):void;
    }
    export class UISearchSuggestionItem extends NSObject {
        /**
         * A label for the suggestion, usually the search term the suggestion represents.
         */
        localizedSuggestion: string;
        /**
         * An attributed label for the suggestion, usually the search term the suggestion represents.
         */
        localizedAttributedSuggestion: NSAttributedString | null;
        /**
         * A description of the suggestion.
         */
        localizedDescription: string;
        /**
         * An image for display on the suggestion. 
         */
        iconImage: UIImage | null;
        /**
         * An object for tracking supplementary information about the search suggestion.
         */
        representedObject: any;
        /**
         * Creates a search suggestion with the specified text and image attributes.
         */
        constructor (suggestion: string, description: string, iconImage: UIImage | null);
        /**
         * Creates a search suggestion with the specified attributed label, accessibility description, and image.
         */
        constructor (suggestion: NSAttributedString, description: string, iconImage: UIImage | null);
        /**
         * Creates a search suggestion with the specified label and accessibility description.
         */
        constructor (suggestion: string, description: string);
        /**
         * Creates a search suggestion with the specified attributed label and accessibility description.
         */
        constructor (suggestion: NSAttributedString, description: string);
        /**
         * Creates a search suggestion with the specified label.
         */
        constructor (suggestion: string);
        /**
         * Creates a search suggestion with the specified attributed label.
         */
        constructor (suggestion: NSAttributedString);
    }
    export interface UISearchSuggestion extends NSObjectProtocol {
        /**
         * A label for the suggestion, usually the search term the suggestion represents.
         */
        localizedSuggestion: string;
        /**
         * A description of the suggestion.
         */
        localizedDescription: string;
        /**
         * An attributed label for the suggestion, usually the search term the suggestion represents.
         */
        localizedAttributedSuggestion: NSAttributedString | null;
        /**
         * An image for display on the suggestion. 
         */
        iconImage: UIImage | null;
        /**
         * An object for tracking supplementary information about the search suggestion.
         */
        representedObject: any;
    }
    export interface UISearchResultsUpdating extends NSObjectProtocol {
        /**
         * Asks the object to update the search results for a specified controller.
         */
        updateSearchResults(searchController: UISearchController):void;
    }
    export class UIImagePickerController extends UINavigationController {
        /**
         * The image picker’s delegate object.
         */
        delegate: ((UIImagePickerControllerDelegate & UINavigationControllerDelegate));
        /**
         * The type of picker interface to be displayed by the controller.
         */
        sourceType: UIImagePickerController.SourceType;
        /**
         * An array that indicates the media types to be accessed by the media picker controller.
         */
        mediaTypes: string[];
        /**
         * A Boolean value that indicates whether the user is allowed to edit a selected still image or movie.
         */
        allowsEditing: boolean;
        /**
         * The video recording and transcoding quality.
         */
        videoQuality: UIImagePickerController.QualityType;
        /**
         * The maximum duration, in seconds, for a video recording.
         */
        videoMaximumDuration: TimeInterval;
        /**
         * A Boolean value that indicates whether the image picker displays the default camera controls.
         */
        showsCameraControls: boolean;
        /**
         * The view to display on top of the default image picker interface.
         */
        cameraOverlayView: UIView | null;
        /**
         * The transform to apply to the camera’s preview image.
         */
        cameraViewTransform: CGAffineTransform;
        /**
         * The camera used by the image picker controller.
         */
        cameraDevice: UIImagePickerController.CameraDevice;
        /**
         * The capture mode used by the camera.
         */
        cameraCaptureMode: UIImagePickerController.CameraCaptureMode;
        /**
         * The flash mode used by the active camera.
         */
        cameraFlashMode: UIImagePickerController.CameraFlashMode;
        /**
         * The preset to use when preparing images for export to your app. 
         */
        imageExportPreset: UIImagePickerController.ImageURLExportPreset;
        /**
         * The preset to use when preparing video for export to your app. 
         */
        videoExportPreset: string;
        /**
         * Retrieves the available media types for the specified source type.
         */
        static availableMediaTypes(sourceType: UIImagePickerController.SourceType):string[] | null;
        /**
         * Queries whether the device supports picking media using the specified source type.
         */
        static isSourceTypeAvailable(sourceType: UIImagePickerController.SourceType):boolean;
        /**
         * Queries whether the specified camera is available.
         */
        static isCameraDeviceAvailable(cameraDevice: UIImagePickerController.CameraDevice):boolean;
        /**
         * Retrieves the capture modes supported by the specified camera device.
         */
        static availableCaptureModes(cameraDevice: UIImagePickerController.CameraDevice):NSNumber[] | null;
        /**
         * Queries whether the specified camera has flash illumination capability.
         */
        static isFlashAvailable(cameraDevice: UIImagePickerController.CameraDevice):boolean;
        /**
         * Captures a still image using the camera.
         */
        takePicture():void;
        /**
         * Starts video capture using the camera specified by the camera device property.
         */
        startVideoCapture():boolean;
        /**
         * Stops video capture.
         */
        stopVideoCapture():void;
    }
    /**
     * the same name namespace of class UIImagePickerController
     */
    export namespace UIImagePickerController {
        export class InfoKey {
            /**
             * The cropping rectangle that was applied to the original image.
             */
            static cropRect: UIImagePickerController.InfoKey;
            /**
             * An image edited by the user.
             */
            static editedImage: UIImagePickerController.InfoKey;
            /**
             * The URL of the image file. 
             */
            static imageURL: UIImagePickerController.InfoKey;
            /**
             * The Live Photo representation of the selected or captured photo.
             */
            static livePhoto: UIImagePickerController.InfoKey;
            /**
             * Metadata for a newly-captured photograph.
             */
            static mediaMetadata: UIImagePickerController.InfoKey;
            /**
             * The media type selected by the user.
             */
            static mediaType: UIImagePickerController.InfoKey;
            /**
             * The filesystem URL for the movie.
             */
            static mediaURL: UIImagePickerController.InfoKey;
            /**
             * The original, uncropped image selected by the user.
             */
            static originalImage: UIImagePickerController.InfoKey;
            /**
             * A Photos asset for the image.
             */
            static phAsset: UIImagePickerController.InfoKey;
            /**
             * The Assets Library URL for the original version of the picked item.
             */
            static referenceURL: UIImagePickerController.InfoKey;
            /**
             * Creates a new editing information key with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export enum SourceType {
            camera = 1,
            photoLibrary = 0,
            savedPhotosAlbum = 2,
        }
        export enum QualityType {
            typeHigh = 0,
            type640x480 = 3,
            typeMedium = 1,
            typeLow = 2,
            typeIFrame1280x720 = 4,
            typeIFrame960x540 = 5,
        }
        export enum CameraDevice {
            rear = 0,
            front = 1,
        }
        export enum CameraCaptureMode {
            photo = 0,
            video = 1,
        }
        export enum CameraFlashMode {
            off = -1,
            auto = 0,
            on = 1,
        }
        export enum ImageURLExportPreset {
            compatible = 0,
            current = 1,
        }
    }
    export interface UIImagePickerControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user picked a still image or movie.
         */
        imagePickerController(picker: UIImagePickerController, info: Record<UIImagePickerController.InfoKey, any>):void;
        /**
         * Tells the delegate that the user canceled the pick operation.
         */
        imagePickerControllerDidCancel(picker: UIImagePickerController):void;
    }
    export class UIVideoEditorController extends UINavigationController {
        /**
         * The video editor’s delegate object.
         */
        delegate: ((UINavigationControllerDelegate & UIVideoEditorControllerDelegate));
        /**
         * The maximum duration, in seconds, permitted for trimmed movies saved by the video editor.
         */
        videoMaximumDuration: TimeInterval;
        /**
         * The filesystem path to the movie to be loaded by the video editor.
         */
        videoPath: string;
        /**
         * The video quality to use when saving a trimmed movie.
         */
        videoQuality: UIImagePickerController.QualityType;
        /**
         * Returns a Boolean value indicating whether a video file can be edited.
         */
        static canEditVideo(videoPath: string):boolean;
    }
    export interface UIVideoEditorControllerDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate after the system finishes saving an edited movie.
         */
        videoEditorController(editor: UIVideoEditorController, editedVideoPath: string):void;
        /**
         * Notifies the delegate when the user cancels a movie editing operation.
         */
        videoEditorControllerDidCancel(editor: UIVideoEditorController):void;
    }
    export class UIDocumentBrowserViewController extends UIViewController {
        /**
         * The document browser’s delegate.
         */
        delegate: UIDocumentBrowserViewControllerDelegate | null;
        /**
         * A Boolean value that determines whether the document browser can create new documents.
         */
        allowsDocumentCreation: boolean;
        /**
         * A Boolean value that determines whether the user can select and open more than one document at a time.
         */
        allowsPickingMultipleItems: boolean;
        /**
         * Content types for browsing recent documents.
         */
        contentTypesForRecentDocuments: UTType[];
        /**
         * The visual style for the document browser.
         */
        browserUserInterfaceStyle: UIDocumentBrowserViewController.BrowserUserInterfaceStyle;
        /**
         * Additional bar button items that the document browser displays on the leading side of its navigation bar.
         */
        additionalLeadingNavigationBarButtonItems: UIBarButtonItem[];
        /**
         * Additional bar button items that the document browser displays on the trailing side of its navigation bar.
         */
        additionalTrailingNavigationBarButtonItems: UIBarButtonItem[];
        /**
         * A Boolean value that determines whether the browser always shows file extensions.
         */
        shouldShowFileExtensions: boolean;
        /**
         * The title for the Create Document button.
         */
        localizedCreateDocumentActionTitle: string;
        /**
         * The aspect ratio for the Create Document button.
         */
        defaultDocumentAspectRatio: CGFloat;
        /**
         * Custom document browser actions.
         */
        customActions: UIDocumentBrowserAction[];
        /**
         * Content types for browsing recent documents.
         */
        recentDocumentsContentTypes: string[];
        /**
         * The document types that the browser can open.
         */
        allowedContentTypes: string[];
        /**
         * Initializes and returns a document browser view controller that can open the specified file types.
         */
        constructor (contentTypes: UTType[] | null);
        /**
         * Initializes and returns a document browser view controller that can open the specified file types.
         */
        constructor (allowedContentTypes: string[] | null);
        /**
         * Imports a document into the same location as an existing document.
         */
        importDocument(documentURL: URL, neighbourURL: URL, importMode: UIDocumentBrowserViewController.ImportMode, completion: ()=>any):void;
        /**
         * Reveals, and optionally imports, the document at the provided URL.
         */
        revealDocument(url: URL, importIfNeeded: boolean, completion: ()=>any | null):void;
        /**
         * Creates a transition controller that provides the standard system-loading and segue animations for the document browser.
         */
        transitionController(documentURL: URL):UIDocumentBrowserTransitionController;
        /**
         * Renames a document at the specified URL.
         */
        renameDocument(documentURL: URL, proposedName: string, completionHandler: ()=>any):void;
    }
    /**
     * the same name namespace of class UIDocumentBrowserViewController
     */
    export namespace UIDocumentBrowserViewController {
        export enum ImportMode {
            copy = 1,
            move = 2,
            none = 0,
        }
        export enum BrowserUserInterfaceStyle {
            dark = 2,
            light = 1,
            white = 0,
        }
    }
    export interface UIDocumentBrowserViewControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate to create a new document.
         */
        documentBrowser(controller: UIDocumentBrowserViewController, importHandler: ()=>any):void;
    }
    export class UIDocumentBrowserAction extends NSObject {
        /**
         * The action's image displayed in the navigation bar.
         */
        image: UIImage | null;
        /**
         * An array of uniform type identifiers that define the types of documents that the action supports. 
         */
        supportedContentTypes: string[];
        /**
         * A Boolean value that determines whether the action can be triggered on more than one document at a time.
         */
        supportsMultipleItems: boolean;
        /**
         * The action's unique identifier.
         */
        identifier: string;
        /**
         * The title that appears in the menu or navigation bar.
         */
        localizedTitle: string;
        /**
         * A value that defines where the action can appear (in the Edit Menu, the navigation bar, or both).
         */
        availability: UIDocumentBrowserAction.Availability;
        /**
         * Instantiates and returns a new browser action item.
         */
        constructor (identifier: string, localizedTitle: string, availability: UIDocumentBrowserAction.Availability, handler: ()=>any);
    }
    /**
     * the same name namespace of class UIDocumentBrowserAction
     */
    export namespace UIDocumentBrowserAction {
        export class Availability {
            /**
             * An action that appears in the Edit Menu when the user long presses a supported document.
             */
            static menu: UIDocumentBrowserAction.Availability;
            /**
             * An action that appears in the navigation bar when the user puts the document browser in Select mode.
             */
            static navigationBar: UIDocumentBrowserAction.Availability;
            /**
             * Returns a newly instantiated availability instance.
             */
            constructor (rawValue: number);
        }
    }
    export class UIDocumentBrowserTransitionController extends NSObject {
        /**
         * A progress object that tracks a document as it loads.
         */
        loadingProgress: Progress | null;
        /**
         * The target view for transition animations when presenting or dismissing the transition controller's document.
         */
        targetView: UIView | null;
    }
    export class UIDocumentBrowserError {
        /**
         * An unspecified error.
         */
        static generic: UIDocumentBrowserError.Code;
        /**
         * An error indicating that no location exists.
         */
        static noLocationAvailable: UIDocumentBrowserError.Code;
        /**
         * A string that identifies the error domain.
         */
        static errorDomain: string;
        /**
         * A code that indicates the kind of error.
         */
        errorCode: number;
        /**
         * A code that indicates the kind of error.
         */
        code: Code;
        /**
         * The user information dictionary associated with the error.
         */
        userInfo: Record<string, any>;
        /**
         * The user information dictionary associated with the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value of the error.
         */
        hashValue: number;
        /**
         * Creates a new document browser error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UIDocumentBrowserError
     */
    export namespace UIDocumentBrowserError {
        export enum Code {
            generic = 1,
            noLocationAvailable = 2,
        }
    }
    export class UIDocumentPickerViewController extends UIViewController {
        /**
         * An object that acts as the delegate of the view controller.
         */
        delegate: UIDocumentPickerDelegate | null;
        /**
         * A Boolean value that determines whether the user can select more than one document at a time.
         */
        allowsMultipleSelection: boolean;
        /**
         * The initial directory that the document picker displays.
         */
        directoryURL: URL | null;
        /**
         * A Boolean value that determines whether the browser always shows file extensions.
         */
        shouldShowFileExtensions: boolean;
        /**
         * The type of file transfer operation that the document picker uses.
         */
        documentPickerMode: UIDocumentPickerMode;
        /**
         * Returns an initialized object from data in a specified unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates and returns a document picker that can export the types of documents you specify.
         */
        constructor (urls: URL[]);
        /**
         * Creates and returns a document picker that can export or copy the types of documents you specify.
         */
        constructor (urls: URL[], asCopy: boolean);
        /**
         * Creates and returns a document picker that can open the types of documents you specify.
         */
        constructor (contentTypes: UTType[]);
        /**
         * Creates and returns a document picker that can open or copy the types of documents you specify.
         */
        constructor (contentTypes: UTType[], asCopy: boolean);
        /**
         * Creates and returns a document picker that can open or copy the specified file types.
         */
        constructor (allowedUTIs: string[], mode: UIDocumentPickerMode);
        /**
         * Initializes and returns a document picker that can export or copy the specified document.
         */
        constructor (url: URL, mode: UIDocumentPickerMode);
        /**
         * Creates and returns a document picker that can export or move the specified documents.
         */
        constructor (urls: URL[], mode: UIDocumentPickerMode);
    }
    export interface UIDocumentPickerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user has selected one or more documents.
         */
        documentPicker(controller: UIDocumentPickerViewController, urls: URL[]):void;
        /**
         * Tells the delegate that the user canceled the document picker.
         */
        documentPickerWasCancelled(controller: UIDocumentPickerViewController):void;
    }
    export enum UIDocumentPickerMode {
        import = 0,
        open = 1,
        exportToService = 2,
        moveToService = 3,
    }
    export class UIDocumentInteractionController extends NSObject {
        /**
         * The delegate you want to receive document interaction notifications.
         */
        delegate: UIDocumentInteractionControllerDelegate | null;
        /**
         * The URL identifying the target file on the local filesystem.
         */
        url: URL | null;
        /**
         * The type of the target file.
         */
        uti: string;
        /**
         * The name of the target file.
         */
        name: string;
        /**
         * The images associated with the target file.
         */
        icons: UIImage[];
        /**
         * Custom property list information for the target file.
         */
        annotation: any;
        /**
         * The system-supplied gesture recognizers for presenting a document interaction controller.
         */
        gestureRecognizers: UIGestureRecognizer[];
        /**
         * Creates a document interaction controller with the specified URL.
         */
        constructor (url: URL);
        /**
         * Displays a full-screen preview of the target document.
         */
        presentPreview(animated: boolean):boolean;
        /**
         * Dismisses the currently active document preview.
         */
        dismissPreview(animated: boolean):void;
        /**
         * Displays an options menu and anchors it to the specified location in the view.
         */
        presentOptionsMenu(rect: CGRect, view: UIView, animated: boolean):boolean;
        /**
         * Displays a menu for opening the document and anchors that menu to the specified view.
         */
        presentOpenInMenu(rect: CGRect, view: UIView, animated: boolean):boolean;
        /**
         * Dismisses the currently active menu. 
         */
        dismissMenu(animated: boolean):void;
    }
    export interface UIDocumentInteractionControllerDelegate extends NSObjectProtocol {
        /**
         * Called when a document interaction controller needs a view controller for presenting a document preview.
         */
        documentInteractionControllerViewControllerForPreview(controller: UIDocumentInteractionController):UIViewController;
        /**
         * Called when a document interaction controller needs the starting point for animating the display of a document preview.
         */
        documentInteractionControllerViewForPreview(controller: UIDocumentInteractionController):UIView | null;
        /**
         * Called when a document interaction controller needs the rectangle to use as the starting point for animating the display of a document preview.
         */
        documentInteractionControllerRectForPreview(controller: UIDocumentInteractionController):CGRect;
        /**
         * Called when a document interaction controller is about to display a preview for its document.
         */
        documentInteractionControllerWillBeginPreview(controller: UIDocumentInteractionController):void;
        /**
         * Called when a document interaction controller has dismissed its document preview.
         */
        documentInteractionControllerDidEndPreview(controller: UIDocumentInteractionController):void;
        /**
         * Called when a document interaction controller is about to display an options menu.
         */
        documentInteractionControllerWillPresentOptionsMenu(controller: UIDocumentInteractionController):void;
        /**
         * Called when a document interaction controller has dismissed its options menu.
         */
        documentInteractionControllerDidDismissOptionsMenu(controller: UIDocumentInteractionController):void;
        /**
         * Called when a document interaction controller is about to display an Open In menu.
         */
        documentInteractionControllerWillPresentOpenInMenu(controller: UIDocumentInteractionController):void;
        /**
         * Called when a document interaction controller has dismissed its Open In menu.
         */
        documentInteractionControllerDidDismissOpenInMenu(controller: UIDocumentInteractionController):void;
        /**
         * Called when a document interaction controller’s document is about to be opened by the specified application.
         */
        documentInteractionController(controller: UIDocumentInteractionController, application: string):void;
    }
    export class UIColorPickerViewController extends UIViewController {
        /**
         * A view controller that handles the delegate actions.
         */
        delegate: UIColorPickerViewControllerDelegate | null;
        /**
         * The color selected by the user.
         */
        selectedColor: UIColor;
        /**
         * A Boolean value that enables alpha value control.
         */
        supportsAlpha: boolean;
        /**
         * Creates a color picker view controller.
         */
        constructor ();
    }
    export interface UIColorPickerViewControllerDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate that the user dismissed the view controller.
         */
        colorPickerViewControllerDidFinish(viewController: UIColorPickerViewController):void;
        /**
         * Informs the delegate when a person selects a color, indicating whether the update is part of a continuous user interaction.
         */
        colorPickerViewController(viewController: UIColorPickerViewController, color: UIColor, continuously: boolean):void;
        /**
         * Informs the delegate when the user selects a color.
         */
        colorPickerViewControllerDidSelectColor(viewController: UIColorPickerViewController):void;
    }
    export class UIReferenceLibraryViewController extends UIViewController {
        /**
         * Initializes a newly created reference-library view controller to display the definition of the given term.
         */
        constructor (term: string);
        /**
         * Creates a reference-library view controller from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Returns whether a definition is available for the given term.
         */
        static dictionaryHasDefinition(term: string):boolean;
    }
    export interface UIViewControllerRestoration {
        /**
         * Requests the view controller that corresponds to the specified identifier information.
         */
        static viewController(identifierComponents: string[], coder: NSCoder):UIViewController | null;
    }
    export interface UIObjectRestoration {
        /**
         * Requests the object that corresponds to the specified identifier information.
         */
        static object(identifierComponents: string[], coder: NSCoder):UIStateRestoring | null;
    }
    export interface UIStateRestoring extends NSObjectProtocol {
        /**
         * The parent object used to scope the current object.
         */
        restorationParent: UIStateRestoring | null;
        /**
         * The class responsible for creating this object when restoring the app’s state.
         */
        objectRestorationClass: UIObjectRestoration.Type | null;
        /**
         * Encodes state-related information for the object.
         */
        encodeRestorableState(coder: NSCoder):void;
        /**
         * Decodes and restores state-related information for the object.
         */
        decodeRestorableState(coder: NSCoder):void;
        /**
         * Called after all objects have had a chance to decode their state.
         */
        applicationFinishedRestoringState():void;
    }
    export class UILayoutPriority {
        /**
         * A required constraint.
         */
        static required: UILayoutPriority;
        /**
         * The priority level with which a button resists compressing its content.
         */
        static defaultHigh: UILayoutPriority;
        /**
         * The priority level for a drag that may end up resizing the window’s scene.
         */
        static dragThatCanResizeScene: UILayoutPriority;
        /**
         * The priority level at which the window’s scene prefers to stay the same size.
         */
        static sceneSizeStayPut: UILayoutPriority;
        /**
         * The priority level for a drag that won’t resize the window’s scene.
         */
        static dragThatCannotResizeScene: UILayoutPriority;
        /**
         * The priority level at which a button hugs its contents horizontally.
         */
        static defaultLow: UILayoutPriority;
        /**
         * The priority level with which the view wants to conform to the target size in that computation.
         */
        static fittingSizeLevel: UILayoutPriority;
        /**
         * Creates a layout priority structure.
         */
        constructor (rawValue: Float);
        /**
         * Creates a layout priority structure with the specified raw value.
         */
        constructor (rawValue: Float);
    }
    export interface UILayoutSupport extends NSObjectProtocol {
        /**
         * A layout anchor representing the guide’s bottom edge.
         */
        bottomAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the guide’s height.
         */
        heightAnchor: NSLayoutDimension;
        /**
         * A layout anchor representing the guide’s top edge.
         */
        topAnchor: NSLayoutYAxisAnchor;
        /**
         * Provides the length, in points, of the portion of a view controller’s view that is overlaid by translucent or transparent UIKit bars.
         */
        length: CGFloat;
    }
    export class UILayoutGuide extends NSObject {
        /**
         * A string used to identify the layout guide.
         */
        identifier: string;
        /**
         * The layout guide’s frame in its owning view’s coordinate system.
         */
        layoutFrame: CGRect;
        /**
         * The view that owns this layout guide.
         */
        owningView: UIView | null;
        /**
         * A layout anchor representing the bottom edge of the layout guide’s frame.
         */
        bottomAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the horizontal center of the layout guide’s frame.
         */
        centerXAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the vertical center of the layout guide’s frame.
         */
        centerYAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the height of the layout guide’s frame.
         */
        heightAnchor: NSLayoutDimension;
        /**
         * A layout anchor representing the leading edge of the layout guide’s frame.
         */
        leadingAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the left edge of the layout guide’s frame.
         */
        leftAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the right edge of the layout guide’s frame.
         */
        rightAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the top edge of the layout guide’s frame.
         */
        topAnchor: NSLayoutYAxisAnchor;
        /**
         * A layout anchor representing the trailing edge of the layout guide’s frame.
         */
        trailingAnchor: NSLayoutXAxisAnchor;
        /**
         * A layout anchor representing the width of the layout guide’s frame.
         */
        widthAnchor: NSLayoutDimension;
        /**
         * A Boolean value indicating whether the constraints impacting the layout guide specify its location ambiguously.
         */
        hasAmbiguousLayout: boolean;
        /**
         * The constraints that impact the layout of the guide.
         */
        constraintsAffectingLayout(axis: NSLayoutConstraint.Axis):NSLayoutConstraint[];
    }
    export class NSLayoutDimension extends NSLayoutAnchor {
        /**
         * Returns a constraint that defines the anchor’s size attribute as equal to the specified anchor multiplied by the constant.
         */
        constraint(anchor: NSLayoutDimension, m: CGFloat):NSLayoutConstraint;
    }
    export class NSLayoutXAxisAnchor extends NSLayoutAnchor {
        /**
         * Returns a constraint that defines by how much the current anchor trails the specified anchor.
         */
        constraint(anchor: NSLayoutXAxisAnchor, multiplier: CGFloat):NSLayoutConstraint;
        /**
         * Creates a layout dimension object from two anchors.
         */
        anchorWithOffset(otherAnchor: NSLayoutXAxisAnchor):NSLayoutDimension;
    }
    export class NSLayoutYAxisAnchor extends NSLayoutAnchor {
        /**
         * Returns a constraint that defines the specific distance at which the current anchor is positioned below the specified anchor. 
         */
        constraint(anchor: NSLayoutYAxisAnchor, multiplier: CGFloat):NSLayoutConstraint;
        /**
         * Creates a layout dimension object from two anchors.
         */
        anchorWithOffset(otherAnchor: NSLayoutYAxisAnchor):NSLayoutDimension;
    }
    export class UIViewConfigurationState {
        /**
         * The traits that describe the current layout environment of the view, such as the user interface style and layout direction.
         */
        traitCollection: UITraitCollection;
        /**
         * A Boolean value that indicates whether the view is in a selected state.
         */
        isSelected: boolean;
        /**
         * A Boolean value that indicates whether the view is in a highlighted state.
         */
        isHighlighted: boolean;
        /**
         * A Boolean value that indicates whether the view is in a focused state.
         */
        isFocused: boolean;
        /**
         * A Boolean value that indicates whether the view is in a disabled state.
         */
        isDisabled: boolean;
        /**
         * A Boolean value that indicates whether the view is in a pinned state.
         */
        isPinned: boolean;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * Creates a view configuration state with the specified trait collection.
         */
        constructor (traitCollection: UITraitCollection);
        /**
         * Hashes the essential components of the view configuration state by feeding them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class UICellConfigurationState {
        /**
         * The traits that describe the current layout environment of the view, such as the user interface style and layout direction.
         */
        traitCollection: UITraitCollection;
        /**
         * A Boolean value that indicates whether the cell is in a selected state.
         */
        isSelected: boolean;
        /**
         * A Boolean value that indicates whether the cell is in a highlighted state.
         */
        isHighlighted: boolean;
        /**
         * A Boolean value that indicates whether the cell is in a focused state.
         */
        isFocused: boolean;
        /**
         * A Boolean value that indicates whether the cell is in a disabled state.
         */
        isDisabled: boolean;
        /**
         * A Boolean value that indicates whether the view is in a pinned state.
         */
        isPinned: boolean;
        /**
         * A Boolean value that indicates whether the cell is in editing mode.
         */
        isEditing: boolean;
        /**
         * A Boolean value that indicates whether the cell is in a swiped state.
         */
        isSwiped: boolean;
        /**
         * A Boolean value that indicates whether the cell is in an expanded state, such as in an outline.
         */
        isExpanded: boolean;
        /**
         * A Boolean value that indicates whether the cell is reordering.
         */
        isReordering: boolean;
        /**
         * The cell’s drag state.
         */
        cellDragState: UICellConfigurationState.DragState;
        /**
         * The cell’s drop state.
         */
        cellDropState: UICellConfigurationState.DropState;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * Creates a cell configuration state with the specified trait collection.
         */
        constructor (traitCollection: UITraitCollection);
        /**
         * Hashes the essential components of the cell configuration state by feeding them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UICellConfigurationState
     */
    export namespace UICellConfigurationState {
        export enum DragState {
            none,
            lifting,
            dragging,
        }
        export enum DropState {
            none,
            notTargeted,
            targeted,
        }
    }
    export interface UIConfigurationState {
        /**
         * The traits that describe the current layout environment of the view, such as the user interface style and layout direction.
         */
        traitCollection: UITraitCollection;
        /**
         * Creates a view configuration state with the specified trait collection.
         */
         (traitCollection: UITraitCollection);
    }
    export class UIConfigurationStateCustomKey {
        /**
         * Creates a custom state key.
         */
        constructor (rawValue: string);
        /**
         * Creates a custom state key with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class UIListContentConfiguration {
        /**
         * The image to display.
         */
        image: UIImage | null;
        /**
         * The primary text.
         */
        text: string;
        /**
         * An attributed variant of the primary text.
         */
        attributedText: NSAttributedString | null;
        /**
         * The secondary text.
         */
        secondaryText: string;
        /**
         * An attributed variant of the secondary text.
         */
        secondaryAttributedText: NSAttributedString | null;
        /**
         * Properties for configuring the image.
         */
        imageProperties: UIListContentConfiguration.ImageProperties;
        /**
         * Properties for configuring the primary text.
         */
        textProperties: UIListContentConfiguration.TextProperties;
        /**
         * Properties for configuring the secondary text.
         */
        secondaryTextProperties: UIListContentConfiguration.TextProperties;
        /**
         * A Boolean value that detemines whether the content view preserves the layout margins that it inherits from its superview on the horizontal or vertical axes.
         */
        axesPreservingSuperviewLayoutMargins: UIAxis;
        /**
         * The margins between the content and the edges of the content view. 
         */
        directionalLayoutMargins: NSDirectionalEdgeInsets;
        /**
         * A Boolean value that detemines whether the configuration positions the text and secondary text side by side.
         */
        prefersSideBySideTextAndSecondaryText: boolean;
        /**
         * The padding between the image and text.
         */
        imageToTextPadding: CGFloat;
        /**
         * The minimum horizontal padding between the text and secondary text.
         */
        textToSecondaryTextHorizontalPadding: CGFloat;
        /**
         * The vertical padding between the text and secondary text.
         */
        textToSecondaryTextVerticalPadding: CGFloat;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of the instance.
         */
        description: string;
        /**
         * A textual representation of the instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for the instance.
         */
        customMirror: Mirror;
        /**
         * Creates the default configuration you use to style a cell in a list.
         */
        static cell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a cell that’s in a list and contains subtitle text.
         */
        static subtitleCell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a cell that’s in a list and contains side-by-side value text.
         */
        static valueCell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a cell in a sidebar list.
         */
        static sidebarCell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a cell that’s in a sidebar list and contains subtitle text.
         */
        static sidebarSubtitleCell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a cell in an accompanied sidebar list.
         */
        static accompaniedSidebarCell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a cell that’s in an accompanied sidebar list and contains subtitle text.
         */
        static accompaniedSidebarSubtitleCell():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a header in a plain list.
         */
        static plainHeader():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a footer in a plain list.
         */
        static plainFooter():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a header in a grouped list.
         */
        static groupedHeader():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a footer in a grouped list.
         */
        static groupedFooter():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a prominent header in an inset grouped list.
         */
        static prominentInsetGroupedHeader():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style an extra prominent header in an inset grouped list.
         */
        static extraProminentInsetGroupedHeader():UIListContentConfiguration;
        /**
         * Creates the default configuration you use to style a header in a sidebar list.
         */
        static sidebarHeader():UIListContentConfiguration;
        /**
         * Creates a new instance of the content view using the configuration.
         */
        makeContentView():(UIView & UIContentView);
        /**
         * Generates a configuration for the specified state by applying the configuration’s default values for that state to any properties that you don’t customize.
         */
        updated(state: UIConfigurationState):UIListContentConfiguration;
        /**
         * Hashes the essential components of the list content configuration by feeding them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UIListContentConfiguration
     */
    export namespace UIListContentConfiguration {
        export class ImageProperties {
            /**
             * The system standard layout dimension for reserved layout size. 
             */
            static standardDimension: CGFloat;
            /**
             * The symbol configuration to use.
             */
            preferredSymbolConfiguration: UIImage.SymbolConfiguration | null;
            /**
             * The tint color to apply to the image view. 
             */
            tintColor: UIColor | null;
            /**
             * The color transformer for resolving the tint color. 
             */
            tintColorTransformer: UIConfigurationColorTransformer | null;
            /**
             * The preferred corner radius, using a continuous corner curve, for the image.
             */
            cornerRadius: CGFloat;
            /**
             * The maximum size for the image. 
             */
            maximumSize: CGSize;
            /**
             * The layout size that the system reserves for the image, and then centers the image within.
             */
            reservedLayoutSize: CGSize;
            /**
             * A Boolean value that determines whether the image inverts its colors when the user turns on the Invert Colors accessibility setting.
             */
            accessibilityIgnoresInvertColors: boolean;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * The custom mirror for this instance.
             */
            customMirror: Mirror;
            /**
             * Generates the resolved tint color for the specified tint color, using the tint color and color transformer. 
             */
            resolvedTintColor(tintColor: UIColor):UIColor;
            /**
             * Hashes the essential components of the image properties structure by feeding them into the hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class TextProperties {
            /**
             * The font for the text.
             */
            font: UIFont;
            /**
             * The color of the text.
             */
            color: UIColor;
            /**
             * The color transformer for resolving the text color. 
             */
            colorTransformer: UIConfigurationColorTransformer | null;
            /**
             * The alignment for the text.
             */
            alignment: UIListContentConfiguration.TextProperties.TextAlignment;
            /**
             * The line break mode to use for the text.
             */
            lineBreakMode: NSLineBreakMode;
            /**
             * The maximum number of lines for the text.
             */
            numberOfLines: number;
            /**
             * A Boolean value that detemines whether the configuration automatically adjusts the font size of the text when necessary to fit in the available width. 
             */
            adjustsFontSizeToFitWidth: boolean;
            /**
             * The smallest multiplier for the font size that the configuration uses to make the text fit.
             */
            minimumScaleFactor: CGFloat;
            /**
             * A Boolean value that detemines whether the configuration tightens the text before truncating.
             */
            allowsDefaultTighteningForTruncation: boolean;
            /**
             * A Boolean value that detemines whether the configuration automatically updates the font when the content size category changes.
             */
            adjustsFontForContentSizeCategory: boolean;
            /**
             * The transform to apply to the text.
             */
            transform: UIListContentConfiguration.TextProperties.TextTransform;
            /**
             * A Boolean value that determines whether the full text displays when the pointer hovers over the truncated text.
             */
            showsExpansionTextWhenTruncated: boolean;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * The custom mirror for this instance.
             */
            customMirror: Mirror;
            /**
             * Generates the resolved color for the specified color, using the text color and color transformer.  
             */
            resolvedColor():UIColor;
            /**
             * Hashes the essential components of the text properties structure by feeding them into the hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class TextProperties
         */
        export namespace TextProperties {
            export enum TextAlignment {
                center,
                justified,
                natural,
            }
            export enum TextTransform {
                none,
                capitalized,
                lowercase,
                uppercase,
            }
        }
    }
    export class UIListContentView extends UIView {
        /**
         * The current configuration of the view.
         */
        configuration: UIContentConfiguration;
        /**
         * A guide for positioning the primary text in the content view.
         */
        textLayoutGuide: UILayoutGuide | null;
        /**
         * A guide for positioning the secondary text in the content view.
         */
        secondaryTextLayoutGuide: UILayoutGuide | null;
        /**
         * A guide for positioning the image in the content view.
         */
        imageLayoutGuide: UILayoutGuide | null;
        /**
         * Creates a list content view with the specified content configuration.
         */
        constructor (configuration: UIListContentConfiguration);
        /**
         * Creates a list content view from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Determines whether the view is compatible with the provided configuration.
         */
        supports(configuration: UIContentConfiguration):boolean;
    }
    export interface UIContentConfiguration {
        /**
         * Creates a new instance of the content view using this configuration.
         */
        makeContentView():(UIView & UIContentView);
        /**
         * Generates a configuration for the specified state by applying the configuration’s default values for that state to any properties that you haven’t customized. 
         */
        updated(state: UIConfigurationState):Self;
    }
    export interface UIContentView extends NSObjectProtocol {
        /**
         * The current configuration of the view. 
         */
        configuration: UIContentConfiguration;
        /**
         * Determines whether the view is compatible with the provided configuration.
         */
        supports(configuration: UIContentConfiguration):boolean;
    }
    export class UIBackgroundConfiguration {
        /**
         * A custom view for the background.
         */
        customView: UIView | null;
        /**
         * The preferred corner radius, using a continuous corner curve, for the background and stroke.
         */
        cornerRadius: CGFloat;
        /**
         * The insets (or outsets, if negative) for the background and stroke, relative to the edges of the containing view.
         */
        backgroundInsets: NSDirectionalEdgeInsets;
        /**
         * The edges on which the configuration adds the containing view’s layout margins to the background insets.
         */
        edgesAddingLayoutMarginsToBackgroundInsets: NSDirectionalRectEdge;
        /**
         * The color of the background.
         */
        backgroundColor: UIColor | null;
        /**
         * The color transformer for resolving the background color.
         */
        backgroundColorTransformer: UIConfigurationColorTransformer | null;
        /**
         * The visual effect that the configuration applies to the background.
         */
        visualEffect: UIVisualEffect | null;
        /**
         * The color of the stroke.
         */
        strokeColor: UIColor | null;
        /**
         * The color transformer for resolving the stroke color.
         */
        strokeColorTransformer: UIConfigurationColorTransformer | null;
        /**
         * The width of the stroke.
         */
        strokeWidth: CGFloat;
        /**
         * The outset (or inset, if negative) for the stroke.
         */
        strokeOutset: CGFloat;
        /**
         * The image displayed in the view’s background.
         */
        image: UIImage | null;
        /**
         * A property that determines the layout of a background image in a view when its bounds change.
         */
        imageContentMode: UIView.ContentMode;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * Creates the default configuration you use to style a cell in a plain list.
         */
        static listPlainCell():UIBackgroundConfiguration;
        /**
         * Creates the default configuration you use to style a cell in a grouped list.
         */
        static listGroupedCell():UIBackgroundConfiguration;
        /**
         * Creates the default configuration you use to style a cell in a sidebar list.
         */
        static listSidebarCell():UIBackgroundConfiguration;
        /**
         * Creates the default configuration you use to style a cell in an accompanied sidebar list.
         */
        static listAccompaniedSidebarCell():UIBackgroundConfiguration;
        /**
         * Creates the default configuration you use to style a plain list header or footer.
         */
        static listPlainHeaderFooter():UIBackgroundConfiguration;
        /**
         * Creates the default configuration you use to style a grouped list header or footer.
         */
        static listGroupedHeaderFooter():UIBackgroundConfiguration;
        /**
         * Creates the default configuration you use to style a sidebar list header.
         */
        static listSidebarHeader():UIBackgroundConfiguration;
        /**
         * Creates an empty background configuration with a transparent background and no default styling.
         */
        static clear():UIBackgroundConfiguration;
        /**
         * Generates the resolved background color for the specified tint color, using the background color and color transformer.
         */
        resolvedBackgroundColor(tintColor: UIColor):UIColor;
        /**
         * Generates the resolved stroke color for the specified tint color, using the stroke color and color transformer.
         */
        resolvedStrokeColor(tintColor: UIColor):UIColor;
        /**
         * Generates a configuration for the specified state by applying the configuration’s default values for that state to any properties that you haven’t customized.
         */
        updated(state: UIConfigurationState):UIBackgroundConfiguration;
        /**
         * Hashes the essential components of the background configuration by feeding them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class UIConfigurationColorTransformer {
        /**
         * Creates a color transformer that generates a grayscale version of the color.
         */
        static grayscale: UIConfigurationColorTransformer;
        /**
         * A color transformer that returns the preferred system accent color.
         */
        static preferredTint: UIConfigurationColorTransformer;
        /**
         * A color transformer that returns the color with a monochrome tint.
         */
        static monochromeTint: UIConfigurationColorTransformer;
        /**
         * The transform closure of the color transformer.
         */
        transform: ()=>any;
        /**
         * Creates a color transformer with the specified closure.
         */
        constructor (transform: ()=>any);
        /**
         * Calls the transform closure of the color transformer.
         */
        callAsFunction(input: UIColor):UIColor;
    }
    export class UINavigationBarAppearance extends UIBarAppearance {
        /**
         * String attributes to apply to the text of a standard-size title.
         */
        titleTextAttributes: Record<NSAttributedString.Key, any>;
        /**
         * String attributes to apply to the text of a large-size title.
         */
        largeTitleTextAttributes: Record<NSAttributedString.Key, any>;
        /**
         * The distance, in points, by which to offset the title horizontally and vertically.
         */
        titlePositionAdjustment: UIOffset;
        /**
         * The appearance attributes for plain bar button items in the navigation bar.
         */
        buttonAppearance: UIBarButtonItemAppearance;
        /**
         * The appearance attributes for the back button.
         */
        backButtonAppearance: UIBarButtonItemAppearance;
        /**
         * The image to display on the leading edge of the back button.
         */
        backIndicatorImage: UIImage;
        /**
         * The image for masking content flowing under the back indicator image during push and pop transitions.
         */
        backIndicatorTransitionMaskImage: UIImage;
        /**
         * The appearance attributes for Done buttons.
         */
        doneButtonAppearance: UIBarButtonItemAppearance;
        /**
         * Sets the back button indicator image and its transition mask.
         */
        setBackIndicatorImage(backIndicatorImage: UIImage | null, backIndicatorTransitionMaskImage: UIImage | null):void;
    }
    export class UIToolbarAppearance extends UIBarAppearance {
        /**
         * The appearance attributes for plain bar button items in the toolbar.
         */
        buttonAppearance: UIBarButtonItemAppearance;
        /**
         * The appearance attributes for Done buttons.
         */
        doneButtonAppearance: UIBarButtonItemAppearance;
    }
    export class UITabBarAppearance extends UIBarAppearance {
        /**
         * The appearance attributes for items with a stacked layout.
         */
        stackedLayoutAppearance: UITabBarItemAppearance;
        /**
         * The scheme to use when positioning stacked items within the tab bar.
         */
        stackedItemPositioning: UITabBar.ItemPositioning;
        /**
         * The amount of space to insert between stacked tab bar items.
         */
        stackedItemSpacing: CGFloat;
        /**
         * The width of stacked items in the tab bar.
         */
        stackedItemWidth: CGFloat;
        /**
         * The appearance attributes for items displayed with an inline style.
         */
        inlineLayoutAppearance: UITabBarItemAppearance;
        /**
         * The appearance attributes for items displayed with an inline style in a compact environment.
         */
        compactInlineLayoutAppearance: UITabBarItemAppearance;
        /**
         * The tint color to apply to the selection indicator image.
         */
        selectionIndicatorTintColor: UIColor | null;
        /**
         * The image to draw for the selected item.
         */
        selectionIndicatorImage: UIImage | null;
    }
    export class UITabBarItemAppearance extends NSObject {
        /**
         * The appearance data to apply to the tab bar item when it’s enabled, unselected, and not the focused item.
         */
        normal: UITabBarItemStateAppearance;
        /**
         * The appearance data to apply to the tab bar item when it’s selected.
         */
        selected: UITabBarItemStateAppearance;
        /**
         * The appearance data to apply to the tab bar item when it’s disabled.
         */
        disabled: UITabBarItemStateAppearance;
        /**
         * The appearance data to apply to the tab bar item when it’s focused.
         */
        focused: UITabBarItemStateAppearance;
        /**
         * Creates an appearance object with appropriate default values for a tab bar, displaying its items with the specified layout style.
         */
        constructor (style: UITabBarItemAppearance.Style);
        /**
         * Creates an appearance object with default values for a stacked tab bar item.
         */
        constructor ();
        /**
         * Creates an appearance object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a copy of the appearance object.
         */
        copy():Self;
        /**
         * Configures the tab bar item appearance object with appropriate values for the specified style.
         */
        configureWithDefault(style: UITabBarItemAppearance.Style):void;
    }
    /**
     * the same name namespace of class UITabBarItemAppearance
     */
    export namespace UITabBarItemAppearance {
        export enum Style {
            stacked = 0,
            inline = 1,
            compactInline = 2,
        }
    }
    export class UITabBarItemStateAppearance extends NSObject {
        /**
         * String attributes to apply to the text of the tab bar item’s title.
         */
        titleTextAttributes: Record<NSAttributedString.Key, any>;
        /**
         * The additional amount by which to offset the title horizontally and vertically.
         */
        titlePositionAdjustment: UIOffset;
        /**
         * The color of item icons.
         */
        iconColor: UIColor | null;
        /**
         * String attributes to apply to the text of the item’s badge.
         */
        badgeTextAttributes: Record<NSAttributedString.Key, any>;
        /**
         * The background color of the badge.
         */
        badgeBackgroundColor: UIColor | null;
        /**
         * The additional amount by which to offset the badge’s title horizontally and vertically.
         */
        badgeTitlePositionAdjustment: UIOffset;
        /**
         * The additional amount by which to offset the badge horizontally and vertically.
         */
        badgePositionAdjustment: UIOffset;
    }
    export class UIBarAppearance extends NSObject {
        /**
         * The blur effect to apply to the bar’s background.
         */
        backgroundEffect: UIBlurEffect | null;
        /**
         * The background color of the bar.
         */
        backgroundColor: UIColor | null;
        /**
         * The image to display on top of the bar’s background color.
         */
        backgroundImage: UIImage | null;
        /**
         * The content mode to use when displaying the bar’s background image.
         */
        backgroundImageContentMode: UIView.ContentMode;
        /**
         * The color to apply to the bar’s custom or default shadow.
         */
        shadowColor: UIColor | null;
        /**
         * The image to use for the bar’s shadow.
         */
        shadowImage: UIImage | null;
        /**
         * The idiom targeted by this bar appearance object.
         */
        idiom: UIUserInterfaceIdiom;
        /**
         * Creates a new bar appearance object that targets the specified idiom. 
         */
        constructor (idiom: UIUserInterfaceIdiom);
        /**
         * Creates a new bar appearance object by copying relevant data from the specified appearance object. 
         */
        constructor (barAppearance: UIBarAppearance);
        /**
         * Creates a new bar appearance object containing default values. 
         */
        constructor ();
        /**
         * Creates an appearance object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a copy of the appearance object.
         */
        copy():Self;
        /**
         * Configures the bar appearance object with default background and shadow values.
         */
        configureWithDefaultBackground():void;
        /**
         * Configures the bar appearance object with a set of opaque colors that are appropriate for the current theme.
         */
        configureWithOpaqueBackground():void;
        /**
         * Configures the bar appearance object with a transparent background and no shadow.
         */
        configureWithTransparentBackground():void;
    }
    export class UIBarButtonItemAppearance extends NSObject {
        /**
         * The appearance data to apply to the button when it’s in the normal state.
         */
        normal: UIBarButtonItemStateAppearance;
        /**
         * The appearance data to apply to the button when it’s in the disabled state.
         */
        disabled: UIBarButtonItemStateAppearance;
        /**
         * The appearance data to apply to the button when it’s in the highlighted state.
         */
        highlighted: UIBarButtonItemStateAppearance;
        /**
         * The appearance data to apply to the button when it’s focused.
         */
        focused: UIBarButtonItemStateAppearance;
        /**
         * Creates an appearance with default values that are appropriate for the specified button style. 
         */
        constructor (style: UIBarButtonItem.Style);
        /**
         * Creates an appearance object with default values that are appropriate for a plain button. 
         */
        constructor ();
        /**
         * Creates an appearance object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a copy of the appearance object.
         */
        copy():Self;
        /**
         * Configures the bar button item appearance object with appropriate values for the specified button style.
         */
        configureWithDefault(style: UIBarButtonItem.Style):void;
    }
    export class UIBarButtonItemStateAppearance extends NSObject {
        /**
         * String attributes to apply to the text of the bar button item’s title.
         */
        titleTextAttributes: Record<NSAttributedString.Key, any>;
        /**
         * The additional amount by which to offset the title horizontally and vertically.
         */
        titlePositionAdjustment: UIOffset;
        /**
         * A background image to display around the button.
         */
        backgroundImage: UIImage | null;
        /**
         * The distance, in points, by which to offset the background image horizontally and vertically.
         */
        backgroundImagePositionAdjustment: UIOffset;
    }
    export interface UIAppearance extends NSObjectProtocol {
        /**
         * Returns the appearance proxy for the receiver.
         */
        static appearance():Self;
    }
    export interface UIAppearanceContainer extends NSObjectProtocol {}
    export class UIViewPropertyAnimator extends NSObject {
        /**
         * The total duration (in seconds) of the main animations.
         */
        duration: TimeInterval;
        /**
         * The delay (in seconds) after which the animations begin.
         */
        delay: TimeInterval;
        /**
         * The information used to determine the timing curve for the animation.
         */
        timingParameters: UITimingCurveProvider | null;
        /**
         * A Boolean value indicating whether the animator is interruptible and can be paused or stopped.
         */
        isInterruptible: boolean;
        /**
         * A Boolean value indicating whether views receive touch events while animations are running.
         */
        isUserInteractionEnabled: boolean;
        /**
         * A Boolean value indicating whether your app manages hit-testing while animations are in progress.
         */
        isManualHitTestingEnabled: boolean;
        /**
         * A Boolean value indicating whether a paused animation scrubs linearly or uses its specified timing information.
         */
        scrubsLinearly: boolean;
        /**
         * A Boolean value that indicates whether a completed animation remains in the active state.
         */
        pausesOnCompletion: boolean;
        /**
         * Initializes the animator with a built-in UIKit timing curve.
         */
        constructor (duration: TimeInterval, curve: UIView.AnimationCurve, animations: ()=>any | null);
        /**
         * Initializes the animator object with a cubic Bézier timing curve.
         */
        constructor (duration: TimeInterval, point1: CGPoint, point2: CGPoint, animations: ()=>any | null);
        /**
         * Initializes the animator object with spring-based timing information.
         */
        constructor (duration: TimeInterval, ratio: CGFloat, animations: ()=>any | null);
        /**
         * Initializes the animator object with a custom timing curve object.
         */
        constructor (duration: TimeInterval, parameters: UITimingCurveProvider);
        /**
         * Creates and returns an animator object that begins running its animations immediately.
         */
        static runningPropertyAnimator(duration: TimeInterval, delay: TimeInterval, options: UIView.AnimationOptions, animations: ()=>any, completion: ()=>any | null):Self;
        /**
         * Adds the specified animation block to the animator.
         */
        addAnimations(animation: ()=>any):void;
        /**
         * Adds the specified completion block to the animator.
         */
        addCompletion(completion: ()=>any):void;
        /**
         * Adjusts the timing and duration of a paused animation.
         */
        continueAnimation(parameters: UITimingCurveProvider | null, durationFactor: CGFloat):void;
    }
    export interface UIViewAnimating extends NSObjectProtocol {
        /**
         * Starts the animation from its current position.
         */
        startAnimation():void;
        /**
         * Pauses a running animation at its current position.
         */
        pauseAnimation():void;
        /**
         * Stops the animations at their current positions.
         */
        stopAnimation(withoutFinishing: boolean):void;
        /**
         * Finishes the animations and returns the animator to the inactive state. 
         */
        finishAnimation(finalPosition: UIViewAnimatingPosition):void;
        /**
         * The completion percentage of the animation.
         */
        fractionComplete: CGFloat;
        /**
         * A Boolean value indicating whether the animation is running in the reverse direction.
         */
        isReversed: boolean;
        /**
         * The current state of the animation.
         */
        state: UIViewAnimatingState;
        /**
         * A Boolean value indicating whether the animation is currently running.
         */
        isRunning: boolean;
    }
    export enum UIViewAnimatingState {
        inactive = 0,
        active = 1,
        stopped = 2,
    }
    export enum UIViewAnimatingPosition {
        end = 0,
        start = 1,
        current = 2,
    }
    export interface UITimingCurveProvider extends NSCoding,NSCopying {
        /**
         * The type of timing information to use.
         */
        timingCurveType: UITimingCurveType;
        /**
         * The cubic timing parameters to use.
         */
        cubicTimingParameters: UICubicTimingParameters | null;
        /**
         * The spring-based timing parameters to use.
         */
        springTimingParameters: UISpringTimingParameters | null;
    }
    export enum UITimingCurveType {
        builtin = 0,
        cubic = 1,
        spring = 2,
        composed = 3,
    }
    export class UISpringTimingParameters extends NSObject {
        /**
         * The target property’s rate of change at the start of a spring animation, enabling a smooth transition into the animation.
         */
        initialVelocity: CGVector;
        /**
         * Creates a default timing parameters object.
         */
        constructor ();
        /**
         * Creates a timing parameters object with the specified damping ratio.
         */
        constructor (ratio: CGFloat);
        /**
         * Creates a timing parameters object with the specified damping ratio and initial velocity.
         */
        constructor (ratio: CGFloat, velocity: CGVector);
        /**
         * Creates a timing parameters object with the specified spring stiffness, mass, damping coefficient, and initial velocity.
         */
        constructor (mass: CGFloat, stiffness: CGFloat, damping: CGFloat, velocity: CGVector);
        /**
         * Creates a timing parameters object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export class UICubicTimingParameters extends NSObject {
        /**
         * The standard UIKit animation curve to use for timing.
         */
        animationCurve: UIView.AnimationCurve;
        /**
         * The first control point for the cubic Bézier curve.
         */
        controlPoint1: CGPoint;
        /**
         * The second control point of the cubic Bézier curve.
         */
        controlPoint2: CGPoint;
        /**
         * Initializes the object with the system’s default timing curve. 
         */
        constructor ();
        /**
         * Initializes the object with the specified UIKit timing curve.
         */
        constructor (curve: UIView.AnimationCurve);
        /**
         * Initializes the object with the specified control points for a cubic Bézier curve.
         */
        constructor (point1: CGPoint, point2: CGPoint);
        /**
         * Creates a timing parameters object from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export interface UIViewImplicitlyAnimating extends UIViewAnimating {
        /**
         * Adds the specified animation block to the animator.
         */
        addAnimations(animation: ()=>any):void;
        /**
         * Adds the specified completion block to the animator.
         */
        addCompletion(completion: ()=>any):void;
        /**
         * Adjusts the final timing and duration of a paused animation.
         */
        continueAnimation(parameters: UITimingCurveProvider | null, durationFactor: CGFloat):void;
    }
    export interface UIViewControllerTransitioningDelegate extends NSObjectProtocol {
        /**
         * Asks your delegate for the transition animator object to use when presenting a view controller.
         */
        animationController(presented: UIViewController, presenting: UIViewController, source: UIViewController):UIViewControllerAnimatedTransitioning | null;
        /**
         * Asks your delegate for the interactive animator object to use when presenting a view controller.
         */
        interactionControllerForPresentation(animator: UIViewControllerAnimatedTransitioning):UIViewControllerInteractiveTransitioning | null;
        /**
         * Asks your delegate for the interactive animator object to use when dismissing a view controller.
         */
        interactionControllerForDismissal(animator: UIViewControllerAnimatedTransitioning):UIViewControllerInteractiveTransitioning | null;
        /**
         * Asks your delegate for the custom presentation controller to use for managing the view hierarchy when presenting a view controller.
         */
        presentationController(presented: UIViewController, presenting: UIViewController | null, source: UIViewController):UIPresentationController | null;
    }
    export interface UIViewControllerAnimatedTransitioning extends NSObjectProtocol {
        /**
         * Tells your animator object to perform the transition animations.
         */
        animateTransition(transitionContext: UIViewControllerContextTransitioning):void;
        /**
         * Tells your animator object that the transition animations have finished. 
         */
        animationEnded(transitionCompleted: boolean):void;
        /**
         * Asks your animator object for the duration (in seconds) of the transition animation.
         */
        transitionDuration(transitionContext: UIViewControllerContextTransitioning | null):TimeInterval;
        /**
         * Returns the interruptible animator to use during the transition.
         */
        interruptibleAnimator(transitionContext: UIViewControllerContextTransitioning):UIViewImplicitlyAnimating;
    }
    export interface UIViewControllerContextTransitioning extends NSObjectProtocol {
        /**
         * The view that acts as the superview for the views involved in the transition.
         */
        containerView: UIView;
        /**
         * Returns a view controller involved in the transition.
         */
        viewController(key: UITransitionContextViewControllerKey):UIViewController | null;
        /**
         * Returns the specified view involved in the transition.
         */
        view(key: UITransitionContextViewKey):UIView | null;
        /**
         * Returns the starting frame rectangle for the specified view controller’s view. 
         */
        initialFrame(vc: UIViewController):CGRect;
        /**
         * Returns the ending frame rectangle for the specified view controller’s view.
         */
        finalFrame(vc: UIViewController):CGRect;
        /**
         * A Boolean value indicating whether the transition should be animated.
         */
        isAnimated: boolean;
        /**
         * A Boolean value indicating whether the transition is currently interactive. 
         */
        isInteractive: boolean;
        /**
         * Returns the presentation style for the view controller transition.
         */
        presentationStyle: UIModalPresentationStyle;
        /**
         * Notifies the system that the transition animation is done.
         */
        completeTransition(didComplete: boolean):void;
        /**
         * Updates the completion percentage of the transition.
         */
        updateInteractiveTransition(percentComplete: CGFloat):void;
        /**
         * Tells the system to pause the animations. 
         */
        pauseInteractiveTransition():void;
        /**
         * Notifies the system that user interactions signaled the completion of the transition.
         */
        finishInteractiveTransition():void;
        /**
         * Notifies the system that user interactions canceled the transition.
         */
        cancelInteractiveTransition():void;
        /**
         * Returns a Boolean value indicating whether the transition was canceled.
         */
        transitionWasCancelled: boolean;
        /**
         * Returns a transform indicating the amount of rotation being applied during the transition.
         */
        targetTransform: CGAffineTransform;
    }
    export class UITransitionContextViewControllerKey {
        /**
         * A key that identifies the view controller that’s visible at the beginning of the transition, or at the end of a canceled transition.
         */
        static from: UITransitionContextViewControllerKey;
        /**
         * A key that identifies the view controller that’s visible at the end of a completed transition.
         */
        static to: UITransitionContextViewControllerKey;
        /**
         * Creates a key to identify the view controllers in a transition.
         */
        constructor (rawValue: string);
    }
    export class UITransitionContextViewKey {
        /**
         * A key that identifies the view shown at the beginning of the transition, or at the end of a canceled transition.
         */
        static from: UITransitionContextViewKey;
        /**
         * A key that identifies the view shown at the end of a completed transition.
         */
        static to: UITransitionContextViewKey;
        /**
         * Creates a key to identify the views in a transition.
         */
        constructor (rawValue: string);
    }
    export class UIPercentDrivenInteractiveTransition extends NSObject {
        /**
         * The timing curve to use when driving the animations.
         */
        timingCurve: UITimingCurveProvider | null;
        /**
         * Indicates the animation completion curve for an interactive transition.
         */
        completionCurve: UIView.AnimationCurve;
        /**
         * The overall duration (in seconds) of the transition animation.
         */
        duration: CGFloat;
        /**
         * The amount of the transition (specified as a percentage of the overall duration) that’s complete.
         */
        percentComplete: CGFloat;
        /**
         * The speed of the transition animation.
         */
        completionSpeed: CGFloat;
        /**
         * A Boolean value indicating whether the animations are interactive initially.
         */
        wantsInteractiveStart: boolean;
        /**
         * Updates the completion percentage of the transition.
         */
        update(percentComplete: CGFloat):void;
        /**
         * Pauses an interruptible transition animation.
         */
        pause():void;
        /**
         * Notifies the system that user interactions canceled the transition.
         */
        cancel():void;
        /**
         * Notifies the system that user interactions signaled the completion of the transition.
         */
        finish():void;
    }
    export interface UIViewControllerInteractiveTransitioning extends NSObjectProtocol {
        /**
         * Called when the system needs to set up the interactive portions of a view controller transition and start the animations.
         */
        startInteractiveTransition(transitionContext: UIViewControllerContextTransitioning):void;
        /**
         * A Boolean value indicating whether the transition is interactive when it starts.
         */
        wantsInteractiveStart: boolean;
        /**
         * Called when the system needs the animation completion curve for an interactive view controller transition.
         */
        completionCurve: UIView.AnimationCurve;
        /**
         * Called when the system needs the speed at which to complete an interactive transition, after the interactive portion is finished.
         */
        completionSpeed: CGFloat;
    }
    export interface UIViewControllerTransitionCoordinator extends UIViewControllerTransitionCoordinatorContext {
        /**
         * Runs the specified animations at the same time as the view controller transition animations.
         */
        animate(animation: ()=>any | null, completion: ()=>any | null):boolean;
        /**
         * Runs the specified animations in a view that’s outside of the designated container view.
         */
        animateAlongsideTransition(view: UIView | null, animation: ()=>any | null, completion: ()=>any | null):boolean;
        /**
         * Registers a block to be executed when a transition changes from interactive to non-interactive.
         */
        notifyWhenInteractionChanges(handler: ()=>any):void;
        /**
         * Registers a block to be executed when a transition changes from interactive to non-interactive.
         */
        notifyWhenInteractionEnds(handler: ()=>any):void;
    }
    export interface UIViewControllerTransitionCoordinatorContext extends NSObjectProtocol {
        /**
         * Returns the view controllers involved in the transition.
         */
        viewController(key: UITransitionContextViewControllerKey):UIViewController | null;
        /**
         * Returns the specified view involved in the transition.
         */
        view(key: UITransitionContextViewKey):UIView | null;
        /**
         * Returns the view in which the transition takes place.
         */
        containerView: UIView;
        /**
         * The presentation style to use for the transition.
         */
        presentationStyle: UIModalPresentationStyle;
        /**
         * Returns the noninteractive duration of a transition.
         */
        transitionDuration: TimeInterval;
        /**
         * Returns the completion curve associated with the transition.
         */
        completionCurve: UIView.AnimationCurve;
        /**
         * Returns the starting velocity to use for any final animations.
         */
        completionVelocity: CGFloat;
        /**
         * Returns the percentage of completion for an interactive transition when it moves to its noninteractive phase.
         */
        percentComplete: CGFloat;
        /**
         * A Boolean value indicating whether the transition started as an interactive transition.
         */
        initiallyInteractive: boolean;
        /**
         * A Boolean value indicating whether the transition is currently interactive.
         */
        isInteractive: boolean;
        /**
         * A Boolean value indicating whether the transition is explicitly animated.
         */
        isAnimated: boolean;
        /**
         * A Boolean value indicating whether an interactive transition was canceled.
         */
        isCancelled: boolean;
        /**
         * A Boolean value indicating whether the transition animations can be interrupted.
         */
        isInterruptible: boolean;
        /**
         * Returns a transform indicating the amount of rotation being applied during the transition.
         */
        targetTransform: CGAffineTransform;
    }
    export class UIDynamicAnimator extends NSObject {
        /**
         * The delegate for responding to pausing or resumption of animation.
         */
        delegate: UIDynamicAnimatorDelegate | null;
        /**
         * Returns the time interval since the dynamic animator started running.
         */
        elapsedTime: TimeInterval;
        /**
         *  Returns 
         *  if the dynamic animator is running.
         */
        isRunning: boolean;
        /**
         * The dynamic behaviors managed by a dynamic animator.
         */
        behaviors: UIDynamicBehavior[];
        /**
         * The view that a dynamic animator was initialized with.
         */
        referenceView: UIView | null;
        /**
         * Initializes a dynamic animator with a specified view as its reference view.
         */
        constructor (view: UIView);
        /**
         * Initializes a dynamic animator with a specified collection view layout.
         */
        constructor (layout: UICollectionViewLayout);
        /**
         * Returns the dynamic items, from the animator’s behaviors, that intersect a specified rectangle.
         */
        items(rect: CGRect):UIDynamicItem[];
        /**
         * Adds a dynamic behavior to a dynamic animator.
         */
        addBehavior(behavior: UIDynamicBehavior):void;
        /**
         * Removes a specified dynamic behavior from a dynamic animator.
         */
        removeBehavior(behavior: UIDynamicBehavior):void;
        /**
         * Removes all of the dynamic behaviors from a dynamic animator.
         */
        removeAllBehaviors():void;
        /**
         * Asks a dynamic animator to read the current state of a dynamic item, replacing the animator’s internal representation of the item’s state.
         */
        updateItem(item: UIDynamicItem):void;
        /**
         * A convenience method for returning the layout attributes for a collection view cell.
         */
        layoutAttributesForCell(indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * A convenience method for returning the layout attributes for a collection view decoration view.
         */
        layoutAttributesForDecorationView(decorationViewKind: string, indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
        /**
         * A convenience method for returning the layout attributes for a collection view supplementary view.
         */
        layoutAttributesForSupplementaryView(kind: string, indexPath: IndexPath):UICollectionViewLayoutAttributes | null;
    }
    export interface UIDynamicAnimatorDelegate extends NSObjectProtocol {
        /**
         * Called when a dynamic animator pauses the animations for its behaviors’ associated dynamic items.
         */
        dynamicAnimatorDidPause(animator: UIDynamicAnimator):void;
        /**
         * Called when a dynamic animator is about to resume the animations for its behaviors’ associated dynamic items.
         */
        dynamicAnimatorWillResume(animator: UIDynamicAnimator):void;
    }
    export interface UIDynamicItem extends NSObjectProtocol {
        /**
         * Called when a dynamic animator needs the bounds of the dynamic item.
         */
        bounds: CGRect;
        /**
         * The center point of the dynamic item.
         */
        center: CGPoint;
        /**
         * The rotation of the dynamic item.
         */
        transform: CGAffineTransform;
        /**
         * The type of collision bounds associated with the item.
         */
        collisionBoundsType: UIDynamicItemCollisionBoundsType;
        /**
         * The path-based shape to use for the collision bounds.
         */
        collisionBoundingPath: UIBezierPath;
    }
    export enum UIDynamicItemCollisionBoundsType {
        rectangle = 0,
        ellipse = 1,
        path = 2,
    }
    export class UIDynamicItemBehavior extends UIDynamicBehavior {
        /**
         * Returns the set of dynamic items you’ve added to the dynamic item behavior.
         */
        items: UIDynamicItem[];
        /**
         * Specifies whether rotation is allowed for the behavior’s dynamic items.
         */
        allowsRotation: boolean;
        /**
         * The angular resistance for the behavior’s dynamic items.
         */
        angularResistance: CGFloat;
        /**
         * The relative mass density of the behavior’s dynamic items.
         */
        density: CGFloat;
        /**
         * The amount of elasticity applied to collisions for the behavior’s dynamic items.
         */
        elasticity: CGFloat;
        /**
         * The linear resistance for the behavior’s dynamic items when two slide against each other.
         */
        friction: CGFloat;
        /**
         * The linear resistance for the behavior’s dynamic items, which reduces their linear velocity over time.
         */
        resistance: CGFloat;
        /**
         * The charge associated with the item.
         */
        charge: CGFloat;
        /**
         * A Boolean value indicating whether the item is anchored to its current position.
         */
        isAnchored: boolean;
        /**
         * Initializes a dynamic item behavior with an array of dynamic items.
         */
        constructor (items: UIDynamicItem[]);
        /**
         * Adds a dynamic item to the dynamic item behavior’s item array.
         */
        addItem(item: UIDynamicItem):void;
        /**
         * Removes a specific dynamic item from the dynamic item behavior.
         */
        removeItem(item: UIDynamicItem):void;
        /**
         * Adds a specified angular velocity to a dynamic item.
         */
        addAngularVelocity(velocity: CGFloat, item: UIDynamicItem):void;
        /**
         * Adds a specified linear velocity to a dynamic item.
         */
        addLinearVelocity(velocity: CGPoint, item: UIDynamicItem):void;
        /**
         * Returns the angular velocity for a specified dynamic item.
         */
        angularVelocity(item: UIDynamicItem):CGFloat;
        /**
         * Returns the linear velocity for a specified dynamic item.
         */
        linearVelocity(item: UIDynamicItem):CGPoint;
    }
    export class UIDynamicItemGroup extends NSObject {
        /**
         * The dynamic items in the group.
         */
        items: UIDynamicItem[];
        /**
         * Initializes and returns a group containing the specified items.
         */
        constructor (items: UIDynamicItem[]);
    }
    export class UIDynamicBehavior extends NSObject {
        /**
         * The block you want to execute during dynamic animation.
         */
        action: ()=>any | null;
        /**
         * Returns the array of dynamic behaviors that are children of a custom dynamic behavior.
         */
        childBehaviors: UIDynamicBehavior[];
        /**
         * The dynamic animator that the dynamic behavior is associated with.
         */
        dynamicAnimator: UIDynamicAnimator | null;
        /**
         * Adds a dynamic behavior, as a child, to a custom dynamic behavior.
         */
        addChildBehavior(behavior: UIDynamicBehavior):void;
        /**
         * Removes a child dynamic behavior from a custom dynamic behavior.
         */
        removeChildBehavior(behavior: UIDynamicBehavior):void;
        /**
         * Called when the dynamic behavior is added to, or removed from, a dynamic animator.
         */
        willMove(dynamicAnimator: UIDynamicAnimator | null):void;
    }
    export class UIAttachmentBehavior extends UIDynamicBehavior {
        /**
         * The dynamic items connected by the attachment behavior.
         */
        items: UIDynamicItem[];
        /**
         * The anchor point for the attachment behavior, if any.
         */
        anchorPoint: CGPoint;
        /**
         * The type of the attachment behavior.
         */
        attachedBehaviorType: UIAttachmentBehavior.AttachmentType;
        /**
         * The amount of damping to apply to the attachment behavior.
         */
        damping: CGFloat;
        /**
         * The frequency of oscillation for the attachment behavior.
         */
        frequency: CGFloat;
        /**
         * The distance, in points, between the two attachment points of the attachment behavior.
         */
        length: CGFloat;
        /**
         * The amount of force needed to overcome rotational forces around an anchor point.
         */
        frictionTorque: CGFloat;
        /**
         * The range of motion for the attachment behavior. 
         */
        attachmentRange: UIFloatRange;
        /**
         * Initializes a behavior where the center of a dynamic item is attached to the specified anchor point.
         */
        constructor (item: UIDynamicItem, point: CGPoint);
        /**
         * Initializes a behavior where the centers of two dynamic items are attached to each other.
         */
        constructor (item1: UIDynamicItem, item2: UIDynamicItem);
        /**
         * Initializes a behavior where the specified point in a dynamic item is attached to an anchor point.
         */
        constructor (item: UIDynamicItem, offset: UIOffset, point: CGPoint);
        /**
         * Initializes an attachment behavior that connects a specified point in one dynamic item to a specified point in another dynamic item. 
         */
        constructor (item1: UIDynamicItem, offset1: UIOffset, item2: UIDynamicItem, offset2: UIOffset);
        /**
         * Creates and returns an attachment behavior where one item slides along the specified axis. 
         */
        static slidingAttachment(item: UIDynamicItem, point: CGPoint, axis: CGVector):Self;
        /**
         * Creates and returns an attachment behavior where the two items are fixed together through the specified anchor point.
         */
        static fixedAttachment(item1: UIDynamicItem, item2: UIDynamicItem, point: CGPoint):Self;
        /**
         * Creates and returns an attachment behavior object where two items are constrained by a maximum distance from one another. 
         */
        static limitAttachment(item1: UIDynamicItem, offset1: UIOffset, item2: UIDynamicItem, offset2: UIOffset):Self;
        /**
         * Creates and returns an attachment behavior where the two items are pinned to, and move around, an anchor point 
         */
        static pinAttachment(item1: UIDynamicItem, item2: UIDynamicItem, point: CGPoint):Self;
    }
    /**
     * the same name namespace of class UIAttachmentBehavior
     */
    export namespace UIAttachmentBehavior {
        export enum AttachmentType {
            items = 0,
            anchor = 1,
        }
    }
    export class UIFloatRange {
        /**
         * A range whose range is minus infinity to infinity.
         */
        static infinite: UIFloatRange;
        /**
         * A range whose minimum and maximum are both 
         * . 
         */
        static zero: UIFloatRange;
        /**
         * The maximum range of motion for sliding and pin attachments.
         */
        maximum: CGFloat;
        /**
         * The minimum range of motion for sliding and pin attachments.
         */
        minimum: CGFloat;
        /**
         * Returns a Boolean indicating whether the specified float range is infinitely large.
         */
        isInfinite: boolean;
        constructor ();
        /**
         * Returns a new float range structure from the given components.
         */
        constructor (minimum: CGFloat, maximum: CGFloat);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class UICollisionBehavior extends UIDynamicBehavior {
        /**
         * Returns the set of dynamic items you’ve added to the collision behavior.
         */
        items: UIDynamicItem[];
        /**
         * The delegate object that you want to respond to collisions for the collision behavior.
         */
        collisionDelegate: UICollisionBehaviorDelegate | null;
        /**
         * The set of boundary identifiers that you’ve added to the collision behavior.
         */
        boundaryIdentifiers: NSCopying[] | null;
        /**
         * The type of edges that participate in collisions for the collision behavior.
         */
        collisionMode: UICollisionBehavior.Mode;
        /**
         * Specifies whether a boundary based on the reference system is active.
         */
        translatesReferenceBoundsIntoBoundary: boolean;
        /**
         * Initializes a collision behavior with an array of dynamic items.
         */
        constructor (items: UIDynamicItem[]);
        /**
         * Adds a dynamic item to the collision behavior’s item array.
         */
        addItem(item: UIDynamicItem):void;
        /**
         * Removes a specific dynamic item from the collision behavior.
         */
        removeItem(item: UIDynamicItem):void;
        /**
         * Adds a collision boundary, specified as a Bezier path, to the collision behavior.
         */
        addBoundary(identifier: NSCopying, bezierPath: UIBezierPath):void;
        /**
         * Returns a specified Bezier-path boundary.
         */
        boundary(identifier: NSCopying):UIBezierPath | null;
        /**
         * Removes all previously-specified collision boundaries from the collision behavior.
         */
        removeAllBoundaries():void;
        /**
         * Removes a specific collision boundary from the collision behavior.
         */
        removeBoundary(identifier: NSCopying):void;
        /**
         * Specifies a collision boundary based on the bounds of the animation reference system, with optional insets.
         */
        setTranslatesReferenceBoundsIntoBoundary(insets: UIEdgeInsets):void;
    }
    /**
     * the same name namespace of class UICollisionBehavior
     */
    export namespace UICollisionBehavior {
        export class Mode {
            /**
             * Specifies that the dynamic items, associated with the collision behavior, collide only with each other and not with specified collision boundaries.
             */
            static items: UICollisionBehavior.Mode;
            /**
             * Specifies that the dynamic items, associated with the collision behavior, collide only with specified collision boundaries and don’t collide with each other.
             */
            static boundaries: UICollisionBehavior.Mode;
            /**
             * Specifies that the dynamic items, associated with the collision behavior, collide with each other 
             *  with specified collision boundaries.
             */
            static everything: UICollisionBehavior.Mode;
            /**
             * Creates a collision behavior mode structure with the specified raw value.
             */
            constructor (rawValue: number);
        }
    }
    export interface UICollisionBehaviorDelegate extends NSObjectProtocol {
        /**
         * Called when a collision, between a dynamic item and a collision boundary, has begun.
         */
        collisionBehavior(behavior: UICollisionBehavior, item: UIDynamicItem, identifier: NSCopying | null, p: CGPoint):void;
    }
    export class UIFieldBehavior extends UIDynamicBehavior {
        /**
         * The dynamic items associated with the current field behavior.
         */
        items: UIDynamicItem[];
        /**
         * The position of the field in the reference coordinate system.
         */
        position: CGPoint;
        /**
         * The shape of the field.
         */
        region: UIRegion;
        /**
         * The strength of the field.
         */
        strength: CGFloat;
        /**
         * The rate of decay for the field strength. 
         */
        falloff: CGFloat;
        /**
         * The minimum distance at which to start calculating new values for the field. 
         */
        minimumRadius: CGFloat;
        /**
         * The direction of motion for a linear field.
         */
        direction: CGVector;
        /**
         * The smoothness of the noise used to generate the field.
         */
        smoothness: CGFloat;
        /**
         * The rate at which the animation should proceed.
         */
        animationSpeed: CGFloat;
        /**
         * Creates and returns a field behavior for slowing an object’s velocity.
         */
        static dragField():Self;
        /**
         * Creates and returns a spring field behavior. 
         */
        static springField():Self;
        /**
         * Creates and returns a field behavior object that applies a directional velocity to items.
         */
        static velocityField(direction: CGVector):Self;
        /**
         * Creates and returns a field behavior object that interacts with charged items.
         */
        static electricField():Self;
        /**
         * Creates and returns a field behavior that interacts with charged items.
         */
        static magneticField():Self;
        /**
         * Creates and returns a field behavior object that models a radial gravitational force. 
         */
        static radialGravityField(position: CGPoint):Self;
        /**
         * Creates and returns a field behavior object that models a linear gravitational force. 
         */
        static linearGravityField(direction: CGVector):Self;
        /**
         * Creates and returns a field behavior object that applies a rotational force relative to the field’s position. 
         */
        static vortexField():Self;
        /**
         * Creates and returns a field behavior object that applies random noise to other forces. 
         */
        static noiseField(smoothness: CGFloat, speed: CGFloat):Self;
        /**
         * Creates and returns a field behavior object that applies noise to an item in motion.
         */
        static turbulenceField(smoothness: CGFloat, speed: CGFloat):Self;
        /**
         * Creates and returns a field behavior object that applies an app-specified field to items. 
         */
        static field(block: ()=>any):Self;
        /**
         * Associates the field behavior with the specified dynamic item.
         */
        addItem(item: UIDynamicItem):void;
        /**
         * Removes the field behavior from the specified dynamic item.
         */
        removeItem(item: UIDynamicItem):void;
    }
    export class UIGravityBehavior extends UIDynamicBehavior {
        /**
         * The set of dynamic items associated with the gravity behavior.
         */
        items: UIDynamicItem[];
        /**
         * The direction and magnitude of the gravitational force, expressed as a vector.
         */
        gravityDirection: CGVector;
        /**
         * The direction of the gravity vector, expressed in radians in the reference coordinate system.
         */
        angle: CGFloat;
        /**
         * The magnitude of the gravity vector.
         */
        magnitude: CGFloat;
        /**
         * Initializes a gravity behavior with an array of dynamic items.
         */
        constructor (items: UIDynamicItem[]);
        /**
         * Associates the specified dynamic item with the gravity behavior.
         */
        addItem(item: UIDynamicItem):void;
        /**
         * Removes the specified dynamic item from the gravity behavior.
         */
        removeItem(item: UIDynamicItem):void;
        /**
         * Sets the angle and magnitude of the gravity vector for the behavior.
         */
        setAngle(angle: CGFloat, magnitude: CGFloat):void;
    }
    export class UIPushBehavior extends UIDynamicBehavior {
        /**
         * The state of the push behavior’s force: either active or inactive.
         */
        active: boolean;
        /**
         * Returns the set of dynamic items you’ve added to the push behavior.
         */
        items: UIDynamicItem[];
        /**
         * The angle, in radians, of the force vector for the behavior.
         */
        angle: CGFloat;
        /**
         * The magnitude of the force vector for the push behavior.
         */
        magnitude: CGFloat;
        /**
         * Returns the force mode for the push behavior.
         */
        mode: UIPushBehavior.Mode;
        /**
         * The direction of the force vector for the behavior, expressed as 
         *  and 
         *  components and using standard UIKit geometry.
         */
        pushDirection: CGVector;
        /**
         * Initializes a push behavior with an array of dynamic items.
         */
        constructor (items: UIDynamicItem[], mode: UIPushBehavior.Mode);
        /**
         * Adds a dynamic item to the behavior’s dynamic item array.
         */
        addItem(item: UIDynamicItem):void;
        /**
         * Removes a specific dynamic item from the behavior.
         */
        removeItem(item: UIDynamicItem):void;
        /**
         * Sets the angle and magnitude of the force vector for the behavior.
         */
        setAngle(angle: CGFloat, magnitude: CGFloat):void;
        /**
         * Sets the offset, from the center of a dynamic item, at which to apply the push behavior’s force vector.
         */
        setTargetOffsetFromCenter(o: UIOffset, item: UIDynamicItem):void;
        /**
         * Returns the offset, from the center of a dynamic item, at which the push behavior’s force vector is applied.
         */
        targetOffsetFromCenter(item: UIDynamicItem):UIOffset;
    }
    /**
     * the same name namespace of class UIPushBehavior
     */
    export namespace UIPushBehavior {
        export enum Mode {
            continuous = 0,
            instantaneous = 1,
        }
    }
    export class UISnapBehavior extends UIDynamicBehavior {
        /**
         * The point to which to snap.
         */
        snapPoint: CGPoint;
        /**
         * The amount of oscillation of a dynamic item during the conclusion of a snap.
         */
        damping: CGFloat;
        /**
         * Initializes a snap behavior with a dynamic item and a snap point.
         */
        constructor (item: UIDynamicItem, point: CGPoint);
    }
    export class UIRegion extends NSObject {
        /**
         * Returns the region that encloses all points. 
         */
        static infinite: UIRegion;
        /**
         * Initializes and returns a rectangular region of the specified size.
         */
        constructor (size: CGSize);
        /**
         * Initializes and returns a region with a circular shape of the specified radius.
         */
        constructor (radius: CGFloat);
        /**
         * Returns a new region that’s the mathematical inverse of the current region.
         */
        inverse():Self;
        /**
         * Returns a new region created by subtracting the specified region from the current region.
         */
        byDifference(region: UIRegion):Self;
        /**
         * Returns a new region containing only the area occupied by both the specified region and current region.
         */
        byIntersection(region: UIRegion):Self;
        /**
         * Returns a new region containing the combined areas of the specified region and the current region.
         */
        byUnion(region: UIRegion):Self;
        /**
         * Returns a Boolean indicating whether the specified point is inside of the current region.
         */
        contains(point: CGPoint):boolean;
    }
    export class UIMotionEffectGroup extends UIMotionEffect {
        /**
         * An array of motion effect objects to apply as a group to the view.
         */
        motionEffects: UIMotionEffect[] | null;
    }
    export class UIInterpolatingMotionEffect extends UIMotionEffect {
        /**
         * The key path you want to modify on the view.
         */
        keyPath: string;
        /**
         * The tilt direction to monitor.
         */
        type: UIInterpolatingMotionEffect.EffectType;
        /**
         * The value that maps to the minimum viewer offset.
         */
        minimumRelativeValue: any;
        /**
         * The value that maps to the maximum viewer offset.
         */
        maximumRelativeValue: any;
        /**
         * Initializes and returns an interpolating motion effect object configured for the specific tilt direction.
         */
        constructor (keyPath: string, type: UIInterpolatingMotionEffect.EffectType);
        /**
         * Creates a motion effect from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    /**
     * the same name namespace of class UIInterpolatingMotionEffect
     */
    export namespace UIInterpolatingMotionEffect {
        export enum EffectType {
            tiltAlongHorizontalAxis = 0,
            tiltAlongVerticalAxis = 1,
        }
    }
    export class UIMotionEffect extends NSObject {
        /**
         * Initializes the motion effect to its default state.
         */
        constructor ();
        /**
         * Creates a motion effect from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * For a given set of offset values, returns the view properties (and corresponding values) to update.
         */
        keyPathsAndRelativeValues(viewerOffset: UIOffset):Record<string, any> | null;
    }
    export class UIFeedbackGenerator extends NSObject {
        /**
         * Prepares the generator to trigger feedback.
         */
        prepare():void;
    }
    export class UIImpactFeedbackGenerator extends UIFeedbackGenerator {
        /**
         * Returns a newly initialized feedback generator.
         */
        constructor (style: UIImpactFeedbackGenerator.FeedbackStyle);
        /**
         * Triggers impact feedback.
         */
        impactOccurred():void;
    }
    /**
     * the same name namespace of class UIImpactFeedbackGenerator
     */
    export namespace UIImpactFeedbackGenerator {
        export enum FeedbackStyle {
            heavy = 2,
            light = 0,
            medium = 1,
            rigid = 4,
            soft = 3,
        }
    }
    export class UINotificationFeedbackGenerator extends UIFeedbackGenerator {
        /**
         * Triggers notification feedback.
         */
        notificationOccurred(notificationType: UINotificationFeedbackGenerator.FeedbackType):void;
    }
    /**
     * the same name namespace of class UINotificationFeedbackGenerator
     */
    export namespace UINotificationFeedbackGenerator {
        export enum FeedbackType {
            error = 2,
            success = 0,
            warning = 1,
        }
    }
    export class UISelectionFeedbackGenerator extends UIFeedbackGenerator {
        /**
         * Triggers selection feedback.
         */
        selectionChanged():void;
    }
    export interface UILayoutGuideAspectFitting extends NSObjectProtocol {
        /**
         * The content’s aspect ratio.
         */
        aspectRatio: CGFloat;
    }
    export interface UICoordinateSpace extends NSObjectProtocol {
        /**
         * The bounds rectangle describing the item’s location and size in its own coordinate system. 
         */
        bounds: CGRect;
        /**
         * Converts a point from the coordinate space of the current object to the specified coordinate space.
         */
        convert(point: CGPoint, coordinateSpace: UICoordinateSpace):CGPoint;
    }
    export class UIPopoverPresentationController extends UIPresentationController {
        /**
         * The delegate that handles popover-related messages.
         */
        delegate: UIPopoverPresentationControllerDelegate | null;
        /**
         * The margins that define the portion of the screen in which it is permissible to display the popover.
         */
        popoverLayoutMargins: UIEdgeInsets;
        /**
         * The color of the popover’s backdrop view.
         */
        backgroundColor: UIColor | null;
        /**
         * An array of views that the user can interact with while the popover is visible.
         */
        passthroughViews: UIView[] | null;
        /**
         * The class to use for displaying the popover background content.
         */
        popoverBackgroundViewClass: UIPopoverBackgroundViewMethods.Type | null;
        /**
         * A Boolean value indicating whether the popover can overlap its view rectangle.
         */
        canOverlapSourceViewRect: boolean;
        /**
         * The item on which to anchor the popover.
         */
        sourceItem: UIPopoverPresentationControllerSourceItem | null;
        /**
         * The view containing the anchor rectangle for the popover.
         */
        sourceView: UIView | null;
        /**
         * The area in the source view in which you anchor the popover.
         */
        sourceRect: CGRect;
        /**
         * The bar button item on which to anchor the popover.
         */
        barButtonItem: UIBarButtonItem | null;
        /**
         * The arrow directions that you allow for the popover.
         */
        permittedArrowDirections: UIPopoverArrowDirection;
        /**
         * The arrow direction in use by the popover.
         */
        arrowDirection: UIPopoverArrowDirection;
        /**
         * The sheet presentation controller the popover adapts to in compact size classes.
         */
        adaptiveSheetPresentationController: UISheetPresentationController;
    }
    export interface UIPopoverPresentationControllerDelegate extends UIAdaptivePresentationControllerDelegate {
        /**
         * Notifies the delegate that the popover is about to be presented. 
         */
        prepareForPopoverPresentation(popoverPresentationController: UIPopoverPresentationController):void;
        /**
         * Asks the delegate if the popover should be dismissed.
         */
        popoverPresentationControllerShouldDismissPopover(popoverPresentationController: UIPopoverPresentationController):boolean;
        /**
         * Tells the delegate that the popover was dismissed.
         */
        popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController):void;
        /**
         * Tells the delegate that UIKit needs to reposition the popover’s location. 
         */
        popoverPresentationController(popoverPresentationController: UIPopoverPresentationController, rect: UnsafeMutablePointer<CGRect>, view: AutoreleasingUnsafeMutablePointer<UIView>):void;
    }
    export interface UIPopoverPresentationControllerSourceItem extends NSObjectProtocol {}
    export class UIPopoverBackgroundView extends UIView {
        /**
         * Determines whether the default content appearance should be used for the popover.
         */
        static wantsDefaultContentAppearance: boolean;
        /**
         * The distance (measured in points) from the center of the view to the center line of the arrow.
         */
        arrowOffset: CGFloat;
        /**
         * The direction in which the popover arrow is pointing.
         */
        arrowDirection: UIPopoverArrowDirection;
    }
    export interface UIPopoverBackgroundViewMethods {
        /**
         * The insets for the content portion of the popover. 
         */
        static contentViewInsets():UIEdgeInsets;
        /**
         * The width of the arrow triangle at its base.
         */
        static arrowBase():CGFloat;
        /**
         * The height of the arrow (measured in points) from its base to its tip. 
         */
        static arrowHeight():CGFloat;
    }
    export class UIAlertController extends UIViewController {
        /**
         * The title of the alert.
         */
        title: string;
        /**
         * Descriptive text that provides more details about the reason for the alert.
         */
        message: string;
        /**
         * The style of the alert controller.
         */
        preferredStyle: UIAlertController.Style;
        /**
         * The actions that the user can take in response to the alert or action sheet.
         */
        actions: UIAlertAction[];
        /**
         * The preferred action for the user to take from an alert.
         */
        preferredAction: UIAlertAction | null;
        /**
         * The array of text fields displayed by the alert.
         */
        textFields: UITextField[] | null;
        /**
         * Indicates the severity of the alert.
         */
        severity: UIAlertControllerSeverity;
        /**
         * Creates and returns a view controller for displaying an alert.
         */
        constructor (title: string, message: string, preferredStyle: UIAlertController.Style);
        /**
         * Attaches an action object to the alert or action sheet.
         */
        addAction(action: UIAlertAction):void;
        /**
         * Adds a text field to an alert.
         */
        addTextField(configurationHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class UIAlertController
     */
    export namespace UIAlertController {
        export enum Style {
            actionSheet = 0,
            alert = 1,
        }
    }
    export enum UIAlertControllerSeverity {
        critical = 1,
        default = 0,
    }
    export class UIAlertAction extends NSObject {
        /**
         * The title of the action’s button.
         */
        title: string;
        /**
         * The style that applies to the action’s button.
         */
        style: UIAlertAction.Style;
        /**
         * A Boolean value indicating whether the action is currently enabled.
         */
        isEnabled: boolean;
        /**
         * Create and return an action with the specified title and behavior.
         */
        constructor (title: string, style: UIAlertAction.Style, handler: ()=>any | null);
    }
    /**
     * the same name namespace of class UIAlertAction
     */
    export namespace UIAlertAction {
        export enum Style {
            default = 0,
            cancel = 1,
            destructive = 2,
        }
    }
    export class UIScreenMode extends NSObject {
        /**
         * The screen size, measured in pixels.
         */
        size: CGSize;
        /**
         * The aspect ratio of a single pixel.
         */
        pixelAspectRatio: CGFloat;
    }
    export enum UIEditingInteractionConfiguration {
        default = 1,
        none = 0,
    }
    export class UIEvent extends NSObject {
        /**
         * All touches associated with the event.
         */
        allTouches: Set<UITouch> | null;
        /**
         * The time when the event occurred.
         */
        timestamp: TimeInterval;
        /**
         * Returns the type of the event.
         */
        type: UIEvent.EventType;
        /**
         * Returns the subtype of the event.
         */
        subtype: UIEvent.EventSubtype;
        /**
         * A bit mask that represents which input-device buttons are pressed for the current event.
         */
        buttonMask: UIEvent.ButtonMask;
        /**
         * The set of modifier keys that are pressed for the current event.
         */
        modifierFlags: UIKeyModifierFlags;
        /**
         * Returns the touch objects from the event that belong to the specified given view.
         */
        touches(view: UIView):Set<UITouch> | null;
        /**
         * Returns all of the touches associated with the specified main touch.
         */
        coalescedTouches(touch: UITouch):UITouch[] | null;
        /**
         * Returns an array of touches that are predicted to occur for the specified touch.
         */
        predictedTouches(touch: UITouch):UITouch[] | null;
    }
    /**
     * the same name namespace of class UIEvent
     */
    export namespace UIEvent {
        export enum EventType {
            touches = 0,
            motion = 1,
            remoteControl = 2,
            presses = 3,
            hover = 11,
            scroll = 10,
            transform = 14,
        }
        export enum EventSubtype {
            none = 0,
            motionShake = 1,
            remoteControlPlay = 100,
            remoteControlPause = 101,
            remoteControlStop = 102,
            remoteControlTogglePlayPause = 103,
            remoteControlNextTrack = 104,
            remoteControlPreviousTrack = 105,
            remoteControlBeginSeekingBackward = 106,
            remoteControlEndSeekingBackward = 107,
            remoteControlBeginSeekingForward = 108,
            remoteControlEndSeekingForward = 109,
        }
        export class ButtonMask {
            /**
             * A constant that represents the primary button on the input device.
             */
            static primary: UIEvent.ButtonMask;
            /**
             * A constant that represents the secondary button on the input device.
             */
            static secondary: UIEvent.ButtonMask;
            /**
             * Creates a button mask with the specified raw value.
             */
            constructor (rawValue: number);
            /**
             * Creates a button mask from the specified button index.
             */
            static button(buttonNumber: number):UIEvent.ButtonMask;
        }
    }
    export class UIKeyModifierFlags {
        /**
         * A modifier flag that indicates the user pressed the Caps Lock key.
         */
        static alphaShift: UIKeyModifierFlags;
        /**
         * A modifier flag that indicates the user pressed the Shift key.
         */
        static shift: UIKeyModifierFlags;
        /**
         * A modifier flag that indicates the user pressed the Control key.
         */
        static control: UIKeyModifierFlags;
        /**
         * A modifier flag that indicates the user pressed the Option key.
         */
        static alternate: UIKeyModifierFlags;
        /**
         * A modifier flag that indicates the user pressed the Command key.
         */
        static command: UIKeyModifierFlags;
        /**
         * A modifier flag that indicates the user pressed a key located on the numeric keypad.
         */
        static numericPad: UIKeyModifierFlags;
        /**
         * Creates a modifier-flags structure from data in an unarchiver.
         */
        constructor (rawValue: number);
    }
    export class UITouch extends NSObject {
        /**
         * The view to which touches are being delivered, if any.
         */
        view: UIView | null;
        /**
         * The window in which the touch initially occurred.
         */
        window: UIWindow | null;
        /**
         * The radius (in points) of the touch.
         */
        majorRadius: CGFloat;
        /**
         * The tolerance (in points) of the touch’s radius.
         */
        majorRadiusTolerance: CGFloat;
        /**
         * The number of times the finger was tapped for this given touch.
         */
        tapCount: number;
        /**
         * The time when the touch occurred or when it was last mutated.
         */
        timestamp: TimeInterval;
        /**
         * The type of the touch.
         */
        type: UITouch.TouchType;
        /**
         * The phase of the touch.
         */
        phase: UITouch.Phase;
        /**
         * The force of the touch, where a value of 
         *  represents the force of an average touch (predetermined by the system, not user-specific).
         */
        force: CGFloat;
        /**
         * The maximum possible force for a touch.
         */
        maximumPossibleForce: CGFloat;
        /**
         * The altitude (in radians) of the stylus.
         */
        altitudeAngle: CGFloat;
        /**
         * A set of touch properties whose values contain only estimates.
         */
        estimatedProperties: UITouch.Properties;
        /**
         * The set of touch properties for which updated values are expected in the future.
         */
        estimatedPropertiesExpectingUpdates: UITouch.Properties;
        /**
         * An index number that lets you correlate an updated touch with the original touch.
         */
        estimationUpdateIndex: NSNumber | null;
        /**
         * The gesture recognizers that are receiving the touch object.
         */
        gestureRecognizers: UIGestureRecognizer[] | null;
        /**
         * Returns the current location of the touch in the coordinate system of the given view.
         */
        location(view: UIView | null):CGPoint;
        /**
         * Returns the previous location of the touch in the coordinate system of the given view.
         */
        previousLocation(view: UIView | null):CGPoint;
        /**
         * Returns a precise location for the touch, when available.
         */
        preciseLocation(view: UIView | null):CGPoint;
        /**
         * Returns a precise previous location for the touch, when available.
         */
        precisePreviousLocation(view: UIView | null):CGPoint;
        /**
         * Returns the azimuth angle (in radians) of the stylus.
         */
        azimuthAngle(view: UIView | null):CGFloat;
        /**
         * Returns a unit vector that points in the direction of the azimuth of the stylus.
         */
        azimuthUnitVector(view: UIView | null):CGVector;
    }
    /**
     * the same name namespace of class UITouch
     */
    export namespace UITouch {
        export enum TouchType {
            direct = 0,
            indirect = 1,
            pencil = 2,
            indirectPointer = 3,
        }
        export enum Phase {
            began = 0,
            moved = 1,
            stationary = 2,
            ended = 3,
            cancelled = 4,
            regionEntered = 5,
            regionMoved = 6,
            regionExited = 7,
        }
        export class Properties {
            /**
             * A touch property, representing force, in a bit mask.
             */
            static force: UITouch.Properties;
            /**
             * A touch property, representing azimuth, in a bit mask.
             */
            static azimuth: UITouch.Properties;
            /**
             * A touch property, representing altitude, in a bit mask.
             */
            static altitude: UITouch.Properties;
            /**
             * A touch property, representing location, in a bit mask.
             */
            static location: UITouch.Properties;
            /**
             * Creates a structure that represents the properties of a touch object.
             */
            constructor (rawValue: number);
        }
    }
    export class UIPress extends NSObject {
        /**
         * The force of the button press.
         */
        force: CGFloat;
        /**
         * The gesture recognizers that are receiving the press.
         */
        gestureRecognizers: UIGestureRecognizer[] | null;
        /**
         * A responder object.
         */
        responder: UIResponder | null;
        /**
         * The window in which the press initially occurred.
         */
        window: UIWindow | null;
        /**
         * The key pressed or released on a physical keyboard.
         */
        key: UIKey | null;
        /**
         * The type of the specified press.
         */
        type: UIPress.PressType;
        /**
         * The current press phase of the object.
         */
        phase: UIPress.Phase;
        /**
         * The time when the press occurred or when it was last mutated.
         */
        timestamp: TimeInterval;
    }
    /**
     * the same name namespace of class UIPress
     */
    export namespace UIPress {
        export enum Phase {
            began = 0,
            changed = 1,
            stationary = 2,
            ended = 3,
            cancelled = 4,
        }
        export enum PressType {
            playPause = 6,
            select = 4,
            menu = 5,
            upArrow = 0,
            downArrow = 1,
            leftArrow = 2,
            rightArrow = 3,
            pageDown = 31,
            pageUp = 30,
        }
    }
    export class UIPressesEvent extends UIEvent {
        /**
         * The state of all physical buttons in the event.
         */
        allPresses: Set<UIPress>;
        /**
         * Returns the state of all physical buttons in the event that are associated with a particular gesture recognizer.
         */
        presses(gesture: UIGestureRecognizer):Set<UIPress>;
    }
    export class UILongPressGestureRecognizer extends UIGestureRecognizer {
        /**
         * The minimum time that the user must press on the view for the gesture to be recognized.
         */
        minimumPressDuration: TimeInterval;
        /**
         * The number of fingers that must touch the view for gesture recognition.
         */
        numberOfTouchesRequired: number;
        /**
         * The number of taps on the view necessary for gesture recognition.
         */
        numberOfTapsRequired: number;
        /**
         * The maximum movement of the fingers on the view before the gesture fails.
         */
        allowableMovement: CGFloat;
    }
    export class UIPanGestureRecognizer extends UIGestureRecognizer {
        /**
         * The maximum number of fingers that can touch the view for gesture recognition.
         */
        maximumNumberOfTouches: number;
        /**
         * The minimum number of fingers that can touch the view for gesture recognition.
         */
        minimumNumberOfTouches: number;
        /**
         * A scroll type mask that enables recognition of scroll events.
         */
        allowedScrollTypesMask: UIScrollTypeMask;
        /**
         * Interprets the pan gesture in the coordinate system of the specified view.
         */
        translation(view: UIView | null):CGPoint;
        /**
         * Sets the translation value in the coordinate system of the specified view.
         */
        setTranslation(translation: CGPoint, view: UIView | null):void;
        /**
         * Interprets the velocity of the pan gesture in the coordinate system of the specified view.
         */
        velocity(view: UIView | null):CGPoint;
    }
    export class UIScrollTypeMask {
        /**
         * A scroll type that’s either discrete or continuous.
         */
        static all: UIScrollTypeMask;
        /**
         * A continuous scroll type from a device, like a trackpad.
         */
        static continuous: UIScrollTypeMask;
        /**
         * A discrete scroll type from a device, like a mouse.
         */
        static discrete: UIScrollTypeMask;
        /**
         * Creates a new scroll type mask from the raw value.
         */
        constructor (rawValue: number);
    }
    export enum UIScrollType {
        discrete = 0,
        continuous = 1,
    }
    export class UIPinchGestureRecognizer extends UIGestureRecognizer {
        /**
         * The scale factor relative to the points of the two touches in screen coordinates.
         */
        scale: CGFloat;
        /**
         * The velocity of the pinch in scale factor per second.
         */
        velocity: CGFloat;
    }
    export class UIRotationGestureRecognizer extends UIGestureRecognizer {
        /**
         * The rotation of the gesture in radians.
         */
        rotation: CGFloat;
        /**
         * The velocity of the rotation gesture in radians per second.
         */
        velocity: CGFloat;
    }
    export class UIScreenEdgePanGestureRecognizer extends UIPanGestureRecognizer {
        /**
         * The acceptable starting edges for the gesture.
         */
        edges: UIRectEdge;
    }
    export class UISwipeGestureRecognizer extends UIGestureRecognizer {
        /**
         * The permitted direction of the swipe for this gesture recognizer.
         */
        direction: UISwipeGestureRecognizer.Direction;
        /**
         * The number of touches necessary for swipe recognition.
         */
        numberOfTouchesRequired: number;
    }
    /**
     * the same name namespace of class UISwipeGestureRecognizer
     */
    export namespace UISwipeGestureRecognizer {
        export class Direction {
            /**
             * The touch or touches swipe to the right.
             */
            static right: UISwipeGestureRecognizer.Direction;
            /**
             * The touch or touches swipe to the left.
             */
            static left: UISwipeGestureRecognizer.Direction;
            /**
             * The touch or touches swipe upward.
             */
            static up: UISwipeGestureRecognizer.Direction;
            /**
             * The touch or touches swipe downward.
             */
            static down: UISwipeGestureRecognizer.Direction;
            /**
             * Creates a swipe direction structure with the specified raw value.
             */
            constructor (rawValue: number);
        }
    }
    export class UITapGestureRecognizer extends UIGestureRecognizer {
        /**
         * The bit mask of the buttons the user must press for gesture recognition.
         */
        buttonMaskRequired: UIEvent.ButtonMask;
        /**
         * The number of taps necessary for gesture recognition.
         */
        numberOfTapsRequired: number;
        /**
         * The number of fingers that the user must tap for gesture recognition.
         */
        numberOfTouchesRequired: number;
    }
    export class UIGestureRecognizer extends NSObject {
        /**
         * The delegate of the gesture recognizer.
         */
        delegate: UIGestureRecognizerDelegate | null;
        /**
         * The number of touches involved in the gesture represented by the gesture recognizer.
         */
        numberOfTouches: number;
        /**
         * The current state of the gesture recognizer.
         */
        state: UIGestureRecognizer.State;
        /**
         * The view the gesture recognizer is attached to.
         */
        view: UIView | null;
        /**
         * A Boolean property that indicates whether the gesture recognizer is enabled.
         */
        isEnabled: boolean;
        /**
         * A bit mask of the buttons in the gesture represented by the gesture recognizer.
         */
        buttonMask: UIEvent.ButtonMask;
        /**
         * The bit mask of modifier flags in the gesture represented by the gesture recognizer.
         */
        modifierFlags: UIKeyModifierFlags;
        /**
         * A Boolean value that determines whether touches are delivered to a view when a gesture is recognized.
         */
        cancelsTouchesInView: boolean;
        /**
         * A Boolean value that determines whether the gesture recognizer delays sending touches in a begin phase to its view.
         */
        delaysTouchesBegan: boolean;
        /**
         * A Boolean value that determines whether the gesture recognizer delays sending touches in an end phase to its view.
         */
        delaysTouchesEnded: boolean;
        /**
         * An array of press types used to distinguish the type of button press.
         */
        allowedPressTypes: NSNumber[];
        /**
         * An array of touch types used to distinguish type of touches.
         */
        allowedTouchTypes: NSNumber[];
        /**
         * A Boolean value that indicates whether the gesture recognizer considers touches of different types simultaneously.
         */
        requiresExclusiveTouchType: boolean;
        /**
         * The name associated with the gesture recognizer.
         */
        name: string;
        /**
         * Creates a gesture recognizer with a target and an action selector.
         */
        constructor (target: any, action: Selector | null);
        /**
         * Creates a gesture recognizer from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a gesture recognizer.
         */
        constructor ();
        /**
         * Adds a target and an action to a gesture-recognizer object. 
         */
        addTarget(target: any, action: Selector):void;
        /**
         * Removes a target and an action from a gesture-recognizer object.
         */
        removeTarget(target: any, action: Selector | null):void;
        /**
         * Returns the point computed as the location in a given view of the gesture represented by the gesture recognizer.
         */
        location(view: UIView | null):CGPoint;
        /**
         * Creates a dependency relationship between the gesture recognizer and another gesture recognizer when the objects are created.
         */
        require(otherGestureRecognizer: UIGestureRecognizer):void;
        /**
         * Sent to the gesture recognizer when one or more fingers touch down in the associated view.
         */
        touchesBegan(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when one or more fingers move in the associated view.
         */
        touchesMoved(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when one or more fingers lift from the associated view.
         */
        touchesEnded(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when a system event (such as an incoming phone call) cancels a touch event.
         */
        touchesCancelled(touches: Set<UITouch>, event: UIEvent):void;
        /**
         * Sent to the gesture recognizer when the estimated properties for a touch have changed so that they are no longer estimated, or an update is no longer expected.
         */
        touchesEstimatedPropertiesUpdated(touches: Set<UITouch>):void;
        /**
         * Overridden to reset internal state when a gesture recognition attempt completes.
         */
        reset():void;
        /**
         * Tells the gesture recognizer to ignore a specific touch of the given event. 
         */
        ignore(touch: UITouch, event: UIEvent):void;
        /**
         * Overridden to indicate that the specified gesture recognizer can prevent the receiver from recognizing a gesture.
         */
        canBePrevented(preventingGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Overridden to indicate that the receiver can prevent the specified gesture recognizer from recognizing its gesture.
         */
        canPrevent(preventedGestureRecognizer: UIGestureRecognizer):boolean;
        shouldReceive(event: UIEvent):boolean;
        /**
         * Overridden to indicate that the receiver requires the specified gesture recognizer to fail.
         */
        shouldRequireFailure(otherGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Overridden to indicate that the receiver should be required to fail by the specified gesture recognizer.
         */
        shouldBeRequiredToFail(otherGestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Sent to the receiver when a physical button is pressed in the associated view.
         */
        pressesBegan(presses: Set<UIPress>, event: UIPressesEvent):void;
        /**
         * Sent to the receiver when the 
         *  of the press has changed in the associated view.
         */
        pressesChanged(presses: Set<UIPress>, event: UIPressesEvent):void;
        /**
         * Sent to the receiver when a button is released from the associated view.
         */
        pressesEnded(presses: Set<UIPress>, event: UIPressesEvent):void;
        /**
         * Sent to the receiver when a system event (such as a low-memory warning) cancels a press event.
         */
        pressesCancelled(presses: Set<UIPress>, event: UIPressesEvent):void;
    }
    /**
     * the same name namespace of class UIGestureRecognizer
     */
    export namespace UIGestureRecognizer {
        export enum State {
            possible = 0,
            began = 1,
            changed = 2,
            ended = 3,
            cancelled = 4,
            failed = 5,
        }
    }
    export interface UIGestureRecognizerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if a gesture recognizer should begin interpreting touches.
         */
        gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer):boolean;
        /**
         * Asks the delegate if a gesture recognizer should receive an object representing a touch.
         */
        gestureRecognizer(gestureRecognizer: UIGestureRecognizer, touch: UITouch):boolean;
    }
    export class UIPreviewInteraction extends NSObject {
        /**
         * An object that acts as the delegate of the preview interaction.
         */
        delegate: UIPreviewInteractionDelegate | null;
        /**
         * The view from which the preview interaction receives touch events.
         */
        view: UIView | null;
        /**
         * Returns a newly initialized preview interaction for the specified view.
         */
        constructor (view: UIView);
        /**
         * Cancels the current preview interaction.
         */
        cancel():void;
        /**
         * Returns the location of the touch that started the interaction.
         */
        location(coordinateSpace: UICoordinateSpace | null):CGPoint;
    }
    export interface UIPreviewInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether a preview interaction is allowed to begin.
         */
        previewInteractionShouldBegin(previewInteraction: UIPreviewInteraction):boolean;
        /**
         * Informs the delegate of the progress through the preview phase of the preview interaction.
         */
        previewInteraction(previewInteraction: UIPreviewInteraction, transitionProgress: CGFloat, ended: boolean):void;
        /**
         * Informs the delegate that the specified preview interaction was canceled.
         */
        previewInteractionDidCancel(previewInteraction: UIPreviewInteraction):void;
    }
    export interface UIPreviewActionItem extends NSObjectProtocol {
        /**
         * The peek quick action item’s title.
         */
        title: string;
    }
    export class UIMenuElement extends NSObject {
        /**
         * The title of the menu element.
         */
        title: string;
        /**
         * The subtitle to display alongside the menu element’s title.
         */
        subtitle: string;
        /**
         * The image to display alongside the menu element’s title.
         */
        image: UIImage | null;
        /**
         * Creates a menu element from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    /**
     * the same name namespace of class UIMenuElement
     */
    export namespace UIMenuElement {
        export class Attributes {
            /**
             * An attribute indicating the destructive style.
             */
            static destructive: UIMenuElement.Attributes;
            /**
             * An attribute indicating the disabled style.
             */
            static disabled: UIMenuElement.Attributes;
            /**
             * An attribute indicating the hidden style.
             */
            static hidden: UIMenuElement.Attributes;
            /**
             * An attribute indicating that the menu remains presented after firing the element’s action instead of dismissing.
             */
            static keepsMenuPresented: UIMenuElement.Attributes;
            /**
             * Creates a menu-element attributes structure with the specified raw value.
             */
            constructor (rawValue: number);
        }
        export enum State {
            off = 0,
            on = 1,
            mixed = 2,
        }
    }
    export class UIAction extends UIMenuElement {
        /**
         * The action’s title.
         */
        title: string;
        /**
         * The action’s image.
         */
        image: UIImage | null;
        /**
         * The unique identifier for the action.
         */
        identifier: UIAction.Identifier;
        /**
         * An elaborated title that explains the purpose of the action.
         */
        discoverabilityTitle: string;
        /**
         * The attributes indicating the style of the action.
         */
        attributes: UIMenuElement.Attributes;
        /**
         * The state of the action.
         */
        state: UIMenuElement.State;
        /**
         * The object responsible for the action handler.
         */
        sender: any;
        /**
         * Creates an action with the specified title, subtitle, image, identifier, discoverability title, attributes, state, and handler.
         */
        constructor (title: string, subtitle: string, image: UIImage | null, identifier: UIAction.Identifier | null, discoverabilityTitle: string, attributes: UIMenuElement.Attributes, state: UIMenuElement.State, handler: UIActionHandler);
        /**
         * Creates an action with the specified title, image, identifier, discoverability title, attributes, state, and handler.
         */
        constructor (title: string, image: UIImage | null, identifier: UIAction.Identifier | null, discoverabilityTitle: string, attributes: UIMenuElement.Attributes, state: UIMenuElement.State, handler: UIActionHandler);
        /**
         * Creates an action for capturing text using the device’s camera.
         */
        static captureTextFromCamera(responder: (UIResponder & UIKeyInput), identifier: UIAction.Identifier | null):Self;
    }
    /**
     * the same name namespace of class UIAction
     */
    export namespace UIAction {
        export class Identifier {
            /**
             * Identifies the action that pastes the current contents of the pasteboard into your app’s interface.
             */
            static paste: UIAction.Identifier;
            /**
             * Identifies the action that pastes the current contents of the pasteboard into your app’s interface and navigates to the entity it references.
             */
            static pasteAndGo: UIAction.Identifier;
            /**
             * Identifies the action that pastes the current contents of the pasteboard into your app’s interface using the text style of the target.
             */
            static pasteAndMatchStyle: UIAction.Identifier;
            /**
             * Identifies the action that pastes the current contents of the pasteboard into your app’s interface and performs a search.
             */
            static pasteAndSearch: UIAction.Identifier;
            /**
             * Creates an action identifier from the specified string.
             */
            constructor (rawValue: string);
            /**
             * Creates an action identifier from the specified string.
             */
            constructor (rawValue: string);
        }
    }
    export class UICommand extends UIMenuElement {
        /**
         * The command’s title.
         */
        title: string;
        /**
         * The command’s image.
         */
        image: UIImage | null;
        /**
         * The selector identifying the action method called after the user selects the command.
         */
        action: Selector;
        /**
         * An elaborated title that explains the purpose of the command.
         */
        discoverabilityTitle: string;
        /**
         * The attributes indicating the style of the command.
         */
        attributes: UIMenuElement.Attributes;
        /**
         * The state of the command.
         */
        state: UIMenuElement.State;
        /**
         * An array of alternative actions to take for the command.
         */
        alternates: UICommandAlternate[];
        /**
         * An object that contains data to associate with the command.
         */
        propertyList: any;
        /**
         * Creates a command with the specified title, subtitle, image, action, property list, alternative commands, discoverability title, attributes, and state.
         */
        constructor (title: string, subtitle: string, image: UIImage | null, action: Selector, propertyList: any, alternates: UICommandAlternate[], discoverabilityTitle: string, attributes: UIMenuElement.Attributes, state: UIMenuElement.State);
        /**
         * Creates a command with the specified title, image, action, property list, alternative commands, discoverability title, attributes, and state.
         */
        constructor (title: string, image: UIImage | null, action: Selector, propertyList: any, alternates: UICommandAlternate[], discoverabilityTitle: string, attributes: UIMenuElement.Attributes, state: UIMenuElement.State);
        /**
         * Creates a command from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export class UICommandAlternate extends NSObject {
        /**
         * The command alternative’s title.
         */
        title: string;
        /**
         * The command alternative’s action-method selector.
         */
        action: Selector;
        /**
         * The bit mask of modifier keys that the user must press to invoke the action for the alternative command.
         */
        modifierFlags: UIKeyModifierFlags;
        /**
         * Creates a command alternative with the specified title, action, and modifier flags.
         */
        constructor (title: string, action: Selector, modifierFlags: UIKeyModifierFlags);
        /**
         * Creates a command alternative from data in an unarchiver.
         */
        constructor (coder: NSCoder);
    }
    export class UIKeyCommand extends UICommand {
        /**
         * A string that represents the Escape key.
         */
        static inputEscape: string;
        /**
         * A string that represents the Delete key.
         */
        static inputDelete: string;
        /**
         * A string representing the F1 key.
         */
        static f1: string;
        /**
         * A string representing the F2 key.
         */
        static f2: string;
        /**
         * A string representing the F3 key.
         */
        static f3: string;
        /**
         * A string representing the F4 key.
         */
        static f4: string;
        /**
         * A string representing the F5 key.
         */
        static f5: string;
        /**
         * A string representing the F6 key.
         */
        static f6: string;
        /**
         * A string representing the F7 key.
         */
        static f7: string;
        /**
         * A string representing the F8 key.
         */
        static f8: string;
        /**
         * A string representing the F9 key.
         */
        static f9: string;
        /**
         * A string representing the F10 key.
         */
        static f10: string;
        /**
         * A string representing the F11 key.
         */
        static f11: string;
        /**
         * A string representing the F12 key.
         */
        static f12: string;
        /**
         * A string representing the Up Arrow key.
         */
        static inputUpArrow: string;
        /**
         * A string representing the Down Arrow key.
         */
        static inputDownArrow: string;
        /**
         * A string representing the Left Arrow key.
         */
        static inputLeftArrow: string;
        /**
         * A string representing the Right Arrow key.
         */
        static inputRightArrow: string;
        /**
         * A string representing the Home key.
         */
        static inputHome: string;
        /**
         * A string representing the End key.
         */
        static inputEnd: string;
        /**
         * A string representing the Page Up key.
         */
        static inputPageUp: string;
        /**
         * A string representing the Page Down key.
         */
        static inputPageDown: string;
        /**
         * The key command’s title.
         */
        title: string;
        /**
         * The key command's image.
         */
        image: UIImage | null;
        /**
         * The string of characters corresponding to the keys that must be pressed to match this key command. 
         */
        input: string;
        /**
         * The command's action-method selector.
         */
        action: Selector | null;
        /**
         * The bit mask of modifier flags that must be pressed to match this key command.
         */
        modifierFlags: UIKeyModifierFlags;
        /**
         * An elaborated title that explains the purpose of the key command.
         */
        discoverabilityTitle: string;
        /**
         * The attributes indicating the style of the key command.
         */
        attributes: UIMenuElement.Attributes;
        /**
         * The state of the key command.
         */
        state: UIMenuElement.State;
        /**
         * An array of alternative actions to take for the key command.
         */
        alternates: UICommandAlternate[];
        /**
         * A Boolean value that determines whether the system automatically remaps keyboard shortcuts based on the keyboard layout.
         */
        allowsAutomaticLocalization: boolean;
        /**
         * A Boolean value that determines whether the system automatically swaps input strings for some keyboard shortcuts when the interface direction changes. 
         */
        allowsAutomaticMirroring: boolean;
        /**
         * A Boolean value that indicates whether the key command takes precedence over text input or focus movements. 
         */
        wantsPriorityOverSystemBehavior: boolean;
        /**
         * An object that contains data to associate with the key command.
         */
        propertyList: any;
        /**
         * Creates a key command that you can use as a menu element with a shortcut key, or a shortcut key only for a view controller.
         */
        constructor (title: string, image: UIImage | null, action: Selector, input: string, modifierFlags: UIKeyModifierFlags, propertyList: any, alternates: UICommandAlternate[], discoverabilityTitle: string, attributes: UIMenuElement.Attributes, state: UIMenuElement.State);
        /**
         * Creates a key command that matches the specified input.
         */
        constructor (input: string, modifierFlags: UIKeyModifierFlags, action: Selector);
        /**
         * Creates a key command from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a key command.
         */
        constructor ();
        /**
         * Creates a key command object that matches the specified input and has a title.
         */
        constructor (input: string, modifierFlags: UIKeyModifierFlags, action: Selector, discoverabilityTitle: string);
    }
    export class UIDeferredMenuElement extends UIMenuElement {
        /**
         * A convenience initializer that creates a placeholder menu element that the system replaces with the result of the provider’s completion handler.
         */
        constructor (elementProvider: ()=>any);
        /**
         * Returns a placeholder menu element that the system replaces with the result of the provider’s completion handler.
         */
        static uncached(elementProvider: ()=>any):Self;
    }
    export interface UIMenuLeaf extends NSObjectProtocol {
        /**
         * A short display title for the menu element.
         */
        title: string;
        /**
         * A long, informative title to use in the keyboard shortcut overlay.
         */
        discoverabilityTitle: string;
        /**
         * An image that appears next to the menu element.
         */
        image: UIImage | null;
        /**
         * The attributes that determine the style of the menu element.
         */
        attributes: UIMenuElement.Attributes;
        /**
         * The item you can use as an anchor for subsequent presentations.
         */
        presentationSourceItem: UIPopoverPresentationControllerSourceItem | null;
        /**
         * The menu element’s selection state.
         */
        state: UIMenuElement.State;
        /**
         * The object on behalf of which to perform the menu element’s primary action.
         */
        sender: any;
        /**
         * Performs the element’s primary action.
         */
        performWithSender(sender: any, target: any):void;
    }
    export class UIEditMenuInteraction extends NSObject {
        /**
         * An object that customizes presentation of the menu and actions to display for an edit menu interaction.
         */
        delegate: UIEditMenuInteractionDelegate | null;
        /**
         * Initializes an edit menu interaction object with the delegate object you specify.
         */
        constructor (delegate: UIEditMenuInteractionDelegate | null);
        /**
         * Presents an edit menu using the object you provide for configuration.
         */
        presentEditMenu(configuration: UIEditMenuConfiguration):void;
        /**
         * Updates the actions an edit menu displays.
         */
        reloadVisibleMenu():void;
        /**
         * Updates the position of the currently visible menu with an option to animate the action.
         */
        updateVisibleMenuPosition(animated: boolean):void;
        /**
         * Dismiss the edit menu if present.
         */
        dismissMenu():void;
        /**
         * Returns the location of the user interaction in the specified view’s coordinate system.
         */
        location(view: UIView | null):CGPoint;
    }
    export interface UIEditMenuInteractionDelegate extends NSObjectProtocol {
        /**
         * Provides the menu to use when the interaction begins or requires an update.
         */
        editMenuInteraction(interaction: UIEditMenuInteraction, configuration: UIEditMenuConfiguration, suggestedActions: UIMenuElement[]):UIMenu | null;
    }
    export interface UIEditMenuInteractionAnimating extends NSObjectProtocol {
        /**
         * Adds a closure that performs animations to run alongside the edit menu interaction presentation.
         */
        addAnimations(animations: ()=>any):void;
        /**
         * Adds a closure to perform operations when the edit menu interaction presentation animations are complete.
         */
        addCompletion(completion: ()=>any):void;
    }
    export class UIEditMenuConfiguration extends NSObject {
        /**
         * The unique identifier for this configuration object.
         */
        identifier: AnyHashable;
        /**
         * The preferred direction the arrow of the edit menu is pointing.
         */
        preferredArrowDirection: UIEditMenuArrowDirection;
        /**
         * The source location of the interaction.
         */
        sourcePoint: CGPoint;
        /**
         * Initializes a new configuration with the source location you specify.
         */
        constructor (identifier: AnyHashable | null, sourcePoint: CGPoint);
    }
    export enum UIEditMenuArrowDirection {
        automatic = 0,
        up = 1,
        down = 2,
        left = 3,
        right = 4,
    }
    export interface UIResponderStandardEditActions extends NSObjectProtocol {
        /**
         * Removes the selected content and writes the data for it to the pasteboard.
         */
        cut(sender: any):void;
        /**
         * Copies the selected content to the pasteboard.
         */
        copy(sender: any):void;
        /**
         * Pastes the current contents of the pasteboard into your app’s interface.
         */
        paste(sender: any):void;
        /**
         * Pastes the current contents of the pasteboard into your app’s interface and navigates to the entity it references.
         */
        pasteAndGo(sender: any):void;
        /**
         * Pastes the current contents of the pasteboard into your app’s interface using the text style of the target.
         */
        pasteAndMatchStyle(sender: any):void;
        /**
         * Pastes the current contents of the pasteboard into your app’s interface and performs a search.
         */
        pasteAndSearch(sender: any):void;
        /**
         * Removes the selected content from your interface.
         */
        delete(sender: any):void;
        /**
         * Begins a search for content in your app’s interface.
         */
        find(sender: any):void;
        /**
         * Finds the next match in your app’s interface.
         */
        findNext(sender: any):void;
        /**
         * Finds the previous match in your app’s interface.
         */
        findPrevious(sender: any):void;
        /**
         * Begins a search for content in your app’s interface and provides a replacement.
         */
        findAndReplace(sender: any):void;
        /**
         * Begins a search for the selected content in your app’s interface.
         */
        useSelectionForFind(sender: any):void;
        /**
         * Selects the content in your responder.
         */
        select(sender: any):void;
        /**
         * Selects all of the content in the current responder. 
         */
        selectAll(sender: any):void;
        /**
         * Duplicates data.
         */
        duplicate(sender: any):void;
        /**
         * Exports data in different file formats or to other apps.
         */
        export(sender: any):void;
        /**
         * Prompts a person to specify a new location and moves data to that location.
         */
        move(sender: any):void;
        /**
         * Changes a title.
         */
        rename(sender: any):void;
        /**
         * Tells your app to print available content.
         */
        printContent(sender: any):void;
        /**
         * Toggles the bold style information of the selected text.
         */
        toggleBoldface(sender: any):void;
        /**
         * Toggles the italic style information of the selected text.
         */
        toggleItalics(sender: any):void;
        /**
         * Toggles the underline style information of the selected text.
         */
        toggleUnderline(sender: any):void;
        /**
         * Changes the writing direction to left-to-right.
         */
        makeTextWritingDirectionLeftToRight(sender: any):void;
        /**
         * Changes the writing direction to right-to-left.
         */
        makeTextWritingDirectionRightToLeft(sender: any):void;
        /**
         * Increases the size of the current object by one unit.
         */
        increaseSize(sender: any):void;
        /**
         * Decreases the size of the current object by one unit.
         */
        decreaseSize(sender: any):void;
        /**
         * Tells your app to update the attributes of the currently selected text. 
         */
        updateTextAttributes(conversionHandler: ()=>any):void;
    }
    export class UIMenu extends UIMenuElement {
        /**
         * The contents of the menu.
         */
        children: UIMenuElement[];
        selectedElements: UIMenuElement[];
        /**
         * The unique identifier for the current menu.
         */
        identifier: UIMenu.Identifier;
        /**
         * The configuration options for the current menu.
         */
        options: UIMenu.Options;
        /**
         * The size of the menu’s child elements.
         */
        preferredElementSize: UIMenu.ElementSize;
        /**
         * Creates a new menu with the specified values.
         */
        constructor (title: string, image: UIImage | null, identifier: UIMenu.Identifier | null, options: UIMenu.Options, children: UIMenuElement[]);
        /**
         * Creates a new menu with the specified title, subtitle, image, identifier, menu options, and child elements.
         */
        constructor (title: string, subtitle: string, image: UIImage | null, identifier: UIMenu.Identifier | null, options: UIMenu.Options, children: UIMenuElement[]);
        /**
         * Creates a new menu with the specified title, subtitle, image, identifier, menu options, element size, and child elements.
         */
        constructor (title: string, subtitle: string, image: UIImage | null, identifier: UIMenu.Identifier | null, options: UIMenu.Options, preferredElementSize: UIMenu.ElementSize, children: UIMenuElement[]);
        /**
         * Creates a menu from data in an unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a new menu with the same configuration as the current menu, but with a new set of child elements.
         */
        replacingChildren(newChildren: UIMenuElement[]):UIMenu;
    }
    /**
     * the same name namespace of class UIMenu
     */
    export namespace UIMenu {
        export class Identifier {
            /**
             * The standard app menu.
             */
            static application: UIMenu.Identifier;
            /**
             * The standard File menu.
             */
            static file: UIMenu.Identifier;
            /**
             * The standard Edit menu.
             */
            static edit: UIMenu.Identifier;
            /**
             * The standard View menu.
             */
            static view: UIMenu.Identifier;
            /**
             * The standard Window menu.
             */
            static window: UIMenu.Identifier;
            /**
             * The standard Help menu.
             */
            static help: UIMenu.Identifier;
            /**
             * The About menu.
             */
            static about: UIMenu.Identifier;
            /**
             * The Preferences menu.
             */
            static preferences: UIMenu.Identifier;
            /**
             * The Services menu.
             */
            static services: UIMenu.Identifier;
            /**
             * The Hide menu.
             */
            static hide: UIMenu.Identifier;
            /**
             * The Quit menu.
             */
            static quit: UIMenu.Identifier;
            /**
             * The New Scene menu.
             */
            static newScene: UIMenu.Identifier;
            /**
             * The Open Recent menu.
             */
            static openRecent: UIMenu.Identifier;
            /**
             * The Close menu.
             */
            static close: UIMenu.Identifier;
            /**
             * The Print menu.
             */
            static print: UIMenu.Identifier;
            /**
             * The Document menu.
             */
            static document: UIMenu.Identifier;
            /**
             * The Undo/Redo menu.
             */
            static undoRedo: UIMenu.Identifier;
            /**
             * The standard Edit menu.
             */
            static standardEdit: UIMenu.Identifier;
            /**
             * The Find menu.
             */
            static find: UIMenu.Identifier;
            /**
             * The Replace menu.
             */
            static replace: UIMenu.Identifier;
            /**
             * The Share menu.
             */
            static share: UIMenu.Identifier;
            /**
             * The Text Style menu.
             */
            static textStyle: UIMenu.Identifier;
            /**
             * The Spelling menu.
             */
            static spelling: UIMenu.Identifier;
            /**
             * The Spelling Panel menu.
             */
            static spellingPanel: UIMenu.Identifier;
            /**
             * The Spelling Options menu.
             */
            static spellingOptions: UIMenu.Identifier;
            /**
             * The Substitutions menu.
             */
            static substitutions: UIMenu.Identifier;
            /**
             * The Substitutions Panel menu.
             */
            static substitutionsPanel: UIMenu.Identifier;
            /**
             * The Substitutions Options menu.
             */
            static substitutionOptions: UIMenu.Identifier;
            /**
             * The Transformations menu.
             */
            static transformations: UIMenu.Identifier;
            /**
             * The Speech menu.
             */
            static speech: UIMenu.Identifier;
            /**
             * The Lookup menu.
             */
            static lookup: UIMenu.Identifier;
            /**
             * The Learn menu.
             */
            static learn: UIMenu.Identifier;
            /**
             * The Format menu.
             */
            static format: UIMenu.Identifier;
            /**
             * The Font menu.
             */
            static font: UIMenu.Identifier;
            /**
             * The Text Size menu.
             */
            static textSize: UIMenu.Identifier;
            /**
             * The Text Color menu.
             */
            static textColor: UIMenu.Identifier;
            /**
             * The Text Style Pasteboard menu.
             */
            static textStylePasteboard: UIMenu.Identifier;
            /**
             * The Text menu.
             */
            static text: UIMenu.Identifier;
            /**
             * The Writing Direction menu.
             */
            static writingDirection: UIMenu.Identifier;
            /**
             * The Alignment menu.
             */
            static alignment: UIMenu.Identifier;
            /**
             * The Toolbar menu group.
             */
            static toolbar: UIMenu.Identifier;
            /**
             * The Sidebar menu group.
             */
            static sidebar: UIMenu.Identifier;
            /**
             * The Fullscreen menu.
             */
            static fullscreen: UIMenu.Identifier;
            /**
             * The Minimize and Zoom menu.
             */
            static minimizeAndZoom: UIMenu.Identifier;
            /**
             * The Bring All to Front menu.
             */
            static bringAllToFront: UIMenu.Identifier;
            /**
             * The root menu.
             */
            static root: UIMenu.Identifier;
            /**
             * Creates a menu identifier.
             */
            constructor (rawValue: string);
            /**
             * Creates a menu identifier with the specified raw value.
             */
            constructor (rawValue: string);
        }
        export class Options {
            /**
             * An option indicating the menu displays inline with its parent menu instead of displaying as a submenu.
             */
            static displayInline: UIMenu.Options;
            /**
             * An option indicating the menu’s appearance represents a destructive action.
             */
            static destructive: UIMenu.Options;
            /**
             * An option indicating whether the menu and its submenus allow a single menu item that’s in the “on” state.
             */
            static singleSelection: UIMenu.Options;
            /**
             * Creates a menu options structure from data in an unarchiver.
             */
            constructor (rawValue: number);
        }
        export enum ElementSize {
            small = 0,
            medium = 1,
            large = 2,
        }
    }
    export interface UIMenuBuilder {
        /**
         * The menu system that the menu builder modifies.
         */
        system: UIMenuSystem;
        /**
         * Gets the menu for the specified menu identifier.
         */
        menu(identifier: UIMenu.Identifier):UIMenu | null;
        /**
         * Gets the action for the specified action identifier.
         */
        action(identifier: UIAction.Identifier):UIAction | null;
        /**
         * Gets the command for the specified selector and property list.
         */
        command(action: Selector, propertyList: any):UICommand | null;
        /**
         * Adds a child menu as the first element of the specified parent menu.
         */
        insertChild(childMenu: UIMenu, parentIdentifier: UIMenu.Identifier):void;
        /**
         * Inserts a sibling menu before the specified menu.
         */
        insertSibling(siblingMenu: UIMenu, siblingIdentifier: UIMenu.Identifier):void;
        /**
         * Replaces the specified menu with a new menu.
         */
        replace(replacedIdentifier: UIMenu.Identifier, replacementMenu: UIMenu):void;
        /**
         * Replaces the elements in a menu with the elements returned by the specified handler block.
         */
        replaceChildren(parentIdentifier: UIMenu.Identifier, childrenBlock: ()=>any):void;
        /**
         * Removes a menu from the menu system.
         */
        remove(removedIdentifier: UIMenu.Identifier):void;
    }
    export class UIMenuSystem extends NSObject {
        /**
         * The main menu system.
         */
        static main: UIMenuSystem;
        /**
         * The context menu system.
         */
        static context: UIMenuSystem;
        /**
         * Tells the menu system to rebuild all of its menus.
         */
        setNeedsRebuild():void;
        /**
         * Tells the menu system to validate all of its menus.
         */
        setNeedsRevalidate():void;
    }
    export class UIContextMenuInteraction extends NSObject {
        /**
         * The object that provides the preview and contextual menu for your content and responds to interaction-related events.
         */
        delegate: UIContextMenuInteractionDelegate | null;
        /**
         * The appearance of the context menu.
         */
        menuAppearance: UIContextMenuInteraction.appearance;
        /**
         * Creates a context menu interaction object with the specified delegate object.
         */
        constructor (delegate: UIContextMenuInteractionDelegate);
        /**
         * Returns the location of the user interaction in the specified view's coordinate system.
         */
        location(view: UIView | null):CGPoint;
        /**
         * Dismisses the context menu.
         */
        dismissMenu():void;
        /**
         * Updates the currently visible menu.
         */
        updateVisibleMenu(block: ()=>any):void;
    }
    /**
     * the same name namespace of class UIContextMenuInteraction
     */
    export namespace UIContextMenuInteraction {
        export enum appearance {
            unknown = 0,
            rich = 1,
            compact = 2,
        }
    }
    export interface UIContextMenuInteractionDelegate extends NSObjectProtocol {
        /**
         * Returns the configuration data to use when previewing the content. 
         */
        contextMenuInteraction(interaction: UIContextMenuInteraction, location: CGPoint):UIContextMenuConfiguration | null;
    }
    export class UIContextMenuConfiguration extends NSObject {
        /**
         * The unique identifier for this configuration object. 
         */
        identifier: NSCopying;
        /**
         * A set of identifiers corresponding to each item other than the primary item in a multiple-item interaction.
         */
        secondaryItemIdentifiers: Set<AnyHashable>;
        /**
         * The number of items in a multiple-item interaction.
         */
        badgeCount: number;
        /**
         * The preferred menu-element ordering strategy for the menu.
         */
        preferredMenuElementOrder: UIContextMenuConfiguration.ElementOrder;
        /**
         * Creates a menu configuration object with the specified action and preview providers.
         */
        constructor (identifier: NSCopying | null, previewProvider: UIContextMenuContentPreviewProvider | null, actionProvider: UIContextMenuActionProvider | null);
    }
    /**
     * the same name namespace of class UIContextMenuConfiguration
     */
    export namespace UIContextMenuConfiguration {
        export enum ElementOrder {
            automatic = 0,
            priority = 1,
            fixed = 2,
        }
    }
    export interface UIContextMenuInteractionCommitAnimating extends UIContextMenuInteractionAnimating {
        /**
         * The preferred animation style triggered when the user taps the preview.
         */
        preferredCommitStyle: UIContextMenuInteractionCommitStyle;
    }
    export enum UIContextMenuInteractionCommitStyle {
        dismiss = 0,
        pop = 1,
    }
    export interface UIContextMenuInteractionAnimating extends NSObjectProtocol {
        /**
         * Adds the specified animation block to the animator.
         */
        addAnimations(animations: ()=>any):void;
        /**
         * Adds the specified completion block to the animator.
         */
        addCompletion(completion: ()=>any):void;
        /**
         * The current preview view controller.
         */
        previewViewController: UIViewController | null;
    }
    export class UITargetedPreview extends NSObject {
        /**
         * The view that’s the target of the animation.
         */
        view: UIView;
        /**
         * The container for the target view.
         */
        target: UIPreviewTarget;
        /**
         * The size of the view.
         */
        size: CGSize;
        /**
         * Additional parameters to use when configuring the animations.
         */
        parameters: UIPreviewParameters;
        /**
         * Creates a targeted preview with the specified view, parameters, and target container.
         */
        constructor (view: UIView, parameters: UIPreviewParameters, target: UIPreviewTarget);
        /**
         * Creates a targeted preview for a view in the current window and including the specified parameters.
         */
        constructor (view: UIView, parameters: UIPreviewParameters);
        /**
         * Creates a targeted preview for a view in the current window.
         */
        constructor (view: UIView);
        /**
         * Returns a targeted preview object with the same view and parameters, but with a different target container.
         */
        retargetedPreview(newTarget: UIPreviewTarget):UITargetedPreview;
    }
    export class UIPreviewTarget extends NSObject {
        /**
         * The container for the view being animated.  
         */
        container: UIView;
        /**
         * The point in the containing view at which to place the center of the view being animated.
         */
        center: CGPoint;
        /**
         * An affine transform to apply to the view being animated.
         */
        transform: CGAffineTransform;
        /**
         * Creates a preview target object using the specified container view and configuration details. 
         */
        constructor (container: UIView, center: CGPoint, transform: CGAffineTransform);
        /**
         * Creates a preview target object using the specified container view and center point.
         */
        constructor (container: UIView, center: CGPoint);
    }
    export class UIPreviewParameters extends NSObject {
        /**
         * The background color to display behind the preview.
         */
        backgroundColor: UIColor!;
        /**
         * The portion of the view to show in the preview.
         */
        visiblePath: UIBezierPath | null;
        /**
         * The path to use for drawing the preview’s shadow.
         */
        shadowPath: UIBezierPath | null;
        /**
         * Creates a default set of preview parameters.
         */
        constructor ();
        /**
         * Creates a preview parameters object with information about the text you want to preview.
         */
        constructor (textLineRects: NSValue[]);
    }
    export class UIFindInteraction extends NSObject {
        /**
         * An object that updates your app’s presentation and provides the session object for managing the interaction’s search.
         */
        delegate: UIFindInteractionDelegate | null;
        /**
         * A Boolean value that indicates when the find panel displays onscreen.
         */
        isFindNavigatorVisible: boolean;
        /**
         * The search query with which to prepopulate the find panel’s search text field.
         */
        searchText: string;
        /**
         * The replacement string with which to prepopulate the find panel’s replace text field.
         */
        replacementText: string;
        /**
         * A closure that populates the search options for a find interaction.
         */
        optionsMenuProvider: ()=>any | null;
        /**
         * The object that manages the state, presentation, and behavior of an active search.
         */
        activeFindSession: UIFindSession | null;
        /**
         * Initializes a find interaction object with the delegate object you specify.
         */
        constructor (sessionDelegate: UIFindInteractionDelegate);
        /**
         * Begins a search, displaying the find panel.
         */
        presentFindNavigator(showingReplace: boolean):void;
        /**
         * Dismisses the find panel, if present.
         */
        dismissFindNavigator():void;
        /**
         * Highlights the next found result in the content, relative to the currently highlighted result.
         */
        findNext():void;
        /**
         * Highlights the previously found result in the document, relative to the currently highlighted result.
         */
        findPrevious():void;
        /**
         * Updates the results the interface displays for the active search.
         */
        updateResultCount():void;
    }
    export interface UIFindInteractionDelegate extends NSObjectProtocol {
        /**
         * Provides the object for managing the state, presentation, and behavior of the search.
         */
        findInteraction(interaction: UIFindInteraction, view: UIView):UIFindSession | null;
    }
    export class UIFindSession extends NSObject {
        /**
         * The total number of results the search matches.
         */
        resultCount: number;
        /**
         * The index of the result the find panel highlights.
         */
        highlightedResultIndex: number;
        /**
         * A Boolean value that indicates whether to allow replacing find panel results.
         */
        supportsReplacement: boolean;
        /**
         * A Boolean value that indicates whether to allow replacing the result the find panel is highlighting.
         */
        allowsReplacementForCurrentlyHighlightedResult: boolean;
        /**
         * The information the find panel includes in the summary of found results.
         */
        searchResultDisplayStyle: UIFindSession.SearchResultDisplayStyle;
        /**
         * A Boolean value that indicates whether to allow replacing the result the find panel is highlighting.
         */
        allowsReplacement: boolean;
        /**
         * Initiates a search for the query string you provide.
         */
        performSearch(query: string, options: UITextSearchOptions | null):void;
        /**
         * Replaces a single instance of the query string with the replacement string you provide.
         */
        performSingleReplacement(searchQuery: string, replacementString: string, options: UITextSearchOptions | null):void;
        /**
         * Replaces all matching instances of the query string with the replacement string you provide.
         */
        replaceAll(searchQuery: string, replacementString: string, options: UITextSearchOptions | null):void;
        /**
         * Updates the highlighted result to the next or previous match.
         */
        highlightNextResult(direction: UITextStorageDirection):void;
        /**
         * Invalidates the found ranges and updates the system find panel.
         */
        invalidateFoundResults():void;
    }
    /**
     * the same name namespace of class UIFindSession
     */
    export namespace UIFindSession {
        export enum SearchResultDisplayStyle {
            currentAndTotal = 0,
            total = 1,
            none = 2,
        }
    }
    export class UITextSearchingFindSession extends UIFindSession {
        /**
         * The object to search, responsible for performing the search operation and decorating the results.
         */
        searchableObject: __UITextSearching | null;
        /**
         * Initializes an object to manage the search for the searchable object you specify.
         */
        constructor (searchableObject: __UITextSearching);
    }
    export interface UITextSearching extends NSObjectProtocol {
        /**
         * Searches for ranges of text matching the string across all searchable documents and collects results in the aggregator.
         */
        performTextSearch(queryString: string, options: UITextSearchOptions, resultAggregator: UITextSearchAggregator<Self.DocumentIdentifier>):void;
        /**
         * Compares ranges from the set of matches the aggregator provides to determine navigation order.
         */
        compare(foundRange: UITextRange, toRange: UITextRange, document: Self.DocumentIdentifier | null):ComparisonResult;
        /**
         * Applies the style to a specific text range to indicate found and highlighted results.
         */
        decorate(foundTextRange: UITextRange, document: Self.DocumentIdentifier | null, usingStyle: UITextSearchFoundTextStyle):void;
        /**
         * Clears the style from all found and highlighted results.
         */
        clearAllDecoratedFoundText():void;
        /**
         * Informs the searchable object when the highlighted search result is about to change.
         */
        willHighlight(foundTextRange: UITextRange, document: Self.DocumentIdentifier | null):void;
        /**
         * Scrolls to the containing view to make the text range visible.
         */
        scrollRangeToVisible(range: UITextRange, inDocument: Self.DocumentIdentifier | null):void;
        /**
         * The range of selected text in a document.
         */
        selectedTextRange: UITextRange | null;
        /**
         * The object that uniquely identifies the specific document with selected text.
         */
        selectedTextSearchDocument: Self.DocumentIdentifier | null;
        /**
         * A Boolean value that indicates whether the searchable object supports replacing text.
         */
        supportsTextReplacement: boolean;
        /**
         * Informs the searchable object to replace the text range for the highlighted search result.
         */
        replace(foundTextRange: UITextRange, document: Self.DocumentIdentifier | null, withText: string):void;
        /**
         * Informs the searchable object to replace all matching text across all searchable documents.
         */
        replaceAll(queryString: string, options: UITextSearchOptions, withText: string):void;
        /**
         * Determines whether the searchable object allows replacing the text range you provide.
         */
        shouldReplace(foundTextRange: UITextRange, document: Self.DocumentIdentifier | null, withText: string):boolean;
    }
    export class UITextSearchOptions extends NSObject {
        /**
         * The options to use in comparisons when searching text for matches to a string.
         */
        stringCompareOptions: NSString.CompareOptions;
        /**
         * The method to use when searching text for matches to words.
         */
        wordMatchMethod: UITextSearchOptions.WordMatchMethod;
    }
    /**
     * the same name namespace of class UITextSearchOptions
     */
    export namespace UITextSearchOptions {
        export enum WordMatchMethod {
            contains = 0,
            startsWith = 1,
            fullWord = 2,
        }
    }
    export enum UITextSearchFoundTextStyle {
        normal = 0,
        found = 1,
        highlighted = 2,
    }
    export class UIApplicationShortcutItem extends NSObject {
        /**
         * The required, user-visible title for the Home Screen dynamic quick action.
         */
        localizedTitle: string;
        /**
         * The optional, user-visible subtitle for the Home Screen dynamic quick action.
         */
        localizedSubtitle: string;
        /**
         * A required, app-specific string that you employ to identify the type of quick action to perform.
         */
        type: string;
        /**
         * The optional icon for the Home Screen dynamic quick action.
         */
        icon: UIApplicationShortcutIcon | null;
        /**
         * Optional, app-specific information that you can provide for use when your app performs the Home screen quick action.
         */
        userInfo: Record<string, NSSecureCoding> | null;
        /**
         * The object that determines which scene handles the quick action.
         */
        targetContentIdentifier: any;
        /**
         * Creates an immutable Home Screen dynamic quick action with a user-visible title and no icon.
         */
        constructor (type: string, localizedTitle: string);
        /**
         * Creates an immutable Home Screen dynamic quick action with user-visible title, icon, and user info dictionary.
         */
        constructor (type: string, localizedTitle: string, localizedSubtitle: string, icon: UIApplicationShortcutIcon | null, userInfo: Record<string, NSSecureCoding> | null);
    }
    export class UIApplicationShortcutIcon extends NSObject {
        /**
         * Creates a Home Screen quick action icon using a system-defined image.
         */
        constructor (type: UIApplicationShortcutIcon.IconType);
        /**
         * Creates a Home Screen quick action icon based on an image in your app’s bundle, preferably in an asset catalog.
         */
        constructor (templateImageName: string);
        /**
         * Creates a Home Screen quick action icon using a system symbol image.
         */
        constructor (systemImageName: string);
        /**
         * Creates a Home Screen quick action icon from the picture for a contact or a monogram of the contact name if the picture is unavailable.
         */
        constructor (contact: CNContact);
    }
    /**
     * the same name namespace of class UIApplicationShortcutIcon
     */
    export namespace UIApplicationShortcutIcon {
        export enum IconType {
            compose = 0,
            play = 1,
            pause = 2,
            add = 3,
            location = 4,
            search = 5,
            share = 6,
            prohibit = 7,
            contact = 8,
            home = 9,
            markLocation = 10,
            favorite = 11,
            love = 12,
            cloud = 13,
            invitation = 14,
            confirmation = 15,
            mail = 16,
            message = 17,
            date = 18,
            time = 19,
            capturePhoto = 20,
            captureVideo = 21,
            task = 22,
            taskCompleted = 23,
            alarm = 24,
            bookmark = 25,
            shuffle = 26,
            audio = 27,
            update = 28,
        }
    }
    export class UIMutableApplicationShortcutItem extends UIApplicationShortcutItem {
        /**
         * The required, user-visible title for the Home Screen dynamic mutable quick action.
         */
        localizedTitle: string;
        /**
         * The optional, user-visible subtitle for the Home Screen dynamic mutable quick action.
         */
        localizedSubtitle: string;
        /**
         * A required, app-specific string that you can employ to identify the type of quick action to perform.
         */
        type: string;
        /**
         * The optional icon for the Home Screen dynamic mutable quick action.
         */
        icon: UIApplicationShortcutIcon | null;
        /**
         * Optional, app-specific information that you can provide for use when your app performs the Home Screen dynamic mutable quick action.
         */
        userInfo: Record<string, NSSecureCoding> | null;
        /**
         * The object that determines which scene handles the quick action.
         */
        targetContentIdentifier: any;
    }
    export interface UIDragInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for the array of drag items for an impending drag interaction.
         */
        dragInteraction(interaction: UIDragInteraction, session: UIDragSession):UIDragItem[];
    }
    export interface UIDropInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether it can handle the session’s drag items.
         */
        dropInteraction(interaction: UIDropInteraction, session: UIDropSession):boolean;
    }
    export class UIDragInteraction extends NSObject {
        /**
         * A device-dependent Boolean value that indicates whether a newly-instantiated drag interaction is allowed to participate in a drag activity.
         */
        static isEnabledByDefault: boolean;
        /**
         * A Boolean value that determines whether the interaction allows recognition of other gestures during the lift activity.
         */
        allowsSimultaneousRecognitionDuringLift: boolean;
        /**
         * An object that configures and controls a drag interaction.
         */
        delegate: UIDragInteractionDelegate | null;
        /**
         * A Boolean value that specifies whether the drag interaction responds to touches and is allowed to participate in a drag activity.
         */
        isEnabled: boolean;
        /**
         * Initializes a drag interaction object with a custom delegate object.
         */
        constructor (delegate: UIDragInteractionDelegate);
    }
    export class UIDropInteraction extends NSObject {
        /**
         * An object that configures and controls a drop interaction.
         */
        delegate: UIDropInteractionDelegate | null;
        /**
         * A Boolean value that specifies whether the drop interaction handles more than one simultaneous drop session.
         */
        allowsSimultaneousDropSessions: boolean;
        /**
         * Initializes a drop interaction object with a custom delegate object.
         */
        constructor (delegate: UIDropInteractionDelegate);
    }
    export interface UISpringLoadedInteractionBehavior extends NSObjectProtocol {
        /**
         * Returns a Boolean value that determines whether spring-loaded interaction should begin or should continue for the specified context.
         */
        shouldAllow(interaction: UISpringLoadedInteraction, context: UISpringLoadedInteractionContext):boolean;
        /**
         * Tells the behavior object when the spring-loading interaction is finished, either because it was canceled or because spring loading was activated.
         */
        interactionDidFinish(interaction: UISpringLoadedInteraction):void;
    }
    export interface UISpringLoadedInteractionSupporting extends NSObjectProtocol {
        /**
         * A Boolean value that specifies whether the object is participating in spring-loaded interaction for a drag and drop activity.
         */
        isSpringLoaded: boolean;
    }
    export class UISpringLoadedInteraction extends NSObject {
        /**
         * The behavior for the spring-loaded interaction.
         */
        interactionBehavior: UISpringLoadedInteractionBehavior;
        /**
         * The visual effect for the spring-loaded interaction.
         */
        interactionEffect: UISpringLoadedInteractionEffect;
        /**
         * Initializes a new spring-loaded interaction with a specific behavior, visual effect, and activation handler block.
         */
        constructor (interactionBehavior: UISpringLoadedInteractionBehavior | null, interactionEffect: UISpringLoadedInteractionEffect | null, handler: ()=>any);
        /**
         * Initializes a new spring-loaded interaction with a specified activation handler block, employing the default behavior and visual effect.
         */
        constructor (handler: ()=>any);
    }
    export interface UISpringLoadedInteractionContext extends NSObjectProtocol {
        /**
         * The current view style for the spring-loaded interaction.
         */
        state: UISpringLoadedInteractionEffectState;
        /**
         * The specific subview, or associated model object, of the target view to use for the spring-loaded interaction.
         */
        targetItem: any;
        /**
         * The view to which the current spring-loaded interaction view style is applied.
         */
        targetView: UIView | null;
        /**
         * Returns the location of the drag activity within the specified view.
         */
        location(view: UIView | null):CGPoint;
    }
    export enum UISpringLoadedInteractionEffectState {
        activated = 3,
        activating = 2,
        inactive = 0,
        possible = 1,
    }
    export interface UISpringLoadedInteractionEffect extends NSObjectProtocol {
        /**
         * Called when the spring-loaded interaction state has changed.
         */
        interaction(interaction: UISpringLoadedInteraction, context: UISpringLoadedInteractionContext):void;
    }
    export class UIDragItem extends NSObject {
        /**
         * The item provider associated with the drag item.
         */
        itemProvider: NSItemProvider;
        /**
         * A custom object associated with the drag item.
         */
        localObject: any;
        /**
         * A visual preview of the drag item, displayed while the user drags the item across the screen.
         */
        previewProvider: ()=>any | null;
        /**
         * Initializes a new drag item with a specified item provider.
         */
        constructor (itemProvider: NSItemProvider);
    }
    export interface UIDragDropSession extends NSObjectProtocol {
        /**
         * Returns a Boolean value that indicates whether at least one drag item in the session can create an instance of the specified class.
         */
        canLoadObjects(aClass: NSItemProviderReading.Type):boolean;
        /**
         * Returns a Boolean value that indicates whether at least one drag item in the session conforms to at least one of the specified UTIs.
         */
        hasItemsConforming(typeIdentifiers: string[]):boolean;
        /**
         * An array of drag items in the drag session or drop session.
         */
        items: UIDragItem[];
        /**
         * A Boolean value that indicates whether the drag session permits moving drag items within the same app.
         */
        allowsMoveOperation: boolean;
        /**
         * A Boolean value that indicates whether the drag session is confined to the app that started the drag activity.
         */
        isRestrictedToDraggingApplication: boolean;
        /**
         * Returns the geometrical location of the user’s drag activity within the specified view.
         */
        location(view: UIView):CGPoint;
    }
    export interface UIDragSession extends UIDragDropSession {
        /**
         * The optional custom data that you attach to a drag session, visible only to the app in which the drag activity begins.
         */
        localContext: any;
    }
    export interface UIDragAnimating extends NSObjectProtocol {
        /**
         * Adds an animation block for modifying a view animation while it’s running.
         */
        addAnimations(animations: ()=>any):void;
        /**
         * Adds an animation completion block to run when a view animation has ended.
         */
        addCompletion(completion: ()=>any):void;
    }
    export interface UIDropSession extends ProgressReporting,UIDragDropSession {
        /**
         * The drag session that corresponds to this drop session, for in-app drag activities.
         */
        localDragSession: UIDragSession | null;
        /**
         * Creates and loads a new instance of the specified class for each drag item in the session.
         */
        loadObjects(aClass: NSItemProviderReading.Type, completion: ()=>any):Progress;
        /**
         * The drop-progress indicator style associated with the drop session.
         */
        progressIndicatorStyle: UIDropSessionProgressIndicatorStyle;
    }
    export class UIDropProposal extends NSObject {
        /**
         * The drop operation that the drop interaction proposes to perform.
         */
        operation: UIDropOperation;
        /**
         * A Boolean value that proposes that the drop interaction define the drop location precisely, such as at a specific point within existing text.
         */
        isPrecise: boolean;
        /**
         * A Boolean value that indicates that the drag item preview should be shown at its full, original size.
         */
        prefersFullSizePreview: boolean;
        /**
         * Initializes a new drop proposal with a drop operation type.
         */
        constructor (operation: UIDropOperation);
    }
    export enum UIDropSessionProgressIndicatorStyle {
        default = 1,
        none = 0,
    }
    export interface UIItemProviderPresentationSizeProviding extends NSObjectProtocol {
        preferredPresentationSizeForItemProvider: CGSize;
    }
    export class UIDragPreviewParameters extends UIPreviewParameters {}
    export class UIDragPreview extends NSObject {
        /**
         * The appearance parameters associated with the drag item preview.
         */
        parameters: UIDragPreviewParameters;
        /**
         * The view associated with the drag item preview.
         */
        view: UIView;
        /**
         * Initializes a new drag item preview with a view, using the default appearance parameters.
         */
        constructor (view: UIView);
        /**
         * Initializes a new drag item preview with a view and with a set of appearance parameters.
         */
        constructor (view: UIView, parameters: UIDragPreviewParameters);
        /**
         * Initializes a new drag item preview with a URL.
         */
        constructor (url: URL);
        /**
         * Initializes a drag item preview with a URL and title.
         */
        constructor (url: URL, title: string);
    }
    export class UIDragPreviewTarget extends UIPreviewTarget {}
    export class UITargetedDragPreview extends UITargetedPreview {
        /**
         * Initializes a new targeted drag item preview with a URL and a drag item preview.
         */
        constructor (url: URL, target: UIDragPreviewTarget);
        /**
         * Initializes a new targeted drag item preview with a URL, a title, and a drag item preview.
         */
        constructor (url: URL, title: string, target: UIDragPreviewTarget);
        /**
         * Returns a new targeted drag item preview based on an existing one, but with a new geometric target.
         */
        retargetedPreview(newTarget: UIDragPreviewTarget):UITargetedDragPreview;
    }
    export class UIPointerInteraction extends NSObject {
        /**
         * An object that responds to pointer movements.
         */
        delegate: UIPointerInteractionDelegate | null;
        /**
         * A Boolean value that indicates whether the pointer interaction is enabled.
         */
        isEnabled: boolean;
        /**
         * Initializes a pointer interaction object with a specified delegate object.
         */
        constructor (delegate: UIPointerInteractionDelegate | null);
        /**
         * Causes the interaction to update the pointer in response to an event.
         */
        invalidate():void;
    }
    export interface UIPointerInteractionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for a region as the pointer moves within the interaction’s view.
         */
        pointerInteraction(interaction: UIPointerInteraction, request: UIPointerRegionRequest, defaultRegion: UIPointerRegion):UIPointerRegion | null;
    }
    export interface UIPointerInteractionAnimating extends NSObjectProtocol {
        /**
         * Adds the specified animation block to the animator.
         */
        addAnimations(animations: ()=>any):void;
        /**
         * Adds the specified completion block to the animator.
         */
        addCompletion(completion: ()=>any):void;
    }
    export class UIPointerStyle extends NSObject {
        /**
         * Accessories to display alongside the pointer.
         */
        accessories: UIPointerAccessory[];
        /**
         * Applies the provided content effect and pointer shape to the current region.
         */
        constructor (effect: UIPointerEffect, shape: UIPointerShape | null);
        /**
         * Morphs the pointer into the provided shape when hovering over the current region.
         */
        constructor (shape: UIPointerShape, constrainedAxes: UIAxis);
        /**
         * Hides the pointer when it moves over the current region.
         */
        static hidden():Self;
        /**
         * Morphs the pointer into a default system-style pointer.
         */
        static system():Self;
    }
    export class UIPointerAccessory extends NSObject {
        /**
         * A Boolean value that indicates whether the system rotates the accessory to match its angle.
         */
        orientationMatchesAngle: boolean;
        /**
         * The shape of the accessory.
         */
        shape: UIPointerShape;
        /**
         * The position of the accessory relative to the primary pointer.
         */
        position: __UIPointerAccessoryPosition;
        /**
         * Creates a pointer accessory with the specified shape and position.
         */
        constructor (shape: UIPointerShape, position: UIPointerAccessory.Position);
        /**
         * Creates a pointer accessory with an arrow shape at the specified position.
         */
        static arrow(position: UIPointerAccessory.Position):Self;
    }
    /**
     * the same name namespace of class UIPointerAccessory
     */
    export namespace UIPointerAccessory {
        export class Position {
            /**
             * An accessory position at the top of the primary pointer.
             */
            static top: UIPointerAccessory.Position;
            /**
             * An accessory position at the top-right of the primary pointer.
             */
            static topRight: UIPointerAccessory.Position;
            /**
             * An accessory position at the right of the primary pointer.
             */
            static right: UIPointerAccessory.Position;
            /**
             * An accessory position at the bottom-right of the primary pointer.
             */
            static bottomRight: UIPointerAccessory.Position;
            /**
             * An accessory position at the bottom of the primary pointer.
             */
            static bottom: UIPointerAccessory.Position;
            /**
             * An accessory position at the bottom-left of the primary pointer.
             */
            static bottomLeft: UIPointerAccessory.Position;
            /**
             * An accessory position at the left of the primary pointer.
             */
            static left: UIPointerAccessory.Position;
            /**
             * An accessory position at the top-left of the primary pointer.
             */
            static topLeft: UIPointerAccessory.Position;
            /**
             * A constant that specifies the default offset of an accessory from the primary pointer shape.
             */
            static defaultOffset: CGFloat;
            /**
             * The angle of the accessory’s position, measured in radians clockwise from the top of the primary pointer.
             */
            angle: CGFloat;
            /**
             * The offset of the accessory from the primary pointer.
             */
            offset: CGFloat;
            /**
             * Creates a custom accessory position with the specified offset and angle.
             */
            constructor (offset: CGFloat, angle: CGFloat);
        }
    }
    export enum UIPointerShape {
        horizontalBeam,
        verticalBeam,
        path,
        roundedRect,
    }
    export enum UIPointerEffect {
        automatic,
        highlight,
        hover,
        lift,
    }
    export class UIPointerRegion extends NSObject {
        /**
         * The rectangle bounds of the region.
         */
        rect: CGRect;
        /**
         * An optional identifier for the region.
         */
        identifier: AnyHashable | null;
        /**
         * Axes along which the region latches after a primary click.
         */
        latchingAxes: UIAxis;
        /**
         * Creates a pointer region with the specified rectangle and optional identifier.
         */
        constructor (rect: CGRect, identifier: AnyHashable | null);
    }
    export class UIPointerRegionRequest extends NSObject {
        /**
         * The location of the pointer in the interaction’s view’s coordinate space.
         */
        location: CGPoint;
        /**
         * Key modifier flags representing keyboard keys pressed by the user at the time of this request.
         */
        modifiers: UIKeyModifierFlags;
    }
    export class UIBandSelectionInteraction extends NSObject {
        /**
         * The selection rectangle for an in-progress interaction.
         */
        selectionRect: CGRect | null;
        /**
         * A Boolean value that specifies whether the object is ready to detect interactions.
         */
        isEnabled: boolean;
        /**
         * The pressed modifier keys at the start of the interaction.
         */
        initialModifierFlags: UIKeyModifierFlags;
        /**
         * The current state of the interaction object.
         */
        state: UIBandSelectionInteraction.State;
        /**
         * The handler that determines whether to start a band selection interaction.
         */
        shouldBeginHandler: ()=>any | null;
        /**
         * Creates a new band selection interaction object with the provided handler code.
         */
        constructor (selectionHandler: ()=>any);
    }
    /**
     * the same name namespace of class UIBandSelectionInteraction
     */
    export namespace UIBandSelectionInteraction {
        export enum State {
            possible = 0,
            began = 1,
            selecting = 2,
            ended = 3,
        }
    }
    export class UIPencilInteraction extends NSObject {
        /**
         * The user’s preferred double-tap action, as specified in the Settings app.
         */
        static preferredTapAction: UIPencilPreferredAction;
        static prefersPencilOnlyDrawing: boolean;
        /**
         * The object that handles the double-tap interactions the user makes on their Apple Pencil.
         */
        delegate: UIPencilInteractionDelegate | null;
        /**
         * A Boolean value that specifies whether the system reports double taps on Apple Pencil to your app.
         */
        isEnabled: boolean;
    }
    export interface UIPencilInteractionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user double-tapped their Apple Pencil.
         */
        pencilInteractionDidTap(interaction: UIPencilInteraction):void;
    }
    export enum UIPencilPreferredAction {
        ignore = 0,
        switchEraser = 1,
        switchPrevious = 2,
        showColorPalette = 3,
        showInkAttributes = 4,
    }
    export interface UIFocusEnvironment extends NSObjectProtocol {
        /**
         * Submits a request to the focus engine for a focus update in this environment.
         */
        setNeedsFocusUpdate():void;
        /**
         * Tells the focus engine to force a focus update immediately.
         */
        updateFocusIfNeeded():void;
        /**
         * Returns a Boolean value indicating whether the focus engine should allow the focus update described by the specified context to occur.
         */
        shouldUpdateFocus(context: UIFocusUpdateContext):boolean;
        /**
         * Called immediately after the system updates the focus to a new view.
         */
        didUpdateFocus(context: UIFocusUpdateContext, coordinator: UIFocusAnimationCoordinator):void;
        /**
         * An array of focus environments, ordered by priority, to which this environment prefers focus to be directed during a focus update.
         */
        preferredFocusEnvironments: UIFocusEnvironment[];
        /**
         * Specifies the view that should be focused if this environment is focused.
         */
        preferredFocusedView: UIView | null;
        /**
         * Asks the delegate for the identifier of the sound to play when the object gains focus.
         */
        soundIdentifierForFocusUpdate(context: UIFocusUpdateContext):UIFocusSoundIdentifier | null;
        /**
         * Returns a Boolean value that indicates whether the focus environment contains the specified environment.
         */
        contains(environment: UIFocusEnvironment):boolean;
        /**
         * The parent focus environment for this environment.
         */
        parentFocusEnvironment: UIFocusEnvironment | null;
        /**
         * The container for the child focus items in this focus environment.
         */
        focusItemContainer: UIFocusItemContainer | null;
        /**
         * The identifier of the focus group that the environment belongs to.
         */
        focusGroupIdentifier: string;
    }
    export class UIFocusSoundIdentifier {
        /**
         * The identifier for the default system sound to play during focus updates.
         */
        static default: UIFocusSoundIdentifier;
        /**
         * The identifier for disabling sound during a focus update.
         */
        static none: UIFocusSoundIdentifier;
        /**
         * Creates an identifier for a focus sound.
         */
        constructor (rawValue: string);
        /**
         * Creates an identifier for a focus sound with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class UIFocusSystem extends NSObject {
        /**
         * Updates the animation coordinator.
         */
        static animationCoordinatorUserInfoKey: string;
        /**
         * The focus for the UI has been updated.
         */
        static didUpdateNotification: NSNotification.Name;
        /**
         * Updates the context key.
         */
        static focusUpdateContextUserInfoKey: string;
        /**
         * The focus failed to move to another item.
         */
        static movementDidFailNotification: NSNotification.Name;
        /**
         * The item that’s currently focused.
         */
        focusedItem: UIFocusItem | null;
        /**
         * Retrieves a focus system object that contains the state information for the specified object.
         */
        constructor (environment: UIFocusEnvironment);
        /**
         * Retrieves the focus system for the specified environment.
         */
        static focusSystem(environment: UIFocusEnvironment):UIFocusSystem | null;
        /**
         * Registers the specified sound file with the focus engine.
         */
        static register(soundFileURL: URL, identifier: UIFocusSoundIdentifier):void;
        /**
         * Submits a request to update the focus state of the specified object.
         */
        requestFocusUpdate(environment: UIFocusEnvironment):void;
        /**
         * Forces the system to act on a pending focus update for the current environment.
         */
        updateFocusIfNeeded():void;
    }
    export class UIFocusUpdateContext extends NSObject {
        /**
         * The view that was focused before the focus update.
         */
        previouslyFocusedView: UIView | null;
        /**
         * The view that takes the focus after the focus update.
         */
        nextFocusedView: UIView | null;
        /**
         * The heading in which the focus update is occurring.
         */
        focusHeading: UIFocusHeading;
        /**
         * The item that was focused before the update. 
         */
        previouslyFocusedItem: UIFocusItem | null;
        /**
         * The item to be focused after the update. 
         */
        nextFocusedItem: UIFocusItem | null;
    }
    export class UIFocusHeading {
        /**
         * The focus update is heading in the up direction.
         */
        static up: UIFocusHeading;
        /**
         * The focus update is heading in the down direction.
         */
        static down: UIFocusHeading;
        /**
         * The focus update is heading in the left direction.
         */
        static left: UIFocusHeading;
        /**
         * The focus update is heading in the right direction.
         */
        static right: UIFocusHeading;
        /**
         * The focus update is heading to the next item.
         */
        static next: UIFocusHeading;
        /**
         * The focus update is heading to the previous item.
         */
        static previous: UIFocusHeading;
        /**
         * The focus update is heading to the first item.
         */
        static first: UIFocusHeading;
        /**
         * The focus update is heading to the last item.
         */
        static last: UIFocusHeading;
        /**
         * Creates a focus heading structure with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface UIFocusItem extends UIFocusEnvironment {
        /**
         * A Boolean value that indicates whether the item can become focused.
         */
        canBecomeFocused: boolean;
        /**
         * A Boolean value that indicates whether the item is currently focused.
         */
        isFocused: boolean;
        /**
         * The geometric frame of the item.
         */
        frame: CGRect;
        /**
         * The importance of the item within a focus group, used by the focus system to determine the group’s primary item.
         */
        focusGroupPriority: UIFocusGroupPriority;
        /**
         * Indicates to the currently focused item that focus movement might occur.
         */
        didHintFocusMovement(hint: UIFocusMovementHint):void;
        /**
         * The visual effect to apply when the item becomes focused.
         */
        focusEffect: UIFocusEffect | null;
        /**
         * Indicates if the focus item is transparent, which allows items behind it to become focused.
         */
        isTransparentFocusItem: boolean;
    }
    export class UIFocusGroupPriority {
        /**
         * The lowest focus group priority, assigned by default.
         */
        static ignored: UIFocusGroupPriority;
        /**
         * The focus group priority of a previously focused item.
         */
        static previouslyFocused: UIFocusGroupPriority;
        /**
         * The focus group priority that indicates an item is more important than others.
         */
        static prioritized: UIFocusGroupPriority;
        /**
         * The focus group priority of the currently focused item, the highest possible priority.
         */
        static currentlyFocused: UIFocusGroupPriority;
        /**
         * Creates a focus group priority with the specified value.
         */
        constructor (rawValue: number);
        /**
         * Creates a focus group priority with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UIFocusMovementHint extends NSObject {
        /**
         * A vector representing how close focus is to moving to another item in the swiped direction.
         */
        movementDirection: CGVector;
        /**
         * A 3D transform that contains the combined transformations of perspective, rotation, and translation.
         */
        interactionTransform: CATransform3D;
        /**
         * A 3D transform that represents a perspective matrix to be applied to match UIKit interaction hinting.
         */
        perspectiveTransform: CATransform3D;
        /**
         * A vector to apply to a transform to match system interaction hinting.
         */
        rotation: CGVector;
        /**
         * A vector to apply to a transform to match system interaction hinting.
         */
        translation: CGVector;
    }
    export interface UIFocusItemContainer extends NSObjectProtocol {
        /**
         * Retrieves all of the focus items within this container that intersect with the provided rectangle.
         */
        focusItems(rect: CGRect):UIFocusItem[];
        /**
         * The coordinate space of the focus items contained in the focus item container.
         */
        coordinateSpace: UICoordinateSpace;
    }
    export interface UIFocusItemScrollableContainer extends UIFocusItemContainer {
        /**
         * The current content offset for the scrollable container.
         */
        contentOffset: CGPoint;
        /**
         * The total size of the content contained by this container.
         */
        contentSize: CGSize;
        /**
         * The visible size of the scrollable container.
         */
        visibleSize: CGSize;
    }
    export class UIFocusGuide extends UILayoutGuide {
        /**
         * A Boolean value that indicates whether the guide is focusable.
         */
        isEnabled: boolean;
        /**
         * An array of focus environments to which the guide directs focus, ordered by priority.
         */
        preferredFocusEnvironments: [UIFocusEnvironment]!;
        /**
         * The view that the focus will be redirected to if this guide is focused.
         */
        preferredFocusedView: UIView | null;
    }
    export class UIFocusDebugger extends NSObject {
        /**
         * Returns information about how to use the commands of the debugger object.
         */
        static help():UIFocusDebuggerOutput;
        /**
         * Returns the state of the focus system, including information about the currently focused item.
         */
        static status():UIFocusDebuggerOutput;
        /**
         * Returns information about whether the item can become focused, including any known issues that would prevent the item from becoming focused.
         */
        static checkFocusability(item: UIFocusItem):UIFocusDebuggerOutput;
        /**
         * Returns the focus group hierarchy for the specified environment object.
         */
        static focusGroups(environment: UIFocusEnvironment):UIFocusDebuggerOutput;
        /**
         * Returns the hierarchy of preferred focus environments for the specified environment object.
         */
        static preferredFocusEnvironments(environment: UIFocusEnvironment):UIFocusDebuggerOutput;
        /**
         * Simulates a focus update request from the specified environment.
         */
        static simulateFocusUpdateRequest(environment: UIFocusEnvironment):UIFocusDebuggerOutput;
    }
    export interface UIFocusDebuggerOutput extends NSObjectProtocol {}
    export class UIFocusAnimationCoordinator extends NSObject {
        /**
         * Runs the specified set of animations together with the system animations for adding focus to an item.
         */
        addCoordinatedFocusingAnimations(animations: ()=>any | null, completion: ()=>any | null):void;
        /**
         * Runs the specified set of animations together with the system animations for removing focus from an item.
         */
        addCoordinatedUnfocusingAnimations(animations: ()=>any | null, completion: ()=>any | null):void;
        /**
         * Specifies the animations to coordinate with the active focus animation.
         */
        addCoordinatedAnimations(animations: ()=>any | null, completion: ()=>any | null):void;
    }
    export interface UIFocusAnimationContext extends NSObjectProtocol {
        /**
         * The duration (measured in seconds) of the focus animation.
         */
        duration: TimeInterval;
    }
    export class UIFocusEffect extends NSObject {}
    export class UIFocusHaloEffect extends UIFocusEffect {
        /**
         * The container view to place the halo effect into.
         */
        containerView: UIView | null;
        /**
         * The view to place the halo effect above.
         */
        referenceView: UIView | null;
        /**
         * The position of the halo effect relative to its shape.
         */
        position: UIFocusHaloEffect.Position;
        /**
         * Creates a rounded halo effect using the specified corner radius and corner curve.
         */
        constructor (rect: CGRect, cornerRadius: CGFloat, curve: CALayerCornerCurve);
        /**
         * Creates a rectangular halo effect using the specified rectangle.
         */
        constructor (rect: CGRect);
        /**
         * Creates a halo effect using the specified Bézier path.
         */
        constructor (bezierPath: UIBezierPath);
    }
    /**
     * the same name namespace of class UIFocusHaloEffect
     */
    export namespace UIFocusHaloEffect {
        export enum Position {
            automatic = 0,
            outside = 1,
            inside = 2,
        }
    }
}

/**
 * Enter single-app mode and prevent students from accessing specific system features while taking an exam.
 */
declare module AutomaticAssessmentConfiguration {
    export class AEAssessmentConfiguration extends NSObject {
        /**
         * The app-specific configuration for the app that invokes the assessment.
         */
        mainParticipantConfiguration: AEAssessmentParticipantConfiguration;
        /**
         * A Boolean value that indicates whether to allow the speech-related accessibility features during an assessment.
         */
        allowsAccessibilitySpeech: boolean;
        /**
         * A Boolean value that indicates whether to allow the use of dictation during an assessment.
         */
        allowsDictation: boolean;
        /**
         * A Boolean value that indicates whether to allow Slide to Type to operate during an assessment.
         */
        allowsContinuousPathKeyboard: boolean;
        /**
         * A Boolean value that indicates whether to allow keyboard shortcuts during an assessment.
         */
        allowsKeyboardShortcuts: boolean;
        /**
         * A Boolean value that indicates whether to enable the predictive keyboard during an assessment.
         */
        allowsPredictiveKeyboard: boolean;
        /**
         * A Boolean value that indicates whether to allow password autofill during an assessment.
         */
        allowsPasswordAutoFill: boolean;
        /**
         * A Boolean value that indicates whether to allow spell check during an assessment.
         */
        allowsSpellCheck: boolean;
        /**
         * A Boolean value that indicates whether to allow Autocorrect during an assessment.
         */
        autocorrectMode: AEAssessmentConfiguration.AutocorrectMode;
        /**
         * A Boolean value that indicates whether to allow Handoff during an assessment.
         */
        allowsActivityContinuation: boolean;
    }
    /**
     * the same name namespace of class AEAssessmentConfiguration
     */
    export namespace AEAssessmentConfiguration {
        export class AutocorrectMode {
            /**
             * A mode in which autocorrect checks punctuation as the user types.
             */
            static punctuation: AEAssessmentConfiguration.AutocorrectMode;
            /**
             * A mode in which autocorrect checks for spelling as the user types.
             */
            static spelling: AEAssessmentConfiguration.AutocorrectMode;
            /**
             * Creates a new mode instance.
             */
            constructor (rawValue: number);
        }
    }
    export class AEAssessmentApplication extends NSObject {
        /**
         * The bundle identifier of the app.
         */
        bundleIdentifier: string;
        /**
         * The team identifier of the app.
         */
        teamIdentifier: string;
        /**
         * A Boolean that indicates whether the session requires the app to have a valid code signature to run.
         */
        requiresSignatureValidation: boolean;
        /**
         * Creates a representation of an app using its bundle and team identifiers.
         */
        constructor (bundleIdentifier: string, teamIdentifier: string);
        /**
         * Creates a representation of an app using its bundle identifier.
         */
        constructor (bundleIdentifier: string);
    }
    export class AEAssessmentSession extends NSObject {
        /**
         * A delegate to which the session provides state change updates.
         */
        delegate: AEAssessmentSessionDelegate | null;
    }
    export interface AEAssessmentSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the session started.
         */
        assessmentSessionDidBegin(session: AEAssessmentSession):void;
        /**
         * Tells the delegate that the session failed to start.
         */
        assessmentSession(session: AEAssessmentSession, error: Error):void;
        /**
         * Tells the delegate that the session ended.
         */
        assessmentSessionDidEnd(session: AEAssessmentSession):void;
        /**
         * Tells the delegate that a configuration update succeeded.
         */
        assessmentSessionDidUpdate(session: AEAssessmentSession):void;
    }
    export class AEAssessmentParticipantConfiguration extends NSObject {
        /**
         * A Boolean that indicates whether an app can access network resources during an assessment.
         */
        allowsNetworkAccess: boolean;
        constructor ();
        static new():Self;
    }
    export class AEAssessmentError {
        /**
         * The session encountered an unknown error.
         */
        static unknown: AEAssessmentError.Code;
        /**
         * The error domain that the framework uses when issuing errors.
         */
        static errorDomain: string;
        static unsupportedPlatform: AEAssessmentError.Code;
        /**
         * A code that indicates the kind of error.
         */
        errorCode: number;
        /**
         * A code that indicates the kind of error.
         */
        code: Code;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        userInfo: Record<string, any>;
        /**
         * A human readable, localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a new assessment session error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class AEAssessmentError
     */
    export namespace AEAssessmentError {
        export enum Code {
            unknown = 1,
            unsupportedPlatform = 2,
        }
    }
}

/**
 * Play, record, and process audio; configure your app’s system audio behavior.
 */
declare module AVFAudio {
    export class AVAudioSession extends NSObject {
        /**
         * A notification the system posts when the primary audio from other apps starts and stops.
         */
        static silenceSecondaryAudioHintNotification: NSNotification.Name;
        /**
         * A notification the system posts when it terminates the media server.
         */
        static mediaServicesWereLostNotification: NSNotification.Name;
        /**
         * A notification the system posts when the media server restarts.
         */
        static mediaServicesWereResetNotification: NSNotification.Name;
        /**
         * A notification the system posts when its spatial playback capabilities change.
         */
        static spatialPlaybackCapabilitiesChangedNotification: NSNotification.Name;
        /**
         * A notification the system posts when an audio interruption occurs.
         */
        static interruptionNotification: NSNotification.Name;
        /**
         * A notification the system posts when its audio route changes.
         */
        static routeChangeNotification: NSNotification.Name;
        /**
         * A description of the current audio route’s input and output ports.
         */
        currentRoute: AVAudioSessionRouteDescription;
        /**
         * A Boolean value that indicates whether an audio input path is available.
         */
        isInputAvailable: boolean;
        /**
         * An array of input ports available for audio routing.
         */
        availableInputs: AVAudioSessionPortDescription[] | null;
        /**
         * The preferred input port for audio routing.
         */
        preferredInput: AVAudioSessionPortDescription | null;
        /**
         * The set of options associated with the current audio session category.
         */
        categoryOptions: AVAudioSession.CategoryOptions;
        /**
         * The currently selected input data source.
         */
        inputDataSource: AVAudioSessionDataSourceDescription | null;
        /**
         * An array of available data sources for the audio session’s current input port.
         */
        inputDataSources: AVAudioSessionDataSourceDescription[] | null;
        /**
         * An array of available output data sources for the current audio route.
         */
        outputDataSources: AVAudioSessionDataSourceDescription[] | null;
        /**
         * The currently selected output data source.
         */
        outputDataSource: AVAudioSessionDataSourceDescription | null;
        /**
         * An orientation value that dictates which directions represent left and right when capturing audio from a built-in microphone configured for stereo recording.
         */
        inputOrientation: AVAudioSession.StereoOrientation;
        /**
         * The audio session’s preferred stereo input orientation.
         */
        preferredInputOrientation: AVAudioSession.StereoOrientation;
        /**
         * The number of audio input channels for the current route.
         */
        inputNumberOfChannels: number;
        /**
         * The maximum number of input channels available for the current audio route.
         */
        maximumInputNumberOfChannels: number;
        /**
         * The preferred number of input channels for the current route.
         */
        preferredInputNumberOfChannels: number;
        /**
         * The number of audio output channels.
         */
        outputNumberOfChannels: number;
        /**
         * The maximum number of output channels available for the current audio route.
         */
        maximumOutputNumberOfChannels: number;
        /**
         * The preferred number of output channels for the current route.
         */
        preferredOutputNumberOfChannels: number;
        /**
         * A Boolean value that indicates whether your app supplies multichannel audio content.
         */
        supportsMultichannelContent: boolean;
        /**
         * The gain applied to inputs associated with the session.
         */
        inputGain: Float;
        /**
         * A Boolean value that indicates whether you can set the input gain.
         */
        isInputGainSettable: boolean;
        /**
         * The systemwide output volume set by the user.
         */
        outputVolume: Float;
        /**
         * The current audio sample rate, in hertz.
         */
        sampleRate: number;
        /**
         * The preferred sample rate, in hertz.
         */
        preferredSampleRate: number;
        /**
         * The latency for audio input, in seconds.
         */
        inputLatency: TimeInterval;
        /**
         * The latency for audio output, in seconds.
         */
        outputLatency: TimeInterval;
        /**
         * The current I/O buffer duration, in seconds.
         */
        ioBufferDuration: TimeInterval;
        /**
         * The preferred I/O buffer duration, in seconds.
         */
        preferredIOBufferDuration: TimeInterval;
        /**
         * The delegate object for the audio session.
         */
        delegate: AVAudioSessionDelegate | null;
        /**
         * The number of audio hardware input channels.
         */
        currentHardwareInputNumberOfChannels: number;
        /**
         * The number of audio hardware output channels.
         */
        currentHardwareOutputNumberOfChannels: number;
        /**
         * The audio hardware sample rate, in hertz.
         */
        currentHardwareSampleRate: number;
        /**
         * A Boolean value that indicates whether a hardware audio input path is available.
         */
        inputIsAvailable: boolean;
        /**
         * The preferred hardware sample rate, in hertz.
         */
        preferredHardwareSampleRate: number;
        /**
         * The current audio session’s mode.
         */
        mode: AVAudioSession.Mode;
        /**
         * The current audio session category.
         */
        category: AVAudioSession.Category;
        /**
         * The audio session modes available on the device.
         */
        availableModes: AVAudioSession.Mode[];
        /**
         * The current route-sharing policy.
         */
        routeSharingPolicy: AVAudioSession.RouteSharingPolicy;
        /**
         * The audio session categories available on the current device.
         */
        availableCategories: AVAudioSession.Category[];
        /**
         * The current recording permission status.
         */
        recordPermission: AVAudioSession.RecordPermission;
        /**
         * A Boolean value that indicates whether another app is playing audio.
         */
        isOtherAudioPlaying: boolean;
        /**
         * A Boolean value that indicates whether another app, with a nonmixable audio session, is playing audio.
         */
        secondaryAudioShouldBeSilencedHint: boolean;
        /**
         * A Boolean value that indicates whether system sounds and haptics play while recording from audio input.
         */
        allowHapticsAndSystemSoundsDuringRecording: boolean;
        /**
         * A hint to audio sessions that use voice prompt mode to alter the type of prompts they issue in response to other system audio, such as Siri and phone calls.
         */
        promptStyle: AVAudioSession.PromptStyle;
        /**
         * A Boolean value that indicates a preference for not interrupting the session with system alerts.
         */
        prefersNoInterruptionsFromSystemAlerts: boolean;
        /**
         * Returns the shared audio session instance.
         */
        static sharedInstance():AVAudioSession;
        /**
         * Sets the preferred input port for audio routing.
         */
        setPreferredInput(inPort: AVAudioSessionPortDescription | null):void;
        /**
         * Selects a data source for the audio session’s current input port.
         */
        setInputDataSource(dataSource: AVAudioSessionDataSourceDescription | null):void;
        /**
         * Sets the audio session’s category with the specified options.
         */
        setCategory(category: AVAudioSession.Category, options: AVAudioSession.CategoryOptions):void;
        /**
         * Sets the output data source for an audio session.
         */
        setOutputDataSource(dataSource: AVAudioSessionDataSourceDescription | null):void;
        /**
         * Temporarily changes the current audio route.
         */
        overrideOutputAudioPort(portOverride: AVAudioSession.PortOverride):void;
        /**
         * Prepares the route selection for long-form video playback.
         */
        prepareRouteSelectionForPlayback(completionHandler: ()=>any):void;
        /**
         * Sets the audio session’s preferred stereo input orientation.
         */
        setPreferredInputOrientation(orientation: AVAudioSession.StereoOrientation):void;
        /**
         * Sets the preferred number of input channels for the current route.
         */
        setPreferredInputNumberOfChannels(count: number):void;
        /**
         * Sets the preferred number of output channels for the current route.
         */
        setPreferredOutputNumberOfChannels(count: number):void;
        /**
         * Sets whether your app supplies multichannel audio content.
         */
        setSupportsMultichannelContent(inValue: boolean):void;
        /**
         * Changes the input gain to the specified value.
         */
        setInputGain(gain: Float):void;
        /**
         * Sets the preferred sample rate for audio input and output.
         */
        setPreferredSampleRate(sampleRate: number):void;
        /**
         * Sets the preferred audio I/O buffer duration.
         */
        setPreferredIOBufferDuration(duration: TimeInterval):void;
        /**
         * Sets the audio session’s aggregated I/O configuration preference.
         */
        setAggregatedIOPreference(inIOType: AVAudioSession.IOType):void;
        /**
         * Activates or deactivates your app’s audio session; provides flags for use by other audio sessions.
         */
        setActive(active: boolean, flags: number):void;
        /**
         * Sets the preferred hardware sample rate for input and output.
         */
        setPreferredHardwareSampleRate(sampleRate: number):void;
        /**
         * Sets the audio session’s mode.
         */
        setMode(mode: AVAudioSession.Mode):void;
        /**
         * Activates an audio session asynchronously on watchOS.
         */
        activate(options: AVAudioSessionActivationOptions, handler: ()=>any):void;
        /**
         * Requests the user’s permission to record audio.
         */
        requestRecordPermission(response: ()=>any):void;
        /**
         * Sets a Boolean value that indicates whether system sounds and haptics play while recording from audio input.
         */
        setAllowHapticsAndSystemSoundsDuringRecording(inValue: boolean):void;
        /**
         * Sets the preference for not interrupting the audio session with system alerts.
         */
        setPrefersNoInterruptionsFromSystemAlerts(inValue: boolean):void;
    }
    /**
     * the same name namespace of class AVAudioSession
     */
    export namespace AVAudioSession {
        export class Category {
            /**
             * The category for recording (input) and playback (output) of audio, such as for a Voice over Internet Protocol (VoIP) app.
             */
            static playAndRecord: AVAudioSession.Category;
            /**
             * The category for playing recorded music or other sounds that are central to the successful use of your app.
             */
            static playback: AVAudioSession.Category;
            /**
             * The category for recording audio while also silencing playback audio.
             */
            static record: AVAudioSession.Category;
            /**
             * The default audio session category.
             */
            static soloAmbient: AVAudioSession.Category;
            /**
             * The category for using an audio hardware codec or signal processor while not playing or recording audio.
             */
            static audioProcessing: AVAudioSession.Category;
        }
        export enum RouteChangeReason {
            routeConfigurationChange = 8,
        }
        export enum SilenceSecondaryAudioHintType {
            begin = 1,
            end = 0,
        }
        export class Port {
            /**
             * An input from a device’s built-in microphone.
             */
            static builtInMic: AVAudioSession.Port;
            /**
             * An input from a wired headset’s built-in microphone.
             */
            static headsetMic: AVAudioSession.Port;
            /**
             * A line-level input from the dock connector.
             */
            static lineIn: AVAudioSession.Port;
            /**
             * An output to an AirPlay device.
             */
            static airPlay: AVAudioSession.Port;
            /**
             * An output to a Bluetooth A2DP device.
             */
            static bluetoothA2DP: AVAudioSession.Port;
            /**
             * An output to a Bluetooth Low Energy (LE) device.
             */
            static bluetoothLE: AVAudioSession.Port;
            /**
             * An output to the speaker you hold to your ear when you’re on a phone call.
             */
            static builtInReceiver: AVAudioSession.Port;
            /**
             * An output to the device’s built-in speaker.
             */
            static builtInSpeaker: AVAudioSession.Port;
            /**
             * An output to a High-Definition Multimedia Interface (HDMI) device.
             */
            static HDMI: AVAudioSession.Port;
            /**
             * An output to wired headphones.
             */
            static headphones: AVAudioSession.Port;
            /**
             * A line-level output to the dock connector.
             */
            static lineOut: AVAudioSession.Port;
            /**
             * An I/O connection to an Audio Video Bridging (AVB) device.
             */
            static AVB: AVAudioSession.Port;
            /**
             * An I/O connection to a Bluetooth Hands-Free Profile device.
             */
            static bluetoothHFP: AVAudioSession.Port;
            /**
             * An I/O connection to a DisplayPort device.
             */
            static displayPort: AVAudioSession.Port;
            /**
             * An I/O connection through Car Audio.
             */
            static carAudio: AVAudioSession.Port;
            /**
             * An I/O connection to a FireWire device.
             */
            static fireWire: AVAudioSession.Port;
            /**
             * An I/O connection to a Peripheral Component Interconnect (PCI) device.
             */
            static PCI: AVAudioSession.Port;
            /**
             * An I/O connection to a Thunderbolt device.
             */
            static thunderbolt: AVAudioSession.Port;
            /**
             * An I/O connection to a Universal Serial Bus (USB) device.
             */
            static usbAudio: AVAudioSession.Port;
            /**
             * An I/O connection that doesn’t correspond to physical audio hardware.
             */
            static virtual: AVAudioSession.Port;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: string);
        }
        export class Location {
            /**
             * A value that indicates that the data source is located near the bottom end of the device.
             */
            static lower: AVAudioSession.Location;
            /**
             * A value that indicates that the data source is located near the top end of the device.
             */
            static upper: AVAudioSession.Location;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: string);
        }
        export class CategoryOptions {
            /**
             * An option that indicates whether audio from this session mixes with audio from active sessions in other audio apps.
             */
            static mixWithOthers: AVAudioSession.CategoryOptions;
            /**
             * An option that reduces the volume of other audio sessions while audio from this session plays.
             */
            static duckOthers: AVAudioSession.CategoryOptions;
            /**
             * An option that determines whether to pause spoken audio content from other sessions when your app plays its audio.
             */
            static interruptSpokenAudioAndMixWithOthers: AVAudioSession.CategoryOptions;
            /**
             * An option that determines whether Bluetooth hands-free devices appear as available input routes.
             */
            static allowBluetooth: AVAudioSession.CategoryOptions;
            /**
             * An option that determines whether you can stream audio from this session to Bluetooth devices that support the Advanced Audio Distribution Profile (A2DP).
             */
            static allowBluetoothA2DP: AVAudioSession.CategoryOptions;
            /**
             * An option that determines whether you can stream audio from this session to AirPlay devices.
             */
            static allowAirPlay: AVAudioSession.CategoryOptions;
            /**
             * An option that determines whether audio from the session defaults to the built-in speaker instead of the receiver.
             */
            static defaultToSpeaker: AVAudioSession.CategoryOptions;
            /**
             * An option that indicates whether the system interrupts the audio session when it mutes the built-in microphone.
             */
            static overrideMutedMicrophoneInterruption: AVAudioSession.CategoryOptions;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: number);
        }
        export class Orientation {
            /**
             * A data source that points upward.
             */
            static top: AVAudioSession.Orientation;
            /**
             * A data source that points downward.
             */
            static bottom: AVAudioSession.Orientation;
            /**
             * A data source that points outward from the front of the device, toward the user.
             */
            static front: AVAudioSession.Orientation;
            /**
             * A data source that points outward from the back of the device, away from the user.
             */
            static back: AVAudioSession.Orientation;
            /**
             * A data source that points outward to the left of the device, away from the user.
             */
            static left: AVAudioSession.Orientation;
            /**
             * A data source that points outward to the right of the device, away from the user.
             */
            static right: AVAudioSession.Orientation;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: string);
        }
        export class PolarPattern {
            /**
             * A polar pattern that captures a stereo image of an audio source.
             */
            static stereo: AVAudioSession.PolarPattern;
            /**
             * A data source that’s most sensitive to sound from the direction of the data source and is nearly insensitive to sound from the opposite direction.
             */
            static cardioid: AVAudioSession.PolarPattern;
            /**
             * A data source that’s most sensitive to sound from the direction of the data source and is less sensitive to sound from the opposite direction.
             */
            static subcardioid: AVAudioSession.PolarPattern;
            /**
             * A data source that’s equally sensitive to sound from any direction.
             */
            static omnidirectional: AVAudioSession.PolarPattern;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: string);
        }
        export enum PortOverride {
            none = 0,
            speaker = 1936747378,
        }
        export enum RouteSelection {
            none = 0,
            local = 1,
            external = 2,
        }
        export enum StereoOrientation {
            none = 0,
            portrait = 1,
            portraitUpsideDown = 2,
            landscapeLeft = 4,
            landscapeRight = 3,
        }
        export enum IOType {
            notSpecified = 0,
            aggregated = 1,
        }
        export enum ErrorCode {
            none = 0,
            mediaServicesFailed = 1836282486,
            isBusy = 560030580,
            incompatibleCategory = 560161140,
            cannotInterruptOthers = 560557684,
            missingEntitlement = 1701737535,
            siriIsRecording = 1936290409,
            cannotStartPlaying = 561015905,
            cannotStartRecording = 561145187,
            badParam = -50,
            resourceNotAvailable = 561145203,
            unspecified = 2003329396,
            expiredSession = 561210739,
            sessionNotActive = 1768841571,
        }
        export class Mode {
            /**
             * The default audio session mode.
             */
            static default: AVAudioSession.Mode;
            /**
             * A mode that the GameKit framework sets on behalf of an application that uses GameKit’s voice chat service.
             */
            static gameChat: AVAudioSession.Mode;
            /**
             * A mode that indicates that your app is performing measurement of audio input or output.
             */
            static measurement: AVAudioSession.Mode;
            /**
             * A mode that indicates that your app is playing back movie content.
             */
            static moviePlayback: AVAudioSession.Mode;
            /**
             * A mode used for continuous spoken audio to pause the audio when another app plays a short audio prompt.
             */
            static spokenAudio: AVAudioSession.Mode;
            /**
             * A mode that indicates that your app is engaging in online video conferencing.
             */
            static videoChat: AVAudioSession.Mode;
            /**
             * A mode that indicates that your app is recording a movie.
             */
            static videoRecording: AVAudioSession.Mode;
            /**
             * A mode that indicates that your app is performing two-way voice communication, such as using Voice over Internet Protocol (VoIP).
             */
            static voiceChat: AVAudioSession.Mode;
            /**
             * A mode that indicates that your app plays audio using text-to-speech.
             */
            static voicePrompt: AVAudioSession.Mode;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: string);
        }
        export enum RouteSharingPolicy {
            default = 0,
            longFormAudio = 1,
            longFormVideo = 3,
            independent = 2,
        }
        export class SetActiveOptions {
            /**
             * An option that indicates that the system should notify other apps that you’ve deactivated your app’s audio session.
             */
            static notifyOthersOnDeactivation: AVAudioSession.SetActiveOptions;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: number);
        }
        export enum RecordPermission {
            undetermined = 1970168948,
            denied = 1684369017,
            granted = 1735552628,
        }
        export enum PromptStyle {
            none = 1852796517,
            short = 1936224884,
            normal = 1852992876,
        }
        export enum InterruptionType {
            began = 1,
            ended = 0,
        }
        export class InterruptionOptions {
            /**
             * An option that indicates the interruption by another audio session has ended and the app can resume its audio session.
             */
            static shouldResume: AVAudioSession.InterruptionOptions;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: number);
        }
        export enum InterruptionReason {
            default = 0,
            appWasSuspended = 1,
            builtInMicMuted = 2,
        }
    }
    export enum AVAudio3DMixingRenderingAlgorithm {
        HRTF = 2,
        HRTFHQ = 6,
        soundField = 3,
        sphericalHead = 1,
        stereoPassThrough = 5,
    }
    export class AVAudio3DPoint {
        /**
         * The location on the x-axis, in meters.
         */
        x: Float;
        /**
         * The location on the y-axis, in meters.
         */
        y: Float;
        /**
         * The location on the z-axis, in meters.
         */
        z: Float;
        /**
         * Creates a 3D point.
         */
        constructor ();
        /**
         * Creates a 3D point using the x, y, and z coordinates you specify.
         */
        constructor (x: Float, y: Float, z: Float);
    }
    export class AVAudio3DVectorOrientation {
        /**
         * The forward vector points in the direction that the listener faces.
         */
        forward: AVAudio3DVector;
        /**
         * The up vector is orthogonal to the forward vector and points upward from the listener’s head.
         */
        up: AVAudio3DVector;
        /**
         * Creates a 3D vector orientation instance.
         */
        constructor ();
        /**
         * Creates a 3D vector orientation instance using the forward and up vectors you specify.
         */
        constructor (forward: AVAudio3DVector, up: AVAudio3DVector);
    }
    export class AVAudio3DAngularOrientation {
        /**
         * The side-to-side movement of the listener’s head.
         */
        yaw: Float;
        /**
         * The up-and-down movement of the listener’s head.
         */
        pitch: Float;
        /**
         * The tilt of the listener’s head.
         */
        roll: Float;
        /**
         * Creates an angular orientation.
         */
        constructor ();
        /**
         * Creates a 3D angular orientation using the yaw, pitch, and roll values you specify.
         */
        constructor (yaw: Float, pitch: Float, roll: Float);
    }
    export enum AVAudio3DMixingSourceMode {
        spatializeIfMono = 0,
        bypass = 1,
        pointSource = 2,
        ambienceBed = 3,
    }
    export enum AVAudioEnvironmentOutputType {
        auto = 0,
        headphones = 1,
        builtInSpeakers = 2,
        externalSpeakers = 3,
    }
    export enum AVAudio3DMixingPointSourceInHeadMode {
        mono = 0,
        bypass = 1,
    }
    export class AVAudioBuffer extends NSObject {
        /**
         * The format of the audio in the buffer.
         */
        format: AVAudioFormat;
        /**
         * The buffer’s underlying audio buffer list.
         */
        audioBufferList: UnsafePointer<AudioBufferList>;
        /**
         * A mutable version of the buffer’s underlying audio buffer list.
         */
        mutableAudioBufferList: UnsafeMutablePointer<AudioBufferList>;
    }
    export class AVAudioCompressedBuffer extends AVAudioBuffer {
        /**
         * The number of packets the buffer contains.
         */
        byteCapacity: UInt32;
        /**
         * The number of valid bytes in the buffer.
         */
        byteLength: UInt32;
        /**
         * The audio buffer’s data bytes.
         */
        data: UnsafeMutableRawPointer;
        /**
         * The maximum size of a packet, in bytes.
         */
        maximumPacketSize: number;
        /**
         * The total number of packets that the buffer can contain.
         */
        packetCapacity: AVAudioPacketCount;
        /**
         * The number of packets currently in the buffer.
         */
        packetCount: AVAudioPacketCount;
        /**
         * The buffer’s array of packet descriptions.
         */
        packetDescriptions: UnsafeMutablePointer<AudioStreamPacketDescription> | null;
        /**
         * Creates a buffer that contains constant bytes per packet of audio data in a compressed state.
         */
        constructor (format: AVAudioFormat, packetCapacity: AVAudioPacketCount);
        /**
         * Creates a buffer that contains audio data in a compressed state.
         */
        constructor (format: AVAudioFormat, packetCapacity: AVAudioPacketCount, maximumPacketSize: number);
    }
    export class AVAudioPCMBuffer extends AVAudioBuffer {
        /**
         * The current number of valid sample frames in the buffer.
         */
        frameLength: AVAudioFrameCount;
        /**
         * The buffer’s audio samples as floating point values.
         */
        floatChannelData: UnsafePointer<UnsafeMutablePointer<Float>> | null;
        /**
         * The buffer’s capacity, in audio sample frames.
         */
        frameCapacity: AVAudioFrameCount;
        /**
         * The buffer’s 16-bit integer audio samples.
         */
        int16ChannelData: UnsafePointer<UnsafeMutablePointer<Int16>> | null;
        /**
         * The buffer’s 32-bit integer audio samples.
         */
        int32ChannelData: UnsafePointer<UnsafeMutablePointer<Int32>> | null;
        /**
         * The buffer’s number of interleaved channels.
         */
        stride: number;
        /**
         * Creates a PCM audio buffer instance for PCM audio data.
         */
        constructor (format: AVAudioFormat, frameCapacity: AVAudioFrameCount);
        /**
         * Creates a PCM audio buffer instance without copying samples, for PCM audio data, with a specified buffer list and a deallocator closure.
         */
        constructor (format: AVAudioFormat, bufferList: UnsafePointer<AudioBufferList>, deallocator: ()=>any | null);
    }
    export class AVAudioFile extends NSObject {
        /**
         * The location of the audio file.
         */
        url: URL;
        /**
         * The on-disk format of the file.
         */
        fileFormat: AVAudioFormat;
        /**
         * The processing format of the file.
         */
        processingFormat: AVAudioFormat;
        /**
         * The number of sample frames in the file.
         */
        length: AVAudioFramePosition;
        /**
         * The position in the file where the next read or write operation occurs.
         */
        framePosition: AVAudioFramePosition;
        /**
         * Opens a file for reading using the standard, deinterleaved floating point format.
         */
        constructor (fileURL: URL);
        /**
         * Opens a file for reading using the specified processing format.
         */
        constructor (fileURL: URL, format: AVAudioCommonFormat, interleaved: boolean);
        /**
         * Opens a file for writing using the specified settings.
         */
        constructor (fileURL: URL, settings: Record<string, any>);
        /**
         * Opens a file for writing using a specified processing format and settings.
         */
        constructor (fileURL: URL, settings: Record<string, any>, format: AVAudioCommonFormat, interleaved: boolean);
        /**
         * Reads an entire audio buffer.
         */
        read(buffer: AVAudioPCMBuffer):void;
        /**
         * Writes an audio buffer sequentially.
         */
        write(buffer: AVAudioPCMBuffer):void;
    }
    export class AVAudioTime extends NSObject {
        /**
         * The host time.
         */
        hostTime: UInt64;
        /**
         * A Boolean value that indicates whether the host time value is valid.
         */
        isHostTimeValid: boolean;
        /**
         * The sampling rate that the sample time property expresses.
         */
        sampleRate: number;
        /**
         * The time as a number of audio samples that the current audio device tracks.
         */
        sampleTime: AVAudioFramePosition;
        /**
         * A Boolean value that indicates whether the sample time and sample rate properties are in a valid state.
         */
        isSampleTimeValid: boolean;
        /**
         * The time as an audio timestamp.
         */
        audioTimeStamp: AudioTimeStamp;
        /**
         * Creates an audio time object with the specified timestamp and sample rate.
         */
        constructor (ts: UnsafePointer<AudioTimeStamp>, sampleRate: number);
        /**
         * Creates an audio time object with the specified host time.
         */
        constructor (hostTime: UInt64);
        /**
         * Creates an audio time object with the specified host time, sample time, and sample rate.
         */
        constructor (hostTime: UInt64, sampleTime: AVAudioFramePosition, sampleRate: number);
        /**
         * Creates an audio time object with the specified timestamp and sample rate.
         */
        constructor (sampleTime: AVAudioFramePosition, sampleRate: number);
        /**
         * Converts host time to seconds.
         */
        static seconds(hostTime: UInt64):TimeInterval;
        /**
         * Creates an audio time object by converting between host time and sample time.
         */
        extrapolateTime(anchorTime: AVAudioTime):AVAudioTime | null;
    }
    export class AVAudioFormat extends NSObject {
        /**
         * The audio format properties of a stream of audio data.
         */
        streamDescription: UnsafePointer<AudioStreamBasicDescription>;
        /**
         * The audio format sampling rate, in hertz.
         */
        sampleRate: number;
        /**
         * The number of channels of audio data.
         */
        channelCount: AVAudioChannelCount;
        /**
         * The underlying audio channel layout.
         */
        channelLayout: AVAudioChannelLayout | null;
        /**
         * The audio format description to use with Core Media APIs.
         */
        formatDescription: CMAudioFormatDescription;
        /**
         * A Boolean value that indicates whether the samples mix into one stream.
         */
        isInterleaved: boolean;
        /**
         * A Boolean value that indicates whether the format is in a deinterleaved native-endian float state.
         */
        isStandard: boolean;
        /**
         * The common format identifier instance.
         */
        commonFormat: AVAudioCommonFormat;
        /**
         * A dictionary that represents the format as a dictionary using audio setting keys.
         */
        settings: Record<string, any>;
        /**
         * An object that contains metadata that encoders and decoders require.
         */
        magicCookie: Data | null;
        /**
         * Creates an audio format instance as a deinterleaved float with the specified sample rate and channel layout.
         */
        constructor (sampleRate: number, layout: AVAudioChannelLayout);
        /**
         * Creates an audio format instance with the specified sample rate and channel count.
         */
        constructor (sampleRate: number, channels: AVAudioChannelCount);
        /**
         * Creates an audio format instance.
         */
        constructor (format: AVAudioCommonFormat, sampleRate: number, channels: AVAudioChannelCount, interleaved: boolean);
        /**
         * Creates an audio format instance with the specified audio format, sample rate, interleaved state, and channel layout.
         */
        constructor (format: AVAudioCommonFormat, sampleRate: number, interleaved: boolean, layout: AVAudioChannelLayout);
        /**
         * Creates an audio format instance using the specified settings dictionary.
         */
        constructor (settings: Record<string, any>);
        /**
         * Creates an audio format instance from a stream description.
         */
        constructor (asbd: UnsafePointer<AudioStreamBasicDescription>);
        /**
         * Creates an audio format instance from a stream description and channel layout.
         */
        constructor (asbd: UnsafePointer<AudioStreamBasicDescription>, layout: AVAudioChannelLayout | null);
        /**
         * Creates an audio format instance from a Core Media audio format description.
         */
        constructor (formatDescription: CMAudioFormatDescription);
        /**
         * Indicates whether the audio format instance and a specified object are functionally equivalent.
         */
        isEqual(object: any):boolean;
    }
    export class AVAudioSessionRouteDescription extends NSObject {
        /**
         * An array of audio input port descriptions.
         */
        inputs: AVAudioSessionPortDescription[];
        /**
         * An array of audio output port descriptions.
         */
        outputs: AVAudioSessionPortDescription[];
    }
    export enum AVAudioCommonFormat {
        otherFormat = 0,
        pcmFormatFloat32 = 1,
        pcmFormatFloat64 = 2,
        pcmFormatInt16 = 3,
        pcmFormatInt32 = 4,
    }
    export class AVAudioChannelLayout extends NSObject {
        /**
         * The number of channels of audio data.
         */
        channelCount: AVAudioChannelCount;
        /**
         * The underlying audio channel layout.
         */
        layout: UnsafePointer<AudioChannelLayout>;
        /**
         * The audio channel’s underlying layout tag.
         */
        layoutTag: AudioChannelLayoutTag;
        /**
         * Creates an audio channel layout object from an existing one.
         */
        constructor (layout: UnsafePointer<AudioChannelLayout>);
        /**
         * Creates an audio channel layout object from a layout tag.
         */
        constructor (layoutTag: AudioChannelLayoutTag);
        /**
         * Indicates whether another audio channel layout is exactly equal to the current layout.
         */
        isEqual(object: any):boolean;
    }
    export enum AVAudioQuality {
        min = 0,
        low = 32,
        medium = 64,
        high = 96,
        max = 127,
    }
    export class AVAudioSessionPortDescription extends NSObject {
        /**
         * A descriptive name for the port.
         */
        portName: string;
        /**
         * The type of the port.
         */
        portType: AVAudioSession.Port;
        /**
         * An array of channel objects that describe the port’s input or output channels.
         */
        channels: AVAudioSessionChannelDescription[] | null;
        /**
         * A system-assigned unique identifier (UID) for the port.
         */
        uid: string;
        /**
         * A Boolean value that indicates whether the associated hardware port has built-in processing for two-way voice communication.
         */
        hasHardwareVoiceCallProcessing: boolean;
        /**
         * A Boolean value that indicates whether the port supports spatial audio playback.
         */
        isSpatialAudioEnabled: boolean;
        /**
         * The available data sources for the port.
         */
        dataSources: AVAudioSessionDataSourceDescription[] | null;
        /**
         * The currently selected audio data source for the port.
         */
        selectedDataSource: AVAudioSessionDataSourceDescription | null;
        /**
         * The preferred audio data source for the port.
         */
        preferredDataSource: AVAudioSessionDataSourceDescription | null;
        /**
         * Sets the preferred audio data source for the port.
         */
        setPreferredDataSource(dataSource: AVAudioSessionDataSourceDescription | null):void;
    }
    export class AVAudioSessionChannelDescription extends NSObject {
        /**
         * The descriptive name for the channel.
         */
        channelName: string;
        /**
         * The index of this channel in its owning port’s array of channels.
         */
        channelNumber: number;
        /**
         * The unique identifier (UID) for this channel’s owning port.
         */
        owningPortUID: string;
        /**
         * A description of the physical location of this channel.
         */
        channelLabel: AudioChannelLabel;
    }
    export class AVAudioSessionDataSourceDescription extends NSObject {
        /**
         * The system-assigned identifier for the data source.
         */
        dataSourceID: NSNumber;
        /**
         * A human-readable name for the data source.
         */
        dataSourceName: string;
        /**
         * The location of the data source on the device.
         */
        location: AVAudioSession.Location | null;
        /**
         * The orientation of the data source relative to the device’s natural orientation.
         */
        orientation: AVAudioSession.Orientation | null;
        /**
         * The data source’s active polar pattern.
         */
        selectedPolarPattern: AVAudioSession.PolarPattern | null;
        /**
         * The set of directivity configurations supported by the data source.
         */
        supportedPolarPatterns: AVAudioSession.PolarPattern[] | null;
        /**
         * The preferred directivity configuration for the data source.
         */
        preferredPolarPattern: AVAudioSession.PolarPattern | null;
        /**
         * Selects the preferred directivity configuration for the data source.
         */
        setPreferredPolarPattern(pattern: AVAudioSession.PolarPattern | null):void;
    }
    export interface AVAudioSessionDelegate extends NSObjectProtocol {
        /**
         * Called after your audio session is interrupted. 
         */
        beginInterruption():void;
        /**
         * Called after your audio session interruption ends. 
         */
        endInterruption():void;
        /**
         * Called after the availability of audio input changes on a device.
         */
        inputIsAvailableChanged(isInputAvailable: boolean):void;
    }
    export class AVAudioRoutingArbiter extends NSObject {
        /**
         * The shared routing arbiter object.
         */
        static shared: AVAudioRoutingArbiter;
        /**
         * Begins routing arbitration to take ownership of a nearby Bluetooth audio route.
         */
        begin(category: AVAudioRoutingArbiter.Category, handler: ()=>any):void;
        /**
         * Stops an app’s participation in audio routing arbitration.
         */
        leave():void;
    }
    /**
     * the same name namespace of class AVAudioRoutingArbiter
     */
    export namespace AVAudioRoutingArbiter {
        export enum Category {
            playback = 0,
            playAndRecord = 1,
            playAndRecordVoice = 2,
        }
    }
    export class AVAudioPlayer extends NSObject {
        /**
         * A Boolean value that indicates whether the player is currently playing audio.
         */
        isPlaying: boolean;
        /**
         * The audio player’s volume relative to other audio output.
         */
        volume: Float;
        /**
         * The audio player’s stereo pan position.
         */
        pan: Float;
        /**
         * A Boolean value that indicates whether you can adjust the playback rate of the audio player.
         */
        enableRate: boolean;
        /**
         * The audio player’s playback rate.
         */
        rate: Float;
        /**
         * The number of times the audio repeats playback.
         */
        numberOfLoops: number;
        /**
         * The current playback time, in seconds, within the audio timeline.
         */
        currentTime: TimeInterval;
        /**
         * The total duration, in seconds, of the player’s audio.
         */
        duration: TimeInterval;
        /**
         * The number of audio channels in the player’s audio.
         */
        numberOfChannels: number;
        /**
         * An array of channel descriptions for the audio player.
         */
        channelAssignments: AVAudioSessionChannelDescription[] | null;
        /**
         * A Boolean value that indicates whether the player is able to generate audio-level metering data.
         */
        isMeteringEnabled: boolean;
        /**
         * The delegate object for the audio player.
         */
        delegate: AVAudioPlayerDelegate | null;
        /**
         * The URL of the audio file.
         */
        url: URL | null;
        /**
         * The audio data associated with the player.
         */
        data: Data | null;
        /**
         * The format of the player’s audio data.
         */
        format: AVAudioFormat;
        /**
         * A dictionary that provides information about the player’s audio data.
         */
        settings: Record<string, any>;
        /**
         * The unique identifier of the current audio player.
         */
        currentDevice: string;
        /**
         * The time value, in seconds, of the audio output device’s clock.
         */
        deviceCurrentTime: TimeInterval;
        /**
         * Creates a player to play audio from a file.
         */
        constructor (url: URL);
        /**
         * Creates a player to play audio from a file of a particular type.
         */
        constructor (url: URL, utiString: string);
        /**
         * Creates a player to play in-memory audio data.
         */
        constructor (data: Data);
        /**
         * Creates a player to play in-memory audio data of a particular type.
         */
        constructor (data: Data, utiString: string);
        /**
         * Prepares the player for audio playback.
         */
        prepareToPlay():boolean;
        /**
         * Plays audio asynchronously.
         */
        play():boolean;
        /**
         * Pauses audio playback.
         */
        pause():void;
        /**
         * Stops playback and undoes the setup the system requires for playback.
         */
        stop():void;
        /**
         * Changes the audio player’s volume over a duration of time.
         */
        setVolume(volume: Float, duration: TimeInterval):void;
        /**
         * Refreshes the average and peak power values for all channels of an audio player.
         */
        updateMeters():void;
        /**
         * Returns the average power, in decibels full-scale (dBFS), for an audio channel.
         */
        averagePower(channelNumber: number):Float;
        /**
         * Returns the peak power, in decibels full-scale (dBFS), for an audio channel.
         */
        peakPower(channelNumber: number):Float;
    }
    export interface AVAudioPlayerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the audio finishes playing.
         */
        audioPlayerDidFinishPlaying(player: AVAudioPlayer, flag: boolean):void;
        /**
         * Tells the delegate when an audio player encounters a decoding error during playback.
         */
        audioPlayerDecodeErrorDidOccur(player: AVAudioPlayer, error: Error | null):void;
        /**
         * Tells the delegate when the system interrupts the audio player’s playback.
         */
        audioPlayerBeginInterruption(player: AVAudioPlayer):void;
        /**
         * Tells the delegate when the audio session interruption ends.
         */
        audioPlayerEndInterruption(player: AVAudioPlayer):void;
    }
    export class AVAudioRecorder extends NSObject {
        /**
         * A Boolean value that indicates whether the audio recorder is recording.
         */
        isRecording: boolean;
        /**
         * The time, in seconds, since the beginning of the recording.
         */
        currentTime: TimeInterval;
        /**
         * The time, in seconds, of the host audio device.
         */
        deviceCurrentTime: TimeInterval;
        /**
         * An array of channel descriptions associated with the audio recorder.
         */
        channelAssignments: AVAudioSessionChannelDescription[] | null;
        /**
         * A Boolean value that indicates whether you’ve enabled the recorder to generate audio-level metering data.
         */
        isMeteringEnabled: boolean;
        /**
         * The delegate object for the audio recorder.
         */
        delegate: AVAudioRecorderDelegate | null;
        /**
         * The URL to which the recorder writes its data.
         */
        url: URL;
        /**
         * The format of the recorded audio.
         */
        format: AVAudioFormat;
        /**
         * The settings that describe the format of the recorded audio.
         */
        settings: Record<string, any>;
        /**
         * Creates an audio recorder with settings.
         */
        constructor (url: URL, settings: Record<string, any>);
        /**
         * Creates an audio recorder with an audio format.
         */
        constructor (url: URL, format: AVAudioFormat);
        /**
         * Creates an audio file and prepares the system for recording.
         */
        prepareToRecord():boolean;
        /**
         * Starts or resumes audio recording.
         */
        record():boolean;
        /**
         * Pauses an audio recording.
         */
        pause():void;
        /**
         * Stops recording and closes the audio file.
         */
        stop():void;
        /**
         * Deletes a recorded audio file.
         */
        deleteRecording():boolean;
        /**
         * Refreshes the average and peak power values for all channels of an audio recorder.
         */
        updateMeters():void;
        /**
         * Returns the average power, in decibels full-scale (dBFS), for an audio channel.
         */
        averagePower(channelNumber: number):Float;
        /**
         * Returns the peak power, in decibels full-scale (dBFS), for an audio channel.
         */
        peakPower(channelNumber: number):Float;
    }
    export interface AVAudioRecorderDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when recording stops or finishes due to reaching its time limit.
         */
        audioRecorderDidFinishRecording(recorder: AVAudioRecorder, flag: boolean):void;
        /**
         * Tells the delegate that the audio recorder encountered an encoding error during recording.
         */
        audioRecorderEncodeErrorDidOccur(recorder: AVAudioRecorder, error: Error | null):void;
        /**
         * Tells the delegate that the system interrupted the audio recording.
         */
        audioRecorderBeginInterruption(recorder: AVAudioRecorder):void;
        /**
         * Tells the delegate that the audio session interruption ended.
         */
        audioRecorderEndInterruption(recorder: AVAudioRecorder):void;
    }
    export class AVMIDIPlayer extends NSObject {
        /**
         * A Boolean value that indicates whether the sequence is playing.
         */
        isPlaying: boolean;
        /**
         * The playback rate of the player.
         */
        rate: Float;
        /**
         * The current playback position, in seconds.
         */
        currentPosition: TimeInterval;
        /**
         * The duration, in seconds, of the currently loaded file.
         */
        duration: TimeInterval;
        /**
         * Creates a player to play a MIDI file with the specified soundbank.
         */
        constructor (inURL: URL, bankURL: URL | null);
        /**
         * Creates a player to play MIDI data with the specified soundbank.
         */
        constructor (data: Data, bankURL: URL | null);
        /**
         * Prepares the player to play the sequence by prerolling all events.
         */
        prepareToPlay():void;
        /**
         * Plays the MIDI sequence.
         */
        play(completionHandler: AVMIDIPlayerCompletionHandler | null):void;
        /**
         * Stops playing the sequence.
         */
        stop():void;
    }
    export class AVAudioEngine extends NSObject {
        /**
         * A read-only set that contains the nodes you attach to the audio engine.
         */
        attachedNodes: Set<AVAudioNode>;
        /**
         * The audio engine’s singleton input audio node.
         */
        inputNode: AVAudioInputNode;
        /**
         * The audio engine’s singleton output audio node.
         */
        outputNode: AVAudioOutputNode;
        /**
         * The audio engine’s optional singleton main mixer node.
         */
        mainMixerNode: AVAudioMixerNode;
        /**
         * A Boolean value that indicates whether the audio engine is running.
         */
        isRunning: boolean;
        /**
         * The music sequence instance that you attach to the audio engine, if any.
         */
        musicSequence: MusicSequence | null;
        /**
         * The block that renders the engine when operating in manual rendering mode.
         */
        manualRenderingBlock: AVAudioEngineManualRenderingBlock;
        /**
         * The render format of the engine in manual rendering mode.
         */
        manualRenderingFormat: AVAudioFormat;
        /**
         * The maximum number of PCM sample frames the engine produces in any single render call in manual rendering mode.
         */
        manualRenderingMaximumFrameCount: AVAudioFrameCount;
        /**
         * The manual rendering mode configured on the engine.
         */
        manualRenderingMode: AVAudioEngineManualRenderingMode;
        /**
         * An indication of where the engine is on its render timeline in manual rendering mode.
         */
        manualRenderingSampleTime: AVAudioFramePosition;
        /**
         * A Boolean value that indicates whether autoshutdown is in an enabled state.
         */
        isAutoShutdownEnabled: boolean;
        /**
         * A Boolean value that indicates whether the engine is operating in manual rendering mode.
         */
        isInManualRenderingMode: boolean;
        /**
         * Creates an audio engine instance for rendering in real time.
         */
        constructor ();
        /**
         * Attaches an audio node to the audio engine.
         */
        attach(node: AVAudioNode):void;
        /**
         * Detaches an audio node from the audio engine.
         */
        detach(node: AVAudioNode):void;
        /**
         * Establishes a connection between two nodes.
         */
        connect(node1: AVAudioNode, node2: AVAudioNode, format: AVAudioFormat | null):void;
        /**
         * Removes all input connections of the node.
         */
        disconnectNodeInput(node: AVAudioNode):void;
        /**
         * Removes all output connections of a node.
         */
        disconnectNodeOutput(node: AVAudioNode):void;
        /**
         * Establishes a MIDI connection between two nodes.
         */
        connectMIDI(sourceNode: AVAudioNode, destinationNode: AVAudioNode, format: AVAudioFormat | null, tapBlock: AUMIDIEventListBlock | null):void;
        /**
         * Removes a MIDI connection between two nodes.
         */
        disconnectMIDI(sourceNode: AVAudioNode, destinationNode: AVAudioNode):void;
        /**
         * Disconnects all input MIDI connections from a node.
         */
        disconnectMIDIInput(node: AVAudioNode):void;
        /**
         * Disconnects all output MIDI connections from a node.
         */
        disconnectMIDIOutput(node: AVAudioNode):void;
        /**
         * Prepares the audio engine for starting.
         */
        prepare():void;
        /**
         * Starts the audio engine.
         */
        start():void;
        /**
         * Pauses the audio engine.
         */
        pause():void;
        /**
         * Stops the audio engine and releases any previously prepared resources.
         */
        stop():void;
        /**
         * Resets all audio nodes in the audio engine.
         */
        reset():void;
        /**
         * Sets the engine to operate in manual rendering mode with the render format and maximum frame count you specify.
         */
        enableManualRenderingMode(mode: AVAudioEngineManualRenderingMode, pcmFormat: AVAudioFormat, maximumFrameCount: AVAudioFrameCount):void;
        /**
         * Sets the engine to render to or from an audio device.
         */
        disableManualRenderingMode():void;
        /**
         * Makes a render call to the engine operating in the offline manual rendering mode.
         */
        renderOffline(numberOfFrames: AVAudioFrameCount, buffer: AVAudioPCMBuffer):AVAudioEngineManualRenderingStatus;
        /**
         * Returns connection information about a node’s input bus.
         */
        inputConnectionPoint(node: AVAudioNode, bus: AVAudioNodeBus):AVAudioConnectionPoint | null;
        /**
         * Returns connection information about a node’s output bus.
         */
        outputConnectionPoints(node: AVAudioNode, bus: AVAudioNodeBus):AVAudioConnectionPoint[];
    }
    export class AVAudioConnectionPoint extends NSObject {
        /**
         * The bus on the node in the connection point.
         */
        bus: AVAudioNodeBus;
        /**
         * The node in the connection point.
         */
        node: AVAudioNode | null;
        /**
         * Creates a connection point object.
         */
        constructor (node: AVAudioNode, bus: AVAudioNodeBus);
    }
    export enum AVAudioEngineManualRenderingError {
        initialized = -80801,
        invalidMode = -80800,
        notRunning = -80802,
    }
    export enum AVAudioEngineManualRenderingMode {
        offline = 0,
        realtime = 1,
    }
    export enum AVAudioEngineManualRenderingStatus {
        error = -1,
        success = 0,
        insufficientDataFromInputNode = 1,
        cannotDoInCurrentContext = 2,
    }
    export class AVAudioNode extends NSObject {
        /**
         * The number of input busses for the node.
         */
        numberOfInputs: number;
        /**
         * The number of output busses for the node.
         */
        numberOfOutputs: number;
        /**
         * The audio engine that manages the node, if any.
         */
        engine: AVAudioEngine | null;
        /**
         * The most recent render time.
         */
        lastRenderTime: AVAudioTime | null;
        /**
         * An audio unit object that wraps or underlies the implementation’s audio unit.
         */
        auAudioUnit: AUAudioUnit;
        /**
         * The processing latency of the node, in seconds.
         */
        latency: TimeInterval;
        /**
         * The maximum render pipeline latency downstream of the node, in seconds.
         */
        outputPresentationLatency: TimeInterval;
        /**
         * Gets the input format for the bus you specify.
         */
        inputFormat(bus: AVAudioNodeBus):AVAudioFormat;
        /**
         * Gets the name of the input bus you specify.
         */
        name(bus: AVAudioNodeBus):string;
        /**
         * Retrieves the output format for the bus you specify.
         */
        outputFormat(bus: AVAudioNodeBus):AVAudioFormat;
        /**
         * Installs an audio tap on a bus you specify to record, monitor, and observe the output of the node.
         */
        installTap(bus: AVAudioNodeBus, bufferSize: AVAudioFrameCount, format: AVAudioFormat | null, tapBlock: AVAudioNodeTapBlock):void;
        /**
         * Removes an audio tap on a bus you specify.
         */
        removeTap(bus: AVAudioNodeBus):void;
        /**
         * Clears a unit’s previous processing state.
         */
        reset():void;
    }
    export class AVAudioInputNode extends AVAudioIONode {
        /**
         * A Boolean that indicates whether the input of the voice processing unit is in a muted state.
         */
        isVoiceProcessingInputMuted: boolean;
        /**
         * A Boolean that indicates whether the node is bypassing all processing of the voice processing unit.
         */
        isVoiceProcessingBypassed: boolean;
        /**
         * A Boolean that indicates whether automatic gain control on the processed microphone or uplink signal is active.
         */
        isVoiceProcessingAGCEnabled: boolean;
        /**
         * Supplies the data through the input node to the engine while operating in the manual rendering mode.
         */
        setManualRenderingInputPCMFormat(format: AVAudioFormat, block: AVAudioIONodeInputBlock):boolean;
    }
    export class AVAudioOutputNode extends AVAudioIONode {}
    export class AVAudioIONode extends AVAudioNode {
        /**
         * The node’s underlying audio unit, if any.
         */
        audioUnit: AudioUnit | null;
        /**
         * The presentation or hardware latency, applicable when rendering to or from an audio device.
         */
        presentationLatency: TimeInterval;
        /**
         * A Boolean value that indicates whether voice processing is in an enabled state.
         */
        isVoiceProcessingEnabled: boolean;
        /**
         * Enables or disables voice processing on the I/O node.
         */
        setVoiceProcessingEnabled(enabled: boolean):void;
    }
    export class AVAudioPlayerNode extends AVAudioNode {
        /**
         * A Boolean value that indicates whether the player is playing.
         */
        isPlaying: boolean;
        /**
         * Creates an initialized audio player node.
         */
        constructor ();
        /**
         * Schedules the playing of an entire audio file.
         */
        scheduleFile(file: AVAudioFile, when: AVAudioTime | null, completionHandler: AVAudioNodeCompletionHandler | null):void;
        /**
         * Schedules the playing of an audio file segment.
         */
        scheduleSegment(file: AVAudioFile, startFrame: AVAudioFramePosition, numberFrames: AVAudioFrameCount, when: AVAudioTime | null, completionHandler: AVAudioNodeCompletionHandler | null):void;
        /**
         * Schedules the playing samples from an audio buffer at the time and playback options you specify.
         */
        scheduleBuffer(buffer: AVAudioPCMBuffer, when: AVAudioTime | null, options: AVAudioPlayerNodeBufferOptions, completionHandler: AVAudioNodeCompletionHandler | null):void;
        /**
         * Converts from player time to node time.
         */
        nodeTime(playerTime: AVAudioTime):AVAudioTime | null;
        /**
         * Converts from node time to player time.
         */
        playerTime(nodeTime: AVAudioTime):AVAudioTime | null;
        /**
         * Prepares the file regions or buffers you schedule for playback.
         */
        prepare(frameCount: AVAudioFrameCount):void;
        /**
         * Starts or resumes playback immediately.
         */
        play():void;
        /**
         * Pauses the node’s playback.
         */
        pause():void;
        /**
         * Clears all of the node’s events you schedule and stops playback.
         */
        stop():void;
    }
    export class AVAudioPlayerNodeBufferOptions {
        /**
         * An option that indicates the buffer loops indefinitely.
         */
        static loops: AVAudioPlayerNodeBufferOptions;
        /**
         * An option that indicates the buffer interrupts any buffer in a playing state.
         */
        static interrupts: AVAudioPlayerNodeBufferOptions;
        /**
         * An option that indicates the buffer interrupts any buffer in a playing state at its loop point.
         */
        static interruptsAtLoop: AVAudioPlayerNodeBufferOptions;
        /**
         * Creates a new instance with the raw value you specify.
         */
        constructor (rawValue: number);
    }
    export enum AVAudioPlayerNodeCompletionCallbackType {
        dataConsumed = 0,
        dataRendered = 1,
        dataPlayedBack = 2,
    }
    export class AVAudioSequencer extends NSObject {
        /**
         * A Boolean value that indicates whether the sequencer’s player is in a playing state.
         */
        isPlaying: boolean;
        /**
         * The playback rate of the sequencer’s player.
         */
        rate: Float;
        /**
         * An array that contains all the tracks in the sequence.
         */
        tracks: AVMusicTrack[];
        /**
         * The current playback position, in beats.
         */
        currentPositionInBeats: TimeInterval;
        /**
         * The current playback position, in seconds.
         */
        currentPositionInSeconds: TimeInterval;
        /**
         * The track that contains tempo information about the sequence.
         */
        tempoTrack: AVMusicTrack;
        /**
         * A dictionary that contains metadata from a sequence.
         */
        userInfo: Record<string, any>;
        /**
         * Creates an audio sequencer object.
         */
        constructor ();
        /**
         * Creates an audio sequencer that the framework attaches to an audio engine instance.
         */
        constructor (engine: AVAudioEngine);
        /**
         * Creates and writes a MIDI file from the events in the sequence.
         */
        write(fileURL: URL, resolution: number, replace: boolean):void;
        /**
         * Creates a new music track and appends it to the sequencer’s list.
         */
        createAndAppendTrack():AVMusicTrack;
        /**
         * Reverses the order of all events in all music tracks, including the tempo track.
         */
        reverseEvents():void;
        /**
         * Removes the music track from the sequencer.
         */
        removeTrack(track: AVMusicTrack):boolean;
        /**
         * Parses the data and adds its events to the sequence.
         */
        load(data: Data, options: AVMusicSequenceLoadOptions):void;
        /**
         * Gets ready to play the sequence by prerolling all events.
         */
        prepareToPlay():void;
        /**
         * Starts the sequencer’s player.
         */
        start():void;
        /**
         * Stops the sequencer’s player.
         */
        stop():void;
        /**
         * Gets the host time the sequence plays at the specified position.
         */
        hostTime(inBeats: AVMusicTimeStamp, outError: NSErrorPointer):UInt64;
        /**
         * Gets the time for the specified beat position (timestamp) in the track, in seconds.
         */
        seconds(beats: AVMusicTimeStamp):TimeInterval;
        /**
         * Gets the beat the system plays at the specified host time.
         */
        beats(inHostTime: UInt64, outError: NSErrorPointer):AVMusicTimeStamp;
        /**
         * Adds a callback that the sequencer calls each time it encounters a user event during playback.
         */
        setUserCallback(userCallback: AVAudioSequencerUserCallback | null):void;
        /**
         * Gets a data object that contains the events from the sequence.
         */
        data(SMPTEResolution: number, outError: NSErrorPointer):Data;
    }
    /**
     * the same name namespace of class AVAudioSequencer
     */
    export namespace AVAudioSequencer {
        export class InfoDictionaryKey {
            /**
             * A key that represents the album.
             */
            static album: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the artist.
             */
            static artist: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the comments.
             */
            static comments: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the composer.
             */
            static composer: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the copyright statement.
             */
            static copyright: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the genre.
             */
            static genre: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the lyricist.
             */
            static lyricist: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the title.
             */
            static title: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the track number.
             */
            static trackNumber: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the subtitle.
             */
            static subTitle: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the year.
             */
            static year: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the approximate duration.
             */
            static approximateDurationInSeconds: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the time signature.
             */
            static timeSignature: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the tempo.
             */
            static tempo: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the date of the recording.
             */
            static recordedDate: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the encoding application.
             */
            static encodingApplication: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the encoder the source uses.
             */
            static sourceEncoder: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the nominal bit rate.
             */
            static nominalBitRate: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the bit depth of the source.
             */
            static sourceBitDepth: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the key signature.
             */
            static keySignature: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the channel layout.
             */
            static channelLayout: AVAudioSequencer.InfoDictionaryKey;
            /**
             * A key that represents the international standard recording code.
             */
            static ISRC: AVAudioSequencer.InfoDictionaryKey;
            /**
             * Creates a new instance with the raw value you specify.
             */
            constructor (rawValue: string);
        }
    }
    export class AVMusicTrack extends NSObject {
        /**
         * A Boolean value that indicates whether the track is in a muted state.
         */
        isMuted: boolean;
        /**
         * A Boolean value that indicates whether the track is in a soloed state.
         */
        isSoloed: boolean;
        /**
         * The offset of the track’s start time, in beats.
         */
        offsetTime: AVMusicTimeStamp;
        /**
         * The time resolution value for the sequence, in ticks (pulses) per quarter note.
         */
        timeResolution: number;
        /**
         * A Boolean value that indicates whether the track is an automation track.
         */
        usesAutomatedParameters: boolean;
        /**
         * The total duration of the track, in beats.
         */
        lengthInBeats: AVMusicTimeStamp;
        /**
         * The total duration of the track, in seconds.
         */
        lengthInSeconds: TimeInterval;
        /**
         * The audio unit that receives the track’s events.
         */
        destinationAudioUnit: AVAudioUnit | null;
        /**
         * The MIDI endpoint you specify as the track’s target.
         */
        destinationMIDIEndpoint: MIDIEndpointRef;
        /**
         * A Boolean value that indicates whether the track is in a looping state.
         */
        isLoopingEnabled: boolean;
        /**
         * The timestamp range for the loop, in beats.
         */
        loopRange: AVBeatRange;
        /**
         * The number of times the track’s loop repeats.
         */
        numberOfLoops: number;
        /**
         * Adds a music event to a track at the time you specify.
         */
        addEvent(event: AVMusicEvent, beat: AVMusicTimeStamp):void;
        /**
         * Moves the beat location of all events in the given beat range by the amount you specify.
         */
        moveEvents(range: AVBeatRange, beatAmount: AVMusicTimeStamp):void;
        /**
         * Removes all events in the given beat range from the music track.
         */
        clearEvents(range: AVBeatRange):void;
        /**
         * Splices all events in the beat range from the music track.
         */
        cutEvents(range: AVBeatRange):void;
        /**
         * Copies the events from the source track and splices them into the current music track.
         */
        copyEvents(range: AVBeatRange, sourceTrack: AVMusicTrack, insertStartBeat: AVMusicTimeStamp):void;
        /**
         * Copies the events from the source track and merges them into the current music track.
         */
        copyAndMergeEvents(range: AVBeatRange, sourceTrack: AVMusicTrack, mergeStartBeat: AVMusicTimeStamp):void;
        /**
         * Iterates through the music events within the track.
         */
        enumerateEvents(range: AVBeatRange, block: ()=>any):void;
    }
    export enum AVMusicTrackLoopCount {
        forever = -1,
    }
    export class AVMusicEvent extends NSObject {}
    export class AVMusicUserEvent extends AVMusicEvent {
        /**
         * The size of the data that the user event represents.
         */
        sizeInBytes: UInt32;
        /**
         * Creates a user event with the data you specify.
         */
        constructor (data: Data);
    }
    export class AVParameterEvent extends AVMusicEvent {
        /**
         * The identifier of the parameter.
         */
        parameterID: UInt32;
        /**
         * The audio unit scope for the parameter.
         */
        scope: UInt32;
        /**
         * The element index in the scope.
         */
        element: UInt32;
        /**
         * The value of the parameter to set.
         */
        value: Float;
        /**
         * Creates an event with a parameter identifier, scope, element, and value for the parameter to set.
         */
        constructor (parameterID: UInt32, scope: UInt32, element: UInt32, value: Float);
    }
    export class AVAUPresetEvent extends AVMusicEvent {
        /**
         * The audio unit scope.
         */
        scope: UInt32;
        /**
         * The element index in the scope.
         */
        element: UInt32;
        /**
         * The dictionary that contains the preset.
         */
        presetDictionary: Record<AnyHashable, any>;
        /**
         * Creates an event with the scope, element, and dictionary for the preset.
         */
        constructor (scope: UInt32, element: UInt32, presetDictionary: Record<AnyHashable, any>);
    }
    export class AVExtendedTempoEvent extends AVMusicEvent {
        /**
         * The tempo in beats per minute as a positive value.
         */
        tempo: number;
        /**
         * Creates an extended tempo event.
         */
        constructor (tempo: number);
    }
    export class AVExtendedNoteOnEvent extends AVMusicEvent {
        /**
         * A constant that represents the default instrument identifier.
         */
        static defaultInstrument: UInt32;
        /**
         * The MIDI note number.
         */
        midiNote: Float;
        /**
         * The MDI velocity.
         */
        velocity: Float;
        /**
         * The instrument identifier.
         */
        instrumentID: UInt32;
        /**
         * The audio unit channel that handles the event.
         */
        groupID: UInt32;
        /**
         * The duration of the event, in beats.
         */
        duration: AVMusicTimeStamp;
        /**
         * Creates an event with a MIDI note, velocity, group identifier, and duration.
         */
        constructor (midiNote: Float, velocity: Float, groupID: UInt32, duration: AVMusicTimeStamp);
        /**
         * Creates a note on event with the default instrument.
         */
        constructor (midiNote: Float, velocity: Float, instrumentID: UInt32, groupID: UInt32, duration: AVMusicTimeStamp);
    }
    export class AVMIDINoteEvent extends AVMusicEvent {
        /**
         * The MIDI channel.
         */
        channel: UInt32;
        /**
         * The MIDI key number.
         */
        key: UInt32;
        /**
         * The MIDI velocity.
         */
        velocity: UInt32;
        /**
         * The duration for the note, in beats.
         */
        duration: AVMusicTimeStamp;
        /**
         * Creates an event with a MIDI channel, key number, velocity, and duration.
         */
        constructor (channel: UInt32, keyNum: UInt32, velocity: UInt32, duration: AVMusicTimeStamp);
    }
    export class AVMIDIMetaEvent extends AVMusicEvent {
        /**
         * The type of meta event.
         */
        type: AVMIDIMetaEvent.EventType;
        /**
         * Creates an event with a MIDI meta event type and data.
         */
        constructor (type: AVMIDIMetaEvent.EventType, data: Data);
    }
    /**
     * the same name namespace of class AVMIDIMetaEvent
     */
    export namespace AVMIDIMetaEvent {
        export enum EventType {
            copyright = 2,
            cuePoint = 7,
            endOfTrack = 47,
            instrument = 4,
            keySignature = 89,
            lyric = 5,
            marker = 6,
            midiChannel = 32,
            midiPort = 33,
            proprietaryEvent = 127,
            sequenceNumber = 0,
            smpteOffset = 84,
            tempo = 81,
            text = 1,
            timeSignature = 88,
            trackName = 3,
        }
    }
    export class AVAudioSessionActivationOptions {
        /**
         * Creates a new instance with the raw value you specify.
         */
        constructor (rawValue: number);
    }
    export class AVMIDISysexEvent extends AVMusicEvent {
        /**
         * The size of the data that this event contains.
         */
        sizeInBytes: UInt32;
        /**
         * Creates a system event with the data you specify.
         */
        constructor (data: Data);
    }
    export class AVMIDIChannelEvent extends AVMusicEvent {
        /**
         * The MIDI channel.
         */
        channel: UInt32;
    }
    export class AVMIDIChannelPressureEvent extends AVMIDIChannelEvent {
        /**
         * The MIDI channel pressure.
         */
        pressure: UInt32;
        /**
         * Creates a pressure event with a channel and pressure value.
         */
        constructor (channel: UInt32, pressure: UInt32);
    }
    export class AVMIDIProgramChangeEvent extends AVMIDIChannelEvent {
        /**
         * The MIDI program number.
         */
        programNumber: UInt32;
        /**
         * Creates a program change event with a channel and program number.
         */
        constructor (channel: UInt32, programNumber: UInt32);
    }
    export class AVMIDIPolyPressureEvent extends AVMIDIChannelEvent {
        /**
         * The MIDI key number.
         */
        key: UInt32;
        /**
         * The poly pressure value for the requested key.
         */
        pressure: UInt32;
        /**
         * Creates an event with a channel, MIDI key number, and a key pressure value.
         */
        constructor (channel: UInt32, key: UInt32, pressure: UInt32);
    }
    export class AVMIDIPitchBendEvent extends AVMIDIChannelEvent {
        /**
         * The value of the pitch bend event.
         */
        value: UInt32;
        /**
         * Creates an event with a channel and pitch bend value.
         */
        constructor (channel: UInt32, value: UInt32);
    }
    export class AVMIDIControlChangeEvent extends AVMIDIChannelEvent {
        /**
         * The value of the control change event.
         */
        value: UInt32;
        /**
         * The type of control change message.
         */
        messageType: AVMIDIControlChangeEvent.MessageType;
        /**
         * Creates an event with a channel, control change type, and a value.
         */
        constructor (channel: UInt32, messageType: AVMIDIControlChangeEvent.MessageType, value: UInt32);
    }
    /**
     * the same name namespace of class AVMIDIControlChangeEvent
     */
    export namespace AVMIDIControlChangeEvent {
        export enum MessageType {
            bankSelect = 0,
            modWheel = 1,
            breath = 2,
            foot = 4,
            portamentoTime = 5,
            dataEntry = 6,
            volume = 7,
            balance = 8,
            pan = 10,
            expression = 11,
            sustain = 64,
            portamento = 65,
            sostenuto = 66,
            soft = 67,
            legatoPedal = 68,
            hold2Pedal = 69,
            filterResonance = 71,
            releaseTime = 72,
            attackTime = 73,
            brightness = 74,
            decayTime = 75,
            vibratoRate = 76,
            vibratoDepth = 77,
            vibratoDelay = 78,
            reverbLevel = 91,
            chorusLevel = 93,
            RPN_LSB = 100,
            RPN_MSB = 101,
            allSoundOff = 120,
            resetAllControllers = 121,
            allNotesOff = 123,
            omniModeOff = 124,
            omniModeOn = 125,
            monoModeOn = 126,
            monoModeOff = 127,
        }
    }
    export class AVMusicSequenceLoadOptions {
        /**
         * An option that represents data on different MIDI channels mapped to multiple tracks.
         */
        static smf_ChannelsToTracks: AVMusicSequenceLoadOptions;
        /**
         * Creates a new instance with the raw value you specify.
         */
        constructor (rawValue: number);
    }
    export class AVAudioUnitSampler extends AVAudioUnitMIDIInstrument {
        /**
         * An adjustment for the tuning of all the played notes.
         */
        globalTuning: Float;
        /**
         * An adjustment for the gain of all the played notes, in decibels.
         */
        overallGain: Float;
        /**
         * An adjustment for the stereo panning of all the played notes.
         */
        stereoPan: Float;
        /**
         * An adjustment for the gain of all the played notes, in decibels.
         */
        masterGain: Float;
        /**
         * Configures the sampler with the specified instrument file.
         */
        loadInstrument(instrumentURL: URL):void;
        /**
         * Configures the sampler by loading the specified audio files.
         */
        loadAudioFiles(audioFiles: URL[]):void;
        /**
         * Loads a specific instrument from the specified soundbank.
         */
        loadSoundBankInstrument(bankURL: URL, program: UInt8, bankMSB: UInt8, bankLSB: UInt8):void;
    }
    export class AVAudioMixerNode extends AVAudioNode {
        /**
         * The mixer’s output volume.
         */
        outputVolume: Float;
        /**
         * An audio bus that isn’t in a connected state.
         */
        nextAvailableInputBus: AVAudioNodeBus;
        /**
         * Creates an audio mixer node.
         */
        constructor ();
    }
    export interface AVAudioMixing extends AVAudio3DMixing,AVAudioStereoMixing {
        /**
         * Gets the audio mixing destination object that corresponds to the specified mixer node and input bus.
         */
        destination(mixer: AVAudioNode, bus: AVAudioNodeBus):AVAudioMixingDestination | null;
        /**
         * The bus’s input volume.
         */
        volume: Float;
    }
    export interface AVAudioStereoMixing extends NSObjectProtocol {
        /**
         * The bus’s stereo pan.
         */
        pan: Float;
    }
    export interface AVAudio3DMixing extends NSObjectProtocol {
        /**
         * A value that simulates filtering of the direct path of sound due to an obstacle.
         */
        obstruction: Float;
        /**
         * A value that simulates filtering of the direct and reverb paths of sound due to an obstacle.
         */
        occlusion: Float;
        /**
         * The location of the source in the 3D environment.
         */
        position: AVAudio3DPoint;
        /**
         * A value that changes the playback rate of the input signal.
         */
        rate: Float;
        /**
         * The in-head mode for a point source.
         */
        pointSourceInHeadMode: AVAudio3DMixingPointSourceInHeadMode;
        /**
         * A value that controls the blend of dry and reverb processed audio.
         */
        reverbBlend: Float;
        /**
         * The source mode for the input bus of the audio environment node.
         */
        sourceMode: AVAudio3DMixingSourceMode;
        /**
         * The type of rendering algorithm the mixer uses.
         */
        renderingAlgorithm: AVAudio3DMixingRenderingAlgorithm;
    }
    export class AVAudioMixingDestination extends NSObject {
        /**
         * The underlying mixer connection point.
         */
        connectionPoint: AVAudioConnectionPoint;
    }
    export class AVAudioUnit extends AVAudioNode {
        /**
         * The underlying Core Audio audio unit.
         */
        audioUnit: AudioUnit;
        /**
         * The audio component description that represents the underlying Core Audio audio unit.
         */
        audioComponentDescription: AudioComponentDescription;
        /**
         * The name of the manufacturer of the audio unit.
         */
        manufacturerName: string;
        /**
         * The name of the audio unit.
         */
        name: string;
        /**
         * The version number of the audio unit.
         */
        version: number;
        /**
         * The audio unit class wrapping or underlying the implementation’s audio unit.
         */
        auAudioUnit: AUAudioUnit;
        /**
         * Creates an instance of an audio unit component asynchronously and wraps it in an audio unit class.
         */
        static instantiate(audioComponentDescription: AudioComponentDescription, options: AudioComponentInstantiationOptions, completionHandler: ()=>any):void;
        /**
         * Loads an audio unit using a specified preset.
         */
        loadPreset(url: URL):void;
    }
    export class AVAudioUnitComponent extends NSObject {
        /**
         * The underlying audio component.
         */
        audioComponent: AudioComponent;
        /**
         * The audio component description.
         */
        audioComponentDescription: AudioComponentDescription;
        /**
         * An array of architectures that the audio unit supports.
         */
        availableArchitectures: NSNumber[];
        /**
         * The audio unit component’s configuration dictionary.
         */
        configurationDictionary: Record<string, any>;
        /**
         * A Boolean value that indicates whether the audio unit component has a custom view.
         */
        hasCustomView: boolean;
        /**
         * A Boolean value that indicates whether the audio unit component has MIDI input.
         */
        hasMIDIInput: boolean;
        /**
         * A Boolean value that indicates whether the audio unit component has MIDI output.
         */
        hasMIDIOutput: boolean;
        /**
         * The name of the manufacturer of the audio unit component.
         */
        manufacturerName: string;
        /**
         * The name of the audio unit component.
         */
        name: string;
        /**
         * A Boolean value that indicates whether the audio unit component passes the validation tests.
         */
        passesAUVal: boolean;
        /**
         * A Boolean value that indicates whether the audio unit component is safe for sandboxing.
         */
        isSandboxSafe: boolean;
        /**
         * The audio unit component type.
         */
        typeName: string;
        /**
         * The audio unit component version number.
         */
        version: number;
        /**
         * A string that represents the audio unit component version number.
         */
        versionString: string;
        /**
         * The URL of the audio unit component.
         */
        componentURL: URL | null;
        /**
         * The URL of an icon that represents the audio unit component.
         */
        iconURL: URL | null;
        /**
         * An icon that represents the component.
         */
        icon: UIImage | null;
        /**
         * The localized type name of the component.
         */
        localizedTypeName: string;
        /**
         * An array of tag names for the audio unit component.
         */
        allTagNames: string[];
        /**
         * An array of tags the user creates.
         */
        userTagNames: string[];
        /**
         * Gets a Boolean value that indicates whether the audio unit component supports the specified number of input and output channels.
         */
        supportsNumberInputChannels(numInputChannels: number, numOutputChannels: number):boolean;
    }
    export class AVAudioUnitComponentManager extends NSObject {
        /**
         * A notification the component manager generates when it updates its list of components.
         */
        static registrationsChangedNotification: NSNotification.Name;
        /**
         * An array of the localized standard system tags the audio units define.
         */
        standardLocalizedTagNames: string[];
        /**
         * An array of all tags the audio unit associates with the current user, and the system tags the audio units define.
         */
        tagNames: string[];
        /**
         * Gets the shared component manager instance.
         */
        static shared():Self;
        /**
         * Gets an array of audio component objects that match the description.
         */
        components(desc: AudioComponentDescription):AVAudioUnitComponent[];
    }
    export class AVAudioUnitEffect extends AVAudioUnit {
        /**
         * The bypass state of the audio unit.
         */
        bypass: boolean;
        /**
         * Creates an audio unit effect object with the specified description.
         */
        constructor (audioComponentDescription: AudioComponentDescription);
    }
    export class AVAudioUnitEQ extends AVAudioUnitEffect {
        /**
         * An array of equalizer filter parameters.
         */
        bands: AVAudioUnitEQFilterParameters[];
        /**
         * The overall gain adjustment that the audio unit applies to the signal, in decibels.
         */
        globalGain: Float;
        /**
         * Creates an audio unit equalizer object with the specified number of bands.
         */
        constructor (numberOfBands: number);
    }
    export class AVAudioUnitEQFilterParameters extends NSObject {
        /**
         * The bandwidth of the equalizer filter, in octaves.
         */
        bandwidth: Float;
        /**
         * The bypass state of the equalizer filter band.
         */
        bypass: boolean;
        /**
         * The equalizer filter type.
         */
        filterType: AVAudioUnitEQFilterType;
        /**
         * The frequency of the equalizer filter, in hertz.
         */
        frequency: Float;
        /**
         * The gain of the equalizer filter, in decibels.
         */
        gain: Float;
    }
    export enum AVAudioUnitEQFilterType {
        parametric = 0,
        lowPass = 1,
        highPass = 2,
        resonantLowPass = 3,
        resonantHighPass = 4,
        bandPass = 5,
        bandStop = 6,
        lowShelf = 7,
        highShelf = 8,
        resonantLowShelf = 9,
        resonantHighShelf = 10,
    }
    export class AVAudioUnitDistortion extends AVAudioUnitEffect {
        /**
         * The gain that the audio unit applies to the signal before distortion, in decibels.
         */
        preGain: Float;
        /**
         * The blend of the distorted and dry signals.
         */
        wetDryMix: Float;
        /**
         * Configures the audio distortion unit by loading a distortion preset.
         */
        loadFactoryPreset(preset: AVAudioUnitDistortionPreset):void;
    }
    export enum AVAudioUnitDistortionPreset {
        drumsBitBrush = 0,
        drumsBufferBeats = 1,
        drumsLoFi = 2,
        multiBrokenSpeaker = 3,
        multiCellphoneConcert = 4,
        multiDecimated1 = 5,
        multiDecimated2 = 6,
        multiDecimated3 = 7,
        multiDecimated4 = 8,
        multiDistortedFunk = 9,
        multiDistortedCubed = 10,
        multiDistortedSquared = 11,
        multiEcho1 = 12,
        multiEcho2 = 13,
        multiEchoTight1 = 14,
        multiEchoTight2 = 15,
        multiEverythingIsBroken = 16,
        speechAlienChatter = 17,
        speechCosmicInterference = 18,
        speechGoldenPi = 19,
        speechRadioTower = 20,
        speechWaves = 21,
    }
    export class AVAudioUnitDelay extends AVAudioUnitEffect {
        /**
         * The time for the input signal to reach the output.
         */
        delayTime: TimeInterval;
        /**
         * The amount of the output signal that feeds back into the delay line.
         */
        feedback: Float;
        /**
         * The cutoff frequency above which high frequency content rolls off, in hertz.
         */
        lowPassCutoff: Float;
        /**
         * The blend of the wet and dry signals.
         */
        wetDryMix: Float;
    }
    export class AVAudioUnitReverb extends AVAudioUnitEffect {
        /**
         * The blend of the wet and dry signals.
         */
        wetDryMix: Float;
        /**
         * Configures the audio unit as a reverb preset.
         */
        loadFactoryPreset(preset: AVAudioUnitReverbPreset):void;
    }
    export enum AVAudioUnitReverbPreset {
        smallRoom = 0,
        mediumRoom = 1,
        largeRoom = 2,
        mediumHall = 3,
        largeHall = 4,
        plate = 5,
        mediumChamber = 6,
        largeChamber = 7,
        cathedral = 8,
        largeRoom2 = 9,
        mediumHall2 = 10,
        mediumHall3 = 11,
        largeHall2 = 12,
    }
    export class AVAudioUnitTimeEffect extends AVAudioUnit {
        /**
         * The bypass state of the audio unit.
         */
        bypass: boolean;
        /**
         * Creates a time effect audio unit with the specified description.
         */
        constructor (audioComponentDescription: AudioComponentDescription);
    }
    export class AVAudioUnitTimePitch extends AVAudioUnitTimeEffect {
        /**
         * The amount of overlap between segments of the input audio signal.
         */
        overlap: Float;
        /**
         * The amount to use to pitch shift the input signal.
         */
        pitch: Float;
        /**
         * The playback rate of the input signal.
         */
        rate: Float;
    }
    export class AVAudioUnitVarispeed extends AVAudioUnitTimeEffect {
        /**
         * The audio playback rate.
         */
        rate: Float;
    }
    export class AVAudioUnitGenerator extends AVAudioUnit {
        /**
         * The bypass state of the audio unit.
         */
        bypass: boolean;
        /**
         * Creates a generator audio unit with the specified description.
         */
        constructor (audioComponentDescription: AudioComponentDescription);
    }
    export class AVSpeechSynthesisProviderAudioUnit extends AUAudioUnit {
        /**
         * A block the system uses to provide metadata for a speech request.
         */
        speechSynthesisOutputMetadataBlock: AVSpeechSynthesisProviderOutputBlock | null;
        /**
         * Returns the voices that are ready for synthesis.
         */
        speechVoices: AVSpeechSynthesisProviderVoice[];
        /**
         * Sends a new speech request to the system for synthesis.
         */
        synthesizeSpeechRequest(speechRequest: AVSpeechSynthesisProviderRequest):void;
        /**
         * Informs the audio unit to discard the speech request.
         */
        cancelSpeechRequest():void;
    }
    export class AVSpeechSynthesisProviderRequest extends NSObject {
        /**
         * The description of the text to synthesize.
         */
        ssmlRepresentation: string;
        /**
         * The voice to use in the speech request.
         */
        voice: AVSpeechSynthesisProviderVoice;
        /**
         * Creates a request with a voice and a description.
         */
        constructor (text: string, voice: AVSpeechSynthesisProviderVoice);
    }
    export class AVSpeechSynthesisProviderVoice extends NSObject {
        /**
         * The age of the voice, in years.
         */
        age: number;
        /**
         * The gender of the voice.
         */
        gender: AVSpeechSynthesisVoiceGender;
        /**
         * The unique identifier for the voice.
         */
        identifier: string;
        /**
         * The localized name of the voice.
         */
        name: string;
        /**
         * A list of BCP 47 codes that identify the languages the synthesizer uses.
         */
        primaryLanguages: string[];
        /**
         * A list of BCP 47 codes that identify the languages a voice supports.
         */
        supportedLanguages: string[];
        /**
         * The version of the voice.
         */
        version: string;
        /**
         * The size of the voice package on disk, in bytes.
         */
        voiceSize: Int64;
        /**
         * Creates a voice with a name, an identifier, and language information.
         */
        constructor (name: string, identifier: string, primaryLanguages: string[], supportedLanguages: string[]);
        /**
         * Updates the voices your app provides to the system.
         */
        static updateSpeechVoices():void;
    }
    export enum AVSpeechSynthesisVoiceGender {
        unspecified = 0,
        male = 1,
        female = 2,
    }
    export class AVSpeechSynthesisMarker extends NSObject {
        /**
         * The type that describes the text.
         */
        mark: AVSpeechSynthesisMarker.Mark;
        /**
         * The location and length of the request’s text.
         */
        textRange: NSRange;
        /**
         * The byte offset into the audio buffer.
         */
        byteSampleOffset: number;
        /**
         * Creates a marker with a type and location of the request’s text.
         */
        constructor (type: AVSpeechSynthesisMarker.Mark, range: NSRange, byteSampleOffset: number);
    }
    /**
     * the same name namespace of class AVSpeechSynthesisMarker
     */
    export namespace AVSpeechSynthesisMarker {
        export enum Mark {
            paragraph = 3,
            phoneme = 0,
            sentence = 2,
            word = 1,
        }
    }
    export class AVAudioUnitMIDIInstrument extends AVAudioUnit {
        /**
         * Creates a MIDI instrument audio unit with the component description you specify.
         */
        constructor (description: AudioComponentDescription);
        /**
         * Sends a MIDI controller event to the instrument.
         */
        sendController(controller: UInt8, value: UInt8, channel: UInt8):void;
        /**
         * Sends a MIDI event which contains one data byte to the instrument.
         */
        sendMIDIEvent(midiStatus: UInt8, data1: UInt8):void;
        /**
         * Sends a MIDI System Exclusive event to the instrument.
         */
        sendMIDISysExEvent(midiData: Data):void;
        /**
         * Sends a MIDI Pitch Bend event to the instrument.
         */
        sendPitchBend(pitchbend: UInt16, channel: UInt8):void;
        /**
         * Sends a MIDI channel pressure event to the instrument.
         */
        sendPressure(pressure: UInt8, channel: UInt8):void;
        /**
         * Sends MIDI Program Change and Bank Select events to the instrument.
         */
        sendProgramChange(program: UInt8, channel: UInt8):void;
        /**
         * Sends a MIDI event list to the instrument.
         */
        send(eventList: UnsafePointer<MIDIEventList>):void;
        /**
         * Sends a MIDI Note On event to the instrument.
         */
        startNote(note: UInt8, velocity: UInt8, channel: UInt8):void;
        /**
         * Sends a MIDI Note Off event to the instrument.
         */
        stopNote(note: UInt8, channel: UInt8):void;
    }
    export class AVAudioSourceNode extends AVAudioNode {
        /**
         * Creates an audio source node with a block that supplies audio data.
         */
        constructor (block: AVAudioSourceNodeRenderBlock);
        /**
         * Creates an audio source node with the audio format and a block that supplies audio data.
         */
        constructor (format: AVAudioFormat, block: AVAudioSourceNodeRenderBlock);
    }
    export class AVAudioSinkNode extends AVAudioNode {
        /**
         * Creates an audio sink node with a block that receives audio data.
         */
        constructor (block: AVAudioSinkNodeReceiverBlock);
    }
    export class AVAudioConverter extends NSObject {
        /**
         * An array of integers that indicates which input to derive each output from.
         */
        channelMap: NSNumber[];
        /**
         * A Boolean value that indicates whether dither is on.
         */
        dither: boolean;
        /**
         * A Boolean value that indicates whether the framework mixes the channels instead of remapping.
         */
        downmix: boolean;
        /**
         * The format of the input audio stream.
         */
        inputFormat: AVAudioFormat;
        /**
         * The format of the output audio stream.
         */
        outputFormat: AVAudioFormat;
        /**
         * An object that contains metadata for encoders and decoders.
         */
        magicCookie: Data | null;
        /**
         * The maximum size of an output packet, in bytes.
         */
        maximumOutputPacketSize: number;
        /**
         * An array of bit rates the framework applies during encoding according to the current formats and settings.
         */
        applicableEncodeBitRates: NSNumber[] | null;
        /**
         * An array of all bit rates the codec provides when encoding.
         */
        availableEncodeBitRates: NSNumber[] | null;
        /**
         * An array of all output channel layout tags the codec provides when encoding.
         */
        availableEncodeChannelLayoutTags: NSNumber[] | null;
        /**
         * The bit rate, in bits per second.
         */
        bitRate: number;
        /**
         * A key value constant the framework uses during encoding.
         */
        bitRateStrategy: string;
        /**
         * A sample rate converter algorithm key value.
         */
        sampleRateConverterQuality: number;
        /**
         * The priming method the sample rate converter or decoder uses.
         */
        sampleRateConverterAlgorithm: string;
        /**
         * An array of output sample rates that the converter applies according to the current formats and settings, when encoding.
         */
        applicableEncodeSampleRates: NSNumber[] | null;
        /**
         * An array of all output sample rates the codec provides when encoding.
         */
        availableEncodeSampleRates: NSNumber[] | null;
        /**
         * The number of priming frames the converter uses.
         */
        primeInfo: AVAudioConverterPrimeInfo;
        /**
         * The priming method the sample rate converter or decoder uses.
         */
        primeMethod: AVAudioConverterPrimeMethod;
        /**
         * Creates an audio converter object from the specified input and output formats.
         */
        constructor (fromFormat: AVAudioFormat, toFormat: AVAudioFormat);
        /**
         * Performs a conversion between audio formats, if the system supports it.
         */
        convert(outputBuffer: AVAudioBuffer, outError: NSErrorPointer, inputBlock: AVAudioConverterInputBlock):AVAudioConverterOutputStatus;
        /**
         * Resets the converter so you can convert a new audio stream.
         */
        reset():void;
    }
    export enum AVAudioConverterInputStatus {
        endOfStream = 2,
        haveData = 0,
        noDataNow = 1,
    }
    export enum AVAudioConverterOutputStatus {
        haveData = 0,
        inputRanDry = 1,
        endOfStream = 2,
        error = 3,
    }
    export class AVAudioConverterPrimeInfo {
        /**
         * The number of leading (previous) input frames the converter requires to perform a high-quality conversion.
         */
        leadingFrames: AVAudioFrameCount;
        /**
         * The number of trailing input frames, past the end input frame, the converter requires to perform a high-quality conversion.
         */
        trailingFrames: AVAudioFrameCount;
        /**
         * Creates a priming information instance.
         */
        constructor ();
        /**
         * Creates a priming information instance with the specified leading and trailing frames.
         */
        constructor (leadingFrames: AVAudioFrameCount, trailingFrames: AVAudioFrameCount);
    }
    export enum AVAudioConverterPrimeMethod {
        pre = 0,
        normal = 1,
        none = 2,
    }
    export class AVAudioEnvironmentNode extends AVAudioNode {
        /**
         * The listener’s position in the 3D environment.
         */
        listenerPosition: AVAudio3DPoint;
        /**
         * The listener’s angular orientation in the environment.
         */
        listenerAngularOrientation: AVAudio3DAngularOrientation;
        /**
         * The listener’s vector orientation in the environment.
         */
        listenerVectorOrientation: AVAudio3DVectorOrientation;
        /**
         * The distance attenuation parameters for the environment.
         */
        distanceAttenuationParameters: AVAudioEnvironmentDistanceAttenuationParameters;
        /**
         * The reverb parameters for the environment.
         */
        reverbParameters: AVAudioEnvironmentReverbParameters;
        /**
         * The mixer’s output volume.
         */
        outputVolume: Float;
        /**
         * The type of output hardware.
         */
        outputType: AVAudioEnvironmentOutputType;
        /**
         * An array of rendering algorithms applicable to the environment node.
         */
        applicableRenderingAlgorithms: NSNumber[];
        /**
         * An unused input bus.
         */
        nextAvailableInputBus: AVAudioNodeBus;
        /**
         * Creates a new environment node object.
         */
        constructor ();
    }
    export class AVAudioEnvironmentDistanceAttenuationParameters extends NSObject {
        /**
         * The distance attenuation model that describes the drop-off in gain as the source moves away from the listener.
         */
        distanceAttenuationModel: AVAudioEnvironmentDistanceAttenuationModel;
        /**
         * The distance beyond which the node applies no further attenuation, in meters.
         */
        maximumDistance: Float;
        /**
         * The minimum distance at which the node applies attenuation, in meters.
         */
        referenceDistance: Float;
        /**
         * A factor that determines the attenuation curve.
         */
        rolloffFactor: Float;
    }
    export enum AVAudioEnvironmentDistanceAttenuationModel {
        exponential = 1,
        inverse = 2,
        linear = 3,
    }
    export class AVAudioEnvironmentReverbParameters extends NSObject {
        /**
         * A Boolean value that indicates whether reverberation is in an enabled state.
         */
        enable: boolean;
        /**
         * Controls the amount of reverb, in decibels.
         */
        level: Float;
        /**
         * A filter that the system applies to the output.
         */
        filterParameters: AVAudioUnitEQFilterParameters;
        /**
         * Loads one of the reverbs factory presets.
         */
        loadFactoryReverbPreset(preset: AVAudioUnitReverbPreset):void;
    }
    export class AVSpeechUtterance extends NSObject {
        /**
         * The voice the speech synthesizer uses when speaking the utterance.
         */
        voice: AVSpeechSynthesisVoice | null;
        /**
         * The baseline pitch the speech synthesizer uses when speaking the utterance.
         */
        pitchMultiplier: Float;
        /**
         * The volume the speech synthesizer uses when speaking the utterance.
         */
        volume: Float;
        /**
         * A Boolean that specifies whether assistive technology settings take precedence over the property values of this utterance.
         */
        prefersAssistiveTechnologySettings: boolean;
        /**
         * The rate the speech synthesizer uses when speaking the utterance.
         */
        rate: Float;
        /**
         * The amount of time the speech synthesizer pauses before speaking the utterance.
         */
        preUtteranceDelay: TimeInterval;
        /**
         * The amount of time the speech synthesizer pauses after speaking an utterance before handling the next utterance in the queue.
         */
        postUtteranceDelay: TimeInterval;
        /**
         * A string that contains the text for speech synthesis.
         */
        speechString: string;
        /**
         * An attributed string that contains the text for speech synthesis.
         */
        attributedSpeechString: NSAttributedString;
        /**
         * Creates an utterance with the text string that you specify for the speech synthesizer to speak.
         */
        constructor (_string: string);
        /**
         * Creates an utterance with the attributed text string that you specify for the speech synthesizer to speak.
         */
        constructor (_string: NSAttributedString);
        /**
         * Creates a speech utterance with an Speech Synthesis Markup Language (SSML) string.
         */
        constructor (_string: string);
    }
    export class AVSpeechSynthesisVoice extends NSObject {
        /**
         * The unique identifier of a voice.
         */
        identifier: string;
        /**
         * The name of a voice.
         */
        name: string;
        /**
         * The speech quality of a voice.
         */
        quality: AVSpeechSynthesisVoiceQuality;
        /**
         * The gender for a voice.
         */
        gender: AVSpeechSynthesisVoiceGender;
        /**
         * A dictionary that contains audio file settings.
         */
        audioFileSettings: Record<string, any>;
        /**
         * A BCP 47 code that contains the voice’s language and locale.
         */
        language: string;
        /**
         * Retrieves a voice for the identifier you specify.
         */
        constructor (identifier: string);
        /**
         * Retrieves a voice for the BCP 47 code language code you specify.
         */
        constructor (languageCode: string);
        /**
         * Retrieves all available voices on the device.
         */
        static speechVoices():AVSpeechSynthesisVoice[];
        /**
         * Returns the language and locale code for the user’s current locale.
         */
        static currentLanguageCode():string;
    }
    export enum AVSpeechSynthesisVoiceQuality {
        default = 1,
        enhanced = 2,
        premium = 3,
    }
    export class AVSpeechSynthesizer extends NSObject {
        /**
         * A Boolean value that indicates whether the speech synthesizer is speaking or is in a paused state and has utterances to speak.
         */
        isSpeaking: boolean;
        /**
         * A Boolean value that indicates whether a speech synthesizer is in a paused state.
         */
        isPaused: boolean;
        /**
         * The delegate object for the speech synthesizer.
         */
        delegate: AVSpeechSynthesizerDelegate | null;
        /**
         * A Boolean value that specifies whether the app manages the audio session.
         */
        usesApplicationAudioSession: boolean;
        /**
         * A Boolean value that specifies whether to send synthesized speech to an active call.
         */
        mixToTelephonyUplink: boolean;
        /**
         * An array of audio session channels to route generated speech.
         */
        outputChannels: AVAudioSessionChannelDescription[] | null;
        /**
         * Adds the utterance you specify to the speech synthesizer’s queue.
         */
        speak(utterance: AVSpeechUtterance):void;
        /**
         * Resumes speech from its paused point.
         */
        continueSpeaking():boolean;
        /**
         * Pauses speech at the boundary you specify.
         */
        pauseSpeaking(boundary: AVSpeechBoundary):boolean;
        /**
         * Stops speech at the boundary you specify.
         */
        stopSpeaking(boundary: AVSpeechBoundary):boolean;
        /**
         * Generates speech for the utterance and invokes the callback with the audio buffer.
         */
        write(utterance: AVSpeechUtterance, bufferCallback: AVSpeechSynthesizer.BufferCallback):void;
    }
    export enum AVSpeechBoundary {
        immediate = 0,
        word = 1,
    }
    export interface AVSpeechSynthesizerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the synthesizer begins speaking an utterance.
         */
        speechSynthesizer(synthesizer: AVSpeechSynthesizer, utterance: AVSpeechUtterance):void;
    }
}

/**
 * Create user interfaces for media playback, complete with transport controls, chapter navigation, picture-in-picture support, and display of subtitles and closed captions.
 */
declare module AVKit {
    export class AVPlayerViewController extends UIViewController {
        /**
         * A Boolean value that indicates whether the player user interface shows the title view above the scrubber.
         */
        transportBarIncludesTitleView: boolean;
        /**
         * A Boolean value that indicates whether the player allows Picture in Picture playback.
         */
        allowsPictureInPicturePlayback: boolean;
        /**
         * A Boolean value that indicates whether Picture in Picture starts automatically when transitioning to the background when the view controller presents its content inline.
         */
        canStartPictureInPictureAutomaticallyFromInline: boolean;
        /**
         * A Boolean value that determines whether the player automatically displays in full screen when the user taps the play button.
         */
        entersFullScreenWhenPlaybackBegins: boolean;
        /**
         * A Boolean value that indicates whether the player exits full-screen mode when playback ends.
         */
        exitsFullScreenWhenPlaybackEnds: boolean;
        /**
         * An array of language codes that restrict the set of subtitle languages available to the user.
         */
        allowedSubtitleOptionLanguages: string[] | null;
        /**
         * An array of actions and menus to display with the default player controls.
         */
        transportBarCustomMenuItems: UIMenuElement[];
        /**
         * A Boolean value that indicates whether the user can disable the display of subtitles.
         */
        requiresFullSubtitles: boolean;
        /**
         * A Boolean value that determines whether the player allows the user to skip media content.
         */
        requiresLinearPlayback: boolean;
        /**
         * A Boolean value that indicates whether forward-skipping is available.
         */
        isSkipForwardEnabled: boolean;
        /**
         * A Boolean value that indicates whether backward-skipping is available.
         */
        isSkipBackwardEnabled: boolean;
        /**
         * The behavior that skipping gestures perform.
         */
        skippingBehavior: AVPlayerViewControllerSkippingBehavior;
        /**
         * A Boolean value that indicates whether the player item’s first video frame is ready for display.
         */
        isReadyForDisplay: boolean;
        /**
         * A Boolean value that indicates whether the view controller updates Now Playing information.
         */
        updatesNowPlayingInfoCenter: boolean;
        /**
         * An array of view controllers to display as content tabs in the player user interface.
         */
        customInfoViewControllers: UIViewController[];
        /**
         * The view controller responsible for the presentation of content proposals.
         */
        contentProposalViewController: AVContentProposalViewController!;
        /**
         * The player object that provides the media content for the view controller to display.
         */
        player: AVPlayer | null;
        /**
         * The delegate object for the player view controller.
         */
        delegate: AVPlayerViewControllerDelegate | null;
        /**
         * The pixel buffer attributes of the video frames the view controller presents.
         */
        pixelBufferAttributes: Record<string, any> | null;
        /**
         * An array of actions to present in the Info content view.
         */
        infoViewActions: UIAction[];
        /**
         * An array of action controls to present contextually during playback.
         */
        contextualActions: UIAction[];
        /**
         * A view controller that presents custom content over the player view.
         */
        customOverlayViewController: UIViewController | null;
        /**
         * A layout guide that represents an area that fixed-position playback controls don’t obscure when visible.
         */
        unobscuredContentGuide: UILayoutGuide;
        /**
         * A view controller that provides client-specific content and controls alongside system-provided information and settings panels.
         */
        customInfoViewController: UIViewController | null;
        /**
         * A Boolean value that indicates whether to perform video frame analysis.
         */
        allowsVideoFrameAnalysis: boolean;
        /**
         * A list of user-selectable playback speeds to show in the playback speed control.
         */
        speeds: AVPlaybackSpeed[];
        /**
         * A Boolean value that indicates whether the player view controller shows playback controls.
         */
        showsPlaybackControls: boolean;
        /**
         * The currently selected playback speed.
         */
        selectedSpeed: AVPlaybackSpeed | null;
        /**
         * A view that displays between the video content and the playback controls.
         */
        contentOverlayView: UIView | null;
        /**
         * A string that specifies how the video displays within the bounds of the view controller’s view.
         */
        videoGravity: AVLayerVideoGravity;
        /**
         * The size and position of the video image within the bounds of the view controller’s view.
         */
        videoBounds: CGRect;
        /**
         * A Boolean value that determines whether the player view displays timecodes, if available.
         */
        showsTimecodes: boolean;
        /**
         * A Boolean value that indicates whether the view controller automatically sets the screen’s display criteria to match that of the currently playing asset.
         */
        appliesPreferredDisplayCriteriaAutomatically: boolean;
        /**
         * A Boolean value that indicates whether the player shows the transport bar and related controls.
         */
        playbackControlsIncludeTransportBar: boolean;
        /**
         * A Boolean value that indicates whether the player presents video metadata, navigation markers, and playback settings views when the user requests them.
         */
        playbackControlsIncludeInfoViews: boolean;
        /**
         * Selects a specified playback speed.
         */
        selectSpeed(speed: AVPlaybackSpeed):void;
    }
    export class AVPlaybackSpeed extends NSObject {
        /**
         * A list of playback speeds the system uses by default.
         */
        static systemDefaultSpeeds: AVPlaybackSpeed[];
        /**
         * The playback rate to use when you select this speed.
         */
        rate: Float;
        /**
         * A localized name for a speed that’s suitable for display in a user interface.
         */
        localizedName: string;
        /**
         * A localized numeric name for a speed that’s suitable for display in a user interface.
         */
        localizedNumericName: string;
        /**
         * Creates a playback speed with a rate and localized name.
         */
        constructor (rate: Float, localizedName: string);
    }
    export enum AVPlayerViewControllerSkippingBehavior {
        default = 0,
        skipItem = 1,
    }
    export interface AVPlayerViewControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate object whether the player view controller dismisses itself upon request.
         */
        playerViewControllerShouldDismiss(playerViewController: AVPlayerViewController):boolean;
        /**
         * Tells the delegate when the player view controller is about to start its dismissal transition.
         */
        playerViewControllerWillBeginDismissalTransition(playerViewController: AVPlayerViewController):void;
        /**
         * Tells the delegate when the player view controller ends its dismissal transition.
         */
        playerViewControllerDidEndDismissalTransition(playerViewController: AVPlayerViewController):void;
        /**
         * Asks the delegate whether the player view controller automatically dismisses itself when Picture in Picture starts.
         */
        playerViewControllerShouldAutomaticallyDismissAtPictureInPictureStart(playerViewController: AVPlayerViewController):boolean;
        /**
         * Tells the delegate when Picture in Picture is about to start.
         */
        playerViewControllerWillStartPictureInPicture(playerViewController: AVPlayerViewController):void;
        /**
         * Tells the delegate when Picture in Picture starts.
         */
        playerViewControllerDidStartPictureInPicture(playerViewController: AVPlayerViewController):void;
        /**
         * Tells the delegate when Picture in Picture fails to start.
         */
        playerViewController(playerViewController: AVPlayerViewController, error: Error):void;
        /**
         * Tells the delegate when Picture in Picture is about to stop.
         */
        playerViewControllerWillStopPictureInPicture(playerViewController: AVPlayerViewController):void;
        /**
         * Tells the delegate when Picture in Picture stops.
         */
        playerViewControllerDidStopPictureInPicture(playerViewController: AVPlayerViewController):void;
        /**
         * Tells the delegate when the user requests skipping to the previous item in the timeline.
         */
        skipToPreviousItem(playerViewController: AVPlayerViewController):void;
        /**
         * Tells the delegate when the user requests skipping to the next item in the timeline.
         */
        skipToNextItem(playerViewController: AVPlayerViewController):void;
        /**
         * Asks the delegate for a view controller that describes the layout of the next channel’s interstitial view.
         */
        nextChannelInterstitialViewController(playerViewController: AVPlayerViewController):UIViewController;
        /**
         * Asks the delegate for a view controller that describes the layout of the previous channel’s interstitial view.
         */
        previousChannelInterstitialViewController(playerViewController: AVPlayerViewController):UIViewController;
    }
    export interface AVPlayerViewControllerAnimationCoordinator extends NSObjectProtocol {
        /**
         * Adds animations to perform alongside the playback controls' visibility animation.
         */
        addCoordinatedAnimations(animations: ()=>any | null, completion: ()=>any | null):void;
    }
    export class AVInterstitialTimeRange extends NSObject {
        /**
         * The time range identified as interstitial content.
         */
        timeRange: CMTimeRange;
        /**
         * Initializes an interstitial time range object with the specified time range.
         */
        constructor (timeRange: CMTimeRange);
    }
    export class AVNavigationMarkersGroup extends NSObject {
        /**
         * The title of the marker group.
         */
        title: string;
        /**
         * The array of timed navigation markers for which the group provides navigation.
         */
        timedNavigationMarkers: AVTimedMetadataGroup[] | null;
        /**
         * The array of date range navigation markers for which the group provides navigation.
         */
        dateRangeNavigationMarkers: AVDateRangeMetadataGroup[] | null;
        /**
         * Initializes a navigation markers group with the specified title and array of timed navigation markers.
         */
        constructor (title: string, navigationMarkers: AVTimedMetadataGroup[]);
        /**
         * Initializes a navigation markers group with the specified title and array of date range navigation markers.
         */
        constructor (title: string, navigationMarkers: AVDateRangeMetadataGroup[]);
    }
    export class AVContentProposalViewController extends UIViewController {
        /**
         * A prosal of content to play.
         */
        contentProposal: AVContentProposal | null;
        /**
         * The date that the system automatically accepts a proposal if the user doesn’t intervene.
         */
        dateOfAutomaticAcceptance: Date | null;
        /**
         * A layout guide that tracks the size and location of the player view.
         */
        playerLayoutGuide: UILayoutGuide;
        /**
         * The preferred presentation frame of the player view while the content proposal is active.
         */
        preferredPlayerViewFrame: CGRect;
        /**
         * The player view controller that presents a content proposal.
         */
        playerViewController: AVPlayerViewController | null;
        /**
         * Dismisses the current content proposal.
         */
        dismissContentProposal(action: AVContentProposalAction, animated: boolean, block: ()=>any | null):void;
    }
    export class AVContentProposal extends NSObject {
        /**
         * The time within the timeline of the current player item when the content proposal presentation should begin.
         */
        contentTimeForTransition: CMTime;
        /**
         * The title of the proposed content.
         */
        title: string;
        /**
         * The preview image of the proposed item.
         */
        previewImage: UIImage | null;
        /**
         * Optional custom metadata associated with the proposed item.
         */
        metadata: AVMetadataItem[];
        /**
         * The interval between the time playback ends and automatic acceptance of this content proposal.
         */
        automaticAcceptanceInterval: TimeInterval;
        /**
         * The URL of the proposed content.
         */
        url: URL | null;
        /**
         * Creates a new content proposal with the specified transition time, title, and preview image.
         */
        constructor (contentTimeForTransition: CMTime, title: string, previewImage: UIImage | null);
    }
    export enum AVContentProposalAction {
        accept = 0,
        reject = 1,
        defer = 2,
    }
    export class AVDisplayManager extends NSObject {
        /**
         * A hint for the TV to set the display mode to best match the currently playing content’s display criteria.
         */
        preferredDisplayCriteria: AVDisplayCriteria | null;
        /**
         * A Boolean value that indicates whether the user has enabled display critera matching.
         */
        isDisplayCriteriaMatchingEnabled: boolean;
        /**
         * A Boolean value that indicates whether a display mode switch is in progress.
         */
        isDisplayModeSwitchInProgress: boolean;
    }
    export class AVPlayerView extends NSView {
        /**
         * The player view’s controls style.
         */
        controlsStyle: AVPlayerViewControlsStyle;
        /**
         * A Boolean value that determines whether the player view displays frame stepping buttons.
         */
        showsFrameSteppingButtons: boolean;
        /**
         * A Boolean value that determines whether the player view displays a sharing service button.
         */
        showsSharingServiceButton: boolean;
        /**
         * A Boolean value that determines whether the player view displays a full-screen toggle button.
         */
        showsFullScreenToggleButton: boolean;
        /**
         * A Boolean value that determines whether the player view displays timecodes, if available.
         */
        showsTimecodes: boolean;
        /**
         * A view that adds additional custom views between the video content and the controls.
         */
        contentOverlayView: NSView | null;
        /**
         * An action pop-up button menu that the player view displays.
         */
        actionPopUpButtonMenu: NSMenu | null;
        /**
         * A Boolean value that indicates whether the player view controller updates the Now Playing info center.
         */
        updatesNowPlayingInfoCenter: boolean;
        /**
         * A Boolean value that indicates whether the current player item’s first video frame is ready for display.
         */
        isReadyForDisplay: boolean;
        /**
         * The current size and position of the video image that displays within the player view’s bounds.
         */
        videoBounds: NSRect;
        /**
         * A value that determines how the player view displays video content within its bounds.
         */
        videoGravity: AVLayerVideoGravity;
        /**
         * A Boolean value that indicates whether to perform video frame analysis.
         */
        allowsVideoFrameAnalysis: boolean;
        /**
         * A list of user-selectable playback speeds to show in the playback speed control.
         */
        speeds: AVPlaybackSpeed[];
        /**
         * The currently selected playback speed.
         */
        selectedSpeed: AVPlaybackSpeed | null;
        /**
         * A Boolean value that determines whether the player view allows Picture in Picture playback.
         */
        allowsPictureInPicturePlayback: boolean;
        /**
         * The Picture in Picture delegate object.
         */
        pictureInPictureDelegate: AVPlayerViewPictureInPictureDelegate | null;
        /**
         * A Boolean value that indicates whether the magnify gesture changes the video’s view magnification.
         */
        allowsMagnification: boolean;
        /**
         * The factor by which the video’s view is currently scaled.
         */
        magnification: CGFloat;
        /**
         * A Boolean value that indicates whether the player view can begin trimming.
         */
        canBeginTrimming: boolean;
        /**
         * The player instance that provides the media content for the view.
         */
        player: AVPlayer | null;
        /**
         * The player view’s delegate object.
         */
        delegate: AVPlayerViewDelegate | null;
        /**
         * Selects a specified playback speed.
         */
        selectSpeed(speed: AVPlaybackSpeed):void;
        /**
         * Scales the video’s view by a specified factor, and centers the result on a specified point.
         */
        setMagnification(magnification: CGFloat, point: CGPoint):void;
        /**
         * Displays the chapter number and title in the player view for a brief moment.
         */
        flashChapterNumber(chapterNumber: number, chapterTitle: string):void;
        /**
         * Puts the player view into trimming mode.
         */
        beginTrimming(handler: ()=>any | null):void;
    }
    export enum AVPlayerViewControlsStyle {
        none = 0,
        inline = 1,
        floating = 2,
        minimal = 3,
    }
    export interface AVPlayerViewPictureInPictureDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that Picture in Picture playback is about to start.
         */
        playerViewWillStartPicture(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that Picture in Picture playback started.
         */
        playerViewDidStartPicture(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that Picture in Picture playback is about to stop.
         */
        playerViewWillStopPicture(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that Picture in Picture playback stopped.
         */
        playerViewDidStopPicture(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that Picture in Picture playback failed to start.
         */
        playerView(playerView: AVPlayerView, error: Error):void;
        /**
         * Asks the delegate if the player view should miniaturize when Picture in Picture starts.
         */
        playerViewShouldAutomaticallyDismissAtPicture(playerView: AVPlayerView):boolean;
    }
    export enum AVPlayerViewTrimResult {
        okButton = 0,
        cancelButton = 1,
    }
    export interface AVPlayerViewDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the player view is about to enter full-screen mode.
         */
        playerViewWillEnterFullScreen(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that the player view entered full-screen mode.
         */
        playerViewDidEnterFullScreen(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that the player view is about to exit full-screen mode.
         */
        playerViewWillExitFullScreen(playerView: AVPlayerView):void;
        /**
         * Tells the delegate that the player view exited full-screen mode.
         */
        playerViewDidExitFullScreen(playerView: AVPlayerView):void;
        /**
         * Tells the delegate to restore the app’s user interface when exiting full-screen mode.
         */
        playerView(playerView: AVPlayerView, completionHandler: ()=>any):void;
    }
    export class AVCaptureView extends NSView {
        /**
         * The view’s associated capture session.
         */
        session: AVCaptureSession | null;
        /**
         * The style of the capture controls presented by the view.
         */
        controlsStyle: AVCaptureViewControlsStyle;
        /**
         * A string value that defines how the capture view displays video within its bounds.
         */
        videoGravity: AVLayerVideoGravity;
        /**
         * The capture view’s delegate object.
         */
        delegate: AVCaptureViewDelegate | null;
        /**
         * The capture file output used to record media data.
         */
        fileOutput: AVCaptureFileOutput | null;
        /**
         * Sets the view’s capture session.
         */
        setSession(session: AVCaptureSession | null, showVideoPreview: boolean, showAudioPreview: boolean):void;
    }
    export enum AVCaptureViewControlsStyle {
        inline = 0,
        floating = 1,
        inlineDeviceSelection = 2,
    }
    export interface AVCaptureViewDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user has made a request to start a new recording.
         */
        captureView(captureView: AVCaptureView, fileOutput: AVCaptureFileOutput):void;
    }
    export class AVPictureInPictureController extends NSObject {
        /**
         * A system-default template image for the button that starts Picture in Picture in your app.
         */
        static pictureInPictureButtonStartImage: UIImage;
        /**
         * A system-default template image for the button that stops Picture in Picture in your app.
         */
        static pictureInPictureButtonStopImage: UIImage;
        /**
         * The source of the controller’s content.
         */
        contentSource: AVPictureInPictureController.ContentSource | null;
        /**
         * The layer that displays the video content.
         */
        playerLayer: AVPlayerLayer;
        /**
         * A Boolean value that determines whether the controller allows the user to skip media content.
         */
        requiresLinearPlayback: boolean;
        /**
         * A delegate object for a Picture in Picture controller.
         */
        delegate: AVPictureInPictureControllerDelegate | null;
        /**
         * A Boolean value that indicates whether Picture in Picture playback is currently possible.
         */
        isPictureInPicturePossible: boolean;
        /**
         * A Boolean value that indicates whether the Picture in Picture window is onscreen.
         */
        isPictureInPictureActive: boolean;
        /**
         * A Boolean value that indicates whether the system suspends the controller’s Picture in Picture window.
         */
        isPictureInPictureSuspended: boolean;
        /**
         * A Boolean value that indicates whether Picture in Picture is active and is able to stop.
         */
        canStopPictureInPicture: boolean;
        /**
         * A Boolean value that indicates whether Picture in Picture starts automatically when the controller embeds its content inline and the app transitions to the background.
         */
        canStartPictureInPictureAutomaticallyFromInline: boolean;
        /**
         * Creates a Picture in Picture controller with a content source.
         */
        constructor (contentSource: AVPictureInPictureController.ContentSource);
        /**
         * Creates a Picture in Picture controller with a player layer.
         */
        constructor (playerLayer: AVPlayerLayer);
        /**
         * Returns a Boolean value that indicates whether the current device supports Picture in Picture.
         */
        static isPictureInPictureSupported():boolean;
        /**
         * Invalidates the controller’s current playback state and fetches the updated state from the sample buffer playback delegate object.
         */
        invalidatePlaybackState():void;
        /**
         * Starts Picture in Picture, if possible.
         */
        startPictureInPicture():void;
        /**
         * Stops Picture in Picture, if active.
         */
        stopPictureInPicture():void;
    }
    /**
     * the same name namespace of class AVPictureInPictureController
     */
    export namespace AVPictureInPictureController {
        export class ContentSource extends NSObject {
            /**
             * The presenting player layer.
             */
            playerLayer: AVPlayerLayer | null;
            /**
             * The presenting sample buffer display layer.
             */
            sampleBufferDisplayLayer: AVSampleBufferDisplayLayer | null;
            /**
             * The view that contains the video content of the call.
             */
            activeVideoCallSourceView: UIView | null;
            /**
             * The view controller that presents the video call content.
             */
            activeVideoCallContentViewController: AVPictureInPictureVideoCallViewController;
            /**
             * A delegate object that responds to sample buffer playback events.
             */
            sampleBufferPlaybackDelegate: AVPictureInPictureSampleBufferPlaybackDelegate | null;
            /**
             * Creates a content source with a player layer.
             */
            constructor (playerLayer: AVPlayerLayer);
            /**
             * Creates a content source with a sample buffer display layer.
             */
            constructor (sampleBufferDisplayLayer: AVSampleBufferDisplayLayer, playbackDelegate: AVPictureInPictureSampleBufferPlaybackDelegate);
            /**
             * Creates a content source with an active video call.
             */
            constructor (sourceView: UIView, contentViewController: AVPictureInPictureVideoCallViewController);
        }
    }
    export class AVPictureInPictureVideoCallViewController extends UIViewController {}
    export interface AVPictureInPictureSampleBufferPlaybackDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user requested to begin or pause playback.
         */
        pictureInPictureController(pictureInPictureController: AVPictureInPictureController, playing: boolean):void;
        /**
         * Asks the delegate for the current playable time range.
         */
        pictureInPictureControllerTimeRangeForPlayback(pictureInPictureController: AVPictureInPictureController):CMTimeRange;
        /**
         * Asks delegate to indicate whether the playback UI reflects a playing or paused state, regardless of the current playback rate.
         */
        pictureInPictureControllerIsPlaybackPaused(pictureInPictureController: AVPictureInPictureController):boolean;
        /**
         * Asks the delegate whether to always prohibit background audio playback.
         */
        pictureInPictureControllerShouldProhibitBackgroundAudioPlayback(pictureInPictureController: AVPictureInPictureController):boolean;
    }
    export interface AVPictureInPictureControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to restore the user interface before Picture in Picture stops.
         */
        pictureInPictureController(pictureInPictureController: AVPictureInPictureController, completionHandler: ()=>any):void;
        /**
         * Tells the delegate that Picture in Picture is about to start.
         */
        pictureInPictureControllerWillStartPictureInPicture(pictureInPictureController: AVPictureInPictureController):void;
        /**
         * Tells the delegate that Picture in Picture started.
         */
        pictureInPictureControllerDidStartPictureInPicture(pictureInPictureController: AVPictureInPictureController):void;
        /**
         * Tells the delegate that Picture in Picture is about to stop.
         */
        pictureInPictureControllerWillStopPictureInPicture(pictureInPictureController: AVPictureInPictureController):void;
        /**
         * Tells the delegate that Picture in Picture stopped.
         */
        pictureInPictureControllerDidStopPictureInPicture(pictureInPictureController: AVPictureInPictureController):void;
    }
    export class AVRoutePickerView extends NSView,UIView {
        /**
         * The delegate object for the route picker.
         */
        delegate: AVRoutePickerViewDelegate | null;
        /**
         * The view’s tint color when AirPlay is active.
         */
        activeTintColor: UIColor!;
        /**
         * A Boolean value that indicates whether the route picker button has a border.
         */
        isRoutePickerButtonBordered: boolean;
        /**
         * A Boolean value that indicates whether the route picker sorts video output devices to the top of the list.
         */
        prioritizesVideoDevices: boolean;
        /**
         * The button style for the route picker.
         */
        routePickerButtonStyle: AVRoutePickerViewButtonStyle;
        /**
         * The player object to perform routing operations for.
         */
        player: AVPlayer | null;
        /**
         * A routing controller that enables connections to non-AirPlay devices.
         */
        customRoutingController: AVCustomRoutingController | null;
        /**
         * Returns the color of the picker button for the specified state.
         */
        routePickerButtonColor(state: AVRoutePickerView.ButtonState):NSColor;
        /**
         * Sets the route picker button color for the specified state.
         */
        setRoutePickerButtonColor(color: NSColor | null, state: AVRoutePickerView.ButtonState):void;
    }
    /**
     * the same name namespace of class AVRoutePickerView
     */
    export namespace AVRoutePickerView {
        export enum ButtonState {
            normal = 0,
            normalHighlighted = 1,
            active = 2,
            activeHighlighted = 3,
        }
    }
    export interface AVRoutePickerViewDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the route picker view is about to begin presenting routes to the user.
         */
        routePickerViewWillBeginPresentingRoutes(routePickerView: AVRoutePickerView):void;
        /**
         * Tells the delegate when the route picker view finishes presenting routes to the user.
         */
        routePickerViewDidEndPresentingRoutes(routePickerView: AVRoutePickerView):void;
    }
    export enum AVRoutePickerViewButtonStyle {
        custom = 2,
        plain = 1,
        system = 0,
    }
    export class AVKitError {
        /**
         * The domain of this error.
         */
        static errorDomain: string;
        /**
         * An unknown error.
         */
        static unknown: AVKitError.Code;
        /**
         * The media content rating is missing or unrecognized.
         */
        static contentRatingUnknown: AVKitError.Code;
        /**
         * A restriction disallows access to this content, but the user can override the restriction by entering the device passcode.
         */
        static contentDisallowedByPasscode: AVKitError.Code;
        /**
         * An installed profile restricts access to this content.
         */
        static contentDisallowedByProfile: AVKitError.Code;
        /**
         * The system failed to start Picture in Picture.
         */
        static pictureInPictureStartFailed: AVKitError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The integer error code.
         */
        errorCode: number;
        /**
         * The user information dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * The error user information dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that provides a localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an error code with a code and custom user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class AVKitError
     */
    export namespace AVKitError {
        export enum Code {
            unknown = -1000,
            contentRatingUnknown = -1100,
            contentDisallowedByPasscode = -1101,
            pictureInPictureStartFailed = -1001,
            contentDisallowedByProfile = -1102,
        }
    }
}

/**
 * Request the system to launch your app in the background to run tasks.
 */
declare module BackgroundTasks {
    export class BGTaskScheduler extends NSObject {
        /**
         * The shared background task scheduler instance.
         */
        static shared: BGTaskScheduler;
        /**
         * The background tasks error domain as a string.
         */
        static errorDomain: string;
        /**
         * Register a launch handler for the task with the associated identifier that’s executed on the specified queue.
         */
        register(identifier: string, queue: DispatchQueue | null, launchHandler: ()=>any):boolean;
        /**
         * Submit a previously registered background task for execution.
         */
        submit(taskRequest: BGTaskRequest):void;
        /**
         * Cancel a previously scheduled task request.
         */
        cancel(identifier: string):void;
        /**
         * Cancel all scheduled task requests.
         */
        cancelAllTaskRequests():void;
        /**
         * Request a list of unexecuted scheduled task requests.
         */
        getPendingTaskRequests(completionHandler: ()=>any):void;
    }
    /**
     * the same name namespace of class BGTaskScheduler
     */
    export namespace BGTaskScheduler {
        export class Error {
            /**
             * A task scheduling error indicating the app isn’t permitted to launch the task.
             */
            static notPermitted: BGTaskScheduler.Error.Code;
            /**
             * A task scheduling error indicating that there are too many pending tasks of the type requested.
             */
            static tooManyPendingTaskRequests: BGTaskScheduler.Error.Code;
            /**
             * A task scheduling error indicating that the app or extension can’t schedule background work.
             */
            static unavailable: BGTaskScheduler.Error.Code;
            /**
             * The background tasks error domain as a string.
             */
            static errorDomain: string;
            /**
             * An error code.
             */
            code: Code;
            /**
             * A hash value.
             */
            hashValue: number;
            /**
             * An 
             *  containing user-supplied information.
             */
            userInfo: Record<string, any>;
            /**
             * A string containing the localized description of the error.
             */
            localizedDescription: string;
            /**
             * An error code.
             */
            errorCode: number;
            /**
             * An 
             *  containing additional details about the error.
             */
            errorUserInfo: Record<string, any>;
            /**
             * Creates an error object.
             */
            constructor (code: Code, userInfo: Record<string, any>);
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class Error
         */
        export namespace Error {
            export enum Code {
                notPermitted = 3,
                tooManyPendingTaskRequests = 2,
                unavailable = 1,
            }
        }
    }
    export class BGProcessingTaskRequest extends BGTaskRequest {
        /**
         * A Boolean specifying if the processing task requires a device connected to power.
         */
        requiresExternalPower: boolean;
        /**
         * A Boolean specifying if the processing task requires network connectivity.
         */
        requiresNetworkConnectivity: boolean;
        /**
         * Return a new processing task request for the specified identifier.
         */
        constructor (identifier: string);
    }
    export class BGAppRefreshTaskRequest extends BGTaskRequest {
        /**
         * Return a new refresh task request for the specified identifier.
         */
        constructor (identifier: string);
    }
    export class BGTaskRequest extends NSObject {
        /**
         * The earliest date and time at which to run the task.
         */
        earliestBeginDate: Date | null;
        /**
         * The identifier of the task associated with the request.
         */
        identifier: string;
    }
    export class BGProcessingTask extends BGTask {}
    export class BGAppRefreshTask extends BGTask {}
    export class BGTask extends NSObject {
        /**
         * The string identifier of the task.
         */
        identifier: string;
        /**
         * A handler called shortly before the task’s background time expires.
         */
        expirationHandler: ()=>any | null;
        /**
         * Informs the background task scheduler that the task is complete.
         */
        setTaskCompleted(success: boolean):void;
    }
}

/**
 * Display the system-calling UI for your app’s VoIP services, and coordinate your calling services with other apps and the system.
 */
declare module CallKit {
    export class CXProvider extends NSObject {
        /**
         * The configuration of the provider.
         */
        configuration: CXProviderConfiguration;
        /**
         * Incomplete transactions.
         */
        pendingTransactions: CXTransaction[];
        /**
         * Initializes a new provider with the specified configuration.
         */
        constructor (configuration: CXProviderConfiguration);
        /**
         * Reports a new incoming call after your notification service extension decrypts a VoIP call request.
         */
        static reportNewIncomingVoIPPushPayload(dictionaryPayload: Record<AnyHashable, any>, completion: ()=>any | null):void;
        /**
         * Reports to the provider that an outgoing call with the specified unique identifier started connecting at a particular time.
         */
        reportOutgoingCall(UUID: UUID, dateStartedConnecting: Date | null):void;
        /**
         * Reports to the provider that an active call updated its information.
         */
        reportCall(UUID: UUID, update: CXCallUpdate):void;
        /**
         * Invalidates the provider and completes all active calls with an error.
         */
        invalidate():void;
        /**
         * Sets a provider delegate, specifying an optional queue on which to execute delegate methods.
         */
        setDelegate(delegate: CXProviderDelegate | null, queue: DispatchQueue | null):void;
        /**
         * Returns all call actions in any pending transactions of the specified class for the specified call identifier that are incomplete.
         */
        pendingCallActions(callActionClass: AnyClass, callUUID: UUID):CXCallAction[];
        /**
         * Reports a new incoming call with the specified unique identifier to the provider.
         */
        reportNewIncomingCall(UUID: UUID, update: CXCallUpdate, completion: ()=>any):void;
    }
    export class CXAnswerCallAction extends CXCallAction {
        /**
         * Reports the successful execution of the action at the specified time.
         */
        fulfill(dateConnected: Date):void;
    }
    export class CXCallController extends NSObject {
        /**
         * Returns an observer for active calls.
         */
        callObserver: CXCallObserver;
        /**
         * Initializes a new call controller with a private, serial queue, which is used for calling completion blocks.
         */
        constructor ();
        /**
         * Initializes a new call controller with a specified queue, which is used for calling completion blocks.
         */
        constructor (queue: DispatchQueue);
        /**
         * Requests that the actions in the specified transaction be asynchronously performed by the telephony provider.
         */
        request(transaction: CXTransaction, completion: ()=>any):void;
        /**
         * Requests that the transaction that contains the specified action be asynchronously performed by the telephony provider.
         */
        requestTransaction(action: CXAction, completion: ()=>any):void;
    }
    export class CXErrorCodeIncomingCallError {}
    /**
     * the same name namespace of class CXErrorCodeIncomingCallError
     */
    export namespace CXErrorCodeIncomingCallError {
        export enum Code {
            unknown = 0,
            unentitled = 1,
            callUUIDAlreadyExists = 2,
            filteredByDoNotDisturb = 3,
            filteredByBlockList = 4,
        }
    }
    export class CXErrorCodeRequestTransactionError {
        /**
         * An unknown error occurred.
         */
        static unknown: CXErrorCodeRequestTransactionError.Code;
        /**
         * The app doesn’t have the entitlement to perform the actions in the requested transaction.
         */
        static unentitled: CXErrorCodeRequestTransactionError.Code;
        /**
         * The controller can’t find a call provider to perform the actions in the requested transaction.
         */
        static unknownCallProvider: CXErrorCodeRequestTransactionError.Code;
        /**
         * The requested transaction doesn’t contain any actions.
         */
        static emptyTransaction: CXErrorCodeRequestTransactionError.Code;
        /**
         * The requested transaction contains call actions that reference an unknown UUID.
         */
        static unknownCallUUID: CXErrorCodeRequestTransactionError.Code;
        /**
         * The requested transaction contains call actions that reference a UUID that already exists.
         */
        static callUUIDAlreadyExists: CXErrorCodeRequestTransactionError.Code;
        /**
         * The requested transaction contains an invalid action.
         */
        static invalidAction: CXErrorCodeRequestTransactionError.Code;
        /**
         * Performing the requested transaction exceeds the maximum number of call groups for the provider.
         */
        static maximumCallGroupsReached: CXErrorCodeRequestTransactionError.Code;
        /**
         * The domain for call request transaction errors.
         */
        static errorDomain: string;
        /**
         * An integer value that indicates an error.
         */
        errorCode: number;
        /**
         * A dictionary that contains additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized string that describes the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CXErrorCodeRequestTransactionError
     */
    export namespace CXErrorCodeRequestTransactionError {
        export enum Code {
            unknown = 0,
            unentitled = 1,
            unknownCallProvider = 2,
            emptyTransaction = 3,
            unknownCallUUID = 4,
            callUUIDAlreadyExists = 5,
            invalidAction = 6,
            maximumCallGroupsReached = 7,
        }
    }
    export class CXTransaction extends NSObject {
        /**
         * The unique identifier of the transaction.
         */
        uuid: UUID;
        /**
         * A Boolean value that indicates whether the transaction has been completed.
         */
        isComplete: boolean;
        /**
         * The actions added to a transaction.
         */
        actions: CXAction[];
        /**
         * Initializes a new transaction with the specified action.
         */
        constructor (action: CXAction);
        /**
         * Initializes a new transaction with the specified actions.
         */
        constructor (actions: CXAction[]);
        /**
         * Adds the specified action to the transaction.
         */
        addAction(action: CXAction):void;
    }
    export class CXErrorCodeNotificationServiceExtensionError {
        /**
         * The domain for errors associated with incoming VoIP calls from a notification service extension.
         */
        static errorDomain: string;
        /**
         * An error indicating that an invalid client process reported the incoming call.
         */
        static invalidClientProcess: CXErrorCodeNotificationServiceExtensionError.Code;
        /**
         * An error indicating that the notification service extension is missing the required filtering entitlement.
         */
        static missingNotificationFilteringEntitlement: CXErrorCodeNotificationServiceExtensionError.Code;
        /**
         * An error that occurs when there is an unknown problem.
         */
        static unknown: CXErrorCodeNotificationServiceExtensionError.Code;
        /**
         * The error’s code.
         */
        code: Code;
        /**
         * The error’s code.
         */
        errorCode: number;
        /**
         * A dictionary that contains additional information about the error.
         */
        userInfo: Record<string, any>;
        /**
         * A dictionary that contains additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a new error object.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the error by passing it to the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CXErrorCodeNotificationServiceExtensionError
     */
    export namespace CXErrorCodeNotificationServiceExtensionError {
        export enum Code {
            invalidClientProcess = 1,
            missingNotificationFilteringEntitlement = 2,
            unknown = 0,
        }
    }
    export class CXStartCallAction extends CXCallAction {
        /**
         * A Boolean value that indicates whether the call is a video call.
         */
        isVideo: boolean;
        /**
         * The identifier for the call recipient.
         */
        contactIdentifier: string;
        /**
         * The handle of the call recipient.
         */
        handle: CXHandle;
        /**
         * Initializes a new action to start a call with the specified UUID to a recipient with the specified handle.
         */
        constructor (callUUID: UUID, handle: CXHandle);
        /**
         * Creates a new action to start a call with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Reports the successful execution of the action at the specified time.
         */
        fulfill(dateStarted: Date):void;
    }
    export enum CXCallEndedReason {
        failed = 1,
        remoteEnded = 2,
        unanswered = 3,
        answeredElsewhere = 4,
        declinedElsewhere = 5,
    }
    export interface CXProviderDelegate extends NSObjectProtocol {
        /**
         * Called when the provider begins.
         */
        providerDidBegin(provider: CXProvider):void;
        /**
         * Called when the provider is reset.
         */
        providerDidReset(provider: CXProvider):void;
        /**
         * Called when a transaction is executed by a call controller.
         */
        provider(provider: CXProvider, transaction: CXTransaction):boolean;
    }
    export class CXAction extends NSObject {
        /**
         * The unique identifier for the action.
         */
        uuid: UUID;
        /**
         * A Boolean value that indicates whether the action has been performed by the provider.
         */
        isComplete: boolean;
        /**
         * The time after which the action cannot be completed.
         */
        timeoutDate: Date;
        /**
         * Initializes a new telephony action.
         */
        constructor ();
        /**
         * Creates a new telephony action with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Reports the successful execution of the action.
         */
        fulfill():void;
        /**
         * Reports the failed execution of the action.
         */
        fail():void;
    }
    export class CXCallAction extends CXAction {
        /**
         * The unique identifier for the call associated with the action.
         */
        callUUID: UUID;
        /**
         * Initializes a new action for a call identified by a given UUID.
         */
        constructor (callUUID: UUID);
        /**
         * Creates a new action for a call with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CXEndCallAction extends CXCallAction {
        /**
         * Reports the successful execution of the action at the specified time.
         */
        fulfill(dateEnded: Date):void;
    }
    export class CXPlayDTMFCallAction extends CXCallAction {
        /**
         * The digits tapped by the user into the in-call keypad or included in the dial string.
         */
        digits: string;
        /**
         * The type of the call action.
         */
        type: CXPlayDTMFCallAction.ActionType;
        /**
         * Initializes a new action for a call identified by a given UUID, as well as a specified type and sequence of digits.
         */
        constructor (callUUID: UUID, digits: string, type: CXPlayDTMFCallAction.ActionType);
        /**
         * Creates a new action to play dual-tone multifrequency (DTMF) tones with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
    }
    /**
     * the same name namespace of class CXPlayDTMFCallAction
     */
    export namespace CXPlayDTMFCallAction {
        export enum ActionType {
            singleTone = 1,
            softPause = 2,
            hardPause = 3,
        }
    }
    export class CXSetGroupCallAction extends CXCallAction {
        /**
         * The unique identifier of the call to be grouped with the call associated with the receiver.
         */
        callUUIDToGroupWith: UUID | null;
        /**
         * Initializes a new action for a call identified by a given UUID, as well as a call to group with identified by another UUID.
         */
        constructor (callUUID: UUID, callUUIDToGroupWith: UUID | null);
        /**
         * Creates a new action to group calls with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CXSetHeldCallAction extends CXCallAction {
        /**
         * A Boolean value that indicates whether the call is placed on hold.
         */
        isOnHold: boolean;
        /**
         * Initializes a new action for a call identified by a given UUID, as well as whether the call is on hold.
         */
        constructor (callUUID: UUID, onHold: boolean);
        /**
         * Creates a new action to place a call on hold with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CXError {
        /**
         * The domain for CallKit errors.
         */
        static errorDomain: string;
        /**
         * The argument is invalid.
         */
        static invalidArgument: CXError.Code;
        /**
         * The caller doesn’t have the correct entitlement.
         */
        static unentitled: CXError.Code;
        /**
         * An unknown error occurred.
         */
        static unknownError: CXError.Code;
        static missingVoIPBackgroundMode: CXError.Code;
        /**
         * An integer value that indicates an error.
         */
        errorCode: number;
        /**
         * A dictionary that contains additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized string that describes the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CXError
     */
    export namespace CXError {
        export enum Code {
            invalidArgument = 2,
            unentitled = 1,
            unknownError = 0,
            missingVoIPBackgroundMode = 3,
        }
    }
    export class CXSetMutedCallAction extends CXCallAction {
        /**
         * A Boolean value that indicates whether the call is muted.
         */
        isMuted: boolean;
        /**
         * Initializes a new action for a call identified by a given UUID, as well as whether the call is muted.
         */
        constructor (callUUID: UUID, muted: boolean);
        /**
         * Creates a new action for a call with data in an unarchiver.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CXCall extends NSObject {
        /**
         * The unique identifier for the call.
         */
        uuid: UUID;
        /**
         * A Boolean value that indicates whether the call is outgoing.
         */
        isOutgoing: boolean;
        /**
         * A Boolean value that indicates whether the call has connected.
         */
        hasConnected: boolean;
        /**
         * A Boolean value that indicates whether the call has ended.
         */
        hasEnded: boolean;
        /**
         * A Boolean value that indicates whether the call is on hold.
         */
        isOnHold: boolean;
    }
    export class CXCallObserver extends NSObject {
        /**
         * Returns the active calls of the telephony provider.
         */
        calls: CXCall[];
        /**
         * Sets a call observer delegate, specifying an optional queue on which to execute delegate methods.
         */
        setDelegate(delegate: CXCallObserverDelegate | null, queue: DispatchQueue | null):void;
    }
    export interface CXCallObserverDelegate extends NSObjectProtocol {
        /**
         * Called when a call is changed.
         */
        callObserver(callObserver: CXCallObserver, call: CXCall):void;
    }
    export class CXHandle extends NSObject {
        /**
         * The type of the handle.
         */
        type: CXHandle.HandleType;
        /**
         * The value of the handle.
         */
        value: string;
        /**
         * Initializes a new handle of a given type with the specified value.
         */
        constructor (type: CXHandle.HandleType, value: string);
    }
    /**
     * the same name namespace of class CXHandle
     */
    export namespace CXHandle {
        export enum HandleType {
            generic = 1,
            phoneNumber = 2,
            emailAddress = 3,
        }
    }
    export class CXCallDirectoryProvider extends NSObject {
        /**
         * Tells the extension to prepare for a host app’s request.
         */
        beginRequest(context: CXCallDirectoryExtensionContext):void;
    }
    export class CXCallDirectoryExtensionContext extends NSExtensionContext {
        /**
         * Sets a delegate that can handle request failures for the Call Directory extension context object.
         */
        delegate: CXCallDirectoryExtensionContextDelegate | null;
        /**
         * A Boolean value that indicates whether the request provides data incrementally.
         */
        isIncremental: boolean;
        /**
         * Adds an identification entry with the specified phone number and label.
         */
        addIdentificationEntry(phoneNumber: CXCallDirectoryPhoneNumber, label: string):void;
        /**
         * Adds a blocking entry with the specified phone number.
         */
        addBlockingEntry(phoneNumber: CXCallDirectoryPhoneNumber):void;
        /**
         * Removes all stored blocking entries.
         */
        removeAllBlockingEntries():void;
        /**
         * Removes all stored identification entries.
         */
        removeAllIdentificationEntries():void;
        /**
         * Removes a blocking entry that contains the specified phone number.
         */
        removeBlockingEntry(phoneNumber: CXCallDirectoryPhoneNumber):void;
        /**
         * Removes an identification entry that contains the specified phone number.
         */
        removeIdentificationEntry(phoneNumber: CXCallDirectoryPhoneNumber):void;
        /**
         * Completes the request to the extension context.
         */
        completeRequest(completion: ()=>any | null):void;
    }
    export interface CXCallDirectoryExtensionContextDelegate extends NSObjectProtocol {
        /**
         * Called when a Call Directory app extension request fails.
         */
        requestFailed(extensionContext: CXCallDirectoryExtensionContext, error: Error):void;
    }
    export class CXCallDirectoryManager extends NSObject {
        /**
         * Returns the shared call directory manager instance for the app.
         */
        static sharedInstance: CXCallDirectoryManager;
        /**
         * Asynchronously returns the enabled status of the extension with the specified identifier.
         */
        getEnabledStatusForExtension(identifier: string, completion: ()=>any):void;
        /**
         * Asynchronously reloads the extension with the specified identifier.
         */
        reloadExtension(identifier: string, completion: ()=>any | null):void;
        /**
         * Opens the iOS Settings app and shows the Call Blocking & Identification settings.
         */
        openSettings(completion: ()=>any | null):void;
    }
    /**
     * the same name namespace of class CXCallDirectoryManager
     */
    export namespace CXCallDirectoryManager {
        export enum EnabledStatus {
            unknown = 0,
            disabled = 1,
            enabled = 2,
        }
    }
    export class CXErrorCodeCallDirectoryManagerError {
        /**
         * An unknown error occurred.
         */
        static unknown: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * The call directory manager can’t find a corresponding app extension.
         */
        static noExtensionFound: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * The call directory manager is loading the app extension.
         */
        static currentlyLoading: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * The system interrupted the call directory manager while loading the app extension.
         */
        static loadingInterrupted: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * The entries in the call directory are out of order.
         */
        static entriesOutOfOrder: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * There are duplicate entries in the call directory.
         */
        static duplicateEntries: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * There are too many entries in the call directory.
         */
        static maximumEntriesExceeded: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * The call directory extension isn’t in an enabled state.
         */
        static extensionDisabled: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * A request occurred before confirming incremental loading.
         */
        static unexpectedIncrementalRemoval: CXErrorCodeCallDirectoryManagerError.Code;
        /**
         * The domain for call manager errors.
         */
        static errorDomain: string;
        /**
         * An integer value that indicates an error.
         */
        errorCode: number;
        /**
         * A dictionary that contains additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized string that describes the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CXErrorCodeCallDirectoryManagerError
     */
    export namespace CXErrorCodeCallDirectoryManagerError {
        export enum Code {
            unknown = 0,
            noExtensionFound = 1,
            currentlyLoading = 7,
            loadingInterrupted = 2,
            entriesOutOfOrder = 3,
            duplicateEntries = 4,
            maximumEntriesExceeded = 5,
            extensionDisabled = 6,
            unexpectedIncrementalRemoval = 8,
        }
    }
    export class CXProviderConfiguration extends NSObject {
        /**
         * The localized name of the provider.
         */
        localizedName: string;
        /**
         * The name of the sound resource in the app bundle to be used for the provider ringtone.
         */
        ringtoneSound: string;
        /**
         * The PNG data for the icon image to be displayed for the provider.
         */
        iconTemplateImageData: Data | null;
        /**
         * The maximum number of call groups.
         */
        maximumCallGroups: number;
        /**
         * The maximum number of calls per call group.
         */
        maximumCallsPerCallGroup: number;
        /**
         * The supported handle types.
         */
        supportedHandleTypes: Set<CXHandle.HandleType>;
        /**
         * A Boolean value that indicates whether the provider supports video in addition to audio.
         */
        supportsVideo: boolean;
        /**
         * A Boolean value that indicates whether the provider includes a call in the system’s Recents list after the call ends.
         */
        includesCallsInRecents: boolean;
        /**
         * Creates the configuration of a provider object.
         */
        constructor ();
        /**
         * Initializes a configuration with the specified localized name.
         */
        constructor (localizedName: string);
    }
    export class CXCallUpdate extends NSObject {
        /**
         * The localized name of the caller.
         */
        localizedCallerName: string;
        /**
         * The handle for the remote party (for an incoming call, this is the caller; for an outgoing call, this is the callee).
         */
        remoteHandle: CXHandle | null;
        /**
         * A Boolean value that indicates whether the call includes video in addition to audio.
         */
        hasVideo: boolean;
        /**
         * A Boolean value that indicates whether the call can be grouped with other calls.
         */
        supportsGrouping: boolean;
        /**
         * A Boolean value that indicates whether the call can be ungrouped from other calls.
         */
        supportsUngrouping: boolean;
        /**
         * A Boolean value that indicates whether the call can be placed on hold or removed from hold.
         */
        supportsHolding: boolean;
        /**
         * A Boolean value that indicates whether the call can send DTMF (dual tone multifrequency) tones via hard pause digits or in-call keypad entries.
         */
        supportsDTMF: boolean;
    }
}

/**
 * Integrate CarPlay in apps related to audio, communication, navigation, parking, EV charging, and food ordering.
 */
declare module CarPlay {
    export class CPTemplateApplicationScene extends UIScene {
        /**
         * The object that receives the scene’s life-cycle events.
         */
        delegate: CPTemplateApplicationSceneDelegate | null;
        /**
         * The controller that manages the scene’s user interface.
         */
        interfaceController: CPInterfaceController;
        /**
         * The window that belongs to the scene.
         */
        carWindow: CPWindow;
        contentStyle: UIUserInterfaceStyle;
    }
    export interface CPTemplateApplicationSceneDelegate extends UISceneDelegate {
        /**
         * Tells the delegate when the user selects a navigation alert while the app is in the background.
         */
        templateApplicationScene(templateApplicationScene: CPTemplateApplicationScene, navigationAlert: CPNavigationAlert):void;
        contentStyleDidChange(contentStyle: UIUserInterfaceStyle):void;
    }
    export class CPAssistantCellConfiguration extends NSObject {
        /**
         * The position of the assistant cell in the list template.
         */
        position: CPListItem.AssistantCellPosition;
        /**
         * The visibility of the assistant cell in the list template.
         */
        visibility: CPListItem.AssistantCellVisibility;
        /**
         * The action that Siri performs when the user selects the assistant cell.
         */
        assistantAction: CPAssistantCellActionType;
    }
    export enum CPAssistantCellActionType {
        playMedia = 0,
        startCall = 1,
    }
    export class CPListTemplate extends CPTemplate {
        /**
         * The maximum number of items, across all sections, that the template can display.
         */
        static maximumItemCount: number;
        /**
         * An array of title variants for the template’s empty view.
         */
        emptyViewTitleVariants: string[];
        /**
         * An array of subtitle variants for the template’s empty view.
         */
        emptyViewSubtitleVariants: string[];
        /**
         * The total number of items, across all sections, in the list.
         */
        itemCount: number;
        /**
         * The title that the navigation bar displays when the template is visible.
         */
        title: string;
        /**
         * The object that serves as the delegate to the list template.
         */
        delegate: CPListTemplateDelegate | null;
        /**
         * Returns the index path for the specified item.
         */
        indexPath(item: CPListTemplateItem):IndexPath | null;
    }
    export interface CPListTemplateDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the user selects a list item.
         */
        listTemplate(listTemplate: CPListTemplate, item: CPListItem, completionHandler: ()=>any):void;
    }
    export interface CPSelectableListItem extends CPListTemplateItem {
        /**
         * An optional closure that CarPlay invokes when the user selects the list item.
         */
        handler: ()=>any | null;
    }
    export class CPListItem extends NSObject {
        /**
         * The maximum size of a list item’s image and accessory image.
         */
        static maximumImageSize: CGSize;
        /**
         * A Boolean value that indicates if the item is enabled.
         */
        isEnabled: boolean;
        /**
         * An optional closure that CarPlay invokes when the user selects the list item.
         */
        handler: ()=>any | null;
        /**
         * An opaque value for the list item.
         */
        userInfo: any;
        /**
         * The accessory that the list item displays in its trailing region.
         */
        accessoryType: CPListItemAccessoryType;
        /**
         * The image that the list item displays in its trailing region.
         */
        accessoryImage: UIImage | null;
        /**
         * The list item’s primary text.
         */
        text: string;
        /**
         * The list item’s secondary text.
         */
        detailText: string;
        /**
         * The image that the list item displays in its leading region.
         */
        image: UIImage | null;
        /**
         * A Boolean value that determines whether the list item displays its explicit content indicator.
         */
        isExplicitContent: boolean;
        /**
         * A Boolean value that determines whether the list item displays its Now Playing indicator.
         */
        isPlaying: boolean;
        /**
         * The location where the list item displays its Now Playing indicator.
         */
        playingIndicatorLocation: CPListItemPlayingIndicatorLocation;
        /**
         * The playback progress status for the content that the list item represents.
         */
        playbackProgress: CGFloat;
        /**
         * A Boolean value that indicates whether the list item cell shows a disclosure indicator on its trailing edge.
         */
        showsDisclosureIndicator: boolean;
        /**
         * A Boolean value that determines whether the list item displays its explicit content indicator.
         */
        showsExplicitLabel: boolean;
        /**
         * Creates a list item with primary and secondary text.
         */
        constructor (text: string, detailText: string);
        /**
         * Creates a list item with primary text, secondary text, and an image.
         */
        constructor (text: string, detailText: string, image: UIImage | null);
        /**
         * Creates a list item that displays an accessory beside its content.
         */
        constructor (text: string, detailText: string, image: UIImage | null, accessoryImage: UIImage | null, accessoryType: CPListItemAccessoryType);
        /**
         * Creates a list item with primary text, secondary text, an image, and a disclosure indicator.
         */
        constructor (text: string, detailText: string, image: UIImage | null, showsDisclosureIndicator: boolean);
        /**
         * Updates the list item’s accessory image.
         */
        setAccessoryImage(accessoryImage: UIImage | null):void;
        /**
         * Updates the list item’s primary text.
         */
        setText(text: string):void;
        /**
         * Updates the list item’s secondary text.
         */
        setDetailText(detailText: string):void;
        /**
         * Updates the list item’s image.
         */
        setImage(image: UIImage | null):void;
    }
    /**
     * the same name namespace of class CPListItem
     */
    export namespace CPListItem {
        export enum AssistantCellPosition {
            bottom = 1,
            top = 0,
        }
        export enum AssistantCellVisibility {
            off = 0,
            always = 2,
            whileLimitedUIActive = 1,
        }
    }
    export class CPTabBarTemplate extends CPTemplate {
        /**
         * The maximum number of tabs that the template can display.
         */
        static maximumTabCount: number;
        /**
         * The object that acts as the template’s delegate.
         */
        delegate: CPTabBarTemplateDelegate | null;
        /**
         * The tab bar’s templates.
         */
        templates: CPTemplate[];
        /**
         * The currently selected template in the tab bar.
         */
        selectedTemplate: CPTemplate | null;
        /**
         * Creates a tab bar template that displays the provided root templates as tabs.
         */
        constructor (templates: CPTemplate[]);
        /**
         * Adds, removes, reorders, or updates the tab bar’s templates.
         */
        updateTemplates(newTemplates: CPTemplate[]):void;
    }
    export interface CPTabBarTemplateDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the tab bar selects the specified template.
         */
        tabBarTemplate(tabBarTemplate: CPTabBarTemplate, selectedTemplate: CPTemplate):void;
    }
    export class CPTemplate extends NSObject {
        /**
         * Any custom data or object that you want to associate with the template.
         */
        userInfo: any;
        /**
         * A short title that describes the content of the tab.
         */
        tabTitle: string;
        /**
         * An image that represents the content of the tab.
         */
        tabImage: UIImage | null;
        /**
         * A system object that provides a title and image for common tab content, such as contacts or favorites.
         */
        tabSystemItem: UITabBarItem.SystemItem;
        /**
         * An indicator you use to call attention to the tab. 
         */
        showsTabBadge: boolean;
    }
    export class CPSessionConfiguration extends NSObject {
        /**
         * An object that serves as the delegate to the session configuration. 
         */
        delegate: CPSessionConfigurationDelegate | null;
        /**
         * The content style that the vehicle selects.
         */
        contentStyle: CPContentStyle;
        /**
         * A bit mask value that indicates the user interface limits.
         */
        limitedUserInterfaces: CPLimitableUserInterface;
        /**
         * Creates a session configuration with a delegate.
         */
        constructor (delegate: CPSessionConfigurationDelegate);
    }
    export enum CPListItemAccessoryType {
        none = 0,
        disclosureIndicator = 1,
        cloud = 2,
    }
    export class CPListImageRowItem extends NSObject {
        /**
         * The maximum size of an image that an image row can display.
         */
        static maximumImageSize: CGSize;
        /**
         * The list item’s primary text.
         */
        text: string;
        /**
         * The images that appear in the list item’s image row.
         */
        gridImages: UIImage[];
        /**
         * An optional closure that CarPlay invokes when the user selects an image.
         */
        listImageRowHandler: ()=>any | null;
        /**
         * An optional closure that CarPlay invokes when the user selects the list item.
         */
        handler: ()=>any | null;
        /**
         * An opaque value for the list item.
         */
        userInfo: any;
        /**
         * A Boolean value that indicates if the item is enabled.
         */
        isEnabled: boolean;
        /**
         * Creates a list item that displays a row of images.
         */
        constructor (text: string, images: UIImage[]);
        /**
         * Adds, removes, reorders, or updates the images in the list item’s image row.
         */
        update(gridImages: UIImage[]):void;
    }
    export interface CPBarButtonProviding extends NSObjectProtocol {
        /**
         * A button to display as the Back button on the navigation bar.
         */
        backButton: CPBarButton | null;
        /**
         * An array of bar buttons to display on the leading side of the navigation bar.
         */
        leadingNavigationBarButtons: CPBarButton[];
        /**
         * An array of bar buttons to display on the trailing side of the navigation bar.
         */
        trailingNavigationBarButtons: CPBarButton[];
    }
    export enum CPListItemPlayingIndicatorLocation {
        leading = 0,
        trailing = 1,
    }
    export class CPMessageListItem extends NSObject {
        /**
         * The conversation’s unique identifier.
         */
        conversationIdentifier: string;
        /**
         * The contact’s phone number or email address.
         */
        phoneOrEmailAddress: string;
        /**
         * The list item’s primary text.
         */
        text: string;
        /**
         * The list item’s secondary text.
         */
        detailText: string;
        /**
         * The list item’s supplementary text.
         */
        trailingText: string;
        /**
         * The configuration of the list item’s leading region.
         */
        leadingConfiguration: CPMessageListItemLeadingConfiguration;
        /**
         * The configuration of the list item’s trailing region.
         */
        trailingConfiguration: CPMessageListItemTrailingConfiguration | null;
        /**
         * An opaque value for the list item.
         */
        userInfo: any;
        /**
         * A Boolean value that indicates if the item is enabled.
         */
        isEnabled: boolean;
        /**
         * Creates a list item that represents an existing conversation.
         */
        constructor (conversationIdentifier: string, text: string, leadingConfiguration: CPMessageListItemLeadingConfiguration, trailingConfiguration: CPMessageListItemTrailingConfiguration | null, detailText: string, trailingText: string);
        /**
         * Creates a list item that represents a contact.
         */
        constructor (fullName: string, phoneOrEmailAddress: string, leadingConfiguration: CPMessageListItemLeadingConfiguration, trailingConfiguration: CPMessageListItemTrailingConfiguration | null, detailText: string, trailingText: string);
    }
    export class CPBarButton extends NSObject {
        /**
         * A Boolean value that enables and disables the bar button.
         */
        isEnabled: boolean;
        /**
         * The image displayed on the bar button.
         */
        image: UIImage | null;
        /**
         * The title displayed on the bar button.
         */
        title: string;
        /**
         * The display type for the bar button.
         */
        buttonType: any;
        /**
         * The style to use when displaying the button.
         */
        buttonStyle: CPBarButtonStyle;
        /**
         * Creates a bar button with a type and handler.
         */
        constructor (type: any, handler: CPBarButtonHandler | null);
        /**
         * Creates a bar button that displays an image.
         */
        constructor (image: UIImage, handler: CPBarButtonHandler | null);
        /**
         * Creates a bar button that displays a text label.
         */
        constructor (title: string, handler: CPBarButtonHandler | null);
    }
    /**
     * the same name namespace of class CPBarButton
     */
    export namespace CPBarButton {
        export enum Type {
            text = 0,
            image = 1,
        }
    }
    export class CPNowPlayingTemplate extends CPTemplate {
        /**
         * The Now Playing template the system provides.
         */
        static shared: CPNowPlayingTemplate;
        /**
         * The Now Playing template’s playback control buttons.
         */
        nowPlayingButtons: CPNowPlayingButton[];
        /**
         * A Boolean value that indicates whether the album and artist string is a button. 
         */
        isAlbumArtistButtonEnabled: boolean;
        /**
         * A Boolean value that manages the display of the Up Next button.
         */
        isUpNextButtonEnabled: boolean;
        /**
         * The title for the Up Next button.
         */
        upNextTitle: string;
        /**
         * Updates the playback control buttons the template displays.
         */
        updateNowPlayingButtons(nowPlayingButtons: CPNowPlayingButton[]):void;
        /**
         * Registers an observer that receives Now Playing template events.
         */
        add(observer: CPNowPlayingTemplateObserver):void;
        /**
         * Removes an observer from receiving Now Playing template events.
         */
        remove(observer: CPNowPlayingTemplateObserver):void;
    }
    export class CPMessageListItemLeadingConfiguration extends NSObject {
        /**
         * The configuration’s item.
         */
        leadingItem: CPMessageLeadingItem;
        /**
         * The configuration’s image.
         */
        leadingImage: UIImage | null;
        /**
         * A Boolean value that determines whether the message list item displays an unread indicator.
         */
        isUnread: boolean;
        /**
         * Creates a leading configuration that contains an item and an image.
         */
        constructor (leadingItem: CPMessageLeadingItem, leadingImage: UIImage | null, unread: boolean);
    }
    export class CPListSection extends NSObject {
        /**
         * The section’s header text.
         */
        header: string;
        /**
         * The section’s index title.
         */
        sectionIndexTitle: string;
        /**
         * The list of items for the section.
         */
        items: CPListTemplateItem[];
        /**
         * A button that the section header displays.
         */
        headerButton: CPButton | null;
        /**
         * An image that the section header displays.
         */
        headerImage: UIImage | null;
        /**
         * A string that the header displays as a subtitle.
         */
        headerSubtitle: string;
        constructor (items: CPListItem[]);
        constructor (items: CPListItem[], header: string, sectionIndexTitle: string);
        /**
         * Returns the index of the specified item.
         */
        index(item: CPListTemplateItem):number;
        /**
         * Returns the item at the specified index.
         */
        item(index: number):CPListTemplateItem;
    }
    export class CPMessageComposeBarButton extends CPBarButton {
        /**
         * Creates a message compose button with a system-provided image.
         */
        constructor ();
        /**
         * Creates a message compose button that displays a custom image.
         */
        constructor (image: UIImage);
    }
    export class CPNowPlayingButton extends NSObject {
        /**
         * A Boolean value that indicates whether the button is in an enabled state.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that indicates whether the button is in a selected state.
         */
        isSelected: boolean;
        /**
         * Creates a Now Playing button that invokes a handler.
         */
        constructor (handler: ()=>any | null);
    }
    export class CPTemplateApplicationDashboardScene extends UIScene {
        /**
         * The object that receives the dashboard scene’s life-cycle events.
         */
        delegate: CPTemplateApplicationDashboardSceneDelegate | null;
        /**
         * The controller that manages the dashboard scene’s shortcut buttons.
         */
        dashboardController: CPDashboardController;
        /**
         * The window that belongs to the dashboard scene.
         */
        dashboardWindow: UIWindow;
    }
    export class CPInterfaceController extends NSObject {
        /**
         * An object that serves as the delegate to the interface controller.
         */
        delegate: CPInterfaceControllerDelegate | null;
        /**
         * A Boolean value that determines whether the system draws the user interface in Dark Mode.
         */
        prefersDarkUserInterfaceStyle: boolean;
        /**
         * The trait collection of the vehicle’s primary screen.
         */
        carTraitCollection: UITraitCollection;
        /**
         * The root template in the navigation hierarchy.
         */
        rootTemplate: CPTemplate;
        /**
         * The top-most template in the navigation hierarchy.
         */
        topTemplate: CPTemplate | null;
        /**
         * The contents of the navigation hierarchy.
         */
        templates: CPTemplate[];
        /**
         * The interface controller’s current modal template.
         */
        presentedTemplate: CPTemplate | null;
        /**
         * Sets the root template of the navigation hierarchy.
         */
        setRootTemplate(rootTemplate: CPTemplate, animated: boolean, completion: ()=>any | null):void;
        /**
         * Adds the specified template to the navigation hierarchy and displays it.
         */
        pushTemplate(templateToPush: CPTemplate, animated: boolean, completion: ()=>any | null):void;
        /**
         * Removes the top-most template from the navigation hierarchy.
         */
        popTemplate(animated: boolean, completion: ()=>any | null):void;
        /**
         * Removes all of the templates from the navigation hierarchy except the root template.
         */
        popToRootTemplate(animated: boolean, completion: ()=>any | null):void;
        /**
         * Removes each template from the navigation hierarchy until the specified template becomes visible.
         */
        pop(targetTemplate: CPTemplate, animated: boolean, completion: ()=>any | null):void;
        /**
         * Presents a template modally.
         */
        presentTemplate(templateToPresent: CPTemplate, animated: boolean, completion: ()=>any | null):void;
        /**
         * Dismisses a modal template.
         */
        dismissTemplate(animated: boolean, completion: ()=>any | null):void;
    }
    export enum CPBarButtonStyle {
        none = 0,
        rounded = 1,
    }
    export class CPNowPlayingImageButton extends CPNowPlayingButton {
        /**
         * The image that the button displays.
         */
        image: UIImage | null;
        /**
         * Creates a Now Playing button that displays a custom image and invokes a handler.
         */
        constructor (image: UIImage, handler: ()=>any | null);
    }
    export enum CPMessageLeadingItem {
        none = 0,
        pin = 1,
        star = 2,
    }
    export class CPMessageListItemTrailingConfiguration extends NSObject {
        /**
         * The configuration’s item.
         */
        trailingItem: CPMessageTrailingItem;
        /**
         * The configuration’s image.
         */
        trailingImage: UIImage | null;
        /**
         * Creates a trailing configuration that contains an item and an image.
         */
        constructor (trailingItem: CPMessageTrailingItem, trailingImage: UIImage | null);
    }
    export interface CPSessionConfigurationDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the vehicle changed its selected content style.
         */
        sessionConfiguration(sessionConfiguration: CPSessionConfiguration, contentStyle: CPContentStyle):void;
    }
    export interface CPTemplateApplicationDashboardSceneDelegate extends UISceneDelegate {
        /**
         * Tells the delegate about the addition of a CarPlay Dashboard scene to your navigation app.
         */
        templateApplicationDashboardScene(templateApplicationDashboardScene: CPTemplateApplicationDashboardScene, dashboardController: CPDashboardController, window: UIWindow):void;
    }
    export class CPNowPlayingAddToLibraryButton extends CPNowPlayingButton {}
    export class CPNowPlayingMoreButton extends CPNowPlayingButton {}
    export class CPNowPlayingPlaybackRateButton extends CPNowPlayingButton {}
    export class CPNowPlayingRepeatButton extends CPNowPlayingButton {}
    export class CPNowPlayingShuffleButton extends CPNowPlayingButton {}
    export interface CPNowPlayingTemplateObserver extends NSObjectProtocol {
        /**
         * Tells the observer that the user tapped the Album-Artist button.
         */
        nowPlayingTemplateAlbumArtistButtonTapped(nowPlayingTemplate: CPNowPlayingTemplate):void;
        /**
         * Tells the observer that the user tapped the Up Next button.
         */
        nowPlayingTemplateUpNextButtonTapped(nowPlayingTemplate: CPNowPlayingTemplate):void;
    }
    export interface CPInterfaceControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the template will appear onscreen.
         */
        templateWillAppear(aTemplate: CPTemplate, animated: boolean):void;
        /**
         * Tells the delegate that the template did appear onscreen.
         */
        templateDidAppear(aTemplate: CPTemplate, animated: boolean):void;
        /**
         * Tells the delegate that the template will disappear from the screen.
         */
        templateWillDisappear(aTemplate: CPTemplate, animated: boolean):void;
        /**
         * Tells the delegate that the template did disappear from the screen.
         */
        templateDidDisappear(aTemplate: CPTemplate, animated: boolean):void;
    }
    export enum CPMessageTrailingItem {
        none = 0,
        mute = 1,
    }
    export class CPDashboardController extends NSObject {
        /**
         * An array of shortcut buttons to display on the CarPlay Dashboard.
         */
        shortcutButtons: CPDashboardButton[];
    }
    export class CPMapTemplate extends CPTemplate {
        /**
         * A Boolean value that indicates whether the template should automatically hide the navigation bar.
         */
        automaticallyHidesNavigationBar: boolean;
        /**
         * A Boolean value that tells the system to hide the map buttons when hiding the navigation bar.
         */
        hidesButtonsWithNavigationBar: boolean;
        /**
         * The background color the map template uses when displaying guidance.
         */
        guidanceBackgroundColor: UIColor;
        /**
         * The object that serves as the delegate of the map template.
         */
        mapDelegate: CPMapTemplateDelegate | null;
        /**
         * An array of map buttons on the trailing bottom corner of the map template.
         */
        mapButtons: CPMapButton[];
        /**
         * The style that the map template uses when displaying trip estimates during active nagivation.
         */
        tripEstimateStyle: CPTripEstimateStyle;
        /**
         * The visible navigation alert.
         */
        currentNavigationAlert: CPNavigationAlert | null;
        /**
         * A Boolean value that indicates whether the map template is displaying the panning interface.
         */
        isPanningInterfaceVisible: boolean;
        /**
         * Displays the preview for one or more trips, and allows route selection.
         */
        showTripPreviews(tripPreviews: CPTrip[], textConfiguration: CPTripPreviewTextConfiguration | null):void;
        /**
         * Hides the display of trip previews.
         */
        hideTripPreviews():void;
        /**
         * Displays the route choices for a single trip.
         */
        showRouteChoicesPreview(tripPreview: CPTrip, textConfiguration: CPTripPreviewTextConfiguration | null):void;
        /**
         * Begins navigational guidance for a trip.
         */
        startNavigationSession(trip: CPTrip):CPNavigationSession;
        /**
         * Updates travel estimates, such as arrival time and the remaining time and distance for a trip.
         */
        updateEstimates(estimates: CPTravelEstimates, trip: CPTrip):void;
        /**
         * Updates travel estimates, such as arrival time and the remaining time and distance for a trip, with the specified time-remaining color.
         */
        update(estimates: CPTravelEstimates, trip: CPTrip, timeRemainingColor: CPTimeRemainingColor):void;
        /**
         * Displays a navigation alert on the map template.
         */
        present(navigationAlert: CPNavigationAlert, animated: boolean):void;
        /**
         * Tells the map template to dismiss the visable navigation alert.
         */
        dismissNavigationAlert(animated: boolean, completion: ()=>any):void;
        /**
         * Shows the panning interface on the map.
         */
        showPanningInterface(animated: boolean):void;
        /**
         * Dismisses the panning interface.
         */
        dismissPanningInterface(animated: boolean):void;
    }
    /**
     * the same name namespace of class CPMapTemplate
     */
    export namespace CPMapTemplate {
        export class PanDirection {
            /**
             * The user panned the map downward.
             */
            static down: CPMapTemplate.PanDirection;
            /**
             * The user panned the map to the left.
             */
            static left: CPMapTemplate.PanDirection;
            /**
             * The user panned the map to the right.
             */
            static right: CPMapTemplate.PanDirection;
            /**
             * The user panned the map upward.
             */
            static up: CPMapTemplate.PanDirection;
            /**
             * Initializes a pan direction using the specified raw value.
             */
            constructor (rawValue: number);
        }
    }
    export class CPDashboardButton extends NSObject {
        /**
         * The array of title variants for the button.
         */
        titleVariants: string[];
        /**
         * The array of subtitle variants for the button.
         */
        subtitleVariants: string[];
        /**
         * The image the button displays.
         */
        image: UIImage;
        /**
         * Creates a dashboard button that displays a title, an optional subtitle, and an image.
         */
        constructor (titleVariants: string[], subtitleVariants: string[], image: UIImage, handler: ()=>any | null);
    }
    export class CPWindow extends UIWindow {
        /**
         * The application scene that contains the window.
         */
        templateApplicationScene: CPTemplateApplicationScene | null;
        /**
         * The layout guide that represents the portion of the map template that map buttons don’t obscure.
         */
        mapButtonSafeAreaLayoutGuide: UILayoutGuide;
    }
    export interface CPMapTemplateDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for the maneuver’s display style.
         */
        mapTemplate(mapTemplate: CPMapTemplate, maneuver: CPManeuver):CPManeuverDisplayStyle;
        /**
         * Tells the delegate that the system canceled the navigation.
         */
        mapTemplateDidCancelNavigation(mapTemplate: CPMapTemplate):void;
        /**
         * Tells the delegate that the panning interface is visible on the map.
         */
        mapTemplateDidShowPanningInterface(mapTemplate: CPMapTemplate):void;
        /**
         * Tells the delegate that the panning interface will disappear from the map.
         */
        mapTemplateWillDismissPanningInterface(mapTemplate: CPMapTemplate):void;
        /**
         * Tells the delegate that the panning interface is no longer visible on the map.
         */
        mapTemplateDidDismissPanningInterface(mapTemplate: CPMapTemplate):void;
        /**
         * Tells the delegate that the pan gesture has started.
         */
        mapTemplateDidBeginPanGesture(mapTemplate: CPMapTemplate):void;
    }
    export class CPSearchTemplate extends CPTemplate {
        /**
         * The object that serves as the search template's delegate.
         */
        delegate: CPSearchTemplateDelegate | null;
    }
    export interface CPSearchTemplateDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user updated the search criteria text.
         */
        searchTemplate(searchTemplate: CPSearchTemplate, searchText: string, completionHandler: ()=>any):void;
        /**
         * Tells the delegate that the user tapped the keyboard’s search button.
         */
        searchTemplateSearchButtonPressed(searchTemplate: CPSearchTemplate):void;
    }
    export class CPVoiceControlTemplate extends CPTemplate {
        /**
         * The identifier of the template’s current voice control state.
         */
        activeStateIdentifier: string;
        /**
         * The array of voice control states available to the template.
         */
        voiceControlStates: CPVoiceControlState[];
        /**
         * Creates a voice control template with a list of voice control states.
         */
        constructor (voiceControlStates: CPVoiceControlState[]);
        /**
         * Changes the template’s state to the one matching the specified identifier.
         */
        activateVoiceControlState(identifier: string):void;
    }
    export class CPManeuverDisplayStyle {
        /**
         * The symbol appears before the instructions for the maneuver.
         */
        static leadingSymbol: CPManeuverDisplayStyle;
        /**
         * The symbol appears after the instructions for the maneuver.
         */
        static trailingSymbol: CPManeuverDisplayStyle;
        /**
         * Only the instructions appear for the maneuver.
         */
        static instructionOnly: CPManeuverDisplayStyle;
        /**
         * Only the symbol appears for the maneuver.
         */
        static symbolOnly: CPManeuverDisplayStyle;
        /**
         * Initializes a maneuver display style using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class CPMapButton extends NSObject {
        /**
         * The image to display on the button.
         */
        image: UIImage | null;
        /**
         * The image to display when focus is on the button.
         */
        focusedImage: UIImage | null;
        /**
         * A Boolean value that enables and disables the map button.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that hides and shows the map button.
         */
        isHidden: boolean;
        /**
         * Creates a new map button.
         */
        constructor (handler: ()=>any | null);
    }
    export class CPVoiceControlState extends NSObject {
        /**
         * The string that your app uses to identify the voice control state.
         */
        identifier: string;
        /**
         * The array of title variants for the voice control state.
         */
        titleVariants: string[] | null;
        /**
         * The image displayed while the voice control template is in this state.
         */
        image: UIImage | null;
        /**
         * A Boolean value that indicates whether the display of an animated image repeats the animation sequence indefinitely.
         */
        repeats: boolean;
        /**
         * Creates a voice control state.
         */
        constructor (identifier: string, titleVariants: string[] | null, image: UIImage | null, repeats: boolean);
    }
    export class CPPointOfInterestTemplate extends CPTemplate {
        /**
         * The object that serves as the template’s delegate.
         */
        pointOfInterestDelegate: CPPointOfInterestTemplateDelegate | null;
        /**
         * The scrollable picker’s title.
         */
        title: string;
        /**
         * The points of interest the template displays on the map and in the scrollable picker.
         */
        pointsOfInterest: CPPointOfInterest[];
        /**
         * The current selection’s index.
         */
        selectedIndex: number;
        /**
         * Creates a Point of Interest template with a title, the points of interest to display, and the initial selection’s index.
         */
        constructor (title: string, pointsOfInterest: CPPointOfInterest[], selectedIndex: number);
        /**
         * Updates the points of interest and the current selection.
         */
        setPointsOfInterest(pointsOfInterest: CPPointOfInterest[], selectedIndex: number):void;
    }
    export class CPNavigationAlert extends NSObject {}
    /**
     * the same name namespace of class CPNavigationAlert
     */
    export namespace CPNavigationAlert {
        export enum DismissalContext {
            timeout = 0,
            systemDismissed = 2,
            userDismissed = 1,
        }
    }
    export class CPContentStyle {
        /**
         * The indication from the vehicle to draw the content in a dark style.
         */
        static dark: CPContentStyle;
        /**
         * The indication from the vehicle to draw the content in a light style.
         */
        static light: CPContentStyle;
        /**
         * Creates a content style from a raw value.
         */
        constructor (rawValue: number);
    }
    export class CPTripPreviewTextConfiguration extends NSObject {
        /**
         * The title displayed on the start button.
         */
        startButtonTitle: string;
        /**
         * The title displayed on the routes button.
         */
        additionalRoutesButtonTitle: string;
        /**
         * The title displayed on the overview button.
         */
        overviewButtonTitle: string;
        /**
         * Creates a trip preview text configuration object.
         */
        constructor (startButtonTitle: string, additionalRoutesButtonTitle: string, overviewButtonTitle: string);
    }
    export class CPPointOfInterest extends NSObject {
        static pinImageSize: CGSize;
        static selectedPinImageSize: CGSize;
        /**
         * The map item that contains the point of interest’s geographical information.
         */
        location: MKMapItem;
        /**
         * A custom image that the map annotation displays.
         */
        pinImage: UIImage | null;
        /**
         * The title that the picker’s item displays.
         */
        title: string;
        /**
         * The subtitle that the picker’s item displays. 
         */
        subtitle: string;
        /**
         * The summary that the picker’s item displays.
         */
        summary: string;
        /**
         * The detail card’s title.
         */
        detailTitle: string;
        /**
         * The detail card’s subtitle.
         */
        detailSubtitle: string;
        /**
         * The detail card’s summary.
         */
        detailSummary: string;
        /**
         * The detail card’s primary action button.
         */
        primaryButton: CPTextButton | null;
        /**
         * The detail card’s secondary action button.
         */
        secondaryButton: CPTextButton | null;
        /**
         * An opaque value for the point of interest.
         */
        userInfo: any;
        selectedPinImage: UIImage | null;
        /**
         * Creates a point of interest for a specific location.
         */
        constructor (location: MKMapItem, title: string, subtitle: string, summary: string, detailTitle: string, detailSubtitle: string, detailSummary: string, pinImage: UIImage | null);
        constructor (location: MKMapItem, title: string, subtitle: string, summary: string, detailTitle: string, detailSubtitle: string, detailSummary: string, pinImage: UIImage | null, selectedPinImage: UIImage | null);
    }
    export class CPInformationTemplate extends CPTemplate {
        /**
         * The layout that the template uses to arrange its items.
         */
        layout: CPInformationTemplateLayout;
        /**
         * The template’s title.
         */
        title: string;
        /**
         * The items that the template displays.
         */
        items: CPInformationItem[];
        /**
         * The actions that the template displays.
         */
        actions: CPTextButton[];
        /**
         * Creates an information template that displays the provided items using the chosen layout.
         */
        constructor (title: string, layout: CPInformationTemplateLayout, items: CPInformationItem[], actions: CPTextButton[]);
    }
    export class CPNavigationSession extends NSObject {
        /**
         * The trip associated with the navigation session.
         */
        trip: CPTrip;
        /**
         * The next set of maneuvers the user should perform while following the current route.
         */
        upcomingManeuvers: CPManeuver[];
        /**
         * Tells the navigation session to cancel the trip.
         */
        cancelTrip():void;
        /**
         * Tells the navigation session to finish the trip.
         */
        finishTrip():void;
        /**
         * Tells the navigation session to pause the trip for the specified reason.
         */
        pauseTrip(reason: CPNavigationSession.PauseReason, description: string):void;
        /**
         * Updates the travel estimates for the specified maneuver.
         */
        updateEstimates(estimates: CPTravelEstimates, maneuver: CPManeuver):void;
    }
    /**
     * the same name namespace of class CPNavigationSession
     */
    export namespace CPNavigationSession {
        export enum PauseReason {
            arrived = 1,
            loading = 2,
            locating = 3,
            proceedToRoute = 5,
            rerouting = 4,
        }
    }
    export interface CPPointOfInterestTemplateDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate about changes to the visible region of the template’s map.
         */
        pointOfInterestTemplate(pointOfInterestTemplate: CPPointOfInterestTemplate, region: MKCoordinateRegion):void;
    }
    export enum CPInformationTemplateLayout {
        leading = 0,
        twoColumn = 1,
    }
    export class CPTextButton extends NSObject {
        /**
         * The text the button displays.
         */
        title: string;
        /**
         * The text style the button applies to its title.
         */
        textStyle: CPTextButtonStyle;
        /**
         * Creates a button that displays a title in a specific style.
         */
        constructor (title: string, textStyle: CPTextButtonStyle, handler: ()=>any | null);
    }
    export class CPTrip extends NSObject {
        /**
         * The trip's origin.
         */
        origin: MKMapItem;
        /**
         * The trip's destination.
         */
        destination: MKMapItem;
        /**
         * The list of route choices for the trip.
         */
        routeChoices: CPRouteChoice[];
        /**
         * A custom object associated with the trip.
         */
        userInfo: any;
        /**
         * Creates a trip with an origin, destination, and route choices.
         */
        constructor (origin: MKMapItem, destination: MKMapItem, routeChoices: CPRouteChoice[]);
    }
    export enum CPTimeRemainingColor {
        default = 0,
        green = 1,
        orange = 2,
        red = 3,
    }
    export class CPInformationItem extends NSObject {
        /**
         * The text that the template displays as the item’s title.
         */
        title: string;
        /**
         * The text that the template displays below or beside the item’s title.
         */
        detail: string;
        /**
         * Creates an information item with a title and detail text.
         */
        constructor (title: string, detail: string);
    }
    export enum CPTextButtonStyle {
        normal = 0,
        confirm = 2,
        cancel = 1,
    }
    export class CPContactTemplate extends CPTemplate {
        /**
         * The contact that the template displays.
         */
        contact: CPContact;
        /**
         * Creates a contact template that displays the provided contact.
         */
        constructor (contact: CPContact);
    }
    export class CPGridTemplate extends CPTemplate {
        /**
         * The title shown in the grid template's navigation bar.
         */
        title: string;
        /**
         * The array of grid buttons displayed on the template.
         */
        gridButtons: CPGridButton[];
        /**
         * Creates a grid template with a title and a set of buttons.
         */
        constructor (title: string, gridButtons: CPGridButton[]);
        updateGridButtons(gridButtons: CPGridButton[]):void;
        updateTitle(title: string):void;
    }
    export class CPRouteChoice extends NSObject {
        /**
         * An array of summary variants.
         */
        summaryVariants: string[];
        /**
         * An array of variants providing additional information about the route choice.
         */
        additionalInformationVariants: string[] | null;
        /**
         * An array of selection summary variants.
         */
        selectionSummaryVariants: string[] | null;
        /**
         * An object containing custom information associated with the route choice.
         */
        userInfo: any;
        /**
         * Creates a route choice.
         */
        constructor (summaryVariants: string[], additionalInformationVariants: string[], selectionSummaryVariants: string[]);
    }
    export enum CPTripEstimateStyle {
        light = 0,
        dark = 1,
    }
    export class CPInformationRatingItem extends CPInformationItem {
        /**
         * The current rating that the template displays.
         */
        rating: NSNumber | null;
        /**
         * The maximum rating that the template displays.
         */
        maximumRating: NSNumber | null;
        /**
         * Creates a rating item with a current and a maximum rating.
         */
        constructor (rating: NSNumber | null, maximumRating: NSNumber | null, title: string, detail: string);
    }
    export class CPContact extends NSObject {
        /**
         * The contact’s image.
         */
        image: UIImage;
        /**
         * The contact’s name.
         */
        name: string;
        /**
         * A subtitle that the template displays in addition to the contact’s name.
         */
        subtitle: string;
        /**
         * Additional text that the template displays.
         */
        informativeText: string;
        /**
         * The actions that the template displays for this contact.
         */
        actions: CPButton[] | null;
        /**
         * Creates a contact with a name and an image.
         */
        constructor (name: string, image: UIImage);
    }
    export class CPActionSheetTemplate extends CPTemplate {
        /**
         * The title of the action sheet.
         */
        title: string;
        /**
         * The descriptive message providing details about the reason for displaying the action sheet.
         */
        message: string;
        /**
         * The list of actions available on the action sheet.
         */
        actions: CPAlertAction[];
        /**
         * Creates an action sheet template.
         */
        constructor (title: string, message: string, actions: CPAlertAction[]);
    }
    export class CPManeuver extends NSObject {
        /**
         * An array of instruction variants for the maneuver.
         */
        instructionVariants: string[];
        /**
         * An array of instruction variants for the CarPlay dashboard.
         */
        dashboardInstructionVariants: string[];
        /**
         * An array of instruction variants for notification banners. 
         */
        notificationInstructionVariants: string[];
        /**
         * An array of attributed instruction variants for the maneuver.
         */
        attributedInstructionVariants: NSAttributedString[];
        /**
         * An array of attributed instruction variants for the CarPlay dashboard.
         */
        dashboardAttributedInstructionVariants: NSAttributedString[];
        /**
         * An array of attributed instruction variants for notification banners.
         */
        notificationAttributedInstructionVariants: NSAttributedString[];
        /**
         * An object that describes the distance and time remaining before the maneuver completes.
         */
        initialTravelEstimates: CPTravelEstimates | null;
        /**
         * An image that represents the maneuver.
         */
        symbolImage: UIImage | null;
        /**
         * An image for the CarPlay dashboard that represents the maneuver.
         */
        dashboardSymbolImage: UIImage | null;
        /**
         * An image for notification banners that represents the maneuver.
         */
        notificationSymbolImage: UIImage | null;
        /**
         * An image set that represents the maneuver.
         */
        symbolSet: CPImageSet | null;
        /**
         * An image that represents an upcoming junction.
         */
        junctionImage: UIImage | null;
        /**
         * An image for the CarPlay dashboard that represents an upcoming junction.
         */
        dashboardJunctionImage: UIImage | null;
        /**
         * A custom object associated with the maneuver.
         */
        userInfo: any;
        cardBackgroundColor: UIColor | null;
    }
    export class CPContactCallButton extends CPButton {
        /**
         * Creates a button that invokes a handler when the user taps it. 
         */
        constructor (handler: ()=>any | null);
    }
    export class CPAlertTemplate extends CPTemplate {
        /**
         * The maximum number of actions allowed in an alert template. 
         */
        static maximumActionCount: number;
        /**
         * The array of title variants.
         */
        titleVariants: string[];
        /**
         * The array of actions available on the alert.
         */
        actions: CPAlertAction[];
        /**
         * Creates an alert template.
         */
        constructor (titleVariants: string[], actions: CPAlertAction[]);
    }
    export class CPTravelEstimates extends NSObject {
        /**
         * The remaining distance for the travel estimate.
         */
        distanceRemaining: Measurement<UnitLength>;
        /**
         * The remaining time for the travel estimate.
         */
        timeRemaining: TimeInterval;
        /**
         * Creates travel estimates with remaining distance and time.
         */
        constructor (distance: Measurement<UnitLength>, time: TimeInterval);
    }
    export class CPContactDirectionsButton extends CPButton {
        /**
         * Creates a button that invokes a handler when the user taps it. 
         */
        constructor (handler: ()=>any | null);
    }
    export class CPAlertAction extends NSObject {
        /**
         * The action button's title.
         */
        title: string;
        /**
         * The display style for the action button.
         */
        style: CPAlertAction.Style;
        /**
         * The closure that CarPlay invokes after the user taps the action button.
         */
        handler: CPAlertActionHandler;
        color: UIColor | null;
        /**
         * Creates an alert action with a title, style, and action handler.
         */
        constructor (title: string, style: CPAlertAction.Style, handler: CPAlertActionHandler);
        constructor (title: string, color: UIColor, handler: CPAlertActionHandler);
    }
    /**
     * the same name namespace of class CPAlertAction
     */
    export namespace CPAlertAction {
        export enum Style {
            default = 0,
            cancel = 1,
            destructive = 2,
        }
    }
    export class CPButton extends NSObject {
        /**
         * The button’s image.
         */
        image: UIImage | null;
        /**
         * The button’s title.
         */
        title: string;
        /**
         * A Boolean value that determines whether the button is in an enabled state.
         */
        isEnabled: boolean;
        /**
         * Creates a button that displays an image and invokes a handler when the user taps it.
         */
        constructor (image: UIImage, handler: ()=>any | null);
    }
    export class CPImageSet extends NSObject {
        /**
         * The image the system displays when the user interface style is light.
         */
        lightContentImage: UIImage;
        /**
         * The image the system displays when the user interface style is dark.
         */
        darkContentImage: UIImage;
        /**
         * Creates an image set with light and dark versions of an image.
         */
        constructor (lightImage: UIImage, darkImage: UIImage);
    }
    export class CPContactMessageButton extends CPButton {
        /**
         * The contact’s phone number or email address.
         */
        phoneOrEmail: string;
        /**
         * Creates a contact message button with the provided contact information.
         */
        constructor (phoneOrEmail: string);
    }
    export interface CPApplicationDelegate extends UIApplicationDelegate {
        /**
         * Tells the app delegate that the app connected to the CarPlay interface.
         */
        application(application: UIApplication, interfaceController: CPInterfaceController, window: CPWindow):void;
    }
    export class CPInstrumentClusterController extends NSObject {
        attributedInactiveDescriptionVariants: NSAttributedString[];
        compassSetting: CPInstrumentClusterSetting;
        delegate: CPInstrumentClusterControllerDelegate | null;
        inactiveDescriptionVariants: string[];
        instrumentClusterWindow: UIWindow | null;
        speedLimitSetting: CPInstrumentClusterSetting;
    }
    export class CPTemplateApplicationInstrumentClusterScene extends UIScene {
        contentStyle: UIUserInterfaceStyle;
        delegate: CPTemplateApplicationInstrumentClusterSceneDelegate | null;
        instrumentClusterController: CPInstrumentClusterController;
    }
    export interface CPInstrumentClusterControllerDelegate extends NSObjectProtocol {
        instrumentClusterController(instrumentClusterController: CPInstrumentClusterController, compassSetting: CPInstrumentClusterSetting):void;
        instrumentClusterControllerDidConnect(instrumentClusterWindow: UIWindow):void;
        instrumentClusterControllerDidDisconnectWindow(instrumentClusterWindow: UIWindow):void;
        instrumentClusterControllerDidZoom(instrumentClusterController: CPInstrumentClusterController):void;
        instrumentClusterControllerDidZoomOut(instrumentClusterController: CPInstrumentClusterController):void;
    }
    export interface CPTemplateApplicationInstrumentClusterSceneDelegate extends UISceneDelegate {
        contentStyleDidChange(contentStyle: UIUserInterfaceStyle):void;
        templateApplicationInstrumentClusterScene(templateApplicationInstrumentClusterScene: CPTemplateApplicationInstrumentClusterScene, instrumentClusterController: CPInstrumentClusterController):void;
    }
    export enum CPInstrumentClusterSetting {
        disabled = 2,
        enabled = 1,
        unspecified = 0,
        userPreference = 3,
    }
    export class CPLimitableUserInterface {
        /**
         * Indicates that the car is limiting the keyboard display.
         */
        static keyboard: CPLimitableUserInterface;
        /**
         * Indicates that the car is limiting the display of lists.
         */
        static lists: CPLimitableUserInterface;
        /**
         * Initializes a limitable user interface element using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface CPListTemplateItem extends NSObjectProtocol {
        /**
         * The item’s primary text.
         */
        text: string;
        /**
         * An opaque value for the list item.
         */
        userInfo: any;
        /**
         * A Boolean value that indicates if the item is enabled.
         */
        isEnabled: boolean;
    }
    export class CPGridButton extends NSObject {
        /**
         * A Boolean value that enables and disables the grid button.
         */
        isEnabled: boolean;
        /**
         * An array of title variants for the button.
         */
        titleVariants: string[];
        /**
         * The image displayed on the button.
         */
        image: UIImage;
        /**
         * Creates a grid button with the specified title variants, image, and action handler.
         */
        constructor (titleVariants: string[], image: UIImage, handler: ()=>any | null);
    }
}

/**
 * Access network services and handle changes in network configurations. Build on abstractions of network protocols to simplify tasks such as working with BSD sockets, administering HTTP and FTP servers, and managing Bonjour services.
 */
declare module CFNetwork {
    export enum CFNetworkErrors {
        cfsocks5ErrorBadState = 120,
        cfsocks5ErrorBadResponseAddr = 121,
        cfsocks5ErrorBadCredentials = 122,
        cfsocks5ErrorUnsupportedNegotiationMethod = 123,
        cfsocks5ErrorNoAcceptableMethod = 124,
        cfftpErrorUnexpectedStatusCode = 200,
        cfErrorHTTPAuthenticationTypeUnsupported = 300,
        cfErrorHTTPBadCredentials = 301,
        cfErrorHTTPConnectionLost = 302,
        cfErrorHTTPParseFailure = 303,
        cfHostErrorHostNotFound = 1,
        cfErrorHTTPRedirectionLoopDetected = 304,
        cfErrorHTTPBadURL = 305,
        cfErrorHTTPProxyConnectionFailure = 306,
        cfErrorHTTPBadProxyCredentials = 307,
        cfErrorPACFileError = 308,
        cfErrorPACFileAuth = 309,
        cfErrorHTTPSProxyConnectionFailure = 310,
        cfStreamErrorHTTPSProxyFailureUnexpectedResponseToCONNECTMethod = 311,
        cfurlErrorUnknown = -998,
        cfurlErrorCancelled = -999,
        cfHostErrorUnknown = 2,
        cfurlErrorBadURL = -1000,
        cfurlErrorTimedOut = -1001,
        cfurlErrorUnsupportedURL = -1002,
        cfurlErrorCannotFindHost = -1003,
        cfurlErrorCannotConnectToHost = -1004,
        cfurlErrorNetworkConnectionLost = -1005,
        cfurlErrorDNSLookupFailed = -1006,
        cfurlErrorHTTPTooManyRedirects = -1007,
        cfurlErrorResourceUnavailable = -1008,
        cfurlErrorNotConnectedToInternet = -1009,
        cfsocksErrorUnknownClientVersion = 100,
        cfurlErrorRedirectToNonExistentLocation = -1010,
        cfurlErrorBadServerResponse = -1011,
        cfurlErrorUserCancelledAuthentication = -1012,
        cfurlErrorUserAuthenticationRequired = -1013,
        cfurlErrorZeroByteResource = -1014,
        cfurlErrorCannotDecodeRawData = -1015,
        cfurlErrorCannotDecodeContentData = -1016,
        cfurlErrorCannotParseResponse = -1017,
        cfurlErrorInternationalRoamingOff = -1018,
        cfurlErrorCallIsActive = -1019,
        cfsocksErrorUnsupportedServerVersion = 101,
        cfurlErrorDataNotAllowed = -1020,
        cfurlErrorRequestBodyStreamExhausted = -1021,
        cfurlErrorFileDoesNotExist = -1100,
        cfurlErrorFileIsDirectory = -1101,
        cfurlErrorNoPermissionsToReadFile = -1102,
        cfurlErrorDataLengthExceedsMaximum = -1103,
        cfurlErrorSecureConnectionFailed = -1200,
        cfurlErrorServerCertificateHasBadDate = -1201,
        cfurlErrorServerCertificateUntrusted = -1202,
        cfurlErrorServerCertificateHasUnknownRoot = -1203,
        cfsocks4ErrorRequestFailed = 110,
        cfurlErrorServerCertificateNotYetValid = -1204,
        cfurlErrorClientCertificateRejected = -1205,
        cfurlErrorClientCertificateRequired = -1206,
        cfurlErrorCannotLoadFromNetwork = -2000,
        cfurlErrorCannotCreateFile = -3000,
        cfurlErrorCannotOpenFile = -3001,
        cfurlErrorCannotCloseFile = -3002,
        cfurlErrorCannotWriteToFile = -3003,
        cfurlErrorCannotRemoveFile = -3004,
        cfurlErrorCannotMoveFile = -3005,
        cfsocks4ErrorIdentdFailed = 111,
        cfurlErrorDownloadDecodingFailedMidStream = -3006,
        cfurlErrorDownloadDecodingFailedToComplete = -3007,
        cfhttpCookieCannotParseCookieFile = -4000,
        cfNetServiceErrorUnknown = -72000,
        cfNetServiceErrorCollision = -72001,
        cfNetServiceErrorNotFound = -72002,
        cfNetServiceErrorInProgress = -72003,
        cfNetServiceErrorBadArgument = -72004,
        cfNetServiceErrorCancel = -72005,
        cfNetServiceErrorInvalid = -72006,
        cfsocks4ErrorIdConflict = 112,
        cfNetServiceErrorTimeout = -72007,
        cfNetServiceErrorDNSServiceFailure = -73000,
        cfurlErrorAppTransportSecurityRequiresSecureConnection = -1022,
        cfurlErrorBackgroundSessionInUseByAnotherProcess = -996,
        cfurlErrorBackgroundSessionWasDisconnected = -997,
        cfurlErrorFileOutsideSafeArea = -1104,
        cfsocks4ErrorUnknownStatusCode = 113,
    }
    export enum CFHostInfoType {
        addresses = 0,
        names = 1,
        reachability = 2,
    }
    export class CFHostClientContext {
        /**
         * The callback used to create a descriptive string representation of the info pointer (or the data pointed to by the info pointer) for debugging purposes. This callback is called by the 
         *  function. 
         */
        copyDescription: CFAllocatorCopyDescriptionCallBack | null;
        /**
         * An arbitrary pointer to allocated memory containing user-defined data that can be associated with the host and that is passed to the callbacks. 
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * The callback used to remove a retain previously added for the host on the info pointer.
         */
        release: CFAllocatorReleaseCallBack | null;
        /**
         * The callback used to add a retain for the host on the info pointer for the life of the host, and may be used for temporary references the host needs to take. This callback returns the actual info pointer to store in the host, almost always just the pointer passed as the parameter.
         */
        retain: CFAllocatorRetainCallBack | null;
        /**
         * The version number of the structure type passed as a parameter to the host client function. The only valid version number is 
         * .
         */
        version: CFIndex;
        /**
         * Initializes an object that contains user-defined data and callbacks for a network host.
         */
        constructor ();
        /**
         * Initializes an object that contains user-defined data and callbacks for a network host using the specified values.
         */
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: CFAllocatorRetainCallBack | null, release: CFAllocatorReleaseCallBack | null, copyDescription: CFAllocatorCopyDescriptionCallBack | null);
    }
    export class CFHTTPAuthentication {}
    export class CFHTTPMessage {}
    export class CFNetDiagnostic {}
    export enum CFNetDiagnosticStatusValues {
        noErr = 0,
        err = -66560,
        connectionUp = -66559,
        connectionIndeterminate = -66558,
        connectionDown = -66557,
    }
    export class CFNetService {}
    export class CFNetServiceBrowser {}
    export class CFNetServiceBrowserFlags {
        /**
         * Specifies whether the resulting domain is the default registration or browse domain.
         */
        static isDefault: CFNetServiceBrowserFlags;
        /**
         * Specifies whether the result pertains to a search for domains or services.
         */
        static isDomain: CFNetServiceBrowserFlags;
        static isRegistrationDomain: CFNetServiceBrowserFlags;
        /**
         * A hint that the system will call the client’s callback function again soon.
         */
        static moreComing: CFNetServiceBrowserFlags;
        /**
         * Specifies whether the client should remove the result instead of adding it.
         */
        static remove: CFNetServiceBrowserFlags;
        /**
         * Initializes a flag value with the specified bitfield.
         */
        constructor (rawValue: CFOptionFlags);
    }
    export class CFNetServiceMonitor {}
    export enum CFNetServiceMonitorType {
        TXT = 1,
    }
    export class CFNetServiceClientContext {
        /**
         * Callback used to create a descriptive string representation of the data pointed to by 
         * . In implementing this function, return a reference to a CFString object that describes your allocator and some characteristics of your user-defined data, which is used by 
         * . You can set this field to 
         * , in which case Core Foundation will provide a rudimentary description.
         */
        copyDescription: CFAllocatorCopyDescriptionCallBack | null;
        /**
         * Arbitrary pointer to user-allocated memory containing user-defined data that is associated with the service, browser, or monitor and is passed to their respective callback functions. The data must be valid for as long as the CFNetService, CFNetServiceBrowser, or CFNetServiceMonitor is valid. Set this field to 
         *  if your callback function doesn’t want to receive user-defined data.
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * Callback that removes a retain previously added for the service or browser on the 
         *  pointer. This field can be 
         * , but setting this field to 
         *  may result in memory leaks.
         */
        release: CFAllocatorReleaseCallBack | null;
        /**
         * The callback used to add a retain for the service or browser using 
         *  for the life of the service or browser. This callback may be used for temporary references the service or browser needs to take. This callback returns the actual 
         *  pointer so it can be stored in the service or browser. This field can be 
         * .
         */
        retain: CFAllocatorRetainCallBack | null;
        /**
         * Version number for this structure. Currently the only valid value is zero.
         */
        version: CFIndex;
        /**
         * Creates an object that contains user-defined data and callbacks for net service browsers.
         */
        constructor ();
        /**
         * Creates an object that contains user-defined data and callbacks for net service browsers using the specified values.
         */
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: CFAllocatorRetainCallBack | null, release: CFAllocatorReleaseCallBack | null, copyDescription: CFAllocatorCopyDescriptionCallBack | null);
    }
    export class CFNetServiceRegisterFlags {
        /**
         * Causes registrations to fail if a name conflict occurs.
         */
        static noAutoRename: CFNetServiceRegisterFlags;
        /**
         * Initializes a flag value with the specified bitfield.
         */
        constructor (rawValue: CFOptionFlags);
    }
    export enum CFNetServicesError {
        unknown = -72000,
        collision = -72001,
        notFound = -72002,
        inProgress = -72003,
        badArgument = -72004,
        cancel = -72005,
        invalid = -72006,
        timeout = -72007,
        missingRequiredConfiguration = -72008,
    }
    export enum CFStreamErrorHTTP {
        parseFailure = -1,
        redirectionLoop = -2,
        badURL = -3,
    }
    export enum CFStreamErrorHTTPAuthentication {
        typeUnsupported = -1000,
        badUserName = -1001,
        badPassword = -1002,
    }
    export class CFHost {}
}

/**
 * Enable teachers to assign activities from your app’s content and to view student progress.
 */
declare module ClassKit {
    export class CLSDataStore extends NSObject {
        /**
         * The currently running activity within the currently active context.
         */
        runningActivity: CLSActivity | null;
        /**
         * Fetches an activity for a given document so you can record progress on the associated task.
         */
        fetchActivity(url: URL, completion: ()=>any):void;
        /**
         * Marks all of the assigned and active activities for the given context path as complete.
         */
        completeAllAssignedActivities(contextPath: string[]):void;
        /**
         * Fetches all the contexts along a given identifier path.
         */
        contexts(identifierPath: string[], completion: ()=>any):void;
    }
    export class CLSContext extends CLSObject {
        /**
         * The activity available for recording progress.
         */
        currentActivity: CLSActivity | null;
        /**
         * The identifier path that locates the context within the data store’s context hierarchy.
         */
        identifierPath: string[];
        /**
         * The direct ancestor of this context.
         */
        parent: CLSContext | null;
        /**
         * The child contexts that a user can navigate to from this context in the Schoolwork app.
         */
        navigationChildContexts: CLSContext[];
        /**
         * A URL that leads to the content in your app associated with the current context.
         */
        universalLinkURL: URL | null;
        /**
         * A string that uniquely identifies a context among its siblings.
         */
        identifier: string;
        /**
         * The name of the context as it appears to users.
         */
        title: string;
        /**
         * An optional, user-visible description of the context.
         */
        summary: string;
        /**
         * An optional thumbnail image associated with the context.
         */
        thumbnail: CGImage | null;
        /**
         * The kind of content a context represents.
         */
        type: CLSContextType;
        /**
         * An optional name that the system presents to the user if you choose the custom context type.
         */
        customTypeName: string;
        /**
         * The range of ages, measured in years, for which you deem a context’s content suitable.
         */
        suggestedAge: NSRange;
        /**
         * Initializes a new context.
         */
        constructor (type: CLSContextType, identifier: string, title: string);
        /**
         * Creates and returns a new activity instance for the context.
         */
        createNewActivity():CLSActivity;
        /**
         * Removes the context from its parent.
         */
        removeFromParent():void;
        /**
         * Adds the specifed context as a child of the context receiving the method call.
         */
        addChildContext(child: CLSContext):void;
        /**
         * Finds the context with the given identifier path relative to this context.
         */
        descendant(identifierPath: string[], completion: ()=>any):void;
        /**
         * Adds a child context that users can navigate to from this context.
         */
        addNavigationChildContext(child: CLSContext):void;
        /**
         * Removes the specified context as a presentable child of this context.
         */
        removeNavigationChildContext(child: CLSContext):void;
        /**
         * Updates the kind of content that a context represents.
         */
        setType(type: CLSContextType):void;
    }
    export class CLSBinaryItem extends CLSActivityItem {
        /**
         * The value that the binary activity item takes.
         */
        value: boolean;
        /**
         * The kind of outcome that the binary activity item represents.
         */
        valueType: CLSBinaryValueType;
        /**
         * Initializes a new binary activity item of the given type.
         */
        constructor (identifier: string, title: string, valueType: CLSBinaryValueType);
    }
    export enum CLSBinaryValueType {
        passFail = 1,
        trueFalse = 0,
        yesNo = 2,
        correctIncorrect = 3,
    }
    export class CLSQuantityItem extends CLSActivityItem {
        /**
         * A quantity associated with the task.
         */
        quantity: number;
        /**
         * Initializes an activity item that records a discrete quantity.
         */
        constructor (identifier: string, title: string);
    }
    export class CLSActivityItem extends CLSObject {
        /**
         * An identifier for the activity item.
         */
        identifier: string;
        /**
         * A human readable name for the activity item.
         */
        title: string;
    }
    export class CLSProgressReportingCapability extends CLSObject {}
    /**
     * the same name namespace of class CLSProgressReportingCapability
     */
    export namespace CLSProgressReportingCapability {
        export enum Kind {
            duration = 0,
            percent = 1,
            binary = 2,
            quantity = 3,
            score = 4,
        }
    }
    export class CLSError {
        /**
         * No error.
         */
        static none: CLSError.Code;
        /**
         * The app isn’t authorized to perform the requested operation.
         */
        static authorizationDenied: CLSError.Code;
        /**
         * ClassKit isn’t available on this device.
         */
        static classKitUnavailable: CLSError.Code;
        /**
         * ClassKit isn’t accessible because the device is locked.
         */
        static databaseInaccessible: CLSError.Code;
        /**
         * A domain for the error.
         */
        static errorDomain: string;
        static invalidAccountCredentials: CLSError.Code;
        /**
         * An invalid argument was provided to the API.
         */
        static invalidArgument: CLSError.Code;
        /**
         * An attempt to save a new object that already exists in the data store failed.
         */
        static invalidCreate: CLSError.Code;
        /**
         * An attempt to modify a read-only object failed.
         */
        static invalidModification: CLSError.Code;
        /**
         * ClassKit failed to save an updated object in the data store.
         */
        static invalidUpdate: CLSError.Code;
        /**
         * A limit has been exceeded.
         */
        static limits: CLSError.Code;
        /**
         * ClassKit encountered more than one error.
         */
        static partialFailure: CLSError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        code: Code;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        userInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a new ClassKit error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CLSError
     */
    export namespace CLSError {
        export enum Code {
            none = 0,
            authorizationDenied = 4,
            classKitUnavailable = 1,
            databaseInaccessible = 5,
            invalidAccountCredentials = 10,
            invalidArgument = 2,
            invalidCreate = 7,
            invalidModification = 3,
            invalidUpdate = 8,
            limits = 6,
            partialFailure = 9,
        }
    }
    export class CLSPredicateKeyPath {
        /**
         * The date on which the context was created.
         */
        static dateCreated: CLSPredicateKeyPath;
        /**
         * The context’s identifier.
         */
        static identifier: CLSPredicateKeyPath;
        /**
         * The context’s direct ancestor in the context hierarchy.
         */
        static parent: CLSPredicateKeyPath;
        /**
         * The human readable name of the context.
         */
        static title: CLSPredicateKeyPath;
        /**
         * The context’s topic.
         */
        static topic: CLSPredicateKeyPath;
        /**
         * The context’s universal URL link.
         */
        static universalLinkURL: CLSPredicateKeyPath;
        /**
         * Initializes a predicate key path.
         */
        constructor (rawValue: string);
        /**
         * Initializes a predicate key path with the given value.
         */
        constructor (rawValue: string);
    }
    export class CLSErrorUserInfoKey {
        /**
         * A key whose value is the object that caused the error.
         */
        static objectKey: CLSErrorUserInfoKey;
        static successfulObjectsKey: CLSErrorUserInfoKey;
        /**
         * A key whose value is the array of errors that contributed to this error.
         */
        static underlyingErrorsKey: CLSErrorUserInfoKey;
        /**
         * Initializes the key.
         */
        constructor (rawValue: string);
        /**
         * Initializes the key with a value.
         */
        constructor (rawValue: string);
    }
    export class CLSObject extends NSObject {
        /**
         * The date on which the object was created.
         */
        dateCreated: Date;
        /**
         * The date on which the object was last modified.
         */
        dateLastModified: Date;
    }
    export interface CLSContextProvider {
        /**
         * Updates the descendants of the given context.
         */
        updateDescendants(context: CLSContext, completion: ()=>any):void;
    }
    export enum CLSContextType {
        app = 1,
        audio = 14,
        book = 11,
        challenge = 7,
        chapter = 2,
        course = 16,
        custom = 17,
        document = 13,
        exercise = 9,
        game = 12,
        lesson = 10,
        level = 4,
        none = 0,
        page = 5,
        quiz = 8,
        section = 3,
        task = 6,
        video = 15,
    }
    export class CLSActivity extends CLSObject {
        /**
         * A Boolean that indicates whether an activity is running.
         */
        isStarted: boolean;
        /**
         * The cumulative time in seconds that an activity has been active.
         */
        duration: TimeInterval;
        /**
         * A measure of progress through the task, given as a fraction in the range [0, 1].
         */
        progress: number;
        /**
         * Adds an activity item to an activity and sets it as the primary activity item.
         */
        primaryActivityItem: CLSActivityItem | null;
        /**
         * The list of activity items associated with an activity.
         */
        additionalActivityItems: CLSActivityItem[];
        /**
         * Tells an activity to start recording duration and progress for a task.
         */
        start():void;
        /**
         * Tells an activity to stop or pause recording duration and progress for a task.
         */
        stop():void;
        /**
         * Adds a progress range to a given activity.
         */
        addProgressRange(start: number, end: number):void;
        /**
         * Adds an activity item to an activity.
         */
        addAdditionalActivityItem(activityItem: CLSActivityItem):void;
        /**
         * Deletes all activity items associated with the current activity.
         */
        removeAllActivityItems():void;
    }
    export interface CLSDataStoreDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for a new context with the given identifier for the given parent context.
         */
        createContext(identifier: string, parentContext: CLSContext, parentIdentifierPath: string[]):CLSContext | null;
    }
    export class CLSContextTopic {
        /**
         * Arts and music.
         */
        static artsAndMusic: CLSContextTopic;
        /**
         * Computer science and engineering.
         */
        static computerScienceAndEngineering: CLSContextTopic;
        /**
         * Health and fitness.
         */
        static healthAndFitness: CLSContextTopic;
        /**
         * Literacy and writing.
         */
        static literacyAndWriting: CLSContextTopic;
        /**
         * Mathematics.
         */
        static math: CLSContextTopic;
        /**
         * Science.
         */
        static science: CLSContextTopic;
        /**
         * Social science.
         */
        static socialScience: CLSContextTopic;
        /**
         * Language acquisition.
         */
        static worldLanguage: CLSContextTopic;
        /**
         * Initializes a context topic.
         */
        constructor (rawValue: string);
    }
    export class CLSScoreItem extends CLSActivityItem {
        /**
         * The score earned by a user in completing the task.
         */
        score: number;
        /**
         * The maximum possible score that the user can earn on a given task.
         */
        maxScore: number;
        /**
         * Initializes an activity item that holds a score value.
         */
        constructor (identifier: string, title: string, score: number, maxScore: number);
    }
}

/**
 * Display app-specific data on the clock face.
 */
declare module ClockKit {
    export class CLKComplicationDescriptor extends NSObject {
        /**
         * A string that uniquely identifies the descriptor.
         */
        identifier: string;
        /**
         * A localized string that identifies complications from the descriptor to the user.
         */
        displayName: string;
        /**
         * The families that support this type of complication.
         */
        supportedFamilies: CLKComplicationFamily[];
        /**
         * A user activity object that represents the state of the app at a moment in time.
         */
        userActivity: NSUserActivity | null;
        /**
         * A dictionary of data that your data source can use to generate timeline entries.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * Returns a new complication descriptor.
         */
        constructor (identifier: string, displayName: string, supportedFamilies: CLKComplicationFamily[]);
        /**
         * Returns a new complication descriptor with an associated user activity.
         */
        constructor (identifier: string, displayName: string, supportedFamilies: CLKComplicationFamily[], userActivity: NSUserActivity);
        /**
         * Returns a new complication descriptor with an associated dictionary of user data.
         */
        constructor (identifier: string, displayName: string, supportedFamilies: CLKComplicationFamily[], userInfo: Record<AnyHashable, any>);
    }
    export interface CLKComplicationDataSource extends NSObjectProtocol {
        /**
         * A migrator that maps ClockKit complications to their WidgetKit replacements.
         */
        widgetMigrator: CLKComplicationWidgetMigrator;
        /**
         * Retrieves the last date for the data that your app can supply.
         */
        getTimelineEndDate(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Retrieves the timeline entry that you want to display now.
         */
        getCurrentTimelineEntry(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Retrieves future timeline entries for the complication.
         */
        getTimelineEntries(complication: CLKComplication, date: Date, limit: number, handler: ()=>any):void;
        /**
         * Gets the animation behavior when transitioning between timeline entries.
         */
        getTimelineAnimationBehavior(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Returns the template to use during Always On.
         */
        getAlwaysOnTemplate(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Gets a localizable template that shows sample data for the specified complication.
         */
        getLocalizableSampleTemplate(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Returns the privacy behavior for the specified complication.
         */
        getPrivacyBehavior(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Returns the list of complication descriptors.
         */
        getComplicationDescriptors(handler: ()=>any):void;
        /**
         * Informs the app about complications from a shared watch face.
         */
        handleSharedComplicationDescriptors(complicationDescriptors: CLKComplicationDescriptor[]):void;
        /**
         * Determines whether your complication can provide timeline entries for the future or the past.
         */
        getSupportedTimeTravelDirections(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Retrieves the earliest date for which your complication is prepared to supply data.
         */
        getTimelineStartDate(complication: CLKComplication, handler: ()=>any):void;
        /**
         * Gets the next time at which to update your complication.
         */
        getNextRequestedUpdateDate(handler: ()=>any):void;
        /**
         * Indicates that a requested update has begun so that you’ve an opportunity to extend or reload your timeline.
         */
        requestedUpdateDidBegin():void;
        /**
         * Indicates that your complication’s time budget is exhausted.
         */
        requestedUpdateBudgetExhausted():void;
        /**
         * Gets a static template to display in the selection screen for your complication.
         */
        getPlaceholderTemplate(complication: CLKComplication, handler: ()=>any):void;
    }
    export class CLKComplicationTemplateExtraLargeSimpleImage extends CLKComplicationTemplate {
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * Creates a new template from the provided image.
         */
        constructor (imageProvider: CLKImageProvider);
    }
    export class CLKComplicationTemplateCircularSmallRingImage extends CLKComplicationTemplate {
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * Creates a new template from the provided image, fill fraction, and ring style.
         */
        constructor (imageProvider: CLKImageProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKComplicationTemplateCircularSmallSimpleImage extends CLKComplicationTemplate {
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * Creates a new template from the provided image.
         */
        constructor (imageProvider: CLKImageProvider);
    }
    export class CLKRelativeDateTextProvider extends CLKTextProvider {
        /**
         * The target date to use for calculations.
         */
        date: Date;
        /**
         * The end date that the text provider uses when calculating a fixed, relative date.
         */
        relativeToDate: Date | null;
        /**
         * The formatting style to use for the relative time value.
         */
        relativeDateStyle: CLKRelativeDateStyle;
        /**
         * The calendar units to include in the formatted string.
         */
        calendarUnits: NSCalendar.Unit;
        /**
         * Creates a text provider that shows the difference between the current time and the specified date.
         */
        constructor (date: Date, style: CLKRelativeDateStyle, calendarUnits: NSCalendar.Unit);
        /**
         * Creates a text provider that shows the difference in time between the provided dates.
         */
        constructor (date: Date, relativeToDate: Date | null, style: CLKRelativeDateStyle, calendarUnits: NSCalendar.Unit);
    }
    export enum CLKRelativeDateStyle {
        natural = 0,
        naturalAbbreviated = 3,
        naturalFull = 5,
        offset = 1,
        offsetShort = 4,
        timer = 2,
    }
    export class CLKTimeIntervalTextProvider extends CLKTextProvider {
        /**
         * The start date for the time interval.
         */
        startDate: Date;
        /**
         * The end date for the time interval.
         */
        endDate: Date;
        /**
         * The time zone used to format time values.
         */
        timeZone: TimeZone | null;
        /**
         * Creates and returns a text provider with the specified start and end dates.
         */
        constructor (startDate: Date, endDate: Date);
        /**
         * Creates and returns a text provider with the specified dates and time zone information.
         */
        constructor (startDate: Date, endDate: Date, timeZone: TimeZone | null);
    }
    export class CLKComplicationTemplateModularSmallRingImage extends CLKComplicationTemplate {
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * Creates a new template from the provided image, fill fraction, and ring style.
         */
        constructor (imageProvider: CLKImageProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKComplicationTemplateExtraLargeStackImage extends CLKComplicationTemplate {
        /**
         * A Boolean value indicating which line should be drawn with a highlight.
         */
        highlightLine2: boolean;
        /**
         * The image to display on the top line of the complication.
         */
        line1ImageProvider: CLKImageProvider;
        /**
         * The text to display on the bottom line of the complication.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a new template from the provided image and text.
         */
        constructor (line1ImageProvider: CLKImageProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationIntentWidgetMigrationConfiguration extends CLKComplicationWidgetMigrationConfiguration {
        /**
         * A string that uniquely identifies a widget in your WidgetKit extension.
         */
        kind: string;
        /**
         * The bundle identifier for your WidgetKit extension.
         */
        extensionBundleIdentifier: string;
        /**
         * A SiriKit intent that provides additional configuration information to your WidgetKit complication.
         */
        intent: INIntent;
        /**
         * A localized name for the complication.
         */
        localizedDisplayName: string;
        /**
         * Creates an object that describes an intents-based watchOS complication in your WidgetKit extension.
         */
        constructor (kind: string, extensionBundleIdentifier: string, intent: INIntent, localizedDisplayName: string);
    }
    export class CLKComplicationTemplateCircularSmallStackImage extends CLKComplicationTemplate {
        /**
         * The image to display on the top line of the complication.
         */
        line1ImageProvider: CLKImageProvider;
        /**
         * The text to display on the bottom line of the complication.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a new template from the provided image and text.
         */
        constructor (line1ImageProvider: CLKImageProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKTimeTextProvider extends CLKTextProvider {
        /**
         * The date object containing the time value.
         */
        date: Date;
        /**
         * The time zone used to format time values.
         */
        timeZone: TimeZone | null;
        /**
         * Creates and returns a text provider for displaying the specified time.
         */
        constructor (date: Date);
        /**
         * Creates and returns a text provider for displaying the specified time.
         */
        constructor (date: Date, timeZone: TimeZone | null);
    }
    export class CLKComplicationServer extends NSObject {
        /**
         * The active complications for the current app.
         */
        activeComplications: CLKComplication[] | null;
        /**
         * The earliest Time Travel date for which you should provide data.
         */
        earliestTimeTravelDate: Date;
        /**
         * The latest date supported by Time Travel.
         */
        latestTimeTravelDate: Date;
        /**
         * Returns the shared complication server.
         */
        static sharedInstance():Self;
        /**
         * Invalidates your existing timeline data and triggers an update session to reload it.
         */
        reloadTimeline(complication: CLKComplication):void;
        /**
         * Asks the system to extend the data in your complication’s timeline.
         */
        extendTimeline(complication: CLKComplication):void;
        /**
         * Reloads the complication descriptors from the complication data source.
         */
        reloadComplicationDescriptors():void;
    }
    export class CLKComplicationTemplateModularSmallSimpleImage extends CLKComplicationTemplate {
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * Creates a new template from the provided image.
         */
        constructor (imageProvider: CLKImageProvider);
    }
    export class CLKComplicationTemplateModularLargeStandardBody extends CLKComplicationTemplate {
        /**
         * An optional image to display in the header.
         */
        headerImageProvider: CLKImageProvider | null;
        /**
         * The text to display in the header line.
         */
        headerTextProvider: CLKTextProvider;
        /**
         * The top line of body text.
         */
        body1TextProvider: CLKTextProvider;
        /**
         * An optional second line of body text.
         */
        body2TextProvider: CLKTextProvider | null;
        /**
         * Creates a new template that has a row of header text and a row of body text.
         */
        constructor (headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider);
        /**
         * Creates a new template that has a row of header text and two rows of body text.
         */
        constructor (headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider, body2TextProvider: CLKTextProvider | null);
        /**
         * Creates a new template that has a header row with an image and text, and a row of body text.
         */
        constructor (headerImageProvider: CLKImageProvider | null, headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider);
        /**
         * Creates a new template that has a header row with an image and text, and two rows of body text.
         */
        constructor (headerImageProvider: CLKImageProvider | null, headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider, body2TextProvider: CLKTextProvider | null);
    }
    export class CLKComplicationTemplateExtraLargeColumnsText extends CLKComplicationTemplate {
        /**
         * The alignment of the text in the second column.
         */
        column2Alignment: CLKComplicationColumnAlignment;
        /**
         * A Boolean value indicating which column should be drawn with a highlight.
         */
        highlightColumn2: boolean;
        /**
         * The text to display in the first column of the first row.
         */
        row1Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the first row.
         */
        row1Column2TextProvider: CLKTextProvider;
        /**
         * The text to display in the first column of the second row.
         */
        row2Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the second row.
         */
        row2Column2TextProvider: CLKTextProvider;
        /**
         * Creates a new template that has two columns of text.
         */
        constructor (row1Column1TextProvider: CLKTextProvider, row1Column2TextProvider: CLKTextProvider, row2Column1TextProvider: CLKTextProvider, row2Column2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateCircularSmallRingText extends CLKComplicationTemplate {
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * Creates a new template from the provided text, fill fraction, and ring style.
         */
        constructor (textProvider: CLKTextProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKTextProvider extends NSObject {
        /**
         * The tint color to use for text.
         */
        tintColor: UIColor;
        /**
         * A localized string that describes the text.
         */
        accessibilityLabel: string;
        /**
         * Creates and returns a text provider built from the specified format string.
         */
        constructor (format: string, ...args: CVarArg);
        /**
         * Creates an empty text provider.
         */
        constructor ();
        /**
         * Creates a localizable simple text provider using the strings file key for the text.
         */
        static localizableTextProvider(textKey: string):Self;
        /**
         * Creates an empty text provider.
         */
        static new():Self;
    }
    export class CLKComplicationTemplateModularSmallStackImage extends CLKComplicationTemplate {
        /**
         * The image to display on the top line of the complication.
         */
        line1ImageProvider: CLKImageProvider;
        /**
         * The text to display on the bottom line of the complication.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * A Boolean value indicating which line should be drawn with a highlight.
         */
        highlightLine2: boolean;
        /**
         * Creates a new template from the provided image and text.
         */
        constructor (line1ImageProvider: CLKImageProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateModularLargeTallBody extends CLKComplicationTemplate {
        /**
         * The text to display in the header line.
         */
        headerTextProvider: CLKTextProvider;
        /**
         * The text to display in the body line.
         */
        bodyTextProvider: CLKTextProvider;
        /**
         * Creates a template that has a header and a row of tall body text.
         */
        constructor (headerTextProvider: CLKTextProvider, bodyTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateUtilitarianSmallFlat extends CLKComplicationTemplate {
        /**
         * The image to display.
         */
        imageProvider: CLKImageProvider | null;
        /**
         * The text to display.
         */
        textProvider: CLKTextProvider;
        /**
         * Creates a new template that has a single line of text.
         */
        constructor (textProvider: CLKTextProvider);
        /**
         * Creates a new template that has a single row with an image and a line of text.
         */
        constructor (textProvider: CLKTextProvider, imageProvider: CLKImageProvider | null);
    }
    export class CLKComplicationTemplateExtraLargeRingText extends CLKComplicationTemplate {
        /**
         * Setting the Complication Data.
         */
        fillFraction: Float;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * Creates a new template from the provided text, fill fraction, and ring style.
         */
        constructor (textProvider: CLKTextProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKComplicationTemplateCircularSmallSimpleText extends CLKComplicationTemplate {
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * Creates a new template from the provided text.
         */
        constructor (textProvider: CLKTextProvider);
    }
    export class CLKComplicationStaticWidgetMigrationConfiguration extends CLKComplicationWidgetMigrationConfiguration {
        /**
         * A string that uniquely identifies a widget in your WidgetKit extension.
         */
        kind: string;
        /**
         * The bundle identifier for your WidgetKit extension.
         */
        extensionBundleIdentifier: string;
        /**
         * Creates an object that describes a static watchOS complication in your WidgetKit extension.
         */
        constructor (kind: string, extensionBundleIdentifier: string);
    }
    export class CLKImageProvider extends NSObject {
        /**
         * The template image to use as a one-piece image.
         */
        onePieceImage: UIImage;
        /**
         * The tint color to apply to the image in a multicolor clock face.
         */
        tintColor: UIColor | null;
        /**
         * The background image in a two-piece image.
         */
        twoPieceImageBackground: UIImage | null;
        /**
         * The foreground image in a two-piece image.
         */
        twoPieceImageForeground: UIImage | null;
        /**
         * A succinct label that succinctly identifies the purpose of the image.
         */
        accessibilityLabel: string;
        /**
         * Creates and returns an image provider with the specified one-piece image.
         */
        constructor (onePieceImage: UIImage);
        /**
         * Creates and returns an image provider with both one-piece and two-piece images.
         */
        constructor (onePieceImage: UIImage, twoPieceImageBackground: UIImage | null, twoPieceImageForeground: UIImage | null);
        /**
         * Creates an empty image provider.
         */
        constructor ();
        /**
         * Creates an empty image provider.
         */
        static new():Self;
    }
    export class CLKComplicationTemplateModularSmallColumnsText extends CLKComplicationTemplate {
        /**
         * The text to display in the first column of the first row.
         */
        row1Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the first row.
         */
        row1Column2TextProvider: CLKTextProvider;
        /**
         * The text to display in the first column of the second row.
         */
        row2Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the second row.
         */
        row2Column2TextProvider: CLKTextProvider;
        /**
         * The alignment of the text in the second column.
         */
        column2Alignment: CLKComplicationColumnAlignment;
        /**
         * A Boolean value indicating which column should be drawn with a highlight.
         */
        highlightColumn2: boolean;
        /**
         * Creates a new template that has two columns of text.
         */
        constructor (row1Column1TextProvider: CLKTextProvider, row1Column2TextProvider: CLKTextProvider, row2Column1TextProvider: CLKTextProvider, row2Column2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateModularLargeColumns extends CLKComplicationTemplate {
        /**
         * An optional image to display at the beginning of the first row.
         */
        row1ImageProvider: CLKImageProvider | null;
        /**
         * The text to display in the first column of the first row.
         */
        row1Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the first row.
         */
        row1Column2TextProvider: CLKTextProvider;
        /**
         * An optional image to display at the beginning of the second row.
         */
        row2ImageProvider: CLKImageProvider | null;
        /**
         * The text to display in the first column of the second row.
         */
        row2Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the second row.
         */
        row2Column2TextProvider: CLKTextProvider;
        /**
         * An optional image to display at the beginning of the third row.
         */
        row3ImageProvider: CLKImageProvider | null;
        /**
         * The text to display in the first column of the third row.
         */
        row3Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the third row.
         */
        row3Column2TextProvider: CLKTextProvider;
        /**
         * The alignment of the text in the second column.
         */
        column2Alignment: CLKComplicationColumnAlignment;
        /**
         * Creates a template that has two columns of text.
         */
        constructor (row1Column1TextProvider: CLKTextProvider, row1Column2TextProvider: CLKTextProvider, row2Column1TextProvider: CLKTextProvider, row2Column2TextProvider: CLKTextProvider, row3Column1TextProvider: CLKTextProvider, row3Column2TextProvider: CLKTextProvider);
        /**
         * Creates a template that has a column of images and two columns of text.
         */
        constructor (row1ImageProvider: CLKImageProvider | null, row1Column1TextProvider: CLKTextProvider, row1Column2TextProvider: CLKTextProvider, row2ImageProvider: CLKImageProvider | null, row2Column1TextProvider: CLKTextProvider, row2Column2TextProvider: CLKTextProvider, row3ImageProvider: CLKImageProvider | null, row3Column1TextProvider: CLKTextProvider, row3Column2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateUtilitarianSmallRingImage extends CLKComplicationTemplate {
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * Creates a new template from the provided image, fill fraction, and ring style.
         */
        constructor (imageProvider: CLKImageProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKComplicationTemplateExtraLargeSimpleText extends CLKComplicationTemplate {
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * Creates a new template from the provided text.
         */
        constructor (textProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateCircularSmallStackText extends CLKComplicationTemplate {
        /**
         * The text to display on the top line of the complication.
         */
        line1TextProvider: CLKTextProvider;
        /**
         * The text to display on the bottom line of the complication.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a new template that has two lines of text.
         */
        constructor (line1TextProvider: CLKTextProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplate extends NSObject {
        /**
         * The tint color to apply to elements of the template.
         */
        tintColor: UIColor | null;
        /**
         * Creates a new complication.
         */
        constructor ();
        /**
         * Returns a new complication.
         */
        static new():Self;
        /**
         * Returns a view that Xcode can display as a preview.
         */
        previewContext(faceColor: CLKComplicationTemplate.PreviewFaceColor):View;
    }
    /**
     * the same name namespace of class CLKComplicationTemplate
     */
    export namespace CLKComplicationTemplate {
        export class PreviewFaceColor {
            /**
             * An array containing all valid face colors.
             */
            static allColors: CLKComplicationTemplate.PreviewFaceColor[];
            /**
             * The preview displays a full-color watch face.
             */
            static multicolor: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with a pink tint color.
             */
            static pink: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with a red tint color.
             */
            static red: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with an orange tint color.
             */
            static orange: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with a yellow tint color.
             */
            static yellow: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with a green tint color.
             */
            static green: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with a blue tint color.
             */
            static blue: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * The preview displays a watch face with a purple tint color.
             */
            static purple: CLKComplicationTemplate.PreviewFaceColor;
            /**
             * A value that identifies the face color.
             */
            id: AnyHashable;
        }
    }
    export class CLKFullColorImageProvider extends NSObject {
        /**
         * The full-color image to display.
         */
        image: UIImage;
        /**
         * An image provider that produces alternative images for tinted graphic complications.
         */
        tintedImageProvider: CLKImageProvider | null;
        /**
         * A succinct label that identifies the purpose of the image.
         */
        accessibilityLabel: string;
        /**
         * Creates an image provider with the specified full-color image.
         */
        constructor (image: UIImage);
        /**
         * Creates an image provider that produces full-color and tinted images.
         */
        constructor (image: UIImage, tintedImageProvider: CLKImageProvider | null);
        /**
         * Creates an empty full color image provider.
         */
        constructor ();
        /**
         * Creates an empty full color image provider.
         */
        static new():Self;
    }
    export class CLKComplicationTemplateModularSmallRingText extends CLKComplicationTemplate {
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * Creates a new template from the provided text, fill fraction, and ring style.
         */
        constructor (textProvider: CLKTextProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKComplicationTemplateUtilitarianSmallRingText extends CLKComplicationTemplate {
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * Creates a new template from the provided text, fill fraction, and ring style.
         */
        constructor (textProvider: CLKTextProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
    export class CLKComplicationTemplateExtraLargeStackText extends CLKComplicationTemplate {
        /**
         * A Boolean value indicating which line should be drawn with a highlight.
         */
        highlightLine2: boolean;
        /**
         * The text to display on the top line of the complication.
         */
        line1TextProvider: CLKTextProvider;
        /**
         * The text to display on the bottom line of the complication.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a new template that has two rows of text.
         */
        constructor (line1TextProvider: CLKTextProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateModularLargeTable extends CLKComplicationTemplate {
        /**
         * An optional image to display in the header.
         */
        headerImageProvider: CLKImageProvider | null;
        /**
         * The text to display in the header line.
         */
        headerTextProvider: CLKTextProvider;
        /**
         * The text to display in the first column of the first row.
         */
        row1Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the first row.
         */
        row1Column2TextProvider: CLKTextProvider;
        /**
         * The text to display in the first column of the second row.
         */
        row2Column1TextProvider: CLKTextProvider;
        /**
         * The text to display in the second column of the second row.
         */
        row2Column2TextProvider: CLKTextProvider;
        /**
         * The alignment of the text in the second column.
         */
        column2Alignment: CLKComplicationColumnAlignment;
        /**
         * Creates a template that has a header and two columns of text.
         */
        constructor (headerTextProvider: CLKTextProvider, row1Column1TextProvider: CLKTextProvider, row1Column2TextProvider: CLKTextProvider, row2Column1TextProvider: CLKTextProvider, row2Column2TextProvider: CLKTextProvider);
        /**
         * Creates a template that has a header row with an image and text, and two columns of text.
         */
        constructor (headerImageProvider: CLKImageProvider | null, headerTextProvider: CLKTextProvider, row1Column1TextProvider: CLKTextProvider, row1Column2TextProvider: CLKTextProvider, row2Column1TextProvider: CLKTextProvider, row2Column2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicCircularImage extends CLKComplicationTemplateGraphicCircular {
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a template that has a circular image.
         */
        constructor (imageProvider: CLKFullColorImageProvider);
    }
    export enum CLKComplicationFamily {
        circularSmall = 4,
        extraLarge = 7,
        modularSmall = 0,
        modularLarge = 1,
        utilitarianSmall = 2,
        utilitarianSmallFlat = 6,
        utilitarianLarge = 3,
        graphicCorner = 8,
        graphicCircular = 10,
        graphicBezel = 9,
        graphicRectangular = 11,
        graphicExtraLarge = 12,
    }
    export class CLKComplicationTemplateModularSmallSimpleText extends CLKComplicationTemplate {
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * Creates a new template from the provided text.
         */
        constructor (textProvider: CLKTextProvider);
    }
    export class CLKSimpleGaugeProvider extends CLKGaugeProvider {
        /**
         * The value displayed by the gauge.
         */
        fillFraction: Float;
        /**
         * Creates a solid-color gauge.
         */
        constructor (style: CLKGaugeProviderStyle, color: UIColor, fillFraction: Float);
        /**
         * Creates a multicolor gauge.
         */
        constructor (style: CLKGaugeProviderStyle, gaugeColors: UIColor[] | null, gaugeColorLocations: NSNumber[] | null, fillFraction: Float);
    }
    export class CLKComplication extends NSObject {
        /**
         * The family to which the complication belongs.
         */
        family: CLKComplicationFamily;
        /**
         * An identifier that specifies a complication if your app supports multiple complications per family.
         */
        identifier: string;
        /**
         * An object that represents the state of the app at a moment in time.
         */
        userActivity: NSUserActivity | null;
        /**
         * A dictionary of additional data associated with the complication.
         */
        userInfo: Record<AnyHashable, any> | null;
    }
    export class CLKComplicationTemplateUtilitarianSmallSquare extends CLKComplicationTemplate {
        /**
         * The image to display.
         */
        imageProvider: CLKImageProvider;
        /**
         * Creates a new template that has a square image.
         */
        constructor (imageProvider: CLKImageProvider);
    }
    export class CLKComplicationTemplateGraphicCornerCircularImage extends CLKComplicationTemplate {
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a new template from the provided image.
         */
        constructor (imageProvider: CLKFullColorImageProvider);
    }
    export enum CLKComplicationColumnAlignment {
        leading = 0,
        trailing = 1,
    }
    export class CLKComplicationTemplateModularSmallStackText extends CLKComplicationTemplate {
        /**
         * The text to display on the top line of the complication.
         */
        line1TextProvider: CLKTextProvider;
        /**
         * The text to display on the bottom line of the complication.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * A Boolean value indicating which line should be drawn with a highlight.
         */
        highlightLine2: boolean;
        /**
         * Creates a new template that has two lines of text.
         */
        constructor (line1TextProvider: CLKTextProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicCircularStackImage extends CLKComplicationTemplateGraphicCircular {
        /**
         * The image to display.
         */
        line1ImageProvider: CLKFullColorImageProvider;
        /**
         * The text to display below the image.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a template that has an image and a small amount of text.
         */
        constructor (line1ImageProvider: CLKFullColorImageProvider, line2TextProvider: CLKTextProvider);
    }
    export enum ComplicationRenderingMode {
        fullColor,
        tinted,
    }
    export class CLKComplicationTemplateUtilitarianLargeFlat extends CLKComplicationTemplate {
        /**
         * The text to display.
         */
        textProvider: CLKTextProvider;
        /**
         * The image to display.
         */
        imageProvider: CLKImageProvider | null;
        /**
         * Creates a new template that has a long line of text.
         */
        constructor (textProvider: CLKTextProvider);
        /**
         * Creates a new template that has a single row with an image and a long line of text.
         */
        constructor (textProvider: CLKTextProvider, imageProvider: CLKImageProvider | null);
    }
    export class CLKTimeIntervalGaugeProvider extends CLKGaugeProvider {
        /**
         * The starting time and date for the gauge’s time interval.
         */
        startDate: Date;
        /**
         * The ending time and date for the gauge’s time interval.
         */
        endDate: Date;
        /**
         * The position of the leading edge of the time bar within the specified time interval.
         */
        startFillFraction: Float;
        /**
         * The position of the trailing edge of the time bar within the specified time interval.
         */
        endFillFraction: Float;
        /**
         * Creates a time interval gauge that fills as time passes.
         */
        constructor (style: CLKGaugeProviderStyle, gaugeColors: UIColor[] | null, gaugeColorLocations: NSNumber[] | null, startDate: Date, endDate: Date);
        /**
         * Creates a time interval gauge, letting you specify whether the gauge fills or empties as time passes.
         */
        constructor (style: CLKGaugeProviderStyle, gaugeColors: UIColor[] | null, gaugeColorLocations: NSNumber[] | null, startDate: Date, startFillFraction: Float, endDate: Date, endFillFraction: Float);
    }
    export class CLKComplicationTimelineEntry extends NSObject {
        /**
         * The time at which to display the entry.
         */
        date: Date;
        /**
         * The template containing the data to display in your complication.
         */
        complicationTemplate: CLKComplicationTemplate;
        /**
         * The animation group to which the entry belongs.
         */
        timelineAnimationGroup: string;
        /**
         * Creates and returns a timeline entry with the specified date and complication data.
         */
        constructor (date: Date, complicationTemplate: CLKComplicationTemplate);
        /**
         * Creates and returns a timeline entry with the specified information.
         */
        constructor (date: Date, complicationTemplate: CLKComplicationTemplate, timelineAnimationGroup: string);
    }
    export class CLKComplicationTemplateGraphicRectangularStandardBody extends CLKComplicationTemplate {
        /**
         * The header text to display in the complication.
         */
        headerTextProvider: CLKTextProvider;
        /**
         * The header image to display.
         */
        headerImageProvider: CLKFullColorImageProvider | null;
        /**
         * The main body text to display in the complication.
         */
        body1TextProvider: CLKTextProvider;
        /**
         * The secondary body text to display in the complication.
         */
        body2TextProvider: CLKTextProvider | null;
        /**
         * Creates a new template that has a row of header text and a row of body text.
         */
        constructor (headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider);
        /**
         * Creates a new template that has a row of header text and two rows of body text.
         */
        constructor (headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider, body2TextProvider: CLKTextProvider | null);
        /**
         * Creates a new template that has a header row with an image and text, and a row of body text.
         */
        constructor (headerImageProvider: CLKFullColorImageProvider | null, headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider);
        /**
         * Creates a new template that has a header row with an image and text, and two rows of body text.
         */
        constructor (headerImageProvider: CLKFullColorImageProvider | null, headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider, body2TextProvider: CLKTextProvider | null);
    }
    export enum CLKComplicationRingStyle {
        closed = 0,
        open = 1,
    }
    export class CLKComplicationTemplateGraphicCornerStackText extends CLKComplicationTemplate {
        /**
         * The outer text to display in the complication.
         */
        outerTextProvider: CLKTextProvider;
        /**
         * The inner text to display in the complication.
         */
        innerTextProvider: CLKTextProvider;
        /**
         * Creates a template that has an inner line of text and an outer text element.
         */
        constructor (innerTextProvider: CLKTextProvider, outerTextProvider: CLKTextProvider);
    }
    export class CLKGaugeProvider extends NSObject {
        /**
         * The colors of the gauge.
         */
        gaugeColors: UIColor[] | null;
        /**
         * The location of each color in a multicolor gauge’s gradient.
         */
        gaugeColorLocations: NSNumber[] | null;
        /**
         * The style that defines the gauge’s appearance.
         */
        style: CLKGaugeProviderStyle;
        /**
         * A localized string that describes the gague.
         */
        accessibilityLabel: string;
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularImage extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a template with a circular image.
         */
        constructor (imageProvider: CLKFullColorImageProvider);
    }
    export interface CLKComplicationWidgetMigrator extends NSObjectProtocol {
        /**
         * Returns a configuration object that defines the WidgetKit replacement for the provided ClockKit complication.
         */
        getWidgetConfiguration(complicationDescriptor: CLKComplicationDescriptor, completionHandler: ()=>any):void;
    }
    export class CLKComplicationTemplateGraphicBezelCircularText extends CLKComplicationTemplate {
        /**
         * The circular template to display.
         */
        circularTemplate: CLKComplicationTemplateGraphicCircular;
        /**
         * The text to display along the bezel.
         */
        textProvider: CLKTextProvider | null;
        /**
         * Creates a circular template.
         */
        constructor (circularTemplate: CLKComplicationTemplateGraphicCircular);
        /**
         * Creates a circular template with text that wraps around the bezel.
         */
        constructor (circularTemplate: CLKComplicationTemplateGraphicCircular, textProvider: CLKTextProvider | null);
    }
    export class CLKComplicationTemplateGraphicCircularStackText extends CLKComplicationTemplateGraphicCircular {
        /**
         * The text to display on the top row.
         */
        line1TextProvider: CLKTextProvider;
        /**
         * The text to display on the bottom row.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a new template that has two small rows of text.
         */
        constructor (line1TextProvider: CLKTextProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicCornerTextImage extends CLKComplicationTemplate {
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * The text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * Creates a template with a line of text and an image.
         */
        constructor (textProvider: CLKTextProvider, imageProvider: CLKFullColorImageProvider);
    }
    export enum CLKGaugeProviderStyle {
        fill = 1,
        ring = 0,
    }
    export class CLKComplicationTemplateGraphicCircularOpenGaugeImage extends CLKComplicationTemplateGraphicCircular {
        /**
         * The image to display at the bottom of the gauge.
         */
        bottomImageProvider: CLKFullColorImageProvider;
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template that has an open circular gauge, a small image at the bottom, and a small amount of text in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, bottomImageProvider: CLKFullColorImageProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularStackImage extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The image to display.
         */
        line1ImageProvider: CLKFullColorImageProvider;
        /**
         * The text to display below the image.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a template with an image and a small amount of text.
         */
        constructor (line1ImageProvider: CLKFullColorImageProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKWatchFaceLibrary extends NSObject {
        /**
         * The domain for errors while importing watch faces.
         */
        static ErrorDomain: string;
        /**
         * Adds a watch face from the app’s bundle.
         */
        addWatchFace(fileURL: URL, handler: ()=>any):void;
    }
    /**
     * the same name namespace of class CLKWatchFaceLibrary
     */
    export namespace CLKWatchFaceLibrary {
        export enum ErrorCode {
            notFileURL = 1,
            invalidFile = 2,
            permissionDenied = 3,
            faceNotAvailable = 4,
        }
    }
    export class CLKComplicationTemplateGraphicRectangularTextGauge extends CLKComplicationTemplate {
        /**
         * The header text to display in the complication.
         */
        headerTextProvider: CLKTextProvider;
        /**
         * The header image to display.
         */
        headerImageProvider: CLKFullColorImageProvider | null;
        /**
         * The main body text to display in the complication.
         */
        body1TextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template that has header text, body text, and a gauge.
         */
        constructor (headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider, gaugeProvider: CLKGaugeProvider);
        /**
         * Creates a new template that has a header row with an image and text, body text, and a gauge.
         */
        constructor (headerImageProvider: CLKFullColorImageProvider | null, headerTextProvider: CLKTextProvider, body1TextProvider: CLKTextProvider, gaugeProvider: CLKGaugeProvider);
    }
    export class CLKComplicationTemplateGraphicCornerGaugeImage extends CLKComplicationTemplate {
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * The text to display on the leading edge of the gauge.
         */
        leadingTextProvider: CLKTextProvider | null;
        /**
         * The text to display on the trailing edge of the gauge.
         */
        trailingTextProvider: CLKTextProvider | null;
        /**
         * Creates a new template that has a gauge and an image.
         */
        constructor (gaugeProvider: CLKGaugeProvider, imageProvider: CLKFullColorImageProvider);
        /**
         * Creates a new template that has a gauge with leading and trailing text and an image.
         */
        constructor (gaugeProvider: CLKGaugeProvider, leadingTextProvider: CLKTextProvider | null, trailingTextProvider: CLKTextProvider | null, imageProvider: CLKFullColorImageProvider);
    }
    export class CLKComplicationWidgetMigrationConfiguration extends NSObject {}
    export class CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText extends CLKComplicationTemplateGraphicCircular {
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The text to display at the bottom of the gauge.
         */
        bottomTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template with an open circular gauge, a small text element at the bottom, and a larger text element in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, bottomTextProvider: CLKTextProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularStackText extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The text to display on the top row.
         */
        line1TextProvider: CLKTextProvider;
        /**
         * The text to display on the bottom row.
         */
        line2TextProvider: CLKTextProvider;
        /**
         * Creates a new template with two rows of text.
         */
        constructor (line1TextProvider: CLKTextProvider, line2TextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicRectangularLargeImage extends CLKComplicationTemplate {
        /**
         * The header text to display in the complication.
         */
        textProvider: CLKTextProvider;
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a new template with a text provider and an image provider.
         */
        constructor (textProvider: CLKTextProvider, imageProvider: CLKFullColorImageProvider);
    }
    export class CLKComplicationTemplateGraphicCornerGaugeText extends CLKComplicationTemplate {
        /**
         * The outer text to display in the complication.
         */
        outerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * The text to display on the leading edge of the gague.
         */
        leadingTextProvider: CLKTextProvider | null;
        /**
         * The text to display on the trailing edge of the gauge.
         */
        trailingTextProvider: CLKTextProvider | null;
        /**
         * Creates a template that has a gauge and an outer text element.
         */
        constructor (gaugeProvider: CLKGaugeProvider, outerTextProvider: CLKTextProvider);
        /**
         * Creates a template that has a gauge with leading and trailing text, and an outer text element.
         */
        constructor (gaugeProvider: CLKGaugeProvider, leadingTextProvider: CLKTextProvider | null, trailingTextProvider: CLKTextProvider | null, outerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicCircularOpenGaugeRangeText extends CLKComplicationTemplateGraphicCircular {
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * The text to display on the leading edge of the gauge.
         */
        leadingTextProvider: CLKTextProvider;
        /**
         * The text to display on the trailing edge of the gauge.
         */
        trailingTextProvider: CLKTextProvider;
        /**
         * Creates a new template that has an open circular gauge with leading and trailing text, and a center text element.
         */
        constructor (gaugeProvider: CLKGaugeProvider, leadingTextProvider: CLKTextProvider, trailingTextProvider: CLKTextProvider, centerTextProvider: CLKTextProvider);
    }
    export enum CLKComplicationTimelineAnimationBehavior {
        never = 0,
        grouped = 1,
        always = 2,
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeImage extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The image to display at the bottom of the gauge.
         */
        bottomImageProvider: CLKFullColorImageProvider;
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template with an open circular gauge, an image at the bottom, and text in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, bottomImageProvider: CLKFullColorImageProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicCircularClosedGaugeImage extends CLKComplicationTemplateGraphicCircular {
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a new template with a closed circular gauge, and an image in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, imageProvider: CLKFullColorImageProvider);
    }
    export class CLKComplicationTemplateGraphicRectangularFullImage extends CLKComplicationTemplate {
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a template with a large rectangular image.
         */
        constructor (imageProvider: CLKFullColorImageProvider);
    }
    export enum CLKComplicationPrivacyBehavior {
        showOnLockScreen = 0,
        hideOnLockScreen = 1,
    }
    export class CLKComplicationTemplateGraphicCircularClosedGaugeText extends CLKComplicationTemplateGraphicCircular {
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template that has a closed circular gauge with a small amount of text in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicCircular extends CLKComplicationTemplate {}
    export class CLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeSimpleText extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The text to display at the bottom of the gauge.
         */
        bottomTextProvider: CLKTextProvider;
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template with an open circular gauge, a small text element at the bottom, and a larger text element in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, bottomTextProvider: CLKTextProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeRangeText extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * The text to display on the leading edge of the gauge.
         */
        leadingTextProvider: CLKTextProvider;
        /**
         * The text to display on the trailing edge of the gauge.
         */
        trailingTextProvider: CLKTextProvider;
        /**
         * Creates a new template that has an open, circular gauge with leading and trailing text, and a central text element.
         */
        constructor (gaugeProvider: CLKGaugeProvider, leadingTextProvider: CLKTextProvider, trailingTextProvider: CLKTextProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularClosedGaugeImage extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * The image to display.
         */
        imageProvider: CLKFullColorImageProvider;
        /**
         * Creates a new template with a closed circular gauge and an image in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, imageProvider: CLKFullColorImageProvider);
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircularClosedGaugeText extends CLKComplicationTemplateGraphicExtraLargeCircular {
        /**
         * The text to display in the center of the gauge.
         */
        centerTextProvider: CLKTextProvider;
        /**
         * The gauge to display in the complication.
         */
        gaugeProvider: CLKGaugeProvider;
        /**
         * Creates a new template with a closed circular gauge with text in the center.
         */
        constructor (gaugeProvider: CLKGaugeProvider, centerTextProvider: CLKTextProvider);
    }
    export class CLKComplicationTemplateGraphicExtraLargeCircular extends CLKComplicationTemplate {}
    export class CLKSimpleTextProvider extends CLKTextProvider {
        /**
         * The long version of text that you want to display.
         */
        text: string;
        /**
         * A shorter version of the text.
         */
        shortText: string;
        /**
         * Creates and returns a text provider with the specified long form text.
         */
        constructor (text: string);
        /**
         * Creates and returns a text provider with both long and short versions of the text.
         */
        constructor (text: string, shortText: string);
        /**
         * Creates and returns a text provider with the text strings and an accessible string.
         */
        constructor (text: string, shortText: string, accessibilityLabel: string);
    }
    export class CLKComplicationTimeTravelDirections {
        /**
         * Future data support. Use this option when it makes sense to provide future data for your complication.
         */
        static forward: CLKComplicationTimeTravelDirections;
        /**
         * Past data support. Use this option when it makes sense to provide past data for your complication.
         */
        static backward: CLKComplicationTimeTravelDirections;
        /**
         * Returns a new 
         *  instance.
         */
        constructor (rawValue: number);
    }
    export class CLKDateTextProvider extends CLKTextProvider {
        /**
         * The date to display.
         */
        date: Date;
        /**
         * The time zone used in the formatted string.
         */
        timeZone: TimeZone | null;
        /**
         * The calendar units to include in the formatted string.
         */
        calendarUnits: NSCalendar.Unit;
        /**
         * A Boolean value that determines whether the date string displays in uppercase.
         */
        uppercase: boolean;
        /**
         * Creates and returns a text provider with the specified date and the default time zone.
         */
        constructor (date: Date, calendarUnits: NSCalendar.Unit);
        /**
         * Creates and returns a text provider with the specified date and time zone.
         */
        constructor (date: Date, calendarUnits: NSCalendar.Unit, timeZone: TimeZone | null);
    }
    export class CLKComplicationTemplateExtraLargeRingImage extends CLKComplicationTemplate {
        /**
         * The fraction of the ring to fill.
         */
        fillFraction: Float;
        /**
         * The image to display in the complication.
         */
        imageProvider: CLKImageProvider;
        /**
         * The style of the progress ring.
         */
        ringStyle: CLKComplicationRingStyle;
        /**
         * Creates a new template from the provided image, fill fraction, and ring style.
         */
        constructor (imageProvider: CLKImageProvider, fillFraction: Float, ringStyle: CLKComplicationRingStyle);
    }
}

/**
 * Store structured app and user data in iCloud containers that all users of your app can share.
 */
declare module CloudKit {
    export class CKRecordZone extends NSObject {
        /**
         * The unique ID of the zone. 
         */
        zoneID: CKRecordZone.ID;
        /**
         * The capabilities that the zone supports.
         */
        capabilities: CKRecordZone.Capabilities;
        /**
         * A reference to the record zone’s share record.
         */
        share: CKRecord.Reference | null;
        /**
         * Creates a record zone object with the specified zone name.
         */
        constructor (zoneName: string);
        /**
         * Creates a record zone object with the specified zone ID.
         */
        constructor (zoneID: CKRecordZone.ID);
        /**
         * Returns the default record zone. 
         */
        static default():CKRecordZone;
    }
    /**
     * the same name namespace of class CKRecordZone
     */
    export namespace CKRecordZone {
        export class ID extends NSObject {
            /**
             * The name of the default zone.
             */
            static defaultZoneName: string;
            constructor (zoneName: string, ownerName: string);
        }
        export class Capabilities {
            /**
             * A capability that allows atomic changes of multiple records. 
             */
            static atomic: CKRecordZone.Capabilities;
            /**
             * A capability for fetching only the changed records from a zone.
             */
            static fetchChanges: CKRecordZone.Capabilities;
            /**
             * A capability for sharing a specific hierarchy of records.
             */
            static sharing: CKRecordZone.Capabilities;
            /**
             * A capability for sharing the entire contents of a record zone.
             */
            static zoneWideSharing: CKRecordZone.Capabilities;
            /**
             * Creates a set of capabilities for a record zone.
             */
            constructor (rawValue: number);
        }
    }
    export class CKModifyRecordsOperation extends CKDatabaseOperation {
        /**
         * The policy to use when saving changes to records.
         */
        savePolicy: CKModifyRecordsOperation.RecordSavePolicy;
        /**
         * The closure to execute with progress information for individual records.
         */
        perRecordProgressBlock: ()=>any | null;
        /**
         * The closure to execute when CloudKit saves a record.
         */
        perRecordCompletionBlock: ()=>any | null;
        /**
         * The closure to execute after CloudKit modifies all of the records. 
         */
        modifyRecordsCompletionBlock: ()=>any | null;
        modifyRecordsResultBlock: ()=>any | null;
        perRecordDeleteBlock: ()=>any | null;
        perRecordSaveBlock: ()=>any | null;
    }
    /**
     * the same name namespace of class CKModifyRecordsOperation
     */
    export namespace CKModifyRecordsOperation {
        export enum RecordSavePolicy {
            ifServerRecordUnchanged = 0,
            changedKeys = 1,
            allKeys = 2,
        }
    }
    export class CKFetchRecordZonesOperation extends CKDatabaseOperation {
        /**
         * The IDs of the record zones to retrieve. 
         */
        recordZoneIDs: CKRecordZone.ID[] | null;
        /**
         * The closure to execute after CloudKit retrieves all of the record zones.
         */
        fetchRecordZonesCompletionBlock: ()=>any | null;
        fetchRecordZonesResultBlock: ()=>any | null;
        perRecordZoneResultBlock: ()=>any | null;
        /**
         * Creates an operation for fetching the specified record zones.
         */
        constructor (zoneIDs: CKRecordZone.ID[]);
        /**
         * Creates an empty fetch zones operation.
         */
        constructor ();
        /**
         * Returns an operation for fetching all record zones in the current database.
         */
        static fetchAllRecordZonesOperation():Self;
    }
    export class CKDatabaseSubscription extends CKSubscription {
        /**
         * The type of record that the subscription queries.
         */
        recordType: CKRecord.RecordType | null;
        /**
         * Creates an empty database subscription.
         */
        constructor ();
        /**
         * Creates a named subscription for all records in a database.
         */
        constructor (subscriptionID: CKSubscription.ID);
        /**
         * Creates a database subscription from a serialized instance.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CKDatabaseNotification extends CKNotification {
        /**
         * The type of database.
         */
        databaseScope: CKDatabase.Scope;
    }
    export class CKShare extends CKRecord {
        /**
         * The participant that represents the share’s owner.
         */
        owner: CKShare.Participant;
        /**
         * The participant that represents the current user.
         */
        currentUserParticipant: CKShare.Participant | null;
        /**
         * An array that contains the share’s participants.
         */
        participants: CKShare.Participant[];
        /**
         * The URL for inviting participants to the share.
         */
        url: URL | null;
        /**
         * The permission for anyone with access to the share’s URL.
         */
        publicPermission: CKShare.ParticipantPermission;
        /**
         * Creates a share from a serialized instance. 
         */
        constructor (aDecoder: NSCoder);
        /**
         * Creates a new share for the specified record.
         */
        constructor (rootRecord: CKRecord);
        /**
         * Creates a new share for the specified record and record ID.
         */
        constructor (rootRecord: CKRecord, shareID: CKRecord.ID);
        /**
         * Creates a new share for the specified record zone.
         */
        constructor (recordZoneID: CKRecordZone.ID);
        /**
         * Adds a participant to the share.
         */
        addParticipant(participant: CKShare.Participant):void;
        /**
         * Removes a participant from the share.
         */
        removeParticipant(participant: CKShare.Participant):void;
    }
    /**
     * the same name namespace of class CKShare
     */
    export namespace CKShare {
        export class Participant extends NSObject {
            /**
             * The current state of the user’s acceptance of the share.
             */
            acceptanceStatus: CKShare.ParticipantAcceptanceStatus;
            /**
             * The identity of the participant.
             */
            userIdentity: CKUserIdentity;
            /**
             * The participant’s permission level for the share.
             */
            permission: CKShare.ParticipantPermission;
            /**
             * The participant’s role for the share.
             */
            role: CKShare.ParticipantRole;
            /**
             * The participant type.
             */
            type: CKShare.ParticipantType;
        }
        export enum ParticipantAcceptanceStatus {
            unknown = 0,
            pending = 1,
            accepted = 2,
            removed = 3,
        }
        export class Metadata extends NSObject {
            /**
             * The share that owns the metadata.
             */
            share: CKShare;
            /**
             * The ID of the share’s container.
             */
            containerIdentifier: string;
            /**
             * The identity of the share’s owner.
             */
            ownerIdentity: CKUserIdentity;
            /**
             * The record ID of the shared hierarchy’s root record. 
             */
            hierarchicalRootRecordID: CKRecord.ID | null;
            /**
             * The share’s root record.
             */
            rootRecord: CKRecord | null;
            /**
             * The record ID of the share’s root record. 
             */
            rootRecordID: CKRecord.ID;
            /**
             * The share’s participant role for the user who retrieves the metadata.
             */
            participantRole: CKShare.ParticipantRole;
            /**
             * The share’s permissions for the user who retrieves the metadata.
             */
            participantPermission: CKShare.ParticipantPermission;
            /**
             * The share’s participation status for the user who retrieves the metadata.
             */
            participantStatus: CKShare.ParticipantAcceptanceStatus;
            /**
             * The share’s participation type for the user who retrieves the metadata.
             */
            participantType: CKShare.ParticipantType;
        }
        export enum ParticipantPermission {
            none = 1,
            readOnly = 2,
            readWrite = 3,
            unknown = 0,
        }
        export enum SystemFieldKey {}
        export enum ParticipantRole {
            owner = 1,
            privateUser = 3,
            publicUser = 4,
            unknown = 0,
        }
        export enum ParticipantType {
            unknown = 0,
            owner = 1,
            privateUser = 3,
            publicUser = 4,
        }
    }
    export class CKUserIdentity extends NSObject {
        /**
         * A Boolean value that indicates whether the user has an iCloud account.
         */
        hasiCloudAccount: boolean;
        /**
         * The lookup info for retrieving the user identity.
         */
        lookupInfo: CKUserIdentity.LookupInfo | null;
        /**
         * The user record ID for the corresponding user record.
         */
        userRecordID: CKRecord.ID | null;
        /**
         * Identifiers that match contacts in the local Contacts database.
         */
        contactIdentifiers: string[];
        /**
         * The user’s name.
         */
        nameComponents: PersonNameComponents | null;
    }
    /**
     * the same name namespace of class CKUserIdentity
     */
    export namespace CKUserIdentity {
        export class LookupInfo extends NSObject {
            /**
             * The user’s email address.
             */
            emailAddress: string;
            /**
             * The user’s phone number.
             */
            phoneNumber: string;
            /**
             * The ID of the user record.
             */
            userRecordID: CKRecord.ID | null;
            /**
             * Creates a lookup info for the specified email address.
             */
            constructor (emailAddress: string);
            /**
             * Creates a lookup info for the specified phone number. 
             */
            constructor (phoneNumber: string);
            /**
             * Creates a lookup info for the specified user record ID.
             */
            constructor (userRecordID: CKRecord.ID);
            /**
             * Returns an array of lookup infos for the specifed email addresses.
             */
            static lookupInfos(emails: string[]):CKUserIdentity.LookupInfo[];
        }
    }
    export class CKFetchDatabaseChangesOperation extends CKDatabaseOperation {
        /**
         * A Boolean value that indicates whether to send repeated requests to the server. 
         */
        fetchAllChanges: boolean;
        /**
         * The server change token.
         */
        previousServerChangeToken: CKServerChangeToken | null;
        /**
         * The maximum number of results that the operation fetches. 
         */
        resultsLimit: number;
        /**
         * The closure to execute with a single record zone change.
         */
        recordZoneWithIDChangedBlock: ()=>any | null;
        /**
         * The closure to execute when a record zone no longer exists.
         */
        recordZoneWithIDWasDeletedBlock: ()=>any | null;
        /**
         * The closure to execute when a user-invoked account reset deletes a record zone.
         */
        recordZoneWithIDWasDeletedDueToUserEncryptedDataResetBlock: ()=>any | null;
        /**
         * The closure to execute when CloudKit purges a record zone. 
         */
        recordZoneWithIDWasPurgedBlock: ()=>any | null;
        /**
         * The closure to execute when the change token updates.
         */
        changeTokenUpdatedBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        fetchDatabaseChangesCompletionBlock: ()=>any | null;
        fetchDatabaseChangesResultBlock: ()=>any | null;
        /**
         * Creates an operation for fetching database changes. 
         */
        constructor (previousServerChangeToken: CKServerChangeToken | null);
        /**
         * Creates an empty fetch database changes operation.
         */
        constructor ();
    }
    export class CKFetchRecordsOperation extends CKDatabaseOperation {
        /**
         * The record IDs of the records to fetch.
         */
        recordIDs: CKRecord.ID[] | null;
        /**
         * The fields of the records to fetch.
         */
        desiredKeys: CKRecord.FieldKey[] | null;
        /**
         * The closure to execute with progress information for individual records.
         */
        perRecordProgressBlock: ()=>any | null;
        /**
         * The closure to execute when a record becomes available.
         */
        perRecordCompletionBlock: ()=>any | null;
        /**
         * The closure to execute after CloudKit retrieves all of the records.
         */
        fetchRecordsCompletionBlock: ()=>any | null;
        fetchRecordsResultBlock: ()=>any | null;
        perRecordResultBlock: ()=>any | null;
        /**
         * Creates a fetch operation for retrieving the records with the specified IDs.
         */
        constructor (recordIDs: CKRecord.ID[]);
        /**
         * Creates an empty fetch operation.
         */
        constructor ();
        /**
         * Returns a fetch operation for retrieving the current user record.
         */
        static fetchCurrentUserRecordOperation():Self;
    }
    export class CKRecord extends NSObject {
        /**
         * Creates a record using an ID that you provide. 
         */
        constructor (recordType: CKRecord.RecordType, recordID: CKRecord.ID);
        /**
         * Creates a record in the specified zone.
         */
        constructor (recordType: CKRecord.RecordType, zoneID: CKRecordZone.ID);
        /**
         * Creates and sets a reference object for a parent from its record.
         */
        setParent(parentRecord: CKRecord | null):void;
        /**
         * Returns the object that the record stores for the specified key.
         */
        object(key: CKRecord.FieldKey):__CKRecordObjCValue | null;
        /**
         * Stores an object in the record using the specified key.
         */
        setObject(object: __CKRecordObjCValue | null, key: CKRecord.FieldKey):void;
        /**
         * Returns an array of the record’s keys.
         */
        allKeys():CKRecord.FieldKey[];
        /**
         * Returns an array of keys with recent changes to their values.
         */
        changedKeys():CKRecord.FieldKey[];
        /**
         * Returns an iterator of the record’s key-value pairs.
         */
        makeIterator():CKRecordKeyValueIterator;
    }
    /**
     * the same name namespace of class CKRecord
     */
    export namespace CKRecord {
        export class Reference extends NSObject {
            /**
             * The ownership behavior for the records.
             */
            action: CKRecord.ReferenceAction;
            /**
             * The ID of the referenced record.
             */
            recordID: CKRecord.ID;
            /**
             * Creates a reference object that points to the record with the specified ID.
             */
            constructor (recordID: CKRecord.ID, action: CKRecord.ReferenceAction);
            /**
             * Creates a reference object that points to the specified record object.
             */
            constructor (record: CKRecord, action: CKRecord.ReferenceAction);
        }
        export enum ReferenceAction {
            none = 0,
            deleteSelf = 1,
        }
        export enum SystemFieldKey {}
    }
    export class CKQuery extends NSObject {
        /**
         * The record type to search.
         */
        recordType: CKRecord.RecordType;
        /**
         * The predicate to use for matching records.
         */
        predicate: NSPredicate;
        /**
         * The sort descriptors for organizing the query’s results.
         */
        sortDescriptors: NSSortDescriptor[] | null;
        /**
         * Creates an operation group from a serialized instance.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Creates a query with the specified record type and predicate.
         */
        constructor (recordType: CKRecord.RecordType, predicate: NSPredicate);
    }
    export class CKRecordZoneSubscription extends CKSubscription {
        /**
         * The type of record that the subscription queries.
         */
        recordType: CKRecord.RecordType | null;
        /**
         * The ID of the record zone that the subscription queries.
         */
        zoneID: CKRecordZone.ID;
        /**
         * Creates a subscription for all records in the specified record zone.
         */
        constructor (zoneID: CKRecordZone.ID);
        /**
         * Creates a named subscription for all records in the specified record zone.
         */
        constructor (zoneID: CKRecordZone.ID, subscriptionID: CKSubscription.ID);
        /**
         * Creates a zone-based subscription from a serialized instance.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CKAllowedSharingOptions extends NSObject {
        /**
         * An object set to the most permissive sharing options.
         */
        static standard: CKAllowedSharingOptions;
        /**
         * The permission option the system uses to control whether a user can share publicly or privately.
         */
        allowedParticipantAccessOptions: CKSharingParticipantAccessOption;
        /**
         * The permission option the system uses to control whether a user can grant read-only or write access.
         */
        allowedParticipantPermissionOptions: CKSharingParticipantPermissionOption;
        /**
         * Creates and initializes an allowed sharing options object.
         */
        constructor (allowedParticipantPermissionOptions: CKSharingParticipantPermissionOption, allowedParticipantAccessOptions: CKSharingParticipantAccessOption);
    }
    export class CKQueryOperation extends CKDatabaseOperation {
        /**
         * A constant value that represents the maximum number of results CloudKit retrieves.
         */
        static maximumResults: number;
        /**
         * The query for the search.
         */
        query: CKQuery | null;
        /**
         * The  cursor for continuing the search.
         */
        cursor: CKQueryOperation.Cursor | null;
        /**
         * The ID of the record zone that contains the records to search.
         */
        zoneID: CKRecordZone.ID | null;
        /**
         * The maximum number of records to return at one time.
         */
        resultsLimit: number;
        /**
         * The fields of the records to fetch.
         */
        desiredKeys: CKRecord.FieldKey[] | null;
        /**
         * The closure to execute when a record becomes available.
         */
        recordFetchedBlock: ()=>any | null;
        /**
         * The closure to execute after CloudKit retrieves all of the records.
         */
        queryCompletionBlock: ()=>any | null;
        queryResultBlock: ()=>any | null;
        recordMatchedBlock: ()=>any | null;
        /**
         * Creates an operation that searches for records in the specified record zone.
         */
        constructor (query: CKQuery);
        /**
         * Creates an operation with additional results from a previous search. 
         */
        constructor (cursor: CKQueryOperation.Cursor);
        /**
         * Creates an empty query operation.
         */
        constructor ();
    }
    /**
     * the same name namespace of class CKQueryOperation
     */
    export namespace CKQueryOperation {
        export class Cursor extends NSObject {}
    }
    export class CKDiscoverAllUserIdentitiesOperation extends CKOperation {
        /**
         * The closure to execute for each user identity.
         */
        userIdentityDiscoveredBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        discoverAllUserIdentitiesCompletionBlock: ()=>any | null;
        discoverAllUserIdentitiesResultBlock: ()=>any | null;
        /**
         * Creates an operation for searching the device’s contacts.
         */
        constructor ();
    }
    export class CKRecordZoneNotification extends CKNotification {
        /**
         * The ID of the record zone that has changes.
         */
        recordZoneID: CKRecordZone.ID | null;
        /**
         * The type of database for the record zone.
         */
        databaseScope: CKDatabase.Scope;
    }
    export class CKSharingParticipantAccessOption {
        /**
         * The permission option the system uses to control whether a user can share publicly or privately.
         */
        static any: CKSharingParticipantAccessOption;
        /**
         * The permission option the system uses to control whether a user can share publicly.
         */
        static anyoneWithLink: CKSharingParticipantAccessOption;
        /**
         * The permission option the system uses to control whether a user can share privately.
         */
        static specifiedRecipientsOnly: CKSharingParticipantAccessOption;
        /**
         * Creates and initializes a participant access option object.
         */
        constructor (rawValue: number);
    }
    export class CKSystemSharingUIObserver extends NSObject {
        /**
         * A callback block the system invokes after the success or failure of a system sharing UI save.
         */
        systemSharingUIDidSaveShareBlock: ()=>any | null;
        /**
         * A callback block the system invokes after the success or failure of a system sharing UI delete.
         */
        systemSharingUIDidStopSharingBlock: ()=>any | null;
        /**
         * Creates and initializes an observer using the provided container.
         */
        constructor (container: CKContainer);
    }
    export class CKLocationSortDescriptor extends NSSortDescriptor {
        /**
         * The reference location for sorting records.
         */
        relativeLocation: CLLocation;
        /**
         * Creates a location sort descriptor using the specified key and relative location. 
         */
        constructor (key: string, relativeLocation: CLLocation);
        /**
         * Creates a location sort descriptor from a serialized instance.
         */
        constructor (aDecoder: NSCoder);
    }
    export class CKFetchRecordZoneChangesOperation extends CKDatabaseOperation {
        /**
         * A dictionary of configurations for fetching change operations by zone identifier.
         */
        configurationsByRecordZoneID: Record<CKRecordZone.ID, CKFetchRecordZoneChangesOperation.ZoneConfiguration> | null;
        /**
         * A Boolean value that indicates whether to send repeated requests to the server.
         */
        fetchAllChanges: boolean;
        /**
         * The IDs of the record zones that contain the records to fetch.
         */
        recordZoneIDs: CKRecordZone.ID[] | null;
        /**
         * The closure to execute with the contents of a changed record.
         */
        recordChangedBlock: ()=>any | null;
        /**
         * The closure to execute when a record no longer exists.
         */
        recordWithIDWasDeletedBlock: ()=>any | null;
        /**
         * The closure to execute when the change token updates.
         */
        recordZoneChangeTokensUpdatedBlock: ()=>any | null;
        /**
         * The closure to execute when a record zone’s fetch finishes.
         */
        recordZoneFetchCompletionBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        fetchRecordZoneChangesCompletionBlock: ()=>any | null;
        fetchRecordZoneChangesResultBlock: ()=>any | null;
        recordWasChangedBlock: ()=>any | null;
        recordZoneFetchResultBlock: ()=>any | null;
        /**
         * Configuration options for each record zone that the operation retrieves.
         */
        optionsByRecordZoneID: Record<CKRecordZone.ID, CKFetchRecordZoneChangesOperation.ZoneOptions> | null;
        /**
         * Creates an operation for fetching record zone changes.
         */
        constructor (recordZoneIDs: CKRecordZone.ID[] | null, configurationsByRecordZoneID: Record<CKRecordZone.ID, CKFetchRecordZoneChangesOperation.ZoneConfiguration> | null);
        /**
         * Creates an empty fetch record zone changes operation.
         */
        constructor ();
        /**
         * Creates an operation for fetching record zone changes.
         */
        constructor (recordZoneIDs: CKRecordZone.ID[], optionsByRecordZoneID: Record<CKRecordZone.ID, CKFetchRecordZoneChangesOperation.ZoneOptions> | null);
    }
    /**
     * the same name namespace of class CKFetchRecordZoneChangesOperation
     */
    export namespace CKFetchRecordZoneChangesOperation {
        export class ZoneConfiguration extends NSObject {
            /**
             * The server change token.
             */
            previousServerChangeToken: CKServerChangeToken | null;
            /**
             * The maximum number of records that CloudKit retrieves when fetching zone changes.
             */
            resultsLimit: number;
            /**
             * An array of the record keys to retrieve.
             */
            desiredKeys: CKRecord.FieldKey[] | null;
            /**
             * Creates a zone configuration with the desired keys and a result limit for updates.
             */
            constructor (previousServerChangeToken: CKServerChangeToken | null, resultsLimit: number, desiredKeys: CKRecord.FieldKey[] | null);
        }
        export class ZoneOptions extends NSObject {
            /**
             * The fields to fetch for the requested records.
             */
            desiredKeys: string[] | null;
            /**
             * The token that identifies the starting point for retrieving changes.
             */
            previousServerChangeToken: CKServerChangeToken | null;
            /**
             * The maximum number of records to fetch from the record zone.
             */
            resultsLimit: number;
        }
    }
    export class CKSharingParticipantPermissionOption {
        /**
         * The permission option the system uses to control whether a user can grant read-only or write access.
         */
        static any: CKSharingParticipantPermissionOption;
        /**
         * The permission option the system uses to control whether a user can grant read-only access.
         */
        static readOnly: CKSharingParticipantPermissionOption;
        /**
         * The permission option the system uses to control whether a user can grant write access.
         */
        static readWrite: CKSharingParticipantPermissionOption;
        /**
         * Creates and initializes a participant permission option object.
         */
        constructor (rawValue: number);
    }
    export class CKDiscoverUserIdentitiesOperation extends CKOperation {
        /**
         * The lookup info for discovering user identities.
         */
        userIdentityLookupInfos: CKUserIdentity.LookupInfo[];
        /**
         * The closure to execute for each user identity.
         */
        userIdentityDiscoveredBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        discoverUserIdentitiesCompletionBlock: ()=>any | null;
        discoverUserIdentitiesResultBlock: ()=>any | null;
        /**
         * Creates an operation for discovering user identities.
         */
        constructor ();
        /**
         * Creates an operation for discovering the user identities of the specified lookup infos.
         */
        constructor (userIdentityLookupInfos: CKUserIdentity.LookupInfo[]);
    }
    export class CKDatabaseOperation extends CKOperation {
        /**
         * The database that the operation uses.
         */
        database: CKDatabase | null;
    }
    export class CKFetchShareMetadataOperation extends CKOperation {
        /**
         * The URLs of the shares to fetch.
         */
        shareURLs: URL[] | null;
        /**
         * A Boolean value that indicates whether to retrieve the root record.
         */
        shouldFetchRootRecord: boolean;
        /**
         * The closure to execute as the operation fetches individual shares.
         */
        perShareMetadataBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        fetchShareMetadataCompletionBlock: ()=>any | null;
        fetchShareMetadataResultBlock: ()=>any | null;
        perShareMetadataResultBlock: ()=>any | null;
        /**
         * The fields to return when fetching the root record.
         */
        rootRecordDesiredKeys: CKRecord.FieldKey[] | null;
        /**
         * Creates an empty fetch share metadata operation.
         */
        constructor ();
        /**
         * Creates an operation for fetching the metadata for the specified shares.
         */
        constructor (shareURLs: URL[]);
    }
    export class CKRecordKeyValueIterator {
        /**
         * Advances the iterator and returns the next key-value pair from the record.
         */
        next():any;
    }
    export class CKServerChangeToken extends NSObject {}
    export class CKFetchSubscriptionsOperation extends CKDatabaseOperation {
        /**
         * The IDs of the subscriptions to fetch.
         */
        subscriptionIDs: CKSubscription.ID[] | null;
        /**
         * The block to execute with the fetch results.
         */
        fetchSubscriptionCompletionBlock: ()=>any | null;
        fetchSubscriptionsResultBlock: ()=>any | null;
        perSubscriptionResultBlock: ()=>any | null;
        /**
         * Creates an operation for fetching the specified subscriptions.
         */
        constructor (subscriptionIDs: CKSubscription.ID[]);
        /**
         * Creates an empty fetch subscriptions operation.
         */
        constructor ();
        /**
         * Returns an operation that fetches all of the user’s subscriptions.
         */
        static fetchAllSubscriptionsOperation():Self;
    }
    export class CKContainer extends NSObject {
        /**
         * The user’s private database.
         */
        privateCloudDatabase: CKDatabase;
        /**
         * The app’s public database.
         */
        publicCloudDatabase: CKDatabase;
        /**
         * The database that contains shared data.
         */
        sharedCloudDatabase: CKDatabase;
        /**
         * The container’s unique identifier.
         */
        containerIdentifier: string;
        /**
         * Creates a container for the specified identifier.
         */
        constructor (containerIdentifier: string);
        /**
         * Returns the app’s default container.
         */
        static default():CKContainer;
        /**
         * Returns the database with the specified scope.
         */
        database(databaseScope: CKDatabase.Scope):CKDatabase;
        /**
         * Determines whether the system can access the user’s iCloud account. 
         */
        accountStatus(completionHandler: ()=>any):void;
        /**
         * Prompts the user to authorize the specified permission.  
         */
        requestApplicationPermission(applicationPermission: CKContainer.ApplicationPermissions, completionHandler: CKContainer.ApplicationPermissionBlock):void;
        /**
         * Determines the authorization status of the specified permission.
         */
        status(applicationPermission: CKContainer.ApplicationPermissions, completionHandler: CKContainer.ApplicationPermissionBlock):void;
        /**
         * Adds an operation to the container’s queue.
         */
        add(operation: CKOperation):void;
        /**
         * Fetches all user identities that match entries in the user’s Contacts.
         */
        discoverAllIdentities(completionHandler: ()=>any):void;
        /**
         * Fetches the user identity for the specified email address.
         */
        discoverUserIdentity(email: string, completionHandler: ()=>any):void;
        /**
         * Fetches the share participant with the specified email address. 
         */
        fetchShareParticipant(emailAddress: string, completionHandler: ()=>any):void;
        /**
         * Fetches the user record ID of the current user.
         */
        fetchUserRecordID(completionHandler: ()=>any):void;
        /**
         * Fetches the IDs of any long-lived operations that are running.
         */
        fetchAllLongLivedOperationIDs(completionHandler: ()=>any):void;
        /**
         * Fetches the long-lived operation for the specified operation ID.
         */
        fetchLongLivedOperation(operationID: CKOperation.ID, completionHandler: ()=>any):void;
        /**
         * Fetches the share metadata for the specified share URL.
         */
        fetchShareMetadata(url: URL, completionHandler: ()=>any):void;
        /**
         * Accepts the specified share metadata.
         */
        accept(metadata: CKShare.Metadata, completionHandler: ()=>any):void;
        allLongLivedOperationIDs():CKOperation.ID[];
        discoverUserIdentities(emails: string[], completionHandler: ()=>any):void;
        fetchShareMetadatas(urls: URL[], completionHandler: ()=>any):void;
        fetchShareParticipants(emails: string[], completionHandler: ()=>any):void;
        longLivedOperation(operationID: CKOperation.ID):CKOperation | null;
        shareMetadatas(urls: URL[]):any;
        shareParticipants(emails: string[]):any;
        userIdentities(emails: string[]):Record<string, CKUserIdentity>;
    }
    /**
     * the same name namespace of class CKContainer
     */
    export namespace CKContainer {
        export enum Application {}
        export class ApplicationPermissions {
            /**
             * The user is discoverable using their email address. 
             */
            static userDiscoverability: CKContainer.ApplicationPermissions;
            /**
             * Creates a premission with the specified raw value.
             */
            constructor (rawValue: number);
        }
        export enum ApplicationPermissionStatus {
            initialState = 0,
            couldNotComplete = 1,
            denied = 2,
            granted = 3,
        }
    }
    export interface CKRecordValueProtocol {}
    export interface CKRecordKeyValueSetting extends NSObjectProtocol {
        /**
         * Returns the object that the record stores for the specified key.
         */
        object(key: string):__CKRecordObjCValue | null;
        /**
         * Stores an object in the record using the specified key.
         */
        setObject(object: __CKRecordObjCValue | null, key: string):void;
        /**
         * Returns an array of the record’s keys.
         */
        allKeys():string[];
        /**
         * Returns an array of keys with recent changes to their values.
         */
        changedKeys():string[];
    }
    export class CKModifySubscriptionsOperation extends CKDatabaseOperation {
        /**
         * The subscriptions to save to the database.
         */
        subscriptionsToSave: CKSubscription[] | null;
        /**
         * The IDs of the subscriptions that you want to delete.
         */
        subscriptionIDsToDelete: CKSubscription.ID[] | null;
        /**
         * The closure to execute after the operation modifies the subscriptions.
         */
        modifySubscriptionsCompletionBlock: ()=>any | null;
        modifySubscriptionsResultBlock: ()=>any | null;
        perSubscriptionDeleteBlock: ()=>any | null;
        perSubscriptionSaveBlock: ()=>any | null;
        /**
         * Creates an operation for saving and deleting the specified subscriptions.
         */
        constructor (subscriptionsToSave: CKSubscription[] | null, subscriptionIDsToDelete: CKSubscription.ID[] | null);
        /**
         * Creates an empty modify subscriptions operation.
         */
        constructor ();
    }
    export class CKAcceptSharesOperation extends CKOperation {
        /**
         * The share metadatas to process.
         */
        shareMetadatas: CKShare.Metadata[] | null;
        /**
         * The block to execute as CloudKit processes individual shares.
         */
        perShareCompletionBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        acceptSharesCompletionBlock: ()=>any | null;
        acceptSharesResultBlock: ()=>any | null;
        perShareResultBlock: ()=>any | null;
        /**
         * Creates an operation for accepting shares.
         */
        constructor ();
        /**
         * Creates an operation for accepting the specified shares.
         */
        constructor (shareMetadatas: CKShare.Metadata[]);
    }
    export enum CKAccountStatus {
        available = 1,
        couldNotDetermine = 0,
        noAccount = 3,
        restricted = 2,
        temporarilyUnavailable = 4,
    }
    export class CKDatabase extends NSObject {
        /**
         * The type of database.
         */
        databaseScope: CKDatabase.Scope;
        /**
         * Fetches the specified records and returns them to an awaiting caller.
         */
        records(ids: CKRecord.ID[], desiredKeys: CKRecord.FieldKey[] | null):any;
        /**
         * Fetches the specified records and delivers them to a completion handler.
         */
        fetch(recordIDs: CKRecord.ID[], desiredKeys: CKRecord.FieldKey[] | null, completionHandler: ()=>any):void;
        /**
         * Searches for records matching a predicate in the specified record zone.
         */
        perform(query: CKQuery, zoneID: CKRecordZone.ID | null, completionHandler: ()=>any):void;
        /**
         * Modifies the specified records and returns the results to an awaiting caller.
         */
        modifyRecords(recordsToSave: CKRecord[], recordIDsToDelete: CKRecord.ID[], savePolicy: CKModifyRecordsOperation.RecordSavePolicy, atomically: boolean):any;
        /**
         * Saves a specific record.
         */
        save(record: CKRecord, completionHandler: ()=>any):void;
        /**
         * Deletes a specific record.
         */
        delete(recordID: CKRecord.ID, completionHandler: ()=>any):void;
        /**
         * Fetches the specified record zones and returns them to an awaiting caller.
         */
        recordZones(ids: CKRecordZone.ID[]):any;
        /**
         * Fetches all record zones from the current database.
         */
        fetchAllRecordZones(completionHandler: ()=>any):void;
        /**
         * Modifies the specified record zones and returns the results to an awaiting caller.
         */
        modifyRecordZones(recordZonesToSave: CKRecordZone[], recordZoneIDsToDelete: CKRecordZone.ID[]):any;
        /**
         * Fetches the specified subscriptions and returns them to an awaiting caller.
         */
        subscriptions(ids: CKSubscription.ID[]):any;
        /**
         * Fetches a specific subscription and returns it to an awaiting caller.
         */
        subscription(subscriptionID: CKSubscription.ID):CKSubscription;
        /**
         * Fetches all subscriptions from the current database.
         */
        fetchAllSubscriptions(completionHandler: ()=>any):void;
        /**
         * Modifies the specified subscriptions and returns the results to an awaiting caller.
         */
        modifySubscriptions(subscriptionsToSave: CKSubscription[], subscriptionIDsToDelete: CKSubscription.ID[]):any;
        /**
         * Deletes a specific subscription and returns the deleted subscription’s identifier to an awaiting caller.
         */
        deleteSubscription(subscriptionID: CKSubscription.ID):CKSubscription.ID;
        /**
         * Fetches all modified record zones and returns them to an awaiting caller.
         */
        databaseChanges(changeToken: CKServerChangeToken | null, resultsLimit: number):any;
        /**
         * Fetches all modified record zones and delivers them to a completion handler. 
         */
        fetchDatabaseChanges(changeToken: CKServerChangeToken | null, resultsLimit: number, completionHandler: ()=>any):void;
        /**
         * Fetches all modified records from a specific record zone and returns them to an awaiting caller.
         */
        recordZoneChanges(zoneID: CKRecordZone.ID, changeToken: CKServerChangeToken | null, desiredKeys: CKRecord.FieldKey[] | null, resultsLimit: number):any;
        /**
         * Fetches all modified records from a specific record zone and delivers them to a completion handler.
         */
        fetchRecordZoneChanges(zoneID: CKRecordZone.ID, changeToken: CKServerChangeToken | null, desiredKeys: CKRecord.FieldKey[] | null, resultsLimit: number, completionHandler: ()=>any):void;
        /**
         * Executes the specified operation in the current database.
         */
        add(operation: CKDatabaseOperation):void;
    }
    /**
     * the same name namespace of class CKDatabase
     */
    export namespace CKDatabase {
        export enum DatabaseChange {}
        export enum RecordZoneChange {}
        export enum Scope {
            public = 1,
            private = 2,
            shared = 3,
        }
    }
    export class CKQuerySubscription extends CKSubscription {
        /**
         * The matching criteria to apply to records.
         */
        predicate: NSPredicate;
        /**
         * Options that define the behavior of the subscription.
         */
        querySubscriptionOptions: CKQuerySubscription.Options;
        /**
         * The type of record that the subscription queries.
         */
        recordType: CKRecord.RecordType | null;
        /**
         * The ID of the record zone that the subscription queries.
         */
        zoneID: CKRecordZone.ID | null;
        /**
         * Creates a named query-based subscription that queries records of a specific type.
         */
        constructor (recordType: CKRecord.RecordType, predicate: NSPredicate, subscriptionID: CKSubscription.ID, querySubscriptionOptions: CKQuerySubscription.Options);
        /**
         * Creates a query-based subscription from a serialized instance.
         */
        constructor (aDecoder: NSCoder);
    }
    /**
     * the same name namespace of class CKQuerySubscription
     */
    export namespace CKQuerySubscription {
        export class Options {
            /**
             * An option that instructs CloudKit to send a push notification when it creates a record that matches a subscription’s criteria.
             */
            static firesOnRecordCreation: CKQuerySubscription.Options;
            /**
             * An option that instructs CloudKit to send a push notification when it deletes a record that matches a subscription’s criteria. 
             */
            static firesOnRecordDeletion: CKQuerySubscription.Options;
            /**
             * An option that instructs CloudKit to send a push notification when it modifies a record that matches a subscription’s criteria.
             */
            static firesOnRecordUpdate: CKQuerySubscription.Options;
            /**
             * An option that instructs CloudKit to send a push notification only once. 
             */
            static firesOnce: CKQuerySubscription.Options;
            /**
             * Creates a query subscription option using the specified raw value.
             */
            constructor (rawValue: number);
        }
    }
    export class CKFetchShareParticipantsOperation extends CKOperation {
        /**
         * The user data for the participants.
         */
        userIdentityLookupInfos: CKUserIdentity.LookupInfo[] | null;
        /**
         * The closure to execute as the operation generates individual participants.
         */
        shareParticipantFetchedBlock: ()=>any | null;
        /**
         * The closure to execute when the operation finishes.
         */
        fetchShareParticipantsCompletionBlock: ()=>any | null;
        fetchShareParticipantsResultBlock: ()=>any | null;
        perShareParticipantResultBlock: ()=>any | null;
        /**
         * Creates an empty operation.
         */
        constructor ();
        /**
         * Creates an operation for generating share participants from the specified user data.
         */
        constructor (userIdentityLookupInfos: CKUserIdentity.LookupInfo[]);
    }
    export class CKAsset extends NSObject {
        /**
         * The URL for accessing the asset.
         */
        fileURL: URL | null;
        /**
         * Creates an asset that references a file.
         */
        constructor (fileURL: URL);
    }
    export class CKOperationGroup extends NSObject {
        /**
         * The default configuration for operations in the group.
         */
        defaultConfiguration: CKOperation.Configuration!;
        /**
         * The estimated size of traffic to download from CloudKit.
         */
        expectedReceiveSize: CKOperationGroup.TransferSize;
        /**
         * The estimated size of traffic to upload to CloudKit.
         */
        expectedSendSize: CKOperationGroup.TransferSize;
        /**
         * The operation group’s name.
         */
        name: string;
        /**
         * The operation group’s unique identifier.
         */
        operationGroupID: string;
        /**
         * The number of operations in the operation group.
         */
        quantity: number;
        /**
         * Creates an operation group.
         */
        constructor ();
        /**
         * Creates an operation group from a serialized instance.
         */
        constructor (aDecoder: NSCoder);
    }
    /**
     * the same name namespace of class CKOperationGroup
     */
    export namespace CKOperationGroup {
        export enum TransferSize {
            kilobytes = 1,
            megabytes = 2,
            gigabytes = 5,
            tensOfMegabytes = 3,
            tensOfGigabytes = 6,
            hundredsOfMegabytes = 4,
            hundredsOfGigabytes = 7,
            unknown = 0,
        }
    }
    export class CKQueryNotification extends CKNotification {
        /**
         * The type of database for the record zone.
         */
        databaseScope: CKDatabase.Scope;
        /**
         * The event that triggers the push notification.
         */
        queryNotificationReason: CKQueryNotification.Reason;
        /**
         * The ID of the record that CloudKit creates, updates, or deletes.
         */
        recordID: CKRecord.ID | null;
        /**
         * A dictionary of fields that have changes. 
         */
        recordFields: Record<string, any> | null;
    }
    /**
     * the same name namespace of class CKQueryNotification
     */
    export namespace CKQueryNotification {
        export enum Reason {
            recordCreated = 1,
            recordUpdated = 2,
            recordDeleted = 3,
        }
    }
    export class CKFetchWebAuthTokenOperation extends CKDatabaseOperation {
        /**
         * The API token that allows access to an app’s container.
         */
        apiToken: string;
        /**
         * The block to execute when the operation finishes.
         */
        fetchWebAuthTokenCompletionBlock: ()=>any | null;
        fetchWebAuthTokenResultBlock: ()=>any | null;
        /**
         * Creates a fetch operation for the specified API token.
         */
        constructor (APIToken: string);
        /**
         * Creates an empty fetch operation.
         */
        constructor ();
    }
    export class CKSubscription extends NSObject {
        /**
         * The configuration for a subscription’s push notifications.
         */
        notificationInfo: CKSubscription.NotificationInfo | null;
        /**
         * The subscription’s unique identifier.
         */
        subscriptionID: CKSubscription.ID;
        /**
         * The behavior that a subscription provides.
         */
        subscriptionType: CKSubscription.SubscriptionType;
    }
    /**
     * the same name namespace of class CKSubscription
     */
    export namespace CKSubscription {
        export class NotificationInfo extends NSObject {
            /**
             * The name of the action group that corresponds to this notification.
             */
            category: string;
            /**
             * A value that the system uses to coalesce unseen push notifications.
             */
            collapseIDKey: string;
            /**
             * A Boolean value that determines whether an app’s icon badge increments its value. 
             */
            shouldBadge: boolean;
            /**
             * The text for the notification’s alert.
             */
            alertBody: string;
            /**
             * The key that identifies the localized string for the notification’s alert.
             */
            alertLocalizationKey: string;
            /**
             * The fields for building a notification’s alert.
             */
            alertLocalizationArgs: CKRecord.FieldKey[] | null;
            /**
             * The key that identifies the localized string for the notification’s action. 
             */
            alertActionLocalizationKey: string;
            /**
             * The filename of an image to use as a launch image.
             */
            alertLaunchImage: string;
            /**
             * The filename of the sound file to play when a notification arrives.
             */
            soundName: string;
            /**
             * A Boolean value that indicates whether the push notification includes the content available flag.
             */
            shouldSendContentAvailable: boolean;
            /**
             * A Boolean value that indicates whether the push notification sets the mutable content flag.
             */
            shouldSendMutableContent: boolean;
            /**
             * The names of fields to include in the push notification’s payload.
             */
            desiredKeys: CKRecord.FieldKey[] | null;
            /**
             * The notification’s title.
             */
            title: string;
            /**
             * The key that identifies the localized string for the notification’s title.
             */
            titleLocalizationKey: string;
            /**
             * The fields for building a notification’s title.
             */
            titleLocalizationArgs: CKRecord.FieldKey[] | null;
            /**
             * The notification’s subtitle. 
             */
            subtitle: string;
            /**
             * The key that identifies the localized string for the notification’s subtitle.
             */
            subtitleLocalizationKey: string;
            /**
             * The fields for building a notification’s subtitle. 
             */
            subtitleLocalizationArgs: CKRecord.FieldKey[] | null;
            /**
             * Creates a notification with the specified values.
             */
            constructor (alertBody: string, alertLocalizationKey: string, alertLocalizationArgs: CKRecord.FieldKey[], title: string, titleLocalizationKey: string, titleLocalizationArgs: CKRecord.FieldKey[], subtitle: string, subtitleLocalizationKey: string, subtitleLocalizationArgs: CKRecord.FieldKey[], alertActionLocalizationKey: string, alertLaunchImage: string, soundName: string, desiredKeys: CKRecord.FieldKey[], shouldBadge: boolean, shouldSendContentAvailable: boolean, shouldSendMutableContent: boolean, category: string, collapseIDKey: string);
        }
        export enum SubscriptionType {
            query = 1,
            database = 3,
            recordZone = 2,
        }
    }
    export class CKError {
        /**
         * An error that occurs when the user’s iCloud account is temporarily unavailable.
         */
        static accountTemporarilyUnavailable: CKError.Code;
        /**
         * An error that occurs when CloudKit attempts to share a record with an existing share.
         */
        static alreadyShared: CKError.Code;
        /**
         * An error that occurs when the system modifies an asset while saving it.
         */
        static assetFileModified: CKError.Code;
        /**
         * An error that occurs when the system can’t find the specified asset.
         */
        static assetFileNotFound: CKError.Code;
        /**
         * An error that occurs when the system can’t access the specified asset.
         */
        static assetNotAvailable: CKError.Code;
        /**
         * An error that occurs when you use an unknown or unauthorized container.
         */
        static badContainer: CKError.Code;
        /**
         * An error that occurs when the operation can’t complete for the specified database.
         */
        static badDatabase: CKError.Code;
        /**
         * An error that occurs when the system rejects the entire batch of changes.
         */
        static batchRequestFailed: CKError.Code;
        /**
         * An error that occurs when the change token expires.
         */
        static changeTokenExpired: CKError.Code;
        /**
         * An error that occurs when the server rejects the request because of a unique constraint violation.
         */
        static constraintViolation: CKError.Code;
        /**
         * An error that occurs when the current app version is older than the oldest allowed version.
         */
        static incompatibleVersion: CKError.Code;
        /**
         * A nonrecoverable error that CloudKit encounters.
         */
        static internalError: CKError.Code;
        /**
         * An error that occurs when the request contains invalid information.
         */
        static invalidArguments: CKError.Code;
        /**
         * An error that occurs when a request’s size exceeds the limit.
         */
        static limitExceeded: CKError.Code;
        /**
         * An error that occurs when CloudKit rejects a request due to a managed-account restriction.
         */
        static managedAccountRestricted: CKError.Code;
        /**
         * An error that occurs when the app is missing a required entitlement.
         */
        static missingEntitlement: CKError.Code;
        /**
         * An error that occurs when a network is available, but CloudKit is inaccessible.
         */
        static networkFailure: CKError.Code;
        /**
         * An error that occurs when the network is unavailable.
         */
        static networkUnavailable: CKError.Code;
        /**
         * An error that occurs when the user is unauthenticated.
         */
        static notAuthenticated: CKError.Code;
        /**
         * An error that occurs when an operation cancels.
         */
        static operationCancelled: CKError.Code;
        /**
         * An error that occurs when an operation completes with partial failures.
         */
        static partialFailure: CKError.Code;
        /**
         * An error that occurs when the user isn’t a participant of the share. 
         */
        static participantMayNeedVerification: CKError.Code;
        /**
         * An error that occurs when the user doesn’t have permission to save or fetch data.
         */
        static permissionFailure: CKError.Code;
        /**
         * An error that occurs when saving a record exceeds the user’s storage quota. 
         */
        static quotaExceeded: CKError.Code;
        /**
         * An error that occurs when CloudKit can’t find the target of a reference.
         */
        static referenceViolation: CKError.Code;
        /**
         * An error that occurs when CloudKit rate-limits requests.
         */
        static requestRateLimited: CKError.Code;
        /**
         * An error that occurs when CloudKit rejects a record because the server’s version is different.
         */
        static serverRecordChanged: CKError.Code;
        /**
         * An error that occurs when CloudKit rejects the request. 
         */
        static serverRejectedRequest: CKError.Code;
        /**
         * An error that occurs when CloudKit is unable to maintain the network connection and provide a response. 
         */
        static serverResponseLost: CKError.Code;
        /**
         * An error that occurs when CloudKit is unavailable.
         */
        static serviceUnavailable: CKError.Code;
        /**
         * An error that occurs when a share has too many participants.
         */
        static tooManyParticipants: CKError.Code;
        /**
         * An error that occurs when the specified record doesn’t exist.
         */
        static unknownItem: CKError.Code;
        /**
         * An error that occurs when the user deletes a record zone using the Settings app.   
         */
        static userDeletedZone: CKError.Code;
        /**
         * An error that occurs when the server is too busy to handle the record zone operation.  
         */
        static zoneBusy: CKError.Code;
        /**
         * An error that occurs when the specified record zone doesn’t exist. 
         */
        static zoneNotFound: CKError.Code;
        /**
         * An error that occurs when CloudKit truncates a query’s results.
         */
        static resultsTruncated: CKError.Code;
        /**
         * The error’s domain.
         */
        static errorDomain: string;
        /**
         * The error’s code.
         */
        errorCode: number;
        /**
         * The dictionary that provides additional context about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The localized description of the error.
         */
        localizedDescription: string;
        /**
         * The dictionary that contains errors that relate to individual record operations.
         */
        partialErrorsByItemID: Record<AnyHashable, Error> | null;
        /**
         * The original version of the record.
         */
        ancestorRecord: CKRecord | null;
        /**
         * The local version of the record that includes any changes.
         */
        clientRecord: CKRecord | null;
        /**
         * The server’s version of the record.
         */
        serverRecord: CKRecord | null;
        /**
         * The number of seconds to wait before you retry the request.
         */
        retryAfterSeconds: number;
        hashValue: number;
        userInfo: Record<string, any>;
        code: Code;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CKError
     */
    export namespace CKError {
        export enum Code {
            accountTemporarilyUnavailable = 36,
            alreadyShared = 30,
            assetFileModified = 17,
            assetFileNotFound = 16,
            assetNotAvailable = 35,
            badContainer = 5,
            badDatabase = 24,
            batchRequestFailed = 22,
            changeTokenExpired = 21,
            constraintViolation = 19,
            incompatibleVersion = 18,
            internalError = 1,
            invalidArguments = 12,
            limitExceeded = 27,
            managedAccountRestricted = 32,
            missingEntitlement = 8,
            networkFailure = 4,
            networkUnavailable = 3,
            notAuthenticated = 9,
            operationCancelled = 20,
            partialFailure = 2,
            participantMayNeedVerification = 33,
            permissionFailure = 10,
            quotaExceeded = 25,
            referenceViolation = 31,
            requestRateLimited = 7,
            serverRecordChanged = 14,
            serverRejectedRequest = 15,
            serverResponseLost = 34,
            serviceUnavailable = 6,
            tooManyParticipants = 29,
            unknownItem = 11,
            userDeletedZone = 28,
            zoneBusy = 23,
            zoneNotFound = 26,
            resultsTruncated = 13,
        }
    }
    export class CKOperation extends Operation {
        /**
         * A unique identifier for a long-lived operation.
         */
        operationID: CKOperation.ID;
        /**
         * The operation’s configuration.
         */
        configuration: CKOperation.Configuration!;
        /**
         * The operation’s group.
         */
        group: CKOperationGroup | null;
        /**
         * The closure to execute when the server begins to store callbacks for the long-lived operation.
         */
        longLivedOperationWasPersistedBlock: ()=>any | null;
        /**
         * A Boolean value that indicates whether the operation can send data over the cellular network.
         */
        allowsCellularAccess: boolean;
        /**
         * The operation’s container.
         */
        container: CKContainer | null;
        /**
         * A Boolean value that indicates whether the operation is long-lived.
         */
        isLongLived: boolean;
        /**
         * The timeout interval when waiting for additional data.
         */
        timeoutIntervalForRequest: TimeInterval;
        /**
         * The maximum amount of time that a resource request can use.
         */
        timeoutIntervalForResource: TimeInterval;
        /**
         * Creates an operation.
         */
        constructor ();
    }
    /**
     * the same name namespace of class CKOperation
     */
    export namespace CKOperation {
        export class Configuration extends NSObject {
            /**
             * A Boolean value that indicates whether operations that use this configuration can send data over the cellular network.
             */
            allowsCellularAccess: boolean;
            /**
             * The configuration’s container.
             */
            container: CKContainer | null;
            /**
             * A Boolean value that indicates whether the operations that use this configuration are long-lived.
             */
            isLongLived: boolean;
            /**
             * The priority that the system uses when it allocates resources to the operations that use this configuration.
             */
            qualityOfService: QualityOfService;
            /**
             * The maximum amount of time that a request can take. 
             */
            timeoutIntervalForRequest: TimeInterval;
            /**
             * The maximum amount of time that a resource request can take.
             */
            timeoutIntervalForResource: TimeInterval;
        }
    }
    export class CKNotification extends NSObject {
        /**
         * The notification’s ID.
         */
        notificationID: CKNotification.ID | null;
        /**
         * The type of event that generates the notification.
         */
        notificationType: CKNotification.NotificationType;
        /**
         * The ID of the container with the content that triggers the notification.
         */
        containerIdentifier: string;
        /**
         * A Boolean value that indicates whether the system removes some push notification content before delivery.
         */
        isPruned: boolean;
        /**
         * The notification’s alert body.
         */
        alertBody: string;
        /**
         * The key that identifies the localized text for the alert body. 
         */
        alertLocalizationKey: string;
        /**
         * The fields for building a notification’s alert.
         */
        alertLocalizationArgs: string[] | null;
        /**
         * The key that identifies the localized string for the notification’s action.
         */
        alertActionLocalizationKey: string;
        /**
         * The filename of an image to use as a launch image.
         */
        alertLaunchImage: string;
        /**
         * The name of the sound file to play when a notification arrives.
         */
        soundName: string;
        /**
         * The value that the app icon’s badge displays. 
         */
        badge: NSNumber | null;
        /**
         * The name of the action group that corresponds to this notification.
         */
        category: string;
        /**
         * The ID of the subscription that triggers the notification.
         */
        subscriptionID: CKSubscription.ID | null;
        /**
         * The ID of the user record that creates the subscription that generates the push notification.
         */
        subscriptionOwnerUserRecordID: CKRecord.ID | null;
        /**
         * The notification’s title.
         */
        title: string;
        /**
         * The key that identifies the localized string for the notification’s title.
         */
        titleLocalizationKey: string;
        /**
         * The fields for building a notification’s title.
         */
        titleLocalizationArgs: string[] | null;
        /**
         * The notification’s subtitle. 
         */
        subtitle: string;
        /**
         * The key that identifies the localized string for the notification’s subtitle.
         */
        subtitleLocalizationKey: string;
        /**
         * The fields for building a notification’s subtitle.
         */
        subtitleLocalizationArgs: string[] | null;
        /**
         * Creates a new notification using the specified payload data.
         */
        constructor (notificationDictionary: Record<AnyHashable, any>);
    }
    /**
     * the same name namespace of class CKNotification
     */
    export namespace CKNotification {
        export class ID extends NSObject {}
        export enum NotificationType {
            query = 1,
            database = 4,
            recordZone = 2,
            readNotification = 3,
        }
    }
    export class CKModifyRecordZonesOperation extends CKDatabaseOperation {
        /**
         * The record zones to save to the database.
         */
        recordZonesToSave: CKRecordZone[] | null;
        /**
         * The IDs of the record zones to delete permanently from the database.
         */
        recordZoneIDsToDelete: CKRecordZone.ID[] | null;
        /**
         * The closure to execute after CloudKit modifies all of the record zones.
         */
        modifyRecordZonesCompletionBlock: ()=>any | null;
        modifyRecordZonesResultBlock: ()=>any | null;
        perRecordZoneDeleteBlock: ()=>any | null;
        perRecordZoneSaveBlock: ()=>any | null;
        /**
         * Creates an operation for modifying the specified record zones.
         */
        constructor (recordZonesToSave: CKRecordZone[] | null, recordZoneIDsToDelete: CKRecordZone.ID[] | null);
        /**
         * Creates an empty modify record zones operation.
         */
        constructor ();
    }
    export class CKFetchRecordChangesOperation extends CKDatabaseOperation {
        /**
         * The ID of the record zone with the records you want to fetch.
         */
        recordZoneID: CKRecordZone.ID | null;
        /**
         * The token that identifies the starting point for retrieving changes. 
         */
        previousServerChangeToken: CKServerChangeToken | null;
        /**
         * The fields to fetch for the requested records.
         */
        desiredKeys: string[] | null;
        /**
         * The maximum number of changed records to report with this operation object.
         */
        resultsLimit: number;
        /**
         * A Boolean value that indicates whether more results are available.
         */
        moreComing: boolean;
        /**
         * The block to execute with the contents of a changed record.
         */
        recordChangedBlock: ()=>any | null;
        /**
         * The block to execute with the ID of a deleted record.
         */
        recordWithIDWasDeletedBlock: ()=>any | null;
        /**
         * The block to execute when the system finishes processing all changes.
         */
        fetchRecordChangesCompletionBlock: ()=>any | null;
        /**
         * Creates an operation for fetching changes in the specified record zone.
         */
        constructor (recordZoneID: CKRecordZone.ID, previousServerChangeToken: CKServerChangeToken | null);
        /**
         * Creates an empty fetch record changes operation.
         */
        constructor ();
    }
    export class CKFetchNotificationChangesOperation extends CKOperation {
        /**
         * The change token from a previous fetch operation.
         */
        previousServerChangeToken: CKServerChangeToken | null;
        /**
         * The maximum number of results to fetch with the operation.
         */
        resultsLimit: number;
        /**
         * A Boolean value that indicates whether more notifications are available.
         */
        moreComing: boolean;
        /**
         * The block that processes a single push notification.
         */
        notificationChangedBlock: ()=>any | null;
        /**
         * The block that executes after the system fetches all requested notifications. 
         */
        fetchNotificationChangesCompletionBlock: ()=>any | null;
        /**
         * Creates an operation for fetching notification changes that occur after the specified change token.
         */
        constructor (previousServerChangeToken: CKServerChangeToken | null);
        /**
         * Creates an operation for fetching notification changes.
         */
        constructor ();
    }
    export class CKMarkNotificationsReadOperation extends CKOperation {
        /**
         * The array of notifications to mark as read.
         */
        notificationIDs: CKNotification.ID[] | null;
        /**
         * The block to execute when the operation finishes.
         */
        markNotificationsReadCompletionBlock: ()=>any | null;
        /**
         * Creates an operation that marks the specified notifications as read.
         */
        constructor (notificationIDs: CKNotification.ID[]);
        /**
         * Creates an empty operation.
         */
        constructor ();
    }
    export class CKModifyBadgeOperation extends CKOperation {
        /**
         * The value that the app icon’s badge displays.  
         */
        badgeValue: number;
        /**
         * The block to execute with the results of the operation.
         */
        modifyBadgeCompletionBlock: ()=>any | null;
        /**
         * Creates an empty modify badge operation.
         */
        constructor ();
        /**
         * Creates an operation that sets the value of the app icon’s badge. 
         */
        constructor (badgeValue: number);
    }
}

/**
 * Customize handling of asynchronous events by combining event-processing operators.
 */
declare module Combine {
    export class Published {}
    /**
     * the same name namespace of class Published
     */
    export namespace Published {
        export class Publisher {
            /**
             * The elements produced by the publisher, as an asynchronous sequence.
             */
            values: AsyncPublisher<Self>;
            /**
             * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
             */
            ignoreOutput():Publishers.IgnoreOutput<Self>;
            /**
             * Applies a closure that collects each element of a stream and publishes a final result upon completion.
             */
            reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
            /**
             * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
             */
            tryReduce<T>(initialResult: T, nextPartialResult: T):any;
            /**
             * Publishes the number of elements received from the upstream publisher.
             */
            count():Publishers.Count<Self>;
            /**
             * Publishes the maximum value received from the upstream publisher, after it finishes.
             */
            max():Publishers.Comparison<Self>;
            /**
             * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
             */
            tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
            /**
             * Publishes the minimum value received from the upstream publisher, after it finishes.
             */
            min():Publishers.Comparison<Self>;
            /**
             * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
             */
            tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
            /**
             * Publishes a Boolean value upon receiving an element equal to the argument.
             */
            contains(output: Self.Output):Publishers.Contains<Self>;
            /**
             * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
             */
            tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
            /**
             * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
             */
            allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
            /**
             * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
             */
            tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
            /**
             * Ignores elements from the upstream publisher until it receives an element from a second publisher.
             */
            drop<P>(publisher: P):P.Failure;
            /**
             * Omits the specified number of elements before republishing subsequent elements.
             */
            dropFirst(count: number):Publishers.Drop<Self>;
            /**
             * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
             */
            drop(predicate: ()=>any):Publishers.DropWhile<Self>;
            /**
             * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
             */
            tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
            /**
             * Appends a publisher’s output with the specified elements.
             */
            append(...elements: Self.Output):any;
            /**
             * Prefixes a publisher’s output with the specified values.
             */
            prepend(...elements: Self.Output):any;
            /**
             * Republishes elements up to the specified maximum count.
             */
            prefix(maxLength: number):Publishers.Output<Self>;
            /**
             * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
             */
            tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
            /**
             * Republishes elements until another publisher emits an element.
             */
            prefix<P>(publisher: P):Publisher;
            /**
             * Publishes the first element of a stream, then finishes.
             */
            first():Publishers.First<Self>;
            /**
             * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
             */
            tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
            /**
             * Publishes the last element of a stream, after the stream finishes.
             */
            last():Publishers.Last<Self>;
            /**
             * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
             */
            tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
            /**
             * Publishes a specific element, indicated by its index in the sequence of published elements.
             */
            output(index: number):Publishers.Output<Self>;
            /**
             * Publishes elements specified by their range in the sequence of published elements.
             */
            output<R>(range: R):Int;
            /**
             * cancellable = pub1
             *  
             * .combineLatest(pub2) { (first, second) in
             *  
             * return first * second
             *  
             * }
             *  
             * .sink { print(“Result: ($0).”) }
             */
            combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
            /**
             * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
             */
            combineLatest<P>(other: P):P.Failure;
            /**
             * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
             */
            combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
            /**
             * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
             */
            combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
            /**
             * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
             */
            combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
            /**
             * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
             */
            combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
            /**
             * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
             */
            merge(other: Self):Publishers.MergeMany<Self>;
            /**
             * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C>(b: B, c: C):C.Output;
            /**
             * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D>(b: B, c: C, d: D):D.Output;
            /**
             * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
            /**
             * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
            /**
             * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
            /**
             * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
             */
            merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
            /**
             * Combines elements from another publisher and deliver pairs of elements as tuples.
             */
            zip<P>(other: P):P.Failure;
            /**
             * Combines elements from another publisher and delivers a transformed output.
             */
            zip<P, T>(other: P, transform: ()=>any):P.Failure;
            /**
             * Combines elements from two other publishers and delivers groups of elements as tuples.
             */
            zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
            /**
             * Combines elements from two other publishers and delivers a transformed output.
             */
            zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
            /**
             * Combines elements from three other publishers and delivers groups of elements as tuples.
             */
            zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
            /**
             * Combines elements from three other publishers and delivers a transformed output.
             */
            zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
            /**
             * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
             */
            flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
            /**
             * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
             */
            flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
            /**
             * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
             */
            assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
            /**
             * Handles errors from an upstream publisher by replacing it with another publisher.
             */
            catch(handler: ()=>any):P.Output;
            /**
             * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
             */
            tryCatch<P>(handler: P):P.Output;
            /**
             * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
             */
            retry(retries: number):Publishers.Retry<Self>;
            /**
             * Measures and emits the time interval between events received from an upstream publisher.
             */
            measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Publishes elements only after a specified time interval elapses between events.
             */
            debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
             */
            delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
             */
            throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
            /**
             * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
             */
            timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
            /**
             * Decodes the output from the upstream using a specified decoder.
             */
            decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
            /**
             * Encodes the output from upstream using a specified encoder.
             */
            encode<Coder>(encoder: Coder):TopLevelEncoder;
            /**
             * Publishes the value of a key path.
             */
            map<T>(keyPath: any):any;
            /**
             * Publishes the values of two key paths as a tuple.
             */
            map<T0, T1>(keyPath0: any, keyPath1: any):any;
            /**
             * Publishes the values of three key paths as a tuple.
             */
            map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
            /**
             * Applies a closure to create a subject that delivers elements to subscribers.
             */
            multicast<S>(createSubject: ()=>any):S.Output;
            /**
             * Shares the output of an upstream publisher with multiple subscribers.
             */
            share():Publishers.Share<Self>;
            /**
             * Buffers elements received from an upstream publisher.
             */
            buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
            /**
             * Wraps this publisher with a type eraser.
             */
            eraseToAnyPublisher():any;
            /**
             * Specifies the scheduler on which to perform subscribe, cancel, and request operations.
             */
            subscribe<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Specifies the scheduler on which to receive elements from the publisher.
             */
            receive<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Creates a connectable wrapper around the publisher.
             */
            makeConnectable():Publishers.MakeConnectable<Self>;
            /**
             * Assigns each element from a publisher to a property on an object.
             */
            assign<Root>(keyPath: any, object: Root):AnyCancellable;
            /**
             * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
             */
            assign(published: any):void;
            /**
             * Attaches a subscriber with closure-based behavior.
             */
            sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
            /**
             * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
             */
            breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
            /**
             * Raises a debugger signal upon receiving a failure.
             */
            breakpointOnError():Publishers.Breakpoint<Self>;
            /**
             * Performs the specified closures when publisher events occur.
             */
            handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
            /**
             * Prints log messages for all publishing events.
             */
            print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
            /**
             * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
             */
            collect():Publishers.Collect<Self>;
            /**
             * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
             */
            collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
            /**
             * Calls a closure with each received element and publishes any returned optional that has a value.
             */
            compactMap<T>(transform: ()=>any | null):any;
            /**
             * Republishes all elements that match a provided closure.
             */
            filter(isIncluded: ()=>any):Publishers.Filter<Self>;
            /**
             * Converts any failure from the upstream publisher into a new error.
             */
            mapError<E>(transform: ()=>any):Error;
            /**
             * Publishes only elements that don’t match the previous element.
             */
            removeDuplicates():Publishers.RemoveDuplicates<Self>;
            /**
             * Replaces an empty stream with the provided element.
             */
            replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
            /**
             * Replaces any errors in the stream with the provided element.
             */
            replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
            /**
             * Replaces nil elements in the stream with the provided element.
             */
            replaceNil<T>(output: T):T | null;
            /**
             * Transforms elements from the upstream publisher by providing the current
             *  
             * element to a closure along with the last value returned by the closure.
             */
            scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
            /**
             * Changes the failure type declared by the upstream publisher.
             */
            setFailureType<E>(failureType: E.Type):Error;
            /**
             * Republishes elements sent by the most recently received publisher.
             */
            switchToLatest():any;
            /**
             * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
             */
            tryCompactMap<T>(transform: T | null):any;
            /**
             * Republishes all elements that match a provided error-throwing closure.
             */
            tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
            /**
             * Transforms all elements from the upstream publisher with a provided error-throwing closure.
             */
            tryMap<T>(transform: T):any;
            /**
             * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
             */
            tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
            /**
             * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
             */
            tryScan<T>(initialResult: T, nextPartialResult: T):any;
        }
    }
    export enum Publishers {}
    export class ImmediateScheduler {}
    /**
     * the same name namespace of class ImmediateScheduler
     */
    export namespace ImmediateScheduler {
        export class SchedulerTimeType {}
        /**
         * the same name namespace of class SchedulerTimeType
         */
        export namespace SchedulerTimeType {
            export class Stride {
                /**
                 * Replaces this value with its additive inverse.
                 */
                negate():void;
            }
        }
    }
    export class AsyncPublisher {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    export class AsyncThrowingPublisher {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingPublisher
     */
    export namespace AsyncThrowingPublisher {
        export class Iterator {
            /**
             * Produces the next element in the prefix sequence.
             */
            next():P.Output | null;
        }
    }
    export class AnyCancellable {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Initializes the cancellable object with the given cancel-time closure.
         */
        constructor (cancel: ()=>any);
        /**
         * Cancel the activity.
         */
        cancel():void;
        /**
         * Stores this type-erasing cancellable instance in the specified collection.
         */
        store<C>(collection: C):void;
        /**
         * Stores this type-erasing cancellable instance in the specified set.
         */
        store(set: Set<AnyCancellable>):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class Future {
        /**
         * The published value of the future, delivered asynchronously.
         */
        value: Output;
        /**
         * The elements produced by the publisher, as an asynchronous sequence.
         */
        values: AsyncPublisher<Self>;
        /**
         * Creates a publisher that invokes a promise closure when the publisher emits an element.
         */
        constructor (attemptToFulfill: ()=>any);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class CombineIdentifier {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a unique Combine identifier.
         */
        constructor ();
        /**
         * Creates a Combine identifier, using the bit pattern of the provided object.
         */
        constructor (obj: AnyObject);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class AnyPublisher {
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A custom playground description for this instance.
         */
        playgroundDescription: any;
        /**
         * The elements produced by the publisher, as a throwing asynchronous sequence.
         */
        values: AsyncThrowingPublisher<Self>;
        /**
         * Creates a type-erasing publisher to wrap the provided publisher.
         */
        constructor (publisher: P);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class Just {
        /**
         * The one element that the publisher emits.
         */
        output: Output;
        /**
         * The elements produced by the publisher, as an asynchronous sequence.
         */
        values: AsyncPublisher<Self>;
        /**
         * Initializes a publisher that emits the specified output just once.
         */
        constructor (output: Output);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Collects up to the specified number of elements, and then emits a single array of the collection.
         */
        collect(count: number):Publishers.CollectByCount<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        allSatisfy(predicate: ()=>any):Just<Bool>;
        append(...elements: Output):any;
        append<S>(elements: S):Sequence;
        count():Just<Int>;
        drop(predicate: ()=>any):any;
        dropFirst(count: number):any;
        filter(isIncluded: ()=>any):any;
        first():Just<Output>;
        ignoreOutput():any;
        last():Just<Output>;
        prefix(maxLength: number):any;
        prepend<S>(elements: S):Sequence;
        prepend(...elements: Output):any;
        replaceEmpty(output: Output):Just<Output>;
        replaceError(output: Output):Just<Output>;
        retry(times: number):Just<Output>;
        tryAllSatisfy(predicate: Bool):any;
        tryContains(predicate: Bool):any;
        tryRemoveDuplicates(predicate: Bool):any;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class Deferred {
        /**
         * The closure to execute when this deferred publisher receives a subscription.
         */
        createPublisher: ()=>any;
        /**
         * The elements produced by the publisher, as a throwing asynchronous sequence.
         */
        values: AsyncThrowingPublisher<Self>;
        /**
         * Creates a deferred publisher.
         */
        constructor (createPublisher: ()=>any);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class Empty {
        /**
         * A Boolean value that indicates whether the publisher immediately sends a completion.
         */
        completeImmediately: boolean;
        /**
         * The elements produced by the publisher, as an asynchronous sequence.
         */
        values: AsyncPublisher<Self>;
        /**
         * Creates an empty publisher.
         */
        constructor (completeImmediately: boolean);
        /**
         * Creates an empty publisher with the given completion behavior and output and failure types.
         */
        constructor (completeImmediately: boolean, outputType: Output.Type, failureType: Failure.Type);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class Fail {
        /**
         * The failure to send when terminating the publisher.
         */
        error: Failure;
        /**
         * The elements produced by the publisher, as a throwing asynchronous sequence.
         */
        values: AsyncThrowingPublisher<Self>;
        /**
         * Creates a publisher that immediately terminates with the specified failure.
         */
        constructor (error: Failure);
        /**
         * Creates publisher with the given output type, that immediately terminates with the specified failure.
         */
        constructor (outputType: Output.Type, failure: Failure);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class Record {
        /**
         * The recorded output and completion.
         */
        recording: any;
        /**
         * The elements produced by the publisher, as a throwing asynchronous sequence.
         */
        values: AsyncThrowingPublisher<Self>;
        /**
         * Creates a record publisher to publish the provided elements, followed by the provided completion value.
         */
        constructor (output: Output[], completion: Subscribers.Completion<Failure>);
        /**
         * Creates a publisher to interactively record a series of outputs and a completion.
         */
        constructor (record: ()=>any);
        /**
         * Creates a record publisher from an existing recording.
         */
        constructor (recording: any);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    /**
     * the same name namespace of class Record
     */
    export namespace Record {
        export class Recording {
            /**
             * The completion which will be sent to a 
             * .
             */
            completion: Subscribers.Completion<Failure>;
            /**
             * The output which will be sent to a 
             * .
             */
            output: Output[];
            /**
             * Set up a recording in a state ready to receive output.
             */
            constructor ();
            /**
             * Set up a complete recording with the specified output and completion.
             */
            constructor (output: Output[], completion: Subscribers.Completion<Failure>);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            encode(encoder: Encoder):void;
            /**
             * Add an output to the recording.
             */
            receive(input: any):void;
        }
    }
    export enum Subscribers {}
    export class AnySubscriber {
        /**
         * A unique identifier for identifying publisher streams.
         */
        combineIdentifier: CombineIdentifier;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A custom playground description for this instance.
         */
        playgroundDescription: any;
        /**
         * Creates a type-erasing subscriber to wrap an existing subscriber.
         */
        constructor (s: S);
        /**
         * Creates a type-erasing subscriber that executes the provided closures.
         */
        constructor (receiveSubscription: ()=>any | null, receiveValue: ()=>any | null, receiveCompletion: ()=>any | null);
        /**
         * Tells the subscriber that the publisher has produced an element.
         */
        receive(value: Input):Subscribers.Demand;
    }
    export enum Subscriptions {}
    export class CurrentValueSubject {
        /**
         * The value wrapped by this subject, published as a new element whenever it changes.
         */
        value: Output;
        /**
         * The elements produced by the publisher, as an asynchronous sequence.
         */
        values: AsyncPublisher<Self>;
        /**
         * Creates a current value subject with the given initial value.
         */
        constructor (value: Output);
        /**
         * Sends a value to the subscriber.
         */
        send(input: Output):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class PassthroughSubject {
        /**
         * The elements produced by the publisher, as a throwing asynchronous sequence.
         */
        values: AsyncThrowingPublisher<Self>;
        constructor ();
        /**
         * Sends a value to the subscriber.
         */
        send(input: Output):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: S):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element.
         */
        removeDuplicates():Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, after it finishes.
         */
        max():Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min():Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element equal to the argument.
         */
        contains(output: Self.Output):Publishers.Contains<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Encodes the output from upstream using a specified encoder.
         */
        encode<Coder>(encoder: Coder):TopLevelEncoder;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
        /**
         * Republishes elements sent by the most recently received publisher.
         */
        switchToLatest():any;
    }
    export class ObservableObjectPublisher {
        /**
         * The elements produced by the publisher, as an asynchronous sequence.
         */
        values: AsyncPublisher<Self>;
        /**
         * Creates an observable object publisher instance.
         */
        constructor ();
        /**
         * Sends the changed value to the downstream subscriber.
         */
        send():void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        receive<S>(subscriber: any):void;
        /**
         * Attaches the specified subscriber to this publisher.
         */
        subscribe<S>(subscriber: S):void;
        /**
         * Transforms all elements from the upstream publisher with a provided closure.
         */
        map<T>(transform: ()=>any):any;
        /**
         * Transforms all elements from the upstream publisher with a provided error-throwing closure.
         */
        tryMap<T>(transform: T):any;
        /**
         * Converts any failure from the upstream publisher into a new error.
         */
        mapError<E>(transform: ()=>any):Error;
        /**
         * Replaces nil elements in the stream with the provided element.
         */
        replaceNil<T>(output: T):T | null;
        /**
         * Transforms elements from the upstream publisher by providing the current
         *  
         * element to a closure along with the last value returned by the closure.
         */
        scan<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Transforms elements from the upstream publisher by providing the current element to an error-throwing closure along with the last value returned by the closure.
         */
        tryScan<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Changes the failure type declared by the upstream publisher.
         */
        setFailureType<E>(failureType: E.Type):Error;
        /**
         * Republishes all elements that match a provided closure.
         */
        filter(isIncluded: ()=>any):Publishers.Filter<Self>;
        /**
         * Republishes all elements that match a provided error-throwing closure.
         */
        tryFilter(isIncluded: Bool):Publishers.TryFilter<Self>;
        /**
         * Calls a closure with each received element and publishes any returned optional that has a value.
         */
        compactMap<T>(transform: ()=>any | null):any;
        /**
         * Calls an error-throwing closure with each received element and publishes any returned optional that has a value.
         */
        tryCompactMap<T>(transform: T | null):any;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided closure.
         */
        removeDuplicates(predicate: ()=>any):Publishers.RemoveDuplicates<Self>;
        /**
         * Publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.
         */
        tryRemoveDuplicates(predicate: Bool):Publishers.TryRemoveDuplicates<Self>;
        /**
         * Replaces an empty stream with the provided element.
         */
        replaceEmpty(output: Self.Output):Publishers.ReplaceEmpty<Self>;
        /**
         * Replaces any errors in the stream with the provided element.
         */
        replaceError(output: Self.Output):Publishers.ReplaceError<Self>;
        /**
         * Collects all received elements, and emits a single array of the collection when the upstream publisher finishes.
         */
        collect():Publishers.Collect<Self>;
        /**
         * Collects elements by a given time-grouping strategy, and emits a single array of the collection.
         */
        collect<S>(strategy: Publishers.TimeGroupingStrategy<S>, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Ignores all upstream elements, but passes along the upstream publisher’s completion state (finished or failed).
         */
        ignoreOutput():Publishers.IgnoreOutput<Self>;
        /**
         * Applies a closure that collects each element of a stream and publishes a final result upon completion.
         */
        reduce<T>(initialResult: T, nextPartialResult: ()=>any):any;
        /**
         * Applies an error-throwing closure that collects each element of a stream and publishes a final result upon completion.
         */
        tryReduce<T>(initialResult: T, nextPartialResult: T):any;
        /**
         * Publishes the number of elements received from the upstream publisher.
         */
        count():Publishers.Count<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided ordering closure.
         */
        max(areInIncreasingOrder: ()=>any):Publishers.Comparison<Self>;
        /**
         * Publishes the maximum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMax(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, after it finishes.
         */
        min(areInIncreasingOrder: ()=>any):Publishers.Comparison<Self>;
        /**
         * Publishes the minimum value received from the upstream publisher, using the provided error-throwing closure to order the items.
         */
        tryMin(areInIncreasingOrder: Bool):Publishers.TryComparison<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the predicate closure.
         */
        contains(predicate: ()=>any):Publishers.ContainsWhere<Self>;
        /**
         * Publishes a Boolean value upon receiving an element that satisfies the throwing predicate closure.
         */
        tryContains(predicate: Bool):Publishers.TryContainsWhere<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given predicate.
         */
        allSatisfy(predicate: ()=>any):Publishers.AllSatisfy<Self>;
        /**
         * Publishes a single Boolean value that indicates whether all received elements pass a given error-throwing predicate.
         */
        tryAllSatisfy(predicate: Bool):Publishers.TryAllSatisfy<Self>;
        /**
         * Ignores elements from the upstream publisher until it receives an element from a second publisher.
         */
        drop<P>(publisher: P):P.Failure;
        /**
         * Omits the specified number of elements before republishing subsequent elements.
         */
        dropFirst(count: number):Publishers.Drop<Self>;
        /**
         * Omits elements from the upstream publisher until a given closure returns false, before republishing all remaining elements.
         */
        drop(predicate: ()=>any):Publishers.DropWhile<Self>;
        /**
         * Omits elements from the upstream publisher until an error-throwing closure returns false, before republishing all remaining elements.
         */
        tryDrop(predicate: Bool):Publishers.TryDropWhile<Self>;
        /**
         * Appends a publisher’s output with the specified elements.
         */
        append(...elements: Self.Output):any;
        /**
         * Prefixes a publisher’s output with the specified values.
         */
        prepend(...elements: Self.Output):any;
        /**
         * Republishes elements up to the specified maximum count.
         */
        prefix(maxLength: number):Publishers.Output<Self>;
        /**
         * Republishes elements while an error-throwing predicate closure indicates publishing should continue.
         */
        tryPrefix(predicate: Bool):Publishers.TryPrefixWhile<Self>;
        /**
         * Republishes elements until another publisher emits an element.
         */
        prefix<P>(publisher: P):Publisher;
        /**
         * Publishes the first element of a stream, then finishes.
         */
        first():Publishers.First<Self>;
        /**
         * Publishes the first element of a stream to satisfy a throwing predicate closure, then finishes normally.
         */
        tryFirst(predicate: Bool):Publishers.TryFirstWhere<Self>;
        /**
         * Publishes the last element of a stream, after the stream finishes.
         */
        last():Publishers.Last<Self>;
        /**
         * Publishes the last element of a stream that satisfies an error-throwing predicate closure, after the stream finishes.
         */
        tryLast(predicate: Bool):Publishers.TryLastWhere<Self>;
        /**
         * Publishes a specific element, indicated by its index in the sequence of published elements.
         */
        output(index: number):Publishers.Output<Self>;
        /**
         * Publishes elements specified by their range in the sequence of published elements.
         */
        output<R>(range: R):Int;
        /**
         * cancellable = pub1
         *  
         * .combineLatest(pub2) { (first, second) in
         *  
         * return first * second
         *  
         * }
         *  
         * .sink { print(“Result: ($0).”) }
         */
        combineLatest<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Subscribes to an additional publisher and publishes a tuple upon receiving output from either publisher.
         */
        combineLatest<P>(other: P):P.Failure;
        /**
         * Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Subscribes to two additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Subscribes to three additional publishers and invokes a closure upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Subscribes to three additional publishers and publishes a tuple upon receiving output from any of the publishers.
         */
        combineLatest<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from this publisher with those from another publisher of the same type, delivering an interleaved sequence of elements.
         */
        merge(other: Self):Publishers.MergeMany<Self>;
        /**
         * Combines elements from this publisher with those from two other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C>(b: B, c: C):C.Output;
        /**
         * Combines elements from this publisher with those from three other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D>(b: B, c: C, d: D):D.Output;
        /**
         * Combines elements from this publisher with those from four other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E>(b: B, c: C, d: D, e: E):E.Output;
        /**
         * Combines elements from this publisher with those from five other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F>(b: B, c: C, d: D, e: E, f: F):F.Output;
        /**
         * Combines elements from this publisher with those from six other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G>(b: B, c: C, d: D, e: E, f: F, g: G):G.Output;
        /**
         * Combines elements from this publisher with those from seven other publishers, delivering an interleaved sequence of elements.
         */
        merge<B, C, D, E, F, G, H>(b: B, c: C, d: D, e: E, f: F, g: G, h: H):H.Output;
        /**
         * Combines elements from another publisher and deliver pairs of elements as tuples.
         */
        zip<P>(other: P):P.Failure;
        /**
         * Combines elements from another publisher and delivers a transformed output.
         */
        zip<P, T>(other: P, transform: ()=>any):P.Failure;
        /**
         * Combines elements from two other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q>(publisher1: P, publisher2: Q):Q.Failure;
        /**
         * Combines elements from two other publishers and delivers a transformed output.
         */
        zip<P, Q, T>(publisher1: P, publisher2: Q, transform: ()=>any):Q.Failure;
        /**
         * Combines elements from three other publishers and delivers groups of elements as tuples.
         */
        zip<P, Q, R>(publisher1: P, publisher2: Q, publisher3: R):R.Failure;
        /**
         * Combines elements from three other publishers and delivers a transformed output.
         */
        zip<P, Q, R, T>(publisher1: P, publisher2: Q, publisher3: R, transform: ()=>any):R.Failure;
        /**
         * Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.
         */
        assertNoFailure(prefix: string, file: StaticString, line: number):Publishers.AssertNoFailure<Self>;
        /**
         * Handles errors from an upstream publisher by replacing it with another publisher.
         */
        catch(handler: ()=>any):P.Output;
        /**
         * Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.
         */
        tryCatch<P>(handler: P):P.Output;
        /**
         * Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.
         */
        retry(retries: number):Publishers.Retry<Self>;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<T, P>(maxPublishers: Subscribers.Demand, transform: ()=>any):P.Failure;
        /**
         * Transforms all elements from an upstream publisher into a new publisher up to a maximum number of publishers you specify.
         */
        flatMap<P>(maxPublishers: Subscribers.Demand, transform: ()=>any):Publisher;
        /**
         * Measures and emits the time interval between events received from an upstream publisher.
         */
        measureInterval<S>(scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes elements only after a specified time interval elapses between events.
         */
        debounce<S>(dueTime: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Delays delivery of all output to the downstream receiver by a specified amount of time on a particular scheduler.
         */
        delay<S>(interval: S.SchedulerTimeType.Stride, tolerance: S.SchedulerTimeType.Stride | null, scheduler: S, options: S.SchedulerOptions | null):Scheduler;
        /**
         * Publishes either the most-recent or first element published by the upstream publisher in the specified time interval.
         */
        throttle<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, latest: boolean):Scheduler;
        /**
         * Terminates publishing if the upstream publisher exceeds the specified time interval without producing an element.
         */
        timeout<S>(interval: S.SchedulerTimeType.Stride, scheduler: S, options: S.SchedulerOptions | null, customError: ()=>any | null):Scheduler;
        /**
         * Decodes the output from the upstream using a specified decoder.
         */
        decode<Item, Coder>(type: Item.Type, decoder: Coder):Coder.Input;
        /**
         * Publishes the values of two key paths as a tuple.
         */
        map<T0, T1>(keyPath0: any, keyPath1: any):any;
        /**
         * Publishes the values of three key paths as a tuple.
         */
        map<T0, T1, T2>(keyPath0: any, keyPath1: any, keyPath2: any):any;
        /**
         * Applies a closure to create a subject that delivers elements to subscribers.
         */
        multicast<S>(createSubject: ()=>any):S.Output;
        /**
         * Shares the output of an upstream publisher with multiple subscribers.
         */
        share():Publishers.Share<Self>;
        /**
         * Buffers elements received from an upstream publisher.
         */
        buffer(size: number, prefetch: Publishers.PrefetchStrategy, whenFull: Publishers.BufferingStrategy<Self.Failure>):Publishers.Buffer<Self>;
        /**
         * Wraps this publisher with a type eraser.
         */
        eraseToAnyPublisher():any;
        /**
         * Creates a connectable wrapper around the publisher.
         */
        makeConnectable():Publishers.MakeConnectable<Self>;
        /**
         * Assigns each element from a publisher to a property on an object.
         */
        assign<Root>(keyPath: any, object: Root):AnyCancellable;
        /**
         * Republishes elements received from a publisher, by assigning them to a property marked as a publisher.
         */
        assign(published: any):void;
        /**
         * Attaches a subscriber with closure-based behavior.
         */
        sink(receiveCompletion: ()=>any, receiveValue: ()=>any):AnyCancellable;
        /**
         * Raises a debugger signal when a provided closure needs to stop the process in the debugger.
         */
        breakpoint(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null):Publishers.Breakpoint<Self>;
        /**
         * Raises a debugger signal upon receiving a failure.
         */
        breakpointOnError():Publishers.Breakpoint<Self>;
        /**
         * Performs the specified closures when publisher events occur.
         */
        handleEvents(receiveSubscription: ()=>any | null, receiveOutput: ()=>any | null, receiveCompletion: ()=>any | null, receiveCancel: ()=>any | null, receiveRequest: ()=>any | null):Publishers.HandleEvents<Self>;
        /**
         * Prints log messages for all publishing events.
         */
        print(prefix: string, stream: TextOutputStream | null):Publishers.Print<Self>;
    }
}

/**
 * Leverage common compression algorithms for lossless data compression.
 */
declare module Compression {
    export enum Algorithm {
        brotli,
        lz4,
        lzbitmap,
        lzfse,
        lzma,
        zlib,
    }
    export enum FilterError {
        invalidData,
        invalidState,
    }
    export enum FilterOperation {
        compress,
        decompress,
    }
    export class OutputFilter {
        /**
         * Creates an output filter that can be used to compress or decompress data.
         */
        constructor (operation: FilterOperation, algorithm: Algorithm, bufferCapacity: number, writeFunc: Void);
        /**
         * Finalizes the stream by flushing all the remaining data in the stream.
         */
        finalize():void;
    }
    export class compression_stream {
        /**
         * A pointer to the first byte of the destination buffer.
         */
        dst_ptr: UnsafeMutablePointer<UInt8>;
        /**
         * The size, in bytes, of the destination buffer.
         */
        dst_size: number;
        /**
         * A pointer to the first byte of the source buffer.
         */
        src_ptr: UnsafePointer<UInt8>;
        /**
         * The size, in bytes, of the source buffer.
         */
        src_size: number;
        /**
         * The stream state object of the compression stream. 
         */
        state: UnsafeMutableRawPointer | null;
        /**
         * Returns a new compression stream structure.
         */
        constructor (dst_ptr: UnsafeMutablePointer<UInt8>, dst_size: number, src_ptr: UnsafePointer<UInt8>, src_size: number, state: UnsafeMutableRawPointer | null);
    }
    export class compression_status {
        /**
         * The raw value of the constant.
         */
        rawValue: Int32;
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: Int32);
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: Int32);
    }
    export class compression_stream_flags {
        /**
         * The raw value of the constant.
         */
        rawValue: UInt32;
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: UInt32);
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class compression_stream_operation {
        /**
         * The raw value of the constant.
         */
        rawValue: UInt32;
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: UInt32);
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class compression_algorithm {
        /**
         * The raw value of the constant.
         */
        rawValue: UInt32;
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: UInt32);
        /**
         * Creates a new constant from the given raw value.
         */
        constructor (rawValue: UInt32);
    }
}

/**
 * Access the user's contacts and format and localize contact information.
 */
declare module Contacts {
    export class CNContactStore extends NSObject {
        /**
         * The current history token.
         */
        currentHistoryToken: Data | null;
        /**
         * Returns the current authorization status to access the contact data.
         */
        static authorizationStatus(entityType: CNEntityType):CNAuthorizationStatus;
        /**
         * Returns a Boolean value that indicates whether the enumeration of all contacts matching a contact fetch request executes successfully.
         */
        enumerateContacts(fetchRequest: CNContactFetchRequest, block: ()=>any):void;
        /**
         * Fetches the unified contact that’s the 
         *  card.
         */
        unifiedMeContactWithKeys(keys: CNKeyDescriptor[]):CNContact;
        /**
         * Fetches a unified contact for the specified contact identifier.
         */
        unifiedContact(identifier: string, keys: CNKeyDescriptor[]):CNContact;
        /**
         * Fetches all unified contacts matching the specified predicate.
         */
        unifiedContacts(predicate: NSPredicate, keys: CNKeyDescriptor[]):CNContact[];
        /**
         * Returns the identifier of the default container.
         */
        defaultContainerIdentifier():string;
        /**
         * Fetches all groups matching the specified predicate.
         */
        groups(predicate: NSPredicate | null):CNGroup[];
        /**
         * Requests access to the user's contacts.
         */
        requestAccess(entityType: CNEntityType, completionHandler: ()=>any):void;
        /**
         * Fetches all containers matching the specified predicate.
         */
        containers(predicate: NSPredicate | null):CNContainer[];
        /**
         * Executes a save request and returns success or failure.
         */
        execute(saveRequest: CNSaveRequest):void;
    }
    export enum CNAuthorizationStatus {
        denied = 2,
        authorized = 3,
    }
    export class CNContact extends NSObject {
        /**
         * A value that uniquely identifies a contact on the device.
         */
        identifier: string;
        /**
         * An enum identifying the contact type.
         */
        contactType: CNContactType;
        /**
         * The name prefix of the contact.
         */
        namePrefix: string;
        /**
         * The given name of the contact.
         */
        givenName: string;
        /**
         * The middle name of the contact.
         */
        middleName: string;
        /**
         * The family name of the contact.
         */
        familyName: string;
        /**
         * A string for the previous family name of the contact.
         */
        previousFamilyName: string;
        /**
         * The name suffix of the contact.
         */
        nameSuffix: string;
        /**
         * The nickname of the contact.
         */
        nickname: string;
        /**
         * The phonetic given name of the contact.
         */
        phoneticGivenName: string;
        /**
         * The phonetic middle name of the contact.
         */
        phoneticMiddleName: string;
        /**
         * A string for the phonetic family name of the contact.
         */
        phoneticFamilyName: string;
        /**
         * The contact’s job title.
         */
        jobTitle: string;
        /**
         * The name of the department associated with the contact.
         */
        departmentName: string;
        /**
         * The name of the organization associated with the contact.
         */
        organizationName: string;
        /**
         * The phonetic name of the organization associated with the contact.
         */
        phoneticOrganizationName: string;
        /**
         * An array of labeled postal addresses for a contact.
         */
        postalAddresses: CNLabeledValue<CNPostalAddress>[];
        /**
         * An array of labeled email addresses for the contact.
         */
        emailAddresses: CNLabeledValue<NSString>[];
        /**
         * An array of labeled URL addresses for a contact.
         */
        urlAddresses: CNLabeledValue<NSString>[];
        /**
         * An array of labeled phone numbers for a contact.
         */
        phoneNumbers: CNLabeledValue<CNPhoneNumber>[];
        /**
         * An array of labeled social profiles for a contact.
         */
        socialProfiles: CNLabeledValue<CNSocialProfile>[];
        /**
         * A date component for the Gregorian birthday of the contact.
         */
        birthday: DateComponents | null;
        /**
         * A date component for the non-Gregorian birthday of the contact.
         */
        nonGregorianBirthday: DateComponents | null;
        /**
         * An array containing labeled Gregorian dates.
         */
        dates: CNLabeledValue<NSDateComponents>[];
        /**
         * A string containing notes for the contact.
         */
        note: string;
        /**
         * The profile picture of a contact.
         */
        imageData: Data | null;
        /**
         * The thumbnail version of the contact’s profile picture.
         */
        thumbnailImageData: Data | null;
        /**
         * A Boolean indicating whether a contact has a profile picture.
         */
        imageDataAvailable: boolean;
        /**
         * An array of labeled relations for the contact.
         */
        contactRelations: CNLabeledValue<CNContactRelation>[];
        /**
         * An array of labeled IM addresses for the contact.
         */
        instantMessageAddresses: CNLabeledValue<CNInstantMessageAddress>[];
        /**
         * Returns a predicate to find the contacts matching the specified identifiers.
         */
        static predicateForContacts(identifiers: string[]):NSPredicate;
        /**
         * Returns a predicate to find the contacts that are members in the specified group.
         */
        static predicateForContactsInGroup(groupIdentifier: string):NSPredicate;
        /**
         * Returns a predicate to find the contacts in the specified container.
         */
        static predicateForContactsInContainer(containerIdentifier: string):NSPredicate;
        /**
         * Returns a string containing the localized contact property name.
         */
        static localizedString(key: string):string;
        /**
         * Fetches all the keys required for the contact sort comparator.
         */
        static descriptorForAllComparatorKeys():CNKeyDescriptor;
        /**
         * Returns a comparator to sort contacts with the specified order.
         */
        static comparator(sortOrder: CNContactSortOrder):Comparator;
        /**
         * Returns a Boolean indicating whether the current contact is a unified contact and includes a contact with the specified identifier. 
         */
        isUnifiedWithContact(contactIdentifier: string):boolean;
    }
    export class CNPostalAddress extends NSObject {
        /**
         * The street name in a postal address.
         */
        street: string;
        /**
         * The city name in a postal address.
         */
        city: string;
        /**
         * The state name in a postal address.
         */
        state: string;
        /**
         * The postal code in a postal address.
         */
        postalCode: string;
        /**
         * The country or region name in a postal address.
         */
        country: string;
        /**
         * The ISO country code for the country or region in a postal address, using the ISO 3166-1 alpha-2 standard.
         */
        isoCountryCode: string;
        /**
         * The subadministrative area (such as a county or other region) in a postal address.
         */
        subAdministrativeArea: string;
        /**
         * Additional information associated with the location, typically defined at the city or town level, in a postal address.
         */
        subLocality: string;
        /**
         * Returns the localized name for the property associated with the specified key.
         */
        static localizedString(key: string):string;
    }
    export enum CNEntityType {
        contacts = 0,
    }
    export class CNMutablePostalAddress extends CNPostalAddress {
        /**
         * The street name of the address.
         */
        street: string;
        /**
         * The city name of the address.
         */
        city: string;
        /**
         * The state name of the address.
         */
        state: string;
        /**
         * The postal code of the address.
         */
        postalCode: string;
        /**
         * The country or region name of the address.
         */
        country: string;
        /**
         * The ISO country code, using the ISO 3166-1 alpha-2 standard.
         */
        isoCountryCode: string;
        /**
         * The subadministrative area (such as a county or other region) in a postal address.
         */
        subAdministrativeArea: string;
        /**
         * Additional information associated with the location, typically defined at the city or town level, in a postal address.
         */
        subLocality: string;
    }
    export class CNInstantMessageAddress extends NSObject {
        /**
         * The name of the instant message address service.
         */
        service: string;
        /**
         * The user name for instant message service address.
         */
        username: string;
        /**
         * Returns a 
         *  object initialized with the specified user name and service.
         */
        constructor (username: string, service: string);
        /**
         * Returns a string containing the localized property name.
         */
        static localizedString(key: string):string;
    }
    export class CNPhoneNumber extends NSObject {
        /**
         * The string value of the phone number.
         */
        stringValue: string;
        /**
         * Returns a new phone number object initialized with the specified phone number string.
         */
        constructor (_string: string);
        constructor ();
        static new():Self!;
    }
    export class CNGroup extends NSObject {
        /**
         * The name of the group.
         */
        name: string;
        /**
         * The unique identifier for a group on the device.
         */
        identifier: string;
        /**
         * Returns a predicate to find groups with the specified identifiers.
         */
        static predicateForGroups(identifiers: string[]):NSPredicate;
        /**
         * Returns a predicate to find groups in the specified container.
         */
        static predicateForGroupsInContainer(containerIdentifier: string):NSPredicate;
        /**
         * Returns a predicate to find subgroups in the specified parent group.
         */
        static predicateForSubgroupsInGroup(parentGroupIdentifier: string):NSPredicate;
    }
    export class CNMutableGroup extends CNGroup {
        /**
         * The name of the group.
         */
        name: string;
    }
    export class CNContactFetchRequest extends CNFetchRequest {
        /**
         * The predicate to match contacts against.
         */
        predicate: NSPredicate | null;
        /**
         * A Boolean value that indicates whether to return mutable contacts.
         */
        mutableObjects: boolean;
        /**
         * A Boolean value that indicates whether to return linked contacts as unified contacts.
         */
        unifyResults: boolean;
        /**
         * The sort order for contacts.
         */
        sortOrder: CNContactSortOrder;
        /**
         * The properties to fetch in the returned contacts.
         */
        keysToFetch: CNKeyDescriptor[];
        /**
         * Creates a fetch request for the specified keys.
         */
        constructor (keysToFetch: CNKeyDescriptor[]);
    }
    export class CNContainer extends NSObject {
        /**
         * The name of the container.
         */
        name: string;
        /**
         * The unique identifier for a contacts container on the device.
         */
        identifier: string;
        /**
         * The type of the container.
         */
        type: CNContainerType;
        /**
         * Returns a predicate to find the container of the specified contact.
         */
        static predicateForContainerOfContact(contactIdentifier: string):NSPredicate;
        /**
         * Returns a predicate to find the containers with the specified identifiers.
         */
        static predicateForContainers(identifiers: string[]):NSPredicate;
        /**
         * Returns a predicate to find the container of the specified group.
         */
        static predicateForContainerOfGroup(groupIdentifier: string):NSPredicate;
    }
    export enum CNContactSortOrder {
        none = 0,
        userDefault = 1,
        givenName = 2,
        familyName = 3,
    }
    export class CNFetchRequest extends NSObject {}
    export enum CNContainerType {
        local = 1,
        exchange = 2,
        cardDAV = 3,
        unassigned = 0,
    }
    export class CNSocialProfile extends NSObject {
        /**
         * The user name for the social profile.
         */
        username: string;
        /**
         * The social profile’s service name.
         */
        service: string;
        /**
         * The URL associated with the social profile.
         */
        urlString: string;
        /**
         * The service’s user identifier associated with the social profile.
         */
        userIdentifier: string;
        /**
         * Initializes a new social profile object with the specified URL.
         */
        constructor (urlString: string, username: string, userIdentifier: string, service: string);
        /**
         * Returns the localized name of the property for the specified key.
         */
        static localizedString(key: string):string;
    }
    export class CNSaveRequest extends NSObject {
        shouldRefetchContacts: boolean;
        transactionAuthor: string;
        /**
         * Adds the specified contact to the contact store.
         */
        add(contact: CNMutableContact, identifier: string):void;
        /**
         * Updates an existing contact in the contact store.
         */
        update(contact: CNMutableContact):void;
        /**
         * Deletes a contact from the contact store.
         */
        delete(contact: CNMutableContact):void;
        /**
         * Adds a contact as a member of a group.
         */
        addMember(contact: CNContact, group: CNGroup):void;
        /**
         * Removes a contact as a member of a group.
         */
        removeMember(contact: CNContact, group: CNGroup):void;
        /**
         * Add the specified group to a parent group.
         */
        addSubgroup(subgroup: CNGroup, group: CNGroup):void;
        /**
         * Remove a subgroup from the specified parent group.
         */
        removeSubgroup(subgroup: CNGroup, group: CNGroup):void;
    }
    export enum CNContactType {
        person = 0,
        organization = 1,
    }
    export class CNContactRelation extends NSObject {
        /**
         * The name of the related contact.
         */
        name: string;
        /**
         * Creates an object with the name of the related contact.
         */
        constructor (name: string);
    }
    export class CNMutableContact extends CNContact {
        /**
         * An enum identifying the contact type.
         */
        contactType: CNContactType;
        /**
         * The name prefix of the contact.
         */
        namePrefix: string;
        /**
         * The given name of the contact.
         */
        givenName: string;
        /**
         * The middle name of the contact.
         */
        middleName: string;
        /**
         * The family name of the contact.
         */
        familyName: string;
        /**
         * The previous family name of the contact.
         */
        previousFamilyName: string;
        /**
         * The name suffix of the contact.
         */
        nameSuffix: string;
        /**
         * The nickname of the contact.
         */
        nickname: string;
        /**
         * The phonetic given name of the contact.
         */
        phoneticGivenName: string;
        /**
         * The phonetic middle name of the contact.
         */
        phoneticMiddleName: string;
        /**
         * The phonetic family name of the contact.
         */
        phoneticFamilyName: string;
        /**
         * The contact’s job title.
         */
        jobTitle: string;
        /**
         * The name of the department associated with the contact.
         */
        departmentName: string;
        /**
         * The name of the organization associated with the contact.
         */
        organizationName: string;
        /**
         * The phonetic name of the organization associated with the contact.
         */
        phoneticOrganizationName: string;
        /**
         * An array of labeled postal addresses for a contact.
         */
        postalAddresses: CNLabeledValue<CNPostalAddress>[];
        /**
         * An array of labeled email addresses for the contact.
         */
        emailAddresses: CNLabeledValue<NSString>[];
        /**
         * An array of labeled URL addresses for a contact.
         */
        urlAddresses: CNLabeledValue<NSString>[];
        /**
         * An array of labeled phone numbers for a contact.
         */
        phoneNumbers: CNLabeledValue<CNPhoneNumber>[];
        /**
         * An array of labeled social profiles for a contact.
         */
        socialProfiles: CNLabeledValue<CNSocialProfile>[];
        /**
         * An array containing labeled Gregorian dates.
         */
        dates: CNLabeledValue<NSDateComponents>[];
        /**
         * A date component for the non-Gregorian birthday of the contact.
         */
        nonGregorianBirthday: DateComponents | null;
        /**
         * A date component for the Gregorian birthday of the contact.
         */
        birthday: DateComponents | null;
        /**
         * A string containing notes for the contact.
         */
        note: string;
        /**
         * The profile picture of a contact.
         */
        imageData: Data | null;
        /**
         * An array of labeled contact relations for the contact.
         */
        contactRelations: CNLabeledValue<CNContactRelation>[];
        /**
         * An array of labeled IM addresses for the contact.
         */
        instantMessageAddresses: CNLabeledValue<CNInstantMessageAddress>[];
        id: UUID;
    }
    export class CNChangeHistoryAddContactEvent extends CNChangeHistoryEvent {
        contact: CNContact;
        containerIdentifier: string;
    }
    export class CNContactProperty extends NSObject {
        /**
         * The associated contact.
         */
        contact: CNContact;
        /**
         * The key of the contact property.
         */
        key: string;
        /**
         * The value of the property.
         */
        value: any;
        /**
         * The label of the labeled value of the property array.
         */
        label: string;
        /**
         * The identifier of the labeled value in the array of labeled.
         */
        identifier: string;
    }
    export class CNChangeHistoryAddGroupEvent extends CNChangeHistoryEvent {
        containerIdentifier: string;
        group: CNGroup;
    }
    export class CNChangeHistoryAddMemberToGroupEvent extends CNChangeHistoryEvent {
        group: CNGroup;
        member: CNContact;
    }
    export class CNChangeHistoryAddSubgroupToGroupEvent extends CNChangeHistoryEvent {
        group: CNGroup;
        subgroup: CNGroup;
    }
    export class CNChangeHistoryDeleteContactEvent extends CNChangeHistoryEvent {
        contactIdentifier: string;
    }
    export class CNChangeHistoryDeleteGroupEvent extends CNChangeHistoryEvent {
        groupIdentifier: string;
    }
    export class CNChangeHistoryDropEverythingEvent extends CNChangeHistoryEvent {}
    export class CNChangeHistoryEvent extends NSObject {
        accept(visitor: CNChangeHistoryEventVisitor):void;
    }
    export class CNChangeHistoryFetchRequest extends CNFetchRequest {
        additionalContactKeyDescriptors: CNKeyDescriptor[] | null;
        excludedTransactionAuthors: string[] | null;
        includeGroupChanges: boolean;
        mutableObjects: boolean;
        shouldUnifyResults: boolean;
        startingToken: Data | null;
    }
    export class CNChangeHistoryRemoveMemberFromGroupEvent extends CNChangeHistoryEvent {
        group: CNGroup;
        member: CNContact;
    }
    export class CNChangeHistoryRemoveSubgroupFromGroupEvent extends CNChangeHistoryEvent {
        group: CNGroup;
        subgroup: CNGroup;
    }
    export class CNChangeHistoryUpdateContactEvent extends CNChangeHistoryEvent {
        contact: CNContact;
    }
    export class CNChangeHistoryUpdateGroupEvent extends CNChangeHistoryEvent {
        group: CNGroup;
    }
    export interface CNChangeHistoryEventVisitor extends NSObjectProtocol {
        visit(event: CNChangeHistoryAddContactEvent):void;
        visitAddMember(event: CNChangeHistoryAddMemberToGroupEvent):void;
        visitAddSubgroup(event: CNChangeHistoryAddSubgroupToGroupEvent):void;
        visitRemoveMember(event: CNChangeHistoryRemoveMemberFromGroupEvent):void;
        visitRemoveSubgroup(event: CNChangeHistoryRemoveSubgroupFromGroupEvent):void;
    }
    export class CNContactFormatter extends Formatter {
        static descriptorForRequiredKeysForDelimiter: CNKeyDescriptor;
        static descriptorForRequiredKeysForNameOrder: CNKeyDescriptor;
        /**
         * The formatting style for the contact name.
         */
        style: CNContactFormatterStyle;
        /**
         * Returns the required key descriptor for the specified formatting style of the contact.
         */
        static descriptorForRequiredKeys(style: CNContactFormatterStyle):CNKeyDescriptor;
        /**
         * Returns the delimiter to use between name components.
         */
        static delimiter(contact: CNContact):string;
        /**
         * Returns the display name order.
         */
        static nameOrder(contact: CNContact):CNContactDisplayNameOrder;
        /**
         * Formats the contact name as an attributed string.
         */
        attributedString(contact: CNContact, attributes: Record<AnyHashable, any> | null):NSAttributedString | null;
        /**
         * Formats the contact name.
         */
        string(contact: CNContact):string;
    }
    export enum CNContactFormatterStyle {
        fullName = 0,
        phoneticFullName = 1,
    }
    export class CNPostalAddressFormatter extends Formatter {
        /**
         * The style to apply when formatting strings.
         */
        style: CNPostalAddressFormatterStyle;
        /**
         * Returns a formatted postal address as an attributed string.
         */
        attributedString(postalAddress: CNPostalAddress, attributes: Record<AnyHashable, any>):NSAttributedString;
        /**
         * Returns a formatted postal address.
         */
        string(postalAddress: CNPostalAddress):string;
    }
    export enum CNContactDisplayNameOrder {
        userDefault = 0,
        givenNameFirst = 1,
        familyNameFirst = 2,
    }
    export enum CNPostalAddressFormatterStyle {
        mailingAddress = 0,
    }
    export class CNContactVCardSerialization extends NSObject {
        /**
         * Returns the contacts from the vCard data.
         */
        static contacts(data: Data):CNContact[];
        /**
         * Returns the vCard representation of the specified contacts.
         */
        static data(contacts: CNContact[]):Data;
        /**
         * Use to fetch all contact keys required to create vCard data from a contact.
         */
        static descriptorForRequiredKeys():CNKeyDescriptor;
    }
    export class CNContactsUserDefaults extends NSObject {
        /**
         * An ISO country code.
         */
        countryCode: string;
        /**
         * Default sorting order by name.
         */
        sortOrder: CNContactSortOrder;
        /**
         * The singleton contacts user defaults object.
         */
        static shared():Self;
    }
    export class CNError {
        static authorizationDenied: CNError.Code;
        static changeHistoryExpired: CNError.Code;
        static changeHistoryInvalidAnchor: CNError.Code;
        static clientIdentifierCollision: CNError.Code;
        static clientIdentifierDoesNotExist: CNError.Code;
        static clientIdentifierInvalid: CNError.Code;
        static communicationError: CNError.Code;
        static containmentCycle: CNError.Code;
        static containmentScope: CNError.Code;
        static dataAccessError: CNError.Code;
        static errorDomain: string;
        static insertedRecordAlreadyExists: CNError.Code;
        static noAccessableWritableContainers: CNError.Code;
        static parentRecordDoesNotExist: CNError.Code;
        static policyViolation: CNError.Code;
        static predicateInvalid: CNError.Code;
        static recordDoesNotExist: CNError.Code;
        static recordIdentifierInvalid: CNError.Code;
        static unauthorizedKeys: CNError.Code;
        static vCardMalformed: CNError.Code;
        static vCardSummarizationError: CNError.Code;
        static validationConfigurationError: CNError.Code;
        static validationMultipleErrors: CNError.Code;
        static validationTypeMismatch: CNError.Code;
        static featureDisabledByUser: CNError.Code;
        static parentContainerNotWritable: CNError.Code;
        static recordNotWritable: CNError.Code;
        static changeHistoryInvalidFetchRequest: CNError.Code;
        affectedRecordIdentifiers: string[] | null;
        affectedRecords: AnyObject[] | null;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        keyPaths: string[] | null;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CNError
     */
    export namespace CNError {
        export enum Code {
            communicationError = 1,
            dataAccessError = 2,
            authorizationDenied = 100,
            noAccessableWritableContainers = 101,
            recordDoesNotExist = 200,
            insertedRecordAlreadyExists = 201,
            containmentCycle = 202,
            containmentScope = 203,
            parentRecordDoesNotExist = 204,
            recordIdentifierInvalid = 205,
            validationMultipleErrors = 300,
            validationTypeMismatch = 301,
            validationConfigurationError = 302,
            predicateInvalid = 400,
            policyViolation = 500,
            clientIdentifierInvalid = 600,
            clientIdentifierDoesNotExist = 601,
            vCardMalformed = 700,
            vCardSummarizationError = 701,
            changeHistoryExpired = 603,
            changeHistoryInvalidAnchor = 604,
            clientIdentifierCollision = 602,
            featureDisabledByUser = 103,
            parentContainerNotWritable = 207,
            recordNotWritable = 206,
            unauthorizedKeys = 102,
            changeHistoryInvalidFetchRequest = 605,
        }
    }
}

/**
 * Display information about users’ contacts in a graphical interface. 
 */
declare module ContactsUI {
    export class CNContactViewController extends NSViewController,UIViewController {
        /**
         * The contact being displayed.
         */
        contact: CNContact;
        /**
         * The name to use if the contact has no display name.
         */
        alternateName: string;
        /**
         * The message displayed under the name of the contact.
         */
        message: string;
        /**
         * The contact property keys to display.
         */
        displayedPropertyKeys: any[] | null;
        /**
         * The group in which to add a new contact.
         */
        parentGroup: CNGroup | null;
        /**
         * The container in which to add a new contact.
         */
        parentContainer: CNContainer | null;
        /**
         * The contact store from which the contact was fetched or to which it will be saved.
         */
        contactStore: CNContactStore | null;
        /**
         * Determines whether the user can edit the contact’s information.
         */
        allowsEditing: boolean;
        /**
         * Determines whether to display buttons for actions such as sending a text message or initiating a FaceTime call.
         */
        allowsActions: boolean;
        /**
         * Determines whether to display data from contacts that are linked to the contact being displayed.
         */
        shouldShowLinkedContacts: boolean;
        /**
         * The delegate to be notified.
         */
        delegate: CNContactViewControllerDelegate | null;
        /**
         * Initializes a view controller for an existing contact.
         */
        constructor (contact: CNContact);
        /**
         * Initializes a view controller for an unknown contact.
         */
        constructor (contact: CNContact);
        /**
         * Initializes a view controller for a new contact.
         */
        constructor (contact: CNContact | null);
        /**
         * Returns the descriptor for all the keys that must be fetched on the contact before setting it on the view controller.
         */
        static descriptorForRequiredKeys():CNKeyDescriptor;
        /**
         * Highlights the property of the contact being displayed.
         */
        highlightProperty(key: string, identifier: string):void;
    }
    export class CNContactPickerViewController extends UIViewController {
        /**
         * The 
         *  property keys to display in the contact detail card.
         */
        displayedPropertyKeys: string[] | null;
        /**
         * The delegate to be notified when the user selects a contact or a property.
         */
        delegate: CNContactPickerDelegate | null;
        /**
         * A predicate to determine the contact selectability in the list of contacts.
         */
        predicateForEnablingContact: NSPredicate | null;
        /**
         * A predicate to control the return of the selected contact.
         */
        predicateForSelectionOfContact: NSPredicate | null;
        /**
         * A predicate to control the properties of the selected contact.
         */
        predicateForSelectionOfProperty: NSPredicate | null;
    }
    export interface CNContactPickerDelegate extends NSObjectProtocol {
        /**
         * Called after a contact has been selected by the user.
         */
        contactPicker(picker: CNContactPickerViewController, contact: CNContact):void;
        /**
         * In iOS, called when the user taps Cancel.
         */
        contactPickerDidCancel(picker: CNContactPickerViewController):void;
        /**
         * In macOS, called when the contact picker’s popover is about to close.
         */
        contactPickerWillClose(picker: CNContactPicker):void;
        /**
         * In macOS, called when the contact picker’s popover has closed.
         */
        contactPickerDidClose(picker: CNContactPicker):void;
    }
    export class CNContactPicker extends NSObject {
        /**
         * The picker delegate to be notified when the user chooses a contact.
         */
        delegate: CNContactPickerDelegate | null;
        /**
         * The keys to be displayed when a contact is expanded.
         */
        displayedKeys: string[];
        /**
         * Shows the picker popover anchored to the specified view.
         */
        showRelative(positioningRect: NSRect, positioningView: NSView, preferredEdge: NSRectEdge):void;
        /**
         * Closes the popover.
         */
        close():void;
    }
    export interface CNContactViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called when the user selects a property.
         */
        contactViewController(viewController: CNContactViewController, property: CNContactProperty):boolean;
    }
}

/**
 * Use the Core Audio framework to interact with device’s audio hardware.
 */
declare module CoreAudio {
    export class AudioObjectPropertyAddress {
        mElement: AudioObjectPropertyElement;
        mScope: AudioObjectPropertyScope;
        mSelector: AudioObjectPropertySelector;
    }
    export class AudioStreamRangedDescription {
        mFormat: AudioStreamBasicDescription;
        mSampleRateRange: AudioValueRange;
        constructor ();
        constructor (mFormat: AudioStreamBasicDescription, mSampleRateRange: AudioValueRange);
    }
    export class UnsafeMutableAudioBufferListPointer {
        count: number;
        endIndex: number;
        /**
         * The first element of the collection.
         */
        first: AudioBuffer | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: AudioBuffer | null;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<UnsafeMutableAudioBufferListPointer>;
        publisher: any;
        startIndex: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        unsafeMutablePointer: UnsafeMutablePointer<AudioBufferList>;
        unsafePointer: UnsafePointer<AudioBufferList>;
        constructor (p: UnsafeMutablePointer<AudioBufferList>);
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<UnsafeMutableAudioBufferListPointer>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<UnsafeMutableAudioBufferListPointer>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<UnsafeMutableAudioBufferListPointer>;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<UnsafeMutableAudioBufferListPointer>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AudioBuffer[];
        /**
         * Returns the first index in which an element of the collection satisfies the given predicate.
         */
        firstIndex(predicate: Bool):number;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
         */
        index(i: number, distance: number, limit: number):number;
        /**
         * Returns the index of the last element in the collection that matches the given predicate.
         */
        lastIndex(predicate: Bool):number;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<UnsafeMutableAudioBufferListPointer>;
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):AudioBuffer | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):AudioBuffer | null;
        /**
         * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
         */
        partition(belongsInSecondPartition: Bool):number;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<UnsafeMutableAudioBufferListPointer>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():AudioBuffer | null;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<UnsafeMutableAudioBufferListPointer>;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():AudioBuffer[];
        /**
         * Sorts the collection in place, using the given predicate as the comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):AudioBuffer[];
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<UnsafeMutableAudioBufferListPointer>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<UnsafeMutableAudioBufferListPointer>;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: number, j: number):void;
        trimmingPrefix(predicate: Bool):Slice<UnsafeMutableAudioBufferListPointer>;
    }
    export class AudioHardwareIOProcStreamUsage {
        mIOProc: UnsafeMutableRawPointer;
        mNumberStreams: UInt32;
        mStreamIsOn: (UInt32);
        constructor (mIOProc: UnsafeMutableRawPointer, mNumberStreams: UInt32, mStreamIsOn: (UInt32));
    }
    export enum AudioHardwarePowerHint {
        favorSavingPower = 1,
        none = 0,
    }
    export enum AudioLevelControlTransferFunction {
        tranferFunction10Over1 = 13,
        tranferFunction11Over1 = 14,
        tranferFunction12Over1 = 15,
        tranferFunction1Over2 = 2,
        tranferFunction1Over3 = 1,
        tranferFunction2Over1 = 5,
        tranferFunction3Over1 = 6,
        tranferFunction3Over2 = 4,
        tranferFunction3Over4 = 3,
        tranferFunction4Over1 = 7,
        tranferFunction5Over1 = 8,
        tranferFunction6Over1 = 9,
        tranferFunction7Over1 = 10,
        tranferFunction8Over1 = 11,
        tranferFunction9Over1 = 12,
        tranferFunctionLinear = 0,
    }
    export class ManagedAudioChannelLayout {
        bitmap: AudioChannelBitmap;
        channelDescriptions: ManagedAudioChannelLayout.ChannelDescriptions;
        numberOfChannels: number;
        sizeInBytes: number;
        tag: AudioChannelLayoutTag;
        constructor (audioChannelLayoutPointer: AudioChannelLayout.UnsafePointer, deallocator: ()=>any);
        constructor (channelDescriptions: AudioChannelDescription[]);
        constructor (maximumDescriptions: number);
        constructor (tag: AudioChannelLayoutTag);
        setAllToUnknown():void;
    }
    /**
     * the same name namespace of class ManagedAudioChannelLayout
     */
    export namespace ManagedAudioChannelLayout {
        export class ChannelDescriptions {
            count: number;
            endIndex: number;
            /**
             * The first element of the collection.
             */
            first: AudioChannelDescription | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: AudioChannelDescription | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<ManagedAudioChannelLayout.ChannelDescriptions>;
            publisher: any;
            startIndex: number;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AudioChannelDescription[];
            /**
             * Returns the first index in which an element of the collection satisfies the given predicate.
             */
            firstIndex(predicate: Bool):number;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
             */
            index(i: number, distance: number, limit: number):number;
            /**
             * Returns the index of the last element in the collection that matches the given predicate.
             */
            lastIndex(predicate: Bool):number;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):AudioChannelDescription | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):AudioChannelDescription | null;
            /**
             * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
             */
            partition(belongsInSecondPartition: Bool):number;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():AudioChannelDescription | null;
            /**
             * Reverses the elements of the collection in place.
             */
            reverse():void;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Shuffles the collection in place.
             */
            shuffle():void;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():AudioChannelDescription[];
            /**
             * Sorts the collection in place, using the given predicate as the comparison between elements.
             */
            sort(areInIncreasingOrder: Bool):void;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):AudioChannelDescription[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<ManagedAudioChannelLayout.ChannelDescriptions>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<ManagedAudioChannelLayout.ChannelDescriptions>;
            /**
             * Exchanges the values at the specified indices of the collection.
             */
            swapAt(i: number, j: number):void;
            trimmingPrefix(predicate: Bool):Slice<ManagedAudioChannelLayout.ChannelDescriptions>;
        }
    }
}

/**
 * Add user interfaces to audio units.
 */
declare module CoreAudioKit {
    export class AUViewController extends NSViewController,UIViewController {}
    export class AUGenericViewDisplayFlags {
        /**
         * If set, the generic view displays the audio unit parameters of the audio unit.
         */
        static viewParametersDisplayFlag: AUGenericViewDisplayFlags;
        /**
         * If set, the generic view displays the audio unit properties of the audio unit.
         */
        static viewPropertiesDisplayFlag: AUGenericViewDisplayFlags;
        /**
         * If set, the generic view displays the title and manufacturer of the audio unit.
         */
        static viewTitleDisplayFlag: AUGenericViewDisplayFlags;
        constructor (rawValue: UInt32);
    }
    export class CAAUEQHeaderView extends UIView {
        setParameter(id: AudioUnitParameterID, value: Float):void;
        setTitle(name: string, title: string):void;
        startEditing(id: AudioUnitParameterID):void;
        textField(textField: UITextField, range: NSRange, _string: string):boolean;
        textFieldDidBeginEditing(textField: UITextField):void;
        textFieldDidEndEditing(textField: UITextField, reason: UITextField.DidEndEditingReason):void;
        textFieldEditingDidChange(sender: UITextField):void;
        textFieldShouldReturn(textField: UITextField):boolean;
        tintColorDidChange():void;
    }
    export class CAAUEQViewBase extends UIView {
        static requiresConstraintBasedLayout: boolean;
        graphView: CAAUEQGraphView;
        headerView: CAAUEQHeaderView;
        constructor (frame: CGRect);
        configureView(identifier: string):void;
        didMoveToSuperview():void;
        tintColorDidChange():void;
    }
    export class CAAUFilterControl extends NSObject {
        bypassed: boolean;
        controlLayer: CALayer | null;
        dataSource: CAAUViewParameterDataSource;
        enabled: boolean;
        layoutSublayers(layer: CALayer):void;
        set(color: UIColor):void;
    }
    export class CAAUGraphView extends UIView {
        hideLabels: boolean;
        configure(data: any):void;
        data():NSDictionary;
        gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer):boolean;
        layoutSublayers(layer: CALayer):void;
        locationForX(value: Float):CGFloat;
        locationForY(value: Float):CGFloat;
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesEnded(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
    }
    export interface CAAUViewParameterDataSource {
        accessibilityValue(param: UInt32):string;
        curve(rect: CGRect):CGPath | null;
        maxValue(param: UInt32):Float;
        minValue(param: UInt32):Float;
        name(param: UInt32):string;
        set(address: UInt32, value: Float):void;
        shortName(param: UInt32):string;
        stringValues(param: UInt32):string[] | null;
        unitLabel(param: UInt32):string;
        value(param: UInt32):Float;
        widthType(param: UInt32):number;
    }
    export class AUDelayGraphView extends CAAUGraphView {
        dataSource: (CAAUViewParameterDataSource) | null;
        invert: boolean;
        zoomFactor: Float;
        accessibilityActivate():boolean;
        accessibilityDecrement():void;
        accessibilityIncrement():void;
        configure(data: any):void;
        graphFrame():CGRect;
        tintColorDidChange():void;
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesEnded(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
        update(param: AudioUnitParameterID, value: Float):void;
    }
    export class AUGenericView extends NSView {
        /**
         * Indicates whether or not controls for expert audio unit parameters are displayed in the generic view.
         */
        showsExpertParameters: boolean;
        /**
         * The audio unit associated with the generic view.
         */
        audioUnit: AudioUnit;
    }
    export class AUDistortionView extends UIView {
        auAudioUnit: AUAudioUnit | null;
        bounds: CGRect;
        parameterDataSource: CAAUViewParameterDataSource!;
        constructor (coder: NSCoder);
        constructor (frame: CGRect);
        removeFromSuperview():void;
        sectionColor(index: number):UIColor | null;
        sectionName(index: number):string;
        set(parameter: AudioUnitParameterID, value: Float):void;
        showSection(index: number):void;
    }
    export class AUPannerView extends NSView {
        /**
         * The panner audio unit associated with the generic panner view.
         */
        audioUnit: AudioUnit;
        /**
         * Creates a panner view for an audio unit.
         */
        constructor (au: AudioUnit);
    }
    export class AUGenericViewController extends NSViewController,UIViewController {
        auAudioUnit: AUAudioUnit | null;
    }
    export class AUKnobControl extends UIControl {
        accessibilityTraits: UIAccessibilityTraits;
        value: Float;
        constructor (frame: CGRect);
        accessibilityDecrement():void;
        accessibilityIncrement():void;
        beginTracking(touch: UITouch, event: UIEvent | null):boolean;
        configure(data: any):void;
        continueTracking(touch: UITouch, event: UIEvent | null):boolean;
        endTracking(touch: UITouch | null, event: UIEvent | null):void;
        tintColorDidChange():void;
    }
    export class AULabeledMeterView extends UIView {
        accessibilityTraits: UIAccessibilityTraits;
        label: string;
        level: Float;
        vertical: boolean;
        constructor (frame: CGRect);
        configure(data: any):void;
        layoutSublayers(layer: CALayer):void;
        tintColorDidChange():void;
        willMove(newSuperview: UIView | null):void;
    }
    export class AULimiterControlsView extends UIView {
        bounds: CGRect;
        knobs: AUKnobControl[];
        meter: AULabeledMeterView;
        constructor (frame: CGRect);
        setMeterLabel(label: string):void;
    }
    export class AUAudioUnitViewConfiguration extends NSObject {
        /**
         * The configured width.
         */
        width: CGFloat;
        /**
         * The configured height.
         */
        height: CGFloat;
        /**
         * A Boolean value that indicates whether the host shows its own control surface in this view configuration.
         */
        hostHasController: boolean;
        /**
         * Creates a new configuration object.
         */
        constructor (width: CGFloat, height: CGFloat, hostHasController: boolean);
    }
    export interface AUCustomViewPersistentData {
        /**
         * Called by the host application to obtain view state data from a custom Cocoa view.
         */
        customViewPersistentData: NSDictionary | null;
    }
    export class AULimiterGraphView extends UIView {
        constructor (frame: CGRect);
        add(level: CGFloat):void;
        layoutSublayers(layer: CALayer):void;
        tintColorDidChange():void;
    }
    export class AUVerticalSegmentControl extends UIControl {
        accessibilityElements: any[] | null;
        constructor (frame: CGRect, data: any);
        color(index: number):UIColor;
        layoutSubviews():void;
        removeFromSuperview():void;
        segmentEnabledChanged(notification: Notification):void;
        segmentSelectionChanged(notification: Notification):void;
        setSegment(index: number, enabled: boolean):void;
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
    }
    export class AUVerticalTabView extends UIControl {
        accessibilityElements: any[] | null;
        maxTabDimension: CGFloat;
        numActiveTabs: number;
        selectedTabIndex: number;
        constructor (frame: CGRect, data: any, horizontal: boolean);
        layoutSubviews():void;
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
    }
    export class CABTLEMIDIWindowController extends NSWindowController {}
    export class CAAUNBandEQHeaderView extends CAAUEQHeaderView {
        addParameter(id: AudioUnitParameterID, name: string, shortName: string, symbolName: NSAttributedString | null, value: Float, min: Float, max: Float, logBase: Float, formatter: Formatter, unit: string, additionalPad: CGFloat):void;
        adjustViewIfHorizontallyCompressed(newSize: CGSize):void;
        clear():void;
        createTypeControl(param: AudioUnitParameterID, valueStrings: string[], abbreviatedValueStrings: string[], selectedIndex: number, target: AnyObject, selector: Selector, color: UIColor):void;
        reset():void;
        setVisibility(param: AudioUnitParameterID, visible: boolean, color: UIColor | null):void;
        updateEQControl(oldParam: AudioUnitParameterID, newParam: AudioUnitParameterID, value: Float, color: UIColor):void;
        updateTypeControl(param: AudioUnitParameterID, selectedIndex: number, color: UIColor):void;
    }
    export class CABTMIDICentralViewController extends UITableViewController {}
    export class CAAUSettingsView extends UIView {
        au: AUAudioUnit | null;
        constructor (coder: NSCoder);
        constructor (frame: CGRect);
        collectionView(collectionView: UICollectionView, indexPath: IndexPath):UICollectionViewCell;
    }
    export class CABTMIDILocalPeripheralViewController extends UIViewController {}
    export class CAAdjustingHeaderView extends CAAUEQHeaderView {
        adjustViewIfHorizontallyCompressed(newSize: CGSize):void;
        clear():void;
        setColorForParameter(id: AudioUnitParameterID, color: UIColor):void;
    }
    export class CACompressionView extends CAAUGraphView {
        accessibilityElements: any[] | null;
        dataSource: ((AUCompressionParameterDataSource & CAAUViewParameterDataSource));
        graphFrame():CGRect;
        tintColorDidChange():void;
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesEnded(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
        updateCompressionExpansionPaths():void;
        updateCompressionTriangle():void;
        updateGraph():void;
        valueForX(location: CGFloat):Float;
        valueForY(location: CGFloat):Float;
    }
    export class CANetworkBrowserWindowController extends NSWindowController {
        /**
         * Creates a new network browser window controller.
         */
        constructor ();
        /**
         * Returns a Boolean value that indicates whether the current machine hardware supports Audio Video Bridging (AVB).
         */
        static isAVBSupported():boolean;
    }
    export class CANBandEQGraphView extends CAAUEQGraphView {
        doubleTapped(gestureRecognizer: UITapGestureRecognizer):void;
        tintColorDidChange():void;
    }
    export interface AUCompressionParameterDataSource {
        color(parameter: AudioUnitParameterID):UIColor;
    }
    export class CAInterDeviceAudioViewController extends NSViewController {}
    export class CAInterAppAudioSwitcherView extends UIView {
        isShowingAppNames: boolean;
        contentWidth():CGFloat;
        setOutputAudioUnit(au: AudioUnit | null):void;
    }
    export class CAInterAppAudioTransportView extends UIView {
        isConnected: boolean;
        currentTimeLabelFont: UIFont;
        isEnabled: boolean;
        labelColor: UIColor;
        pauseButtonColor: UIColor;
        playButtonColor: UIColor;
        isPlaying: boolean;
        recordButtonColor: UIColor;
        isRecording: boolean;
        rewindButtonColor: UIColor;
        setOutputAudioUnit(au: AudioUnit):void;
    }
    export class AUGenericViewInternal {
        auAudioUnit: AUAudioUnit | null;
        owningController: UIViewController | null;
        paramObserverToken: AUParameterObserverToken | null;
        showSingleClumpIndex: number;
        constructor (coder: NSCoder);
        constructor (frame: CGRect);
        collectionView(collectionView: UICollectionView, item: UICollectionViewCell, indexPath: IndexPath):void;
        removeFromSuperview():void;
        removeScheduledUpdatesTimer():void;
        traitCollectionDidChange(previousTraitCollection: UITraitCollection | null):void;
    }
    export class CAAUEQGraphView extends CAAUGraphView {
        accessibilityElements: any[] | null;
        dataSource: CAAUViewParameterDataSource | null;
        addPointControl(x: UInt32, y: UInt32):CAAUFilterControl | null;
        addRegionControl(x: UInt32, width: UInt32):CAAUFilterControl | null;
        changeControlToHorizontalPoint(index: number):void;
        changeControlToPoint(index: number, y: UInt32):void;
        changeControlToRegion(index: number, y: UInt32, width: UInt32):void;
        disableAllControls():void;
        graphFrame():CGRect;
        graphView():CAAUEQGraphView;
        layoutSublayers(layer: CALayer):void;
        redrawCurve():void;
        removeFromSuperview():void;
        setActiveControl(index: number):void;
        setBypassed(index: number, bypassed: boolean):void;
        tintColorDidChange():void;
        touchesBegan(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesCancelled(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesEnded(touches: Set<UITouch>, event: UIEvent | null):void;
        touchesMoved(touches: Set<UITouch>, event: UIEvent | null):void;
        updateView(param: UInt32, value: Float):void;
        valueForX(location: CGFloat):Float;
        valueForY(location: CGFloat):Float;
    }
}

/**
 * Communicate with Bluetooth low energy and BR/EDR (“Classic”) Devices.
 */
declare module CoreBluetooth {
    export class CBCentral extends CBPeer {
        /**
         * The maximum amount of data, in bytes, that the central can receive in a single notification or indication.
         */
        maximumUpdateValueLength: number;
    }
    export class CBPeripheral extends CBPeer {
        /**
         * The Received Signal Strength Indicator (RSSI), in decibels, of the peripheral.
         */
        rssi: NSNumber | null;
        /**
         * A Boolean value that indicates if the remote device has authorization to receive data over ANCS protocol.
         */
        ancsAuthorized: boolean;
        /**
         * Retrieves the current RSSI value for the peripheral while connected to the central manager.
         */
        readRSSI():void;
        /**
         * Attempts to open an L2CAP channel to the peripheral using the supplied Protocol/Service Multiplexer (PSM).
         */
        openL2CAPChannel(PSM: CBL2CAPPSM):void;
    }
    export class CBL2CAPChannel extends NSObject {
        /**
         * The stream used for reading data from the remote peer.
         */
        inputStream: InputStream!;
        /**
         * The stream used for writing data to the peer.
         */
        outputStream: OutputStream!;
        /**
         * The peer connected to the channel.
         */
        peer: CBPeer!;
        /**
         * The PSM of the channel.
         */
        psm: CBL2CAPPSM;
    }
    export interface CBPeripheralDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that peripheral service discovery succeeded.
         */
        peripheral(peripheral: CBPeripheral, error: Error | null):void;
        /**
         * Tells the delegate that a peripheral is again ready to send characteristic updates.
         */
        peripheralIsReady(peripheral: CBPeripheral):void;
        /**
         * Tells the delegate that retrieving the value of the peripheral’s current Received Signal Strength Indicator (RSSI) succeeded.
         */
        peripheralDidUpdateRSSI(peripheral: CBPeripheral, error: Error | null):void;
        /**
         * Tells the delegate that a peripheral’s name changed.
         */
        peripheralDidUpdateName(peripheral: CBPeripheral):void;
    }
    export class CBPeripheralManager extends CBManager {
        /**
         * The delegate object specified to receive peripheral events.
         */
        delegate: CBPeripheralManagerDelegate | null;
        /**
         * A Boolean value that indicates whether the peripheral is advertising data.
         */
        isAdvertising: boolean;
        /**
         * Initializes the peripheral manager without a delegate.
         */
        constructor ();
        /**
         * Initializes the peripheral manager with a specified delegate and dispatch queue.
         */
        constructor (delegate: CBPeripheralManagerDelegate | null, queue: DispatchQueue | null);
        /**
         * Initializes the peripheral manager with a specified delegate, dispatch queue, and initialization options.
         */
        constructor (delegate: CBPeripheralManagerDelegate | null, queue: DispatchQueue | null, options: Record<string, any> | null);
        /**
         * Returns the app’s authorization status for sharing data while in the background.
         */
        static authorizationStatus():CBPeripheralManagerAuthorizationStatus;
        /**
         * Publishes a service and any of its associated characteristics and characteristic descriptors to the local GATT database.
         */
        add(service: CBMutableService):void;
        /**
         * Removes a specified published service from the local GATT database.
         */
        remove(service: CBMutableService):void;
        /**
         * Removes all published services from the local GATT database.
         */
        removeAllServices():void;
        /**
         * Advertises peripheral manager data.
         */
        startAdvertising(advertisementData: Record<string, any> | null):void;
        /**
         * Stops advertising peripheral manager data.
         */
        stopAdvertising():void;
        /**
         * Send an updated characteristic value to one or more subscribed centrals, using a notification or indication.
         */
        updateValue(value: Data, characteristic: CBMutableCharacteristic, centrals: CBCentral[] | null):boolean;
        /**
         * Responds to a read or write request from a connected central.
         */
        respond(request: CBATTRequest, result: CBATTError.Code):void;
        /**
         * Sets the desired connection latency for an existing connection to a central device.
         */
        setDesiredConnectionLatency(latency: CBPeripheralManagerConnectionLatency, central: CBCentral):void;
        /**
         * Creates a listener for incoming L2CAP channel connections.
         */
        publishL2CAPChannel(encryptionRequired: boolean):void;
        /**
         * Removes a published service from the local system.
         */
        unpublishL2CAPChannel(PSM: CBL2CAPPSM):void;
    }
    export enum CBPeripheralManagerAuthorizationStatus {
        notDetermined = 0,
        restricted = 1,
        denied = 2,
        authorized = 3,
    }
    export class CBCentralManager extends CBManager {
        /**
         * Establishes a local connection to a peripheral.
         */
        connect(peripheral: CBPeripheral, options: Record<string, any> | null):void;
        /**
         * Cancels an active or pending local connection to a peripheral.
         */
        cancelPeripheralConnection(peripheral: CBPeripheral):void;
        /**
         * Returns a list of the peripherals connected to the system whose services match a given set of criteria.
         */
        retrieveConnectedPeripherals(serviceUUIDs: CBUUID[]):CBPeripheral[];
        /**
         * Returns a list of known peripherals by their identifiers.
         */
        retrievePeripherals(identifiers: UUID[]):CBPeripheral[];
        /**
         * Scans for peripherals that are advertising services.
         */
        scanForPeripherals(serviceUUIDs: CBUUID[] | null, options: Record<string, any> | null):void;
        /**
         * Asks the central manager to stop scanning for peripherals.
         */
        stopScan():void;
    }
    export enum CBPeripheralManagerState {
        unknown = 0,
        resetting = 1,
        unsupported = 2,
        unauthorized = 3,
        poweredOff = 4,
        poweredOn = 5,
    }
    export enum CBPeripheralManagerConnectionLatency {
        low = 0,
        medium = 1,
        high = 2,
    }
    export interface CBPeripheralManagerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate the peripheral manager’s state updated.
         */
        peripheralManagerDidUpdateState(peripheral: CBPeripheralManager):void;
        /**
         * Tells the delegate the system is about to restore the peripheral manager.
         */
        peripheralManager(peripheral: CBPeripheralManager, dict: Record<string, any>):void;
        /**
         * Tells the delegate the peripheral manager started advertising the local peripheral device’s data.
         */
        peripheralManagerDidStartAdvertising(peripheral: CBPeripheralManager, error: Error | null):void;
        /**
         * Tells the delegate that a local peripheral device is ready to send characteristic value updates.
         */
        peripheralManagerIsReady(peripheral: CBPeripheralManager):void;
    }
    export class CBAttribute extends NSObject {
        /**
         * The Bluetooth-specific UUID of the attribute.
         */
        uuid: CBUUID;
    }
    export class CBAttributePermissions {
        /**
         * A permission that indicates a peripheral can read the attribute’s value.
         */
        static readable: CBAttributePermissions;
        /**
         * A permission that indicates a peripheral can write the attribute’s value.
         */
        static writeable: CBAttributePermissions;
        /**
         * A permission that indicates only trusted devices can read the attribute’s value.
         */
        static readEncryptionRequired: CBAttributePermissions;
        /**
         * A permission that indicates only trusted devices can write the attribute’s value.
         */
        static writeEncryptionRequired: CBAttributePermissions;
        /**
         * Creates a permissions instance from the provided raw value.
         */
        constructor (rawValue: number);
    }
    export class CBService extends CBAttribute {
        /**
         * The peripheral to which this service belongs.
         */
        peripheral: CBPeripheral | null;
        /**
         * A Boolean value that indicates whether the type of service is primary or secondary.
         */
        isPrimary: boolean;
        /**
         * A list of characteristics discovered in this service.
         */
        characteristics: CBCharacteristic[] | null;
        /**
         * A list of included services discovered in this service.
         */
        includedServices: CBService[] | null;
    }
    export class CBMutableService extends CBService {
        /**
         * A list of characteristics of a service.
         */
        characteristics: CBCharacteristic[] | null;
        /**
         * A list of included services.
         */
        includedServices: CBService[] | null;
        /**
         * Creates a newly initialized mutable service specified by UUID and service type.
         */
        constructor (UUID: CBUUID, isPrimary: boolean);
    }
    export class CBCharacteristic extends CBAttribute {
        /**
         * The service to which this characteristic belongs.
         */
        service: CBService | null;
        /**
         * The value of the characteristic.
         */
        value: Data | null;
        /**
         * A list of the descriptors discovered in this characteristic.
         */
        descriptors: CBDescriptor[] | null;
        /**
         * The properties of the characteristic.
         */
        properties: CBCharacteristicProperties;
        /**
         * A Boolean value that indicates whether the characteristic is currently notifying a subscribed central of its value.
         */
        isNotifying: boolean;
        /**
         * A Boolean value that indicates whether the characteristic the service broadcasts this characteristic.
         */
        isBroadcasted: boolean;
    }
    export class CBCharacteristicProperties {
        /**
         * A property that indicates the characteristic can broadcast its value using a characteristic configuration descriptor.
         */
        static broadcast: CBCharacteristicProperties;
        /**
         * A property that indicates a peripheral can read the characteristic’s value.
         */
        static read: CBCharacteristicProperties;
        /**
         * A property that indicates a peripheral can write the characteristic’s value, without a response to indicate that the write succeeded.
         */
        static writeWithoutResponse: CBCharacteristicProperties;
        /**
         * A property that indicates a peripheral can write the characteristic’s value, with a response to indicate that the write succeeded.
         */
        static write: CBCharacteristicProperties;
        /**
         * A property that indicates the peripheral permits notifications of the characteristic’s value, without a response from the central to indicate receipt of the notification.
         */
        static notify: CBCharacteristicProperties;
        /**
         * A property that indicates the peripheral permits notifications of the characteristic’s value, with a response from the central to indicate receipt of the notification.
         */
        static indicate: CBCharacteristicProperties;
        /**
         * A property that indicates the perhipheral allows signed writes of the characteristic’s value, without a response to indicate the write succeeded.
         */
        static authenticatedSignedWrites: CBCharacteristicProperties;
        /**
         * A property that indicates the characteristic defines additional properties in the extended properties descriptor.
         */
        static extendedProperties: CBCharacteristicProperties;
        /**
         * A property that indicates that only trusted devices can enable notifications of the characteristic’s value.
         */
        static notifyEncryptionRequired: CBCharacteristicProperties;
        /**
         * A property that indicates only trusted devices can enable indications of the characteristic’s value.
         */
        static indicateEncryptionRequired: CBCharacteristicProperties;
        /**
         * Creates a characteristic properties instance from the given raw value.
         */
        constructor (rawValue: number);
    }
    export class CBMutableCharacteristic extends CBCharacteristic {
        /**
         * The value of the characteristic.
         */
        value: Data | null;
        /**
         * An array of the characteristic’s descriptors.
         */
        descriptors: CBDescriptor[] | null;
        /**
         * The properties of the characteristic.
         */
        properties: CBCharacteristicProperties;
        /**
         * The permissions of the characteristic value.
         */
        permissions: CBAttributePermissions;
        /**
         * A list of centrals that are currently subscribed to the characteristic’s value.
         */
        subscribedCentrals: CBCentral[] | null;
        /**
         * Creates a mutable characteristic with specified permissions, properties, and value.
         */
        constructor (UUID: CBUUID, properties: CBCharacteristicProperties, value: Data | null, permissions: CBAttributePermissions);
    }
    export class CBDescriptor extends CBAttribute {
        /**
         * The characteristic to which this descriptor belongs.
         */
        characteristic: CBCharacteristic | null;
        /**
         * The value of the descriptor.
         */
        value: any;
    }
    export class CBMutableDescriptor extends CBDescriptor {
        /**
         * Creates a mutable descriptor with a specified value.
         */
        constructor (UUID: CBUUID, value: any);
    }
    export class CBManager extends NSObject {
        /**
         * The current authorization status for using Bluetooth.
         */
        static authorization: CBManagerAuthorization;
        /**
         * The current state of the manager.
         */
        state: CBManagerState;
    }
    export enum CBManagerState {
        poweredOff = 4,
        poweredOn = 5,
        resetting = 1,
        unauthorized = 3,
        unknown = 0,
        unsupported = 2,
    }
    export enum CBManagerAuthorization {
        allowedAlways = 3,
        denied = 2,
        notDetermined = 0,
        restricted = 1,
    }
    export class CBATTRequest extends NSObject {
        /**
         * The remote central device that originated the request.
         */
        central: CBCentral;
        /**
         * The characteristic to read or write the value of.
         */
        characteristic: CBCharacteristic;
        /**
         * The data that the central reads from or writes to the peripheral.
         */
        value: Data | null;
        /**
         * The zero-based index of the first byte for the read or write request.
         */
        offset: number;
    }
    export class CBPeer extends NSObject {
        /**
         * The UUID associated with the peer.
         */
        identifier: UUID;
    }
    export class CBUUID extends NSObject {
        /**
         * The data of the UUID.
         */
        data: Data;
        /**
         * The UUID represented as a string.
         */
        uuidString: string;
        /**
         * Creates a Core Bluetooth UUID object from a 16-, 32-, or 128-bit UUID string.
         */
        constructor (theString: string);
        /**
         * Creates a Core Bluetooth UUID object from a 16-, 32-, or 128-bit UUID data container.
         */
        constructor (theData: Data);
        /**
         * Creates a Core Bluetooth UUID object from a Core Foundation UUID object.
         */
        constructor (theUUID: CFUUID);
        /**
         * Creates a Core Bluetooth UUID object from a Foundation UUID object.
         */
        constructor (theUUID: UUID);
    }
    export class CBError {
        static errorDomain: string;
        /**
         * An unknown error occurred.
         */
        static unknown: CBError.Code;
        /**
         * The specified parameters are invalid.
         */
        static invalidParameters: CBError.Code;
        /**
         * The specified attribute handle is invalid.
         */
        static invalidHandle: CBError.Code;
        /**
         * The device isn’t currently connected.
         */
        static notConnected: CBError.Code;
        /**
         * The device has run out of space to complete the intended operation.
         */
        static outOfSpace: CBError.Code;
        /**
         * The error represents a canceled operation.
         */
        static operationCancelled: CBError.Code;
        /**
         * The connection timed out.
         */
        static connectionTimeout: CBError.Code;
        /**
         * The peripheral disconnected.
         */
        static peripheralDisconnected: CBError.Code;
        /**
         * The specified UUID isn’t permitted.
         */
        static uuidNotAllowed: CBError.Code;
        /**
         * The peripheral is already advertising.
         */
        static alreadyAdvertising: CBError.Code;
        /**
         * The connection failed.
         */
        static connectionFailed: CBError.Code;
        /**
         * The device already has the maximum number of connections.
         */
        static connectionLimitReached: CBError.Code;
        /**
         * The operation isn’t supported.
         */
        static operationNotSupported: CBError.Code;
        /**
         * The device is unknown.
         */
        static unknownDevice: CBError.Code;
        /**
         * A misspelled version of the unknown device error code.
         */
        static unkownDevice: CBError.Code;
        static encryptionTimedOut: CBError.Code;
        static leGattExceededBackgroundNotificationLimit: CBError.Code;
        static leGattNearBackgroundNotificationLimit: CBError.Code;
        static peerRemovedPairingInformation: CBError.Code;
        static tooManyLEPairedDevices: CBError.Code;
        /**
         * The code that identifies the error.
         */
        errorCode: number;
        /**
         * A dictionary that provides details about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that contains the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CBError
     */
    export namespace CBError {
        export enum Code {
            unknown = 0,
            invalidParameters = 1,
            invalidHandle = 2,
            notConnected = 3,
            outOfSpace = 4,
            operationCancelled = 5,
            connectionTimeout = 6,
            peripheralDisconnected = 7,
            uuidNotAllowed = 8,
            alreadyAdvertising = 9,
            connectionFailed = 10,
            connectionLimitReached = 11,
            operationNotSupported = 13,
            unkownDevice = 12,
            encryptionTimedOut = 15,
            leGattExceededBackgroundNotificationLimit = 17,
            leGattNearBackgroundNotificationLimit = 18,
            peerRemovedPairingInformation = 14,
            tooManyLEPairedDevices = 16,
        }
    }
    export class CBATTError {
        /**
         * The domain of Core Bluetooth errors.
         */
        static errorDomain: string;
        /**
         * The ATT command or request successfully completed.
         */
        static success: CBATTError.Code;
        /**
         * The attribute handle is invalid on this peripheral.
         */
        static invalidHandle: CBATTError.Code;
        /**
         * The permissions prohibit reading the attribute’s value.
         */
        static readNotPermitted: CBATTError.Code;
        /**
         * The permissions prohibit writing the attribute’s value.
         */
        static writeNotPermitted: CBATTError.Code;
        /**
         * The attribute Protocol Data Unit (PDU) is invalid.
         */
        static invalidPdu: CBATTError.Code;
        /**
         * Reading or writing the attribute’s value failed for lack of authentication.
         */
        static insufficientAuthentication: CBATTError.Code;
        /**
         * The attribute server doesn’t support the request received from the client.
         */
        static requestNotSupported: CBATTError.Code;
        /**
         * The specified offset value was past the end of the attribute’s value.
         */
        static invalidOffset: CBATTError.Code;
        /**
         * Reading or writing the attribute’s value failed for lack of authorization.
         */
        static insufficientAuthorization: CBATTError.Code;
        /**
         * The prepare queue is full, as a result of there being too many write requests in the queue.
         */
        static prepareQueueFull: CBATTError.Code;
        /**
         * The attribute wasn’t found within the specified attribute handle range.
         */
        static attributeNotFound: CBATTError.Code;
        /**
         * The ATT read blob request can’t read or write the attribute.
         */
        static attributeNotLong: CBATTError.Code;
        /**
         * The encryption key size used for encrypting this link is insufficient.
         */
        static insufficientEncryptionKeySize: CBATTError.Code;
        /**
         * The length of the attribute’s value is invalid for the intended operation.
         */
        static invalidAttributeValueLength: CBATTError.Code;
        /**
         * The ATT request encountered an unlikely error and wasn’t completed.
         */
        static unlikelyError: CBATTError.Code;
        /**
         * Reading or writing the attribute’s value failed for lack of encryption.
         */
        static insufficientEncryption: CBATTError.Code;
        /**
         * The attribute type isn’t a supported grouping attribute as defined by a higher-layer specification.
         */
        static unsupportedGroupType: CBATTError.Code;
        /**
         * Resources are insufficient to complete the ATT request.
         */
        static insufficientResources: CBATTError.Code;
        /**
         * The code that identifies the error.
         */
        errorCode: number;
        /**
         * A dictionary that provides details about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that contains the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CBATTError
     */
    export namespace CBATTError {
        export enum Code {
            success = 0,
            invalidHandle = 1,
            readNotPermitted = 2,
            writeNotPermitted = 3,
            invalidPdu = 4,
            insufficientAuthentication = 5,
            requestNotSupported = 6,
            invalidOffset = 7,
            insufficientAuthorization = 8,
            prepareQueueFull = 9,
            attributeNotFound = 10,
            attributeNotLong = 11,
            insufficientEncryptionKeySize = 12,
            invalidAttributeValueLength = 13,
            unlikelyError = 14,
            insufficientEncryption = 15,
            unsupportedGroupType = 16,
            insufficientResources = 17,
        }
    }
    export enum CBCentralManagerState {
        poweredOff = 4,
        poweredOn = 5,
        resetting = 1,
        unauthorized = 3,
        unknown = 0,
        unsupported = 2,
    }
    export enum CBConnectionEvent {
        peerConnected = 1,
        peerDisconnected = 0,
    }
    export class CBConnectionEventMatchingOption {
        /**
         * An array of UUID objects that represents peripherals to match.
         */
        static peripheralUUIDs: CBConnectionEventMatchingOption;
        /**
         * An array that represents service identifiers to match.
         */
        static serviceUUIDs: CBConnectionEventMatchingOption;
        /**
         * Creates a matching option from the provided raw value.
         */
        constructor (rawValue: string);
    }
    export interface CBCentralManagerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the central manager connected to a peripheral.
         */
        centralManager(central: CBCentralManager, peripheral: CBPeripheral):void;
        /**
         * Tells the delegate the central manager’s state updated.
         */
        centralManagerDidUpdateState(central: CBCentralManager):void;
    }
    export enum CBCharacteristicWriteType {
        withResponse = 0,
        withoutResponse = 1,
    }
    export enum CBPeripheralState {
        disconnected = 0,
        connecting = 1,
        connected = 2,
        disconnecting = 3,
    }
}

/**
 * Persist or cache data on a single device, or sync data to multiple devices with CloudKit.
 */
declare module CoreData {
    export class NSPersistentContainer extends NSObject {
        /**
         * The descriptions of the container’s persistent stores.
         */
        persistentStoreDescriptions: NSPersistentStoreDescription[];
        /**
         * The main queue’s managed object context.
         */
        viewContext: NSManagedObjectContext;
        /**
         * Returns the location of the directory that contains the persistent stores.
         */
        static defaultDirectoryURL():URL;
        /**
         * Loads the persistent stores.
         */
        loadPersistentStores(block: ()=>any):void;
        /**
         * Returns a new managed object context that executes on a private queue.
         */
        newBackgroundContext():NSManagedObjectContext;
        /**
         * Executes a closure on a private queue using an ephemeral managed object context.
         */
        performBackgroundTask(block: ()=>any):void;
    }
    export class NSEntityDescription extends NSObject {
        /**
         * The super-entity of the receiver.
         */
        superentity: NSEntityDescription | null;
        /**
         * A dictionary containing the properties of the receiver.
         */
        propertiesByName: Record<string, NSPropertyDescription>;
        /**
         * An array containing the properties of the receiver.
         */
        properties: NSPropertyDescription[];
        /**
         * The attributes of the receiver in a dictionary.
         */
        attributesByName: Record<string, NSAttributeDescription>;
        /**
         * The relationships of the receiver in a dictionary.
         */
        relationshipsByName: Record<string, NSRelationshipDescription>;
        /**
         * An array of fetch index descriptions for the entity.
         */
        indexes: NSFetchIndexDescription[];
        /**
         * An array of arrays that contains one or more attributes with a value that must be unique over the instances of that entity.
         */
        uniquenessConstraints: any[][];
        /**
         * The compound indexes for the entity as an array of arrays.
         */
        compoundIndexes: any[][];
        /**
         * The version hash for the receiver.
         */
        versionHash: Data;
        /**
         * The version hash modifier for the receiver.
         */
        versionHashModifier: string;
        /**
         * The entity name of the receiver.
         */
        name: string;
        /**
         * The managed object model with which the receiver is associated.
         */
        managedObjectModel: NSManagedObjectModel;
        /**
         * The name of the class that represents the receiver’s entity.
         */
        managedObjectClassName: String!;
        /**
         * The renaming identifier for the receiver.
         */
        renamingIdentifier: string;
        /**
         * A Boolean value that indicates whether the receiver represents an abstract entity.
         */
        isAbstract: boolean;
        /**
         * The user info dictionary of the receiver.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * The expression that computes the CoreSpotlight display name for instances of the entity.
         */
        coreSpotlightDisplayNameExpression: NSExpression;
        /**
         * A dictionary containing the receiver’s sub-entities.
         */
        subentitiesByName: Record<string, NSEntityDescription>;
        /**
         * An array containing the sub-entities of the receiver.
         */
        subentities: NSEntityDescription[];
        /**
         * Creates, configures, and returns an instance of the class for the entity with a given name.
         */
        static insertNewObject(entityName: string, context: NSManagedObjectContext):NSManagedObject;
        /**
         * Returns the entity with the specified name from the managed object model associated with the specified managed object context’s persistent store coordinator.
         */
        static entity(entityName: string, context: NSManagedObjectContext):NSEntityDescription | null;
        /**
         * Returns a Boolean value that indicates whether the receiver is a sub-entity of another given entity.
         */
        isKindOf(entity: NSEntityDescription):boolean;
        /**
         * Returns an array containing the relationships of the receiver where the entity description of the relationship is a given entity. 
         */
        relationships(entity: NSEntityDescription):NSRelationshipDescription[];
    }
    export class NSQueryGenerationToken extends NSObject {
        /**
         * A token that informs a context to use the current generation.
         */
        static current: NSQueryGenerationToken;
    }
    export enum NSBatchInsertRequestResultType {
        statusOnly = 0,
        objectIDs = 1,
        count = 2,
    }
    export class NSMigrationManager extends NSObject {
        /**
         * Migrates the store at a given source URL to the store at a given destination URL, performing all of the mappings specified in a given mapping model.
         */
        migrateStore(sourceURL: URL, sStoreType: string, sOptions: Record<AnyHashable, any> | null, mappings: NSMappingModel | null, dURL: URL, dStoreType: string, dOptions: Record<AnyHashable, any> | null):void;
    }
    export class NSBatchUpdateRequest extends NSPersistentStoreRequest {
        /**
         * The managed entity to update data for.
         */
        entity: NSEntityDescription;
        /**
         * The name of the managed entity to update data for.
         */
        entityName: string;
        /**
         * A Boolean value that indicates whether to update subentities.
         */
        includesSubentities: boolean;
        /**
         * A predicate that identifies the objects to update.
         */
        predicate: NSPredicate | null;
        /**
         * A dictionary of property description pairs that describe the updates.
         */
        propertiesToUpdate: Record<AnyHashable, any> | null;
        /**
         * The type of result that Core Data returns from the request.
         */
        resultType: NSBatchUpdateRequestResultType;
        /**
         * Creates a batch-update request for a managed entity.
         */
        constructor (entity: NSEntityDescription);
        /**
         * Creates a batch-update request for a named managed entity.
         */
        constructor (entityName: string);
    }
    export class NSBatchUpdateResult extends NSPersistentStoreResult {
        /**
         * The result of a batch-update request, either the number of updated objects, the identifiers of the updated objects, or a status value.
         */
        result: any;
        /**
         * The type of result that Core Data returns from the request.
         */
        resultType: NSBatchUpdateRequestResultType;
    }
    export class NSMappingModel extends NSObject {
        /**
         * The entity mappings for the mapping model.
         */
        entityMappings: [NSEntityMapping]!;
        /**
         * The entity mappings for the mapping model, keyed by name.
         */
        entityMappingsByName: Record<string, NSEntityMapping>;
        /**
         * Returns the mapping model that will translate data from the source to the destination model.
         */
        constructor (bundles: Bundle[] | null, sourceModel: NSManagedObjectModel | null, destinationModel: NSManagedObjectModel | null);
        /**
         * Returns a mapping model initialized from a given URL.
         */
        constructor (url: URL | null);
        /**
         * Returns a newly created mapping model that will migrate data from the source to the destination model.
         */
        static inferredMappingModel(sourceModel: NSManagedObjectModel, destinationModel: NSManagedObjectModel):NSMappingModel;
    }
    export class NSEntityMapping extends NSObject {
        /**
         * The source entity name for the entity mapping.
         */
        sourceEntityName: string;
        /**
         * The version hash of the source entity for the entity mapping.
         */
        sourceEntityVersionHash: Data | null;
        /**
         * The source expression for the entity mapping.
         */
        sourceExpression: NSExpression | null;
        /**
         * The destination entity name for the entity mapping.
         */
        destinationEntityName: string;
        /**
         * The version hash for the destination entity for the entity mapping.
         */
        destinationEntityVersionHash: Data | null;
        /**
         * The name of the entity mapping.
         */
        name: String!;
        /**
         * The mapping type for the entity mapping.
         */
        mappingType: NSEntityMappingType;
        /**
         * The class name of the migration policy for the entity mapping.
         */
        entityMigrationPolicyClassName: string;
        /**
         * The array of attribute mappings for the entity mapping.
         */
        attributeMappings: NSPropertyMapping[] | null;
        /**
         * The array of relationship mappings for the entity mapping.
         */
        relationshipMappings: NSPropertyMapping[] | null;
        /**
         * The user info dictionary for the entity mapping.
         */
        userInfo: Record<AnyHashable, any> | null;
    }
    export class NSPersistentStore extends NSObject {
        /**
         * The unique identifier for the persistent store.
         */
        identifier: String!;
        /**
         * A Boolean value that indicates whether the persistent store is read-only.
         */
        isReadOnly: boolean;
        /**
         * The URL for the persistent store.
         */
        url: URL | null;
        /**
         * The metadata for the persistent store.
         */
        metadata: Record<string, any>;
        /**
         * The spotlight exporter associated with this persistent store.
         */
        coreSpotlightExporter: NSCoreDataCoreSpotlightDelegate;
        /**
         * Returns the metadata from the persistent store at the given URL.
         */
        static metadataForPersistentStore(url: URL):Record<string, any>;
        /**
         * Sets the metadata for the store at a given URL.
         */
        static setMetadata(metadata: Record<string, any> | null, url: URL):void;
        /**
         * Returns the migration manager class for this store class.
         */
        static migrationManagerClass():AnyClass;
        /**
         * Instructs the persistent store to load its metadata.
         */
        loadMetadata():void;
        /**
         * Invoked after the persistent store has been added to the persistent store coordinator.
         */
        didAdd(coordinator: NSPersistentStoreCoordinator):void;
        /**
         * Invoked before the persistent store is removed from the persistent store coordinator.
         */
        willRemove(coordinator: NSPersistentStoreCoordinator | null):void;
    }
    export class NSPersistentStoreRequest extends NSObject {
        /**
         * The stores the request should be sent to.
         */
        affectedStores: NSPersistentStore[] | null;
        /**
         * The type of the fetch request.
         */
        requestType: NSPersistentStoreRequestType;
    }
    export enum NSPersistentStoreRequestType {
        fetchRequestType = 1,
        saveRequestType = 2,
        batchInsertRequestType = 5,
        batchUpdateRequestType = 6,
        batchDeleteRequestType = 7,
    }
    export class NSPersistentStoreResult extends NSObject {}
    export class NSPersistentStoreAsynchronousResult extends NSPersistentStoreResult {
        /**
         * The managed object context for the result.
         */
        managedObjectContext: NSManagedObjectContext;
        /**
         * An error that contains details if the asynchronous fetch request fails.
         */
        operationError: Error | null;
        /**
         * An object that reports progress for the asynchronous fetch request.
         */
        progress: Progress | null;
        /**
         * Cancels the asynchronous fetch request.
         */
        cancel():void;
    }
    export enum NSMergePolicyType {
        errorMergePolicyType = 0,
        mergeByPropertyStoreTrumpMergePolicyType = 1,
        mergeByPropertyObjectTrumpMergePolicyType = 2,
        overwriteMergePolicyType = 3,
        rollbackMergePolicyType = 4,
    }
    export enum NSBatchUpdateRequestResultType {
        statusOnlyResultType = 0,
        updatedObjectIDsResultType = 1,
        updatedObjectsCountResultType = 2,
    }
    export class NSBatchDeleteRequest extends NSPersistentStoreRequest {
        /**
         * The fetch request that identifies the managed objects to delete.
         */
        fetchRequest: NSFetchRequest<NSFetchRequestResult>;
        /**
         * The type of result the request provides when it executes.
         */
        resultType: NSBatchDeleteRequestResultType;
        /**
         * Creates a request that deletes the results of the specified fetch request.
         */
        constructor (fetch: NSFetchRequest<NSFetchRequestResult>);
        /**
         * Creates a request that deletes the managed objects with the specified identifiers.
         */
        constructor (objects: NSManagedObjectID[]);
    }
    export enum NSEntityMappingType {
        undefinedEntityMappingType = 0,
        customEntityMappingType = 1,
        addEntityMappingType = 2,
        removeEntityMappingType = 3,
        copyEntityMappingType = 4,
        transformEntityMappingType = 5,
    }
    export class NSEntityMigrationPolicy extends NSObject {
        /**
         * Sets up state information before the start of a given entity mapping.
         */
        begin(mapping: NSEntityMapping, manager: NSMigrationManager):void;
        /**
         * Creates the destination instance(s) for a given source instance.
         */
        createDestinationInstances(sInstance: NSManagedObject, mapping: NSEntityMapping, manager: NSMigrationManager):void;
        /**
         * Indicates the end of the instance creation stage for the specified entity mapping, and the precursor to the next migration stage.
         */
        endInstanceCreation(mapping: NSEntityMapping, manager: NSMigrationManager):void;
        /**
         * Constructs the relationships between the newly-created destination instances.
         */
        createRelationships(dInstance: NSManagedObject, mapping: NSEntityMapping, manager: NSMigrationManager):void;
        /**
         * Indicates the end of the relationship creation stage for the specified entity mapping.
         */
        endRelationshipCreation(mapping: NSEntityMapping, manager: NSMigrationManager):void;
        /**
         * Provides the option to perform custom validation on migrated objects during the validation stage of the entity migration policy.
         */
        performCustomValidation(mapping: NSEntityMapping, manager: NSMigrationManager):void;
        /**
         * Performs cleanup at the end of the migration, from any phase of the mapping.
         */
        end(mapping: NSEntityMapping, manager: NSMigrationManager):void;
    }
    export class NSPersistentStoreCoordinator extends NSObject {
        /**
         * Returns a dictionary containing the parsed elements derived from the Spotlight external record file that is specified by the given URL.
         */
        static elementsDerived(fileURL: URL):Record<AnyHashable, any>;
        /**
         * Returns a dictionary that contains the metadata stored in the persistent store at the specified location.
         */
        static metadataForPersistentStore(url: URL):Record<AnyHashable, any>;
        /**
         * Registers a persistent store subclass using a store type identifier.
         */
        static registerStoreClass(storeClass: AnyClass | null, storeType: string):void;
        /**
         * Deletes all ubiquitous content for all peers for the persistent store at a given URL and also delete the local store file. 
         */
        static removeUbiquitousContentAndPersistentStore(storeURL: URL, options: Record<AnyHashable, any> | null):void;
        /**
         * Sets the metadata for a given store.
         */
        static setMetadata(metadata: Record<string, any> | null, storeType: string, url: URL):void;
        /**
         * Returns a single persistent history token for the specified persistent stores.
         */
        currentPersistentHistoryToken(stores: any[] | null):NSPersistentHistoryToken | null;
        /**
         * Creates and populates a store with the external records found at a given URL.
         */
        importStore(storeIdentifier: string, externalRecordsURL: URL, destinationURL: URL, options: Record<AnyHashable, any> | null, storeType: string):NSPersistentStore;
        /**
         * Returns the actual object ID for the specified URI representation of that ID.
         */
        managedObjectID(url: URL):NSManagedObjectID | null;
        /**
         * Adds a specific type of persistent store at the provided location.
         */
        addPersistentStore(storeType: string, configuration: string, storeURL: URL | null, options: Record<AnyHashable, any> | null):NSPersistentStore;
        /**
         * Deletes a specific type of persistent store at the provided location.
         */
        destroyPersistentStore(url: URL, storeType: string, options: Record<AnyHashable, any> | null):void;
        /**
         * Attempts to acquire a lock.
         */
        lock():void;
        /**
         * Changes the location and, if necessary, the store type of the specified persistent store.
         */
        migratePersistentStore(store: NSPersistentStore, URL: URL, options: Record<AnyHashable, any> | null, storeType: string):NSPersistentStore;
        /**
         * Replaces one persistent store with another.
         */
        replacePersistentStore(destinationURL: URL, destinationOptions: Record<AnyHashable, any> | null, sourceURL: URL, sourceOptions: Record<AnyHashable, any> | null, storeType: string):void;
        /**
         * Attempts to acquire a lock.
         */
        tryLock():boolean;
        /**
         * Relinquishes a previously acquired lock.
         */
        unlock():void;
    }
    export class NSCoreDataCoreSpotlightDelegate extends NSObject {
        /**
         * The notification the delegate posts after Spotlight updates the index.
         */
        static indexDidUpdateNotification: Notification.Name;
        /**
         * A Boolean value that indicates whether Core Data is currently updating the Core Spotlight index with the persistent store’s entities.
         */
        isIndexingEnabled: boolean;
        /**
         * Creates a Core Spotlight delegate with the specified store description and coordinator.
         */
        constructor (description: NSPersistentStoreDescription, psc: NSPersistentStoreCoordinator);
        /**
         * Creates a Core Spotlight delegate with the specified store description and managed object model.
         */
        constructor (description: NSPersistentStoreDescription, model: NSManagedObjectModel);
        /**
         * Returns the domain identifier.
         */
        domainIdentifier():string;
        /**
         * Returns the index’s name.
         */
        indexName():string;
        /**
         * Returns the searchable attributes for the specified managed object.
         */
        attributeSet(object: NSManagedObject):CSSearchableItemAttributeSet | null;
        /**
         * Deletes all searchable items from the configured index.
         */
        deleteSpotlightIndex(completionHandler: ()=>any):void;
        /**
         * Starts the indexing of the store’s entities.
         */
        startSpotlightIndexing():void;
        /**
         * Stops the indexing of the store’s entities.
         */
        stopSpotlightIndexing():void;
        /**
         * Reindexes all searchable items and clears any local state.
         */
        searchableIndex(searchableIndex: CSSearchableIndex, acknowledgementHandler: ()=>any):void;
    }
    export class NSSaveChangesRequest extends NSPersistentStoreRequest {
        /**
         * The objects that were inserted into the calling context.
         */
        insertedObjects: Set<NSManagedObject> | null;
        /**
         * The objects that were modified in the calling context.
         */
        updatedObjects: Set<NSManagedObject> | null;
        /**
         * The objects that were deleted in the calling context.
         */
        deletedObjects: Set<NSManagedObject> | null;
        /**
         * The objects that were flagged for optimistic locking on the calling context.
         */
        lockedObjects: Set<NSManagedObject> | null;
        /**
         * Initializes a save changes request with collections of given changes.
         */
        constructor (insertedObjects: Set<NSManagedObject> | null, updatedObjects: Set<NSManagedObject> | null, deletedObjects: Set<NSManagedObject> | null, lockedObjects: Set<NSManagedObject> | null);
    }
    export enum NSBatchDeleteRequestResultType {
        resultTypeCount = 2,
        resultTypeObjectIDs = 1,
        resultTypeStatusOnly = 0,
    }
    export class NSBatchDeleteResult extends NSPersistentStoreResult {
        /**
         * The value the request returns after it executes.
         */
        result: any;
        /**
         * The data type of the request’s result value.
         */
        resultType: NSBatchDeleteRequestResultType;
    }
    export class NSAtomicStore extends NSPersistentStore {
        /**
         * Creates an atomic store at the specified location.
         */
        constructor (coordinator: NSPersistentStoreCoordinator | null, configurationName: string, url: URL, options: Record<AnyHashable, any> | null);
        /**
         * Loads the cache nodes for the receiver.
         */
        load():void;
        /**
         * Returns a managed object ID from the reference data for a specified entity.
         */
        objectID(entity: NSEntityDescription, data: any):NSManagedObjectID;
        /**
         * Registers a set of cache nodes with the receiver.
         */
        addCacheNodes(cacheNodes: Set<NSAtomicStoreCacheNode>):void;
        /**
         * Returns a new cache node for a given managed object.
         */
        newCacheNode(managedObject: NSManagedObject):NSAtomicStoreCacheNode;
        /**
         * Returns a new reference object for a given managed object.
         */
        newReferenceObject(managedObject: NSManagedObject):any;
        /**
         * Updates the given cache node using the values in a given managed object.  
         */
        updateCacheNode(node: NSAtomicStoreCacheNode, managedObject: NSManagedObject):void;
        /**
         * Method invoked before the store removes the given collection of cache nodes.
         */
        willRemoveCacheNodes(cacheNodes: Set<NSAtomicStoreCacheNode>):void;
        /**
         * Saves the cache nodes.
         */
        save():void;
        /**
         * Returns the set of cache nodes registered with the receiver.
         */
        cacheNodes():Set<NSAtomicStoreCacheNode>;
        /**
         * Returns the cache node for a given managed object ID.  
         */
        cacheNode(objectID: NSManagedObjectID):NSAtomicStoreCacheNode | null;
        /**
         * Returns the reference object for a given managed object ID.
         */
        referenceObject(objectID: NSManagedObjectID):any;
    }
    export class NSPropertyDescription extends NSObject {
        /**
         * The entity description of the receiver.
         */
        entity: NSEntityDescription;
        /**
         * A Boolean value that indicates whether the receiver should be indexed for searching.
         */
        isIndexed: boolean;
        /**
         * A Boolean value that indicates whether the receiver is optional.
         */
        isOptional: boolean;
        /**
         * A Boolean value that indicates whether the receiver is transient.
         */
        isTransient: boolean;
        /**
         * The name of the receiver.
         */
        name: string;
        /**
         * The user info dictionary of the receiver.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * The validation predicates of the receiver.
         */
        validationPredicates: NSPredicate[];
        /**
         * The error strings associated with the receiver’s validation predicates.
         */
        validationWarnings: any[];
        /**
         * The version hash for the receiver.
         */
        versionHash: Data;
        /**
         * The version hash modifier for the receiver.
         */
        versionHashModifier: string;
        /**
         * The renaming identifier for the receiver.
         */
        renamingIdentifier: string;
        /**
         * A Boolean value that indicates whether Core Data adds the property’s value to the Core Spotlight index.
         */
        isIndexedBySpotlight: boolean;
        /**
         * A Boolean value that indicates whether to write the property’s data in an external record file that corresponds to the managed object.
         */
        isStoredInExternalRecord: boolean;
        /**
         * Sets the validation predicates and warnings of the receiver.
         */
        setValidationPredicates(validationPredicates: NSPredicate[] | null, validationWarnings: string[] | null):void;
    }
    export class NSPropertyMapping extends NSObject {
        /**
         * The name of the property in the destination entity for the property mapping.
         */
        name: string;
        /**
         * The value expression for the property mapping.
         */
        valueExpression: NSExpression | null;
        /**
         * The user info for the property mapping.
         */
        userInfo: Record<AnyHashable, any> | null;
    }
    export class NSAtomicStoreCacheNode extends NSObject {
        /**
         * The managed object ID of the node.
         */
        objectID: NSManagedObjectID;
        /**
         * The property cache dictionary of the node.
         */
        propertyCache: NSMutableDictionary | null;
        /**
         * Returns a cache node for the given managed object ID.
         */
        constructor (moid: NSManagedObjectID);
        /**
         * Returns the value for a given key.
         */
        value(key: string):any;
        /**
         * Sets the value for the given key.
         */
        setValue(value: any, key: string):void;
    }
    export enum NSPersistentStoreUbiquitousTransitionType {
        accountAdded = 1,
        accountRemoved = 2,
        contentRemoved = 3,
        initialImportCompleted = 4,
    }
    export class NSIncrementalStore extends NSPersistentStore {
        /**
         * Returns the identifier for the store at a given URL.
         */
        static identifierForNewStore(storeURL: URL):any;
        /**
         * Returns a value as appropriate for the given request, or nil if the request cannot be completed.
         */
        execute(request: NSPersistentStoreRequest, context: NSManagedObjectContext | null):any;
        /**
         * Returns an incremental store node encapsulating the persistent external values of the object with a given object ID.
         */
        newValuesForObject(objectID: NSManagedObjectID, context: NSManagedObjectContext):NSIncrementalStoreNode;
        /**
         * Returns the relationship for the given relationship of the object with a given object ID.
         */
        newValue(relationship: NSRelationshipDescription, objectID: NSManagedObjectID, context: NSManagedObjectContext | null):any;
        /**
         * Returns an array containing the object IDs for a given array of newly-inserted objects.
         */
        obtainPermanentIDs(array: NSManagedObject[]):NSManagedObjectID[];
        /**
         * Returns a new object ID that uses given data as the key.
         */
        newObjectID(entity: NSEntityDescription, data: any):NSManagedObjectID;
        /**
         * Returns the reference data used to construct a given object ID.
         */
        referenceObject(objectID: NSManagedObjectID):any;
        /**
         * Indicates that objects identified by a given array of object IDs are in use in a managed object context.
         */
        managedObjectContextDidRegisterObjects(objectIDs: NSManagedObjectID[]):void;
        /**
         * Indicates that objects identified by a given array of object IDs are no longer being used by a managed object context.
         */
        managedObjectContextDidUnregisterObjects(objectIDs: NSManagedObjectID[]):void;
        /**
         * Loads the metadata for the store.
         */
        loadMetadata():void;
    }
    export class NSIncrementalStoreNode extends NSObject {
        /**
         * The object ID that identifies the data stored by the receiver.
         */
        objectID: NSManagedObjectID;
        /**
         * The version of data in the receiver.
         */
        version: UInt64;
        /**
         * Returns an object initialized with the given values.
         */
        constructor (objectID: NSManagedObjectID, values: Record<string, any>, version: UInt64);
        /**
         * Update the values and version to reflect new data being saved to or loaded from the external store.
         */
        update(values: Record<string, any>, version: UInt64):void;
        /**
         * Returns the value for the given property.
         */
        value(prop: NSPropertyDescription):any;
    }
    export class NSManagedObject extends NSObject {
        /**
         * Provides support for key-value observing access notification.
         */
        didAccessValue(key: string):void;
        /**
         * Returns the observation info of the managed object.
         */
        observationInfo():UnsafeMutableRawPointer | null;
        /**
         * Sets the observation info of the managed object.
         */
        setObservationInfo(inObservationInfo: UnsafeMutableRawPointer | null):void;
        /**
         * Provides support for key-value observing access notification.
         */
        willAccessValue(key: string):void;
        /**
         * Provides an opportunity to respond when a value of a given property has changed.
         */
        didChangeValue(key: string):void;
        /**
         * Provides an opportunity to respond when a value of a given property is about to change.
         */
        willChangeValue(key: string):void;
    }
    export class NSManagedObjectModel extends NSObject {
        /**
         * The entities in the model.
         */
        entities: NSEntityDescription[];
        /**
         * The entities of the model, keyed by name.
         */
        entitiesByName: Record<string, NSEntityDescription>;
        /**
         * All the available configuration names of the model.
         */
        configurations: string[];
        /**
         * A dictionary of the receiver’s fetch request templates, keyed by name.
         */
        fetchRequestTemplatesByName: Record<string, NSFetchRequest<NSFetchRequestResult>>;
        /**
         * The localization dictionary of the model.
         */
        localizationDictionary: Record<string, string> | null;
        /**
         * A dictionary of the version hashes for the entities in the model, keyed by entity name.
         */
        entityVersionHashesByName: Record<string, Data>;
        /**
         * The set of developer-defined version identifiers for the model.
         */
        versionIdentifiers: Set<AnyHashable>;
        /**
         * Initializes the managed object model using the model file at the specified URL. 
         */
        constructor (url: URL);
        /**
         * Initializes an empty managed object model.
         */
        constructor ();
        /**
         * Creates a single model from an array of existing models.
         */
        constructor (models: NSManagedObjectModel[] | null);
        /**
         * Returns, for the version information in given metadata, a model merged from a given array of models.
         */
        constructor (models: NSManagedObjectModel[], metadata: Record<string, any>);
        /**
         * Returns a model created by merging all the models found in given bundles.
         */
        static mergedModel(bundles: Bundle[] | null):NSManagedObjectModel | null;
        /**
         * Associates the specified entities with the model using the given configuration name.
         */
        setEntities(entities: NSEntityDescription[], configuration: string):void;
        /**
         * Returns the fetch request with a specified name.
         */
        fetchRequestTemplate(name: string):NSFetchRequest<NSFetchRequestResult> | null;
        /**
         * Returns a copy of the fetch request template with the variables substituted by values from the substitutions dictionary.
         */
        fetchRequestFromTemplate(name: string, variables: Record<string, any>):NSFetchRequest<NSFetchRequestResult> | null;
        /**
         * Associates the specified fetch request with the receiver using the given name.
         */
        setFetchRequestTemplate(fetchRequestTemplate: NSFetchRequest<NSFetchRequestResult> | null, name: string):void;
        /**
         * Returns a Boolean value that indicates whether a given configuration in the model is compatible with given metadata from a persistent store. 
         */
        isConfiguration(configuration: string, metadata: Record<string, any>):boolean;
    }
    export class NSSnapshotEventType {
        /**
         * Specifies a change due to undo from insertion.
         */
        static undoInsertion: NSSnapshotEventType;
        /**
         * Specifies a change due to undo from deletion.
         */
        static undoDeletion: NSSnapshotEventType;
        /**
         * Specifies a change due to a property-level undo.
         */
        static undoUpdate: NSSnapshotEventType;
        /**
         * Specifies a change due to the managed object context being rolled back.
         */
        static rollback: NSSnapshotEventType;
        /**
         * Specifies a change due to the managed object being refreshed.
         */
        static refresh: NSSnapshotEventType;
        /**
         * Specifies a change due to conflict resolution during a save operation.
         */
        static mergePolicy: NSSnapshotEventType;
        /**
         * Creates a snapshot event using a raw value.
         */
        constructor (rawValue: number);
    }
    export class NSFetchRequestResultType {
        /**
         * The request returns managed objects.
         */
        static managedObjectResultType: NSFetchRequestResultType;
        /**
         * The request returns managed object IDs.
         */
        static managedObjectIDResultType: NSFetchRequestResultType;
        /**
         * The request returns dictionaries.
         */
        static dictionaryResultType: NSFetchRequestResultType;
        /**
         * The request returns the count of the objects that match the request.
         */
        static countResultType: NSFetchRequestResultType;
        /**
         * Creates a fetch request result type using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class NSFetchRequestExpression extends NSExpression {
        /**
         * The expression for the receiver’s fetch request.
         */
        requestExpression: NSExpression;
        /**
         * The expression for the receiver’s managed object context.
         */
        contextExpression: NSExpression;
        /**
         * Returns a Boolean value that indicates whether the receiver represents a count-only fetch request.
         */
        isCountOnlyRequest: boolean;
        /**
         * Returns an expression which will evaluate to the result of executing a fetch request on a context.
         */
        static expression(fetch: NSExpression, context: NSExpression, countFlag: boolean):NSExpression;
    }
    export class NSAttributeDescription extends NSPropertyDescription {
        /**
         * The class name that represents the attribute’s value.
         */
        attributeValueClassName: string;
        /**
         * The attribute’s type.
         */
        type: NSAttributeDescription.AttributeType;
        /**
         * A Boolean value that determines whether to encrypt the attribute’s value.
         */
        allowsCloudEncryption: boolean;
        /**
         * A Boolean value that indicates whether the attribute allows external binary storage.
         */
        allowsExternalBinaryDataStorage: boolean;
        /**
         * The default value of the attribute.
         */
        defaultValue: any;
        /**
         * A Boolean value that indicates whether the attribute records its value in the persistent history transaction for a managed object’s deletion.
         */
        preservesValueInHistoryOnDeletion: boolean;
        /**
         * The name of the transformer to use for the attribute value.
         */
        valueTransformerName: string;
        /**
         * The version hash for the attribute.
         */
        versionHash: Data;
        /**
         * The attribute’s type.
         */
        attributeType: NSAttributeType;
    }
    /**
     * the same name namespace of class NSAttributeDescription
     */
    export namespace NSAttributeDescription {
        export class AttributeType {
            /**
             * An attribute that stores binary data.
             */
            static binaryData: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a Boolean value.
             */
            static boolean: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a date.
             */
            static date: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a decimal value.
             */
            static decimal: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a double value.
             */
            static double: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a float value.
             */
            static float: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a 16-bit signed integer value.
             */
            static integer16: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a 32-bit signed integer value.
             */
            static integer32: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a 64-bit signed integer value.
             */
            static integer64: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a managed object’s ID.
             */
            static objectID: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a string.
             */
            static string: NSAttributeDescription.AttributeType;
            /**
             * An attribute that derives its value from a value transformer.
             */
            static transformable: NSAttributeDescription.AttributeType;
            /**
             * An attribute that doesn’t have an explicit type.
             */
            static undefined: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a uniform resource identifier.
             */
            static uri: NSAttributeDescription.AttributeType;
            /**
             * An attribute that stores a universally unique identifier.
             */
            static uuid: NSAttributeDescription.AttributeType;
            /**
             * The attribute type’s cardinal value.
             */
            rawValue: NSAttributeType;
            /**
             * The attribute type’s computed hash value.
             */
            hashValue: number;
            /**
             * Creates an attribute type using the specified raw value.
             */
            constructor (rawValue: NSAttributeType);
            /**
             * Hashes the components of the attribute type using the provided hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class NSFetchIndexDescription extends NSObject {
        /**
         * An array of fetch index element descriptions.
         */
        elements: NSFetchIndexElementDescription[];
        /**
         * The entity description for the fetch index description.
         */
        entity: NSEntityDescription | null;
        /**
         * The name of the fetch index description.
         */
        name: string;
        /**
         * A predicate that selects rows for indexing, if the index is a partial index.
         */
        partialIndexPredicate: NSPredicate | null;
        /**
         * Creates a fetch index description using the specified name and element descriptions.
         */
        constructor (name: string, elements: NSFetchIndexElementDescription[] | null);
    }
    export class NSFetchIndexElementDescription extends NSObject {
        /**
         * The type of collation that the index element uses, either binary or R-tree.
         */
        collationType: NSFetchIndexElementType;
        indexDescription: NSFetchIndexDescription | null;
        /**
         * A Boolean value that controls whether an index that supports direction is an ascending or descending index.
         */
        isAscending: boolean;
        /**
         * A property description.
         */
        property: NSPropertyDescription | null;
        /**
         * The specified name in the property description.
         */
        propertyName: string;
        /**
         * Creates an index element description using the specified property description and collation type.
         */
        constructor (property: NSPropertyDescription, collationType: NSFetchIndexElementType);
    }
    export class NSDerivedAttributeDescription extends NSAttributeDescription {
        /**
         * An expression for generating derived data.
         */
        derivationExpression: NSExpression | null;
    }
    export class NSExpressionDescription extends NSPropertyDescription {
        /**
         * The expression to evaluate.
         */
        expression: NSExpression | null;
        /**
         * The attribute type of the expression’s result.
         */
        resultType: NSAttributeDescription.AttributeType;
        /**
         * The attribute type of the expression’s result.
         */
        expressionResultType: NSAttributeType;
    }
    export interface NSFetchedResultsControllerDelegate extends NSObjectProtocol {
        /**
         * Notifies the receiver about changes to the content in the fetched results controller, by using a diffable data source snapshot.
         */
        controller(controller: NSFetchedResultsController<NSFetchRequestResult>, snapshot: NSDiffableDataSourceSnapshot):void;
        /**
         * Notifies the receiver that the fetched results controller is about to start processing of one or more changes due to an add, remove, move, or update.  
         */
        controllerWillChangeContent(controller: NSFetchedResultsController<NSFetchRequestResult>):void;
        /**
         * Notifies the receiver that the fetched results controller has completed processing of one or more changes due to an add, remove, move, or update.
         */
        controllerDidChangeContent(controller: NSFetchedResultsController<NSFetchRequestResult>):void;
    }
    export class NSPersistentCloudKitContainer extends NSPersistentContainer {
        /**
         * A notification that contains details about an event in a persistent CloudKit container.
         */
        static eventChangedNotification: NSNotification.Name;
        /**
         * The user info dictionary key for the persistent CloudKit container event.
         */
        static eventNotificationUserInfoKey: string;
        /**
         * Returns the CloudKit record for the specified managed object ID.
         */
        record(managedObjectID: NSManagedObjectID):CKRecord | null;
        /**
         * Returns a dictionary that contains the CloudKit records for the specified managed object IDs.
         */
        records(managedObjectIDs: NSManagedObjectID[]):Record<NSManagedObjectID, CKRecord>;
        /**
         * Returns the CloudKit record ID for the specified managed object ID.
         */
        recordID(managedObjectID: NSManagedObjectID):CKRecordID | null;
        /**
         * Returns a dictionary that contains the CloudKit record IDs for the specified managed object IDs.
         */
        recordIDs(managedObjectIDs: NSManagedObjectID[]):Record<NSManagedObjectID, CKRecordID>;
        /**
         * Returns a Boolean value that indicates whether the user can modify the managed object’s underlying CloudKit record.
         */
        canUpdateRecord(objectID: NSManagedObjectID):boolean;
        /**
         * Returns a Boolean value that indicates whether the user can delete the managed object’s underlying CloudKit record.
         */
        canDeleteRecord(objectID: NSManagedObjectID):boolean;
        /**
         * Returns a Boolean value that indicates whether the user can modify the specified persistent store.
         */
        canModifyManagedObjects(store: NSPersistentStore):boolean;
        /**
         * Accepts one or more invitations to participate in sharing using the specified metadata.
         */
        acceptShareInvitations(metadata: CKShareMetadata[], persistentStore: NSPersistentStore, completion: ()=>any | null):void;
        /**
         * Fetches all participants that match the specified critieria.
         */
        fetchParticipants(lookupInfos: CKUserIdentityLookupInfo[], persistentStore: NSPersistentStore, completion: ()=>any):void;
        /**
         * Returns an array that contains all share records in the specified persistent store.
         */
        fetchShares(persistentStore: NSPersistentStore | null):CKShare[];
        /**
         * Saves the share record and schedules it for export to iCloud.
         */
        persistUpdatedShare(share: CKShare, persistentStore: NSPersistentStore, completion: ()=>any | null):void;
        /**
         * Associates the specified managed objects with a new or existing share record.
         */
        share(managedObjects: NSManagedObject[], share: CKShare | null, completion: ()=>any):void;
        /**
         * Deletes all CloudKit records in the specified record zone, along with their corresponding managed objects.
         */
        purgeObjectsAndRecordsInZone(zoneID: CKRecordZoneID, persistentStore: NSPersistentStore | null, completion: ()=>any | null):void;
        /**
         * Creates the CloudKit schema for all stores in the container that manage a CloudKit database.
         */
        initializeCloudKitSchema(options: NSPersistentCloudKitContainerSchemaInitializationOptions):void;
    }
    /**
     * the same name namespace of class NSPersistentCloudKitContainer
     */
    export namespace NSPersistentCloudKitContainer {
        export class Event extends NSObject {
            /**
             * The type of event, either setup, import, or export.
             */
            type: NSPersistentCloudKitContainer.EventType;
            /**
             * A unique identifier for the event in a container.
             */
            identifier: UUID;
            /**
             * The associated store identifier in the container for the event.
             */
            storeIdentifier: string;
            /**
             * A Boolean value that indicates whether the operation the event represents is successful.
             */
            succeeded: boolean;
            /**
             * The start date of the operation that the event represents.
             */
            startDate: Date;
            /**
             * The end date of the operation that the event represents.
             */
            endDate: Date | null;
            /**
             * An error that indicates why an operation fails.
             */
            error: Error | null;
        }
        export enum EventType {
            setup = 0,
            import = 1,
            export = 2,
        }
    }
    export enum NSAttributeType {
        undefinedAttributeType = 0,
        integer16AttributeType = 100,
        integer32AttributeType = 200,
        integer64AttributeType = 300,
        decimalAttributeType = 400,
        doubleAttributeType = 500,
        floatAttributeType = 600,
        stringAttributeType = 700,
        booleanAttributeType = 800,
        dateAttributeType = 900,
        binaryDataAttributeType = 1000,
        transformableAttributeType = 1800,
        objectIDAttributeType = 2000,
        URIAttributeType = 1200,
        UUIDAttributeType = 1100,
    }
    export class NSRelationshipDescription extends NSPropertyDescription {
        /**
         * The relationship that represents the inverse of the current relationship.
         */
        inverseRelationship: NSRelationshipDescription | null;
        /**
         * The type of object the relationship contains.
         */
        destinationEntity: NSEntityDescription | null;
        /**
         * A Boolean value that determines whether the relationship preserves the order of the referenced managed objects.
         */
        isOrdered: boolean;
        /**
         * Returns a Boolean value that indicates whether the relationship can contain many managed objects.
         */
        isToMany: boolean;
        /**
         * The minimum number of managed objects the relationship can reference.
         */
        minCount: number;
        /**
         * The maximum number of managed objects the relationship can reference.
         */
        maxCount: number;
        /**
         * The rule to apply when you delete the relationship’s owning managed object.
         */
        deleteRule: NSDeleteRule;
        /**
         * The relationship’s unique identity.
         */
        versionHash: Data;
    }
    export class NSFetchedPropertyDescription extends NSPropertyDescription {
        /**
         * The fetch request of the receiver.
         */
        fetchRequest: NSFetchRequest<NSFetchRequestResult> | null;
    }
    export enum NSFetchedResultsChangeType {
        insert = 1,
        delete = 2,
        move = 3,
        update = 4,
    }
    export interface NSFetchedResultsSectionInfo {
        /**
         * The number of objects (rows) in the section.
         */
        numberOfObjects: number;
        /**
         * The array of objects in the section.
         */
        objects: any[] | null;
        /**
         * The name of the section.
         */
        name: string;
        /**
         * The index title of the section.
         */
        indexTitle: string;
    }
    export class NSPersistentCloudKitContainerSchemaInitializationOptions {
        /**
         * A flag that indicates the container validates the model and generates the records, but doesn’t upload them to CloudKit.
         */
        static dryRun: NSPersistentCloudKitContainerSchemaInitializationOptions;
        /**
         * Prints the generated records to the console.
         */
        static printSchema: NSPersistentCloudKitContainerSchemaInitializationOptions;
        /**
         * Creates the schema initialization options using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class NSPersistentCloudKitContainerOptions extends NSObject {
        /**
         * The identifier of the CloudKit container associated with a given store description.
         */
        containerIdentifier: string;
        /**
         * The database scope — public, private, or shared — to use for a specified store in a persistent CloudKit container.
         */
        databaseScope: CKDatabase.Scope;
        /**
         * Initializes container options using the given CloudKit container identifier.
         */
        constructor (containerIdentifier: string);
    }
    export enum NSFetchIndexElementType {
        binary = 0,
        rTree = 1,
    }
    export enum NSDeleteRule {
        noActionDeleteRule = 0,
        nullifyDeleteRule = 1,
        cascadeDeleteRule = 2,
        denyDeleteRule = 3,
    }
    export class NSManagedObjectContext extends NSObject {
        /**
         * A notification that posts when the context completes a save.
         */
        static didChangeObjectsNotification: Notification.Name;
        /**
         * A notification that posts when the context completes a save.
         */
        static didSaveObjectsNotification: Notification.Name;
        /**
         * A notification that the context is about to save.
         */
        static willSaveObjectsNotification: Notification.Name;
        /**
         * A notification that a posts when changes to managed objects with the specified object identifiers merge into the context.
         */
        static didMergeChangesObjectIDsNotification: Notification.Name;
        /**
         * A notification that posts when the context saves changes.
         */
        static didSaveObjectIDsNotification: Notification.Name;
        /**
         * The persistent store coordinator of the context.
         */
        persistentStoreCoordinator: NSPersistentStoreCoordinator | null;
        /**
         * The parent of the context.
         */
        parent: NSManagedObjectContext | null;
        /**
         * The developer-provided name of the context.
         */
        name: string;
        /**
         * The user information for the context.
         */
        userInfo: NSMutableDictionary;
        /**
         * The set of registered managed objects in the context.
         */
        registeredObjects: Set<NSManagedObject>;
        /**
         * A Boolean value that indicates whether the context keeps strong references to all registered managed objects.
         */
        retainsRegisteredObjects: boolean;
        /**
         * A Boolean value that determines whether the context turns inaccessible faults into deleted objects.
         */
        shouldDeleteInaccessibleFaults: boolean;
        /**
         * The set of objects that have been inserted into the context but not yet saved in a persistent store.
         */
        insertedObjects: Set<NSManagedObject>;
        /**
         * The set of objects registered with the context that have uncommitted changes.
         */
        updatedObjects: Set<NSManagedObject>;
        /**
         * The set of objects that will be removed from their persistent store during the next save operation.
         */
        deletedObjects: Set<NSManagedObject>;
        /**
         * A Boolean value that indicates whether the context automatically merges changes saved to its persistent store coordinator or parent context.
         */
        automaticallyMergesChangesFromParent: boolean;
        /**
         * The concurrency type for the context.
         */
        concurrencyType: NSManagedObjectContextConcurrencyType;
        /**
         * The merge policy of the context.
         */
        mergePolicy: any;
        /**
         * Returns the token associated with the query generation currently in use by this context.
         */
        queryGenerationToken: NSQueryGenerationToken | null;
        /**
         * The author for the context that is used as an identifier in persistent history transactions.
         */
        transactionAuthor: string;
        /**
         * A Boolean value that indicates whether the context has uncommitted changes.
         */
        hasChanges: boolean;
        /**
         * The object that provides undo support for the context.
         */
        undoManager: UndoManager | null;
        /**
         * A Boolean value that indicates whether the context propagates deletes at the end of the event in which a change was made.
         */
        propagatesDeletesAtEndOfEvent: boolean;
        /**
         * The maximum length of time that may have elapsed since the store previously fetched data before fulfilling a fault issues a new fetch.
         */
        stalenessInterval: TimeInterval;
        /**
         * Creates a context that uses the specified concurrency type.
         */
        constructor (type: NSManagedObjectContext.ConcurrencyType);
        /**
         * Creates a context that uses the specified concurrency type.
         */
        constructor (ct: NSManagedObjectContextConcurrencyType);
        constructor ();
        /**
         * Handles changes from other processes or from a serialized state.
         */
        static mergeChanges(changeNotificationData: Record<AnyHashable, any>, contexts: NSManagedObjectContext[]):void;
        static new():Self;
        /**
         * Returns an array of objects that meet the criteria of the specified fetch request.
         */
        fetch(request: NSFetchRequest<NSFetchRequestResult>):any[];
        /**
         * Returns the number of objects the specified request fetches when it executes.
         */
        count(request: NSFetchRequest<NSFetchRequestResult>):number;
        /**
         * Returns an object that exists in the context.
         */
        registeredObject(objectID: NSManagedObjectID):NSManagedObject | null;
        /**
         * Returns either an existing object from the context or a fault that represents that object.
         */
        object(objectID: NSManagedObjectID):NSManagedObject;
        /**
         * Returns an existing object from either the context or the persistent store.
         */
        existingObject(objectID: NSManagedObjectID):NSManagedObject;
        /**
         * Passes a request to the persistent store without affecting the contents of the managed object context, and returns a persistent store result.
         */
        execute(request: NSPersistentStoreRequest):NSPersistentStoreResult;
        /**
         * Refreshes all of the registered managed objects in the context.
         */
        refreshAllObjects():void;
        /**
         * Creates a log of the inaccessible fault.
         */
        shouldHandleInaccessibleFault(fault: NSManagedObject, oid: NSManagedObjectID, property: NSPropertyDescription | null):boolean;
        /**
         * Registers an object to be inserted in the context’s persistent store the next time changes are saved.
         */
        insert(object: NSManagedObject):void;
        /**
         * Specifies an object that should be removed from its persistent store when changes are committed.
         */
        delete(object: NSManagedObject):void;
        /**
         * Specifies the store in which a newly inserted object will be saved.
         */
        assign(object: any, store: NSPersistentStore):void;
        /**
         * Converts to permanent IDs the object IDs of the objects in a given array.
         */
        obtainPermanentIDs(objects: NSManagedObject[]):void;
        /**
         * Marks an object for conflict detection. 
         */
        detectConflicts(object: NSManagedObject):void;
        /**
         * Updates the persistent properties of a managed object to use the latest values from the persistent store.
         */
        refresh(object: NSManagedObject, flag: boolean):void;
        /**
         * Forces the context to process changes to the object graph.
         */
        processPendingChanges():void;
        /**
         * Allows a context that has registered as an observer of a value to be notified of a change to that value.
         */
        observeValue(keyPath: string, object: any, change: Record<string, any> | null, context: UnsafeMutableRawPointer | null):void;
        /**
         * Sets the query generation this context should use.
         */
        setQueryGenerationFrom(generation: NSQueryGenerationToken | null):void;
        /**
         * Attempts to commit unsaved changes to registered objects to the context’s parent store.
         */
        save():void;
        /**
         * Sends an undo message to the context’s undo manager, asking it to reverse the latest uncommitted changes applied to objects in the object graph.
         */
        undo():void;
        /**
         * Sends a redo message to the context’s undo manager, asking it to reverse the latest undo operation applied to objects in the object graph.
         */
        redo():void;
        /**
         * Returns the context to its base state.
         */
        reset():void;
        /**
         * Removes everything from the undo stack, discards all insertions and deletions, and restores updated objects to their last committed values.
         */
        rollback():void;
        /**
         * Asynchronously performs the specified block on the context’s queue.
         */
        perform(block: ()=>any):void;
        /**
         * Synchronously performs the specified block on the context’s queue.
         */
        performAndWait(block: ()=>any):void;
        /**
         * Attempts to acquire a lock on the context.
         */
        lock():void;
        /**
         * Attempts to acquire a lock.
         */
        tryLock():boolean;
        /**
         * Relinquishes a previously acquired lock.
         */
        unlock():void;
    }
    /**
     * the same name namespace of class NSManagedObjectContext
     */
    export namespace NSManagedObjectContext {
        export class ConcurrencyType {
            /**
             * A concurrency type where the context performs its tasks on the main queue.
             */
            static mainQueue: NSManagedObjectContext.ConcurrencyType;
            /**
             * A concurrency type where the context performs its tasks on a private queue.
             */
            static privateQueue: NSManagedObjectContext.ConcurrencyType;
            /**
             * The concurrency type’s cardinal value.
             */
            rawValue: NSManagedObjectContextConcurrencyType;
            /**
             * The concurrency type’s computed hash value.
             */
            hashValue: number;
            /**
             * Creates a concurrency type using the specified raw value.
             */
            constructor (rawValue: NSManagedObjectContextConcurrencyType);
            /**
             * Hashes the components of the concurrency type using the provided hasher.
             */
            hash(hasher: Hasher):void;
        }
        export enum NotificationKey {
            deletedObjectIDs,
            deletedObjects,
            insertedObjectIDs,
            insertedObjects,
            invalidatedAllObjects,
            invalidatedObjectIDs,
            invalidatedObjects,
            queryGeneration,
            refreshedObjectIDs,
            refreshedObjects,
            updatedObjectIDs,
            updatedObjects,
        }
        export enum ScheduledTaskType {
            enqueued,
            immediate,
        }
    }
    export interface NSFetchRequestResult extends NSObjectProtocol {}
    export class NSPersistentHistoryToken extends NSObject {}
    export class NSPersistentHistoryChangeRequest extends NSPersistentStoreRequest {
        /**
         * The specified fetch request, when retrieving history.
         */
        fetchRequest: NSFetchRequest<NSFetchRequestResult> | null;
        /**
         * The type of result that this request returns.
         */
        resultType: NSPersistentHistoryResultType;
        /**
         * The specified token, when retrieving history defined by a token.
         */
        token: NSPersistentHistoryToken | null;
        /**
         * Retrieves history since a given date.
         */
        static fetchHistory(date: Date):Self;
        /**
         * Purges history older than a given date.
         */
        static deleteHistory(date: Date):Self;
    }
    export enum NSManagedObjectContextConcurrencyType {
        privateQueueConcurrencyType = 1,
        mainQueueConcurrencyType = 2,
        confinementConcurrencyType = 0,
    }
    export class NSManagedObjectID extends NSObject {
        /**
         * The entity description associated with the object ID.
         */
        entity: NSEntityDescription;
        /**
         * A Boolean value that indicates whether the object ID is temporary.
         */
        isTemporaryID: boolean;
        /**
         * The persistent store that fetched the object for the object ID.
         */
        persistentStore: NSPersistentStore | null;
        /**
         * Returns a URI that provides an archiveable reference to the object for the object ID.
         */
        uriRepresentation():URL;
    }
    export class NSPersistentCloudKitContainerEventRequest extends NSPersistentStoreRequest {
        /**
         * The type of result that the request returns.
         */
        resultType: NSPersistentCloudKitContainerEventResult.ResultType;
        /**
         * Creates a fetch request for events after a specified date from a persistent CloudKit container.
         */
        static fetchEvents(date: Date):Self;
        /**
         * Creates a fetch request for all events in a persistent CloudKit container.
         */
        static fetchForEvents():NSFetchRequest<NSFetchRequestResult>;
    }
    export class NSPersistentHistoryResult extends NSPersistentStoreResult {
        /**
         * The result of the history request determined by the persistent history result type.
         */
        result: any;
        /**
         * The type of result that the persistent history change request returns.
         */
        resultType: NSPersistentHistoryResultType;
    }
    export class NSConstraintConflict extends NSObject {
        /**
         * The managed objects that are in conflict.
         */
        conflictingObjects: NSManagedObject[];
        /**
         * The original property values of objects in violation of the constraint.
         */
        conflictingSnapshots: Record<[AnyHashable, Any]>;
        /**
         * The constraint that has been violated.
         */
        constraint: string[];
        /**
         * The values that the conflicting objects had when the conflict was created.
         */
        constraintValues: Record<string, any>;
        /**
         * The object whose database row is using constraint values.
         */
        databaseObject: NSManagedObject | null;
        /**
         * The values currently stored in the database.
         */
        databaseSnapshot: Record<string, any> | null;
        /**
         * Initializes a constraint conflict.
         */
        constructor (contraint: string[], databaseObject: NSManagedObject | null, databaseSnapshot: Record<AnyHashable, any> | null, conflictingObjects: NSManagedObject[], conflictingSnapshots: any[]);
    }
    export enum NSPersistentHistoryResultType {
        statusOnly = 0,
        count = 2,
        objectIDs = 1,
        transactionsAndChanges = 5,
        transactionsOnly = 3,
        changesOnly = 4,
    }
    export class NSPersistentHistoryTransaction extends NSObject {
        /**
         * A fetch request that has the persistent history transaction as the entity.
         */
        static fetchRequest: NSFetchRequest<NSFetchRequestResult> | null;
        /**
         * The entity description of the persistent history transaction entity.
         */
        static entityDescription: NSEntityDescription | null;
        /**
         * A granular description of the context that made the persistent history change, if available.
         */
        author: string;
        /**
         * The originating bundle’s identifier.
         */
        bundleID: string;
        /**
         * The array of persistent history changes.
         */
        changes: NSPersistentHistoryChange[] | null;
        /**
         * The originating context’s name.
         */
        contextName: string;
        /**
         * The originating process’s identifier.
         */
        processID: string;
        /**
         * The originating store’s identifier.
         */
        storeID: string;
        /**
         * The date of the persistent history change.
         */
        timestamp: Date;
        /**
         * The token that represents this transaction in the persistent history.
         */
        token: NSPersistentHistoryToken;
        /**
         * The transaction’s numeric identifier.
         */
        transactionNumber: Int64;
        /**
         * Obtains a notification for use in merging the transaction’s changes into a managed object context.
         */
        objectIDNotification():Notification;
    }
    export class NSPersistentCloudKitContainerEventResult extends NSPersistentStoreResult {
        /**
         * The result of the persistent CloudKit container event request, which the result type determines.
         */
        result: any;
        /**
         * The type of result that the CloudKit container event fetch request returns.
         */
        resultType: NSPersistentCloudKitContainerEventResult.ResultType;
    }
    /**
     * the same name namespace of class NSPersistentCloudKitContainerEventResult
     */
    export namespace NSPersistentCloudKitContainerEventResult {
        export enum ResultType {
            events = 0,
            countEvents = 1,
        }
    }
    export class NSMergeConflict extends NSObject {
        /**
         * The source object for the conflict.
         */
        sourceObject: NSManagedObject;
        /**
         * A dictionary containing the values of the source object.
         */
        objectSnapshot: Record<string, any> | null;
        /**
         * A dictionary containing the values of the source object held in the persistent store coordinator layer.
         */
        cachedSnapshot: Record<string, any> | null;
        /**
         * A dictionary containing the values of the source object held in the persistent store.
         */
        persistedSnapshot: Record<string, any> | null;
        /**
         * The new version number for the change.
         */
        newVersionNumber: number;
        /**
         * The old version number for the change.
         */
        oldVersionNumber: number;
        /**
         * Initializes a merge conflict.
         */
        constructor (srcObject: NSManagedObject, newvers: number, oldvers: number, cachesnap: Record<string, any> | null, persnap: Record<string, any> | null);
    }
    export class NSBatchInsertRequest extends NSPersistentStoreRequest {
        /**
         * A closure that provides a dictionary for your app to insert data into.
         */
        dictionaryHandler: ()=>any | null;
        /**
         * The managed entity to insert data into.
         */
        entity: NSEntityDescription | null;
        /**
         * The name of the managed entity to insert data into.
         */
        entityName: string;
        /**
         * A closure that provides a managed object for your app to insert data into.
         */
        managedObjectHandler: ()=>any | null;
        /**
         * An array of dictionaries that represents the objects to insert with the keys as attribute names and their assigned values.
         */
        objectsToInsert: Record<[String, Any]> | null;
        /**
         * The type of result that Core Data returns from this request.
         */
        resultType: NSBatchInsertRequestResultType;
        /**
         * Creates a batch-insertion request for a managed entity, and specifies a closure that provides data dictionaries for insertion.
         */
        constructor (entity: NSEntityDescription, handler: ()=>any);
        /**
         * Creates a batch-insertion request for a managed entity, and specifies a closure that inserts data into the entity.
         */
        constructor (entity: NSEntityDescription, handler: ()=>any);
        /**
         * Creates a batch-insertion request for a named managed entity, and specifies a closure that provides data dictionaries for insertion.
         */
        constructor (entityName: string, handler: ()=>any);
        /**
         * Creates a batch-insertion request for a named managed entity, and specifies a closure that inserts data into the entity.
         */
        constructor (entityName: string, handler: ()=>any);
        /**
         * Creates a batch-insertion request for a managed entity, and provides an array of data dictionaries for insertion.
         */
        constructor (entity: NSEntityDescription, dictionaries: Record<[String, Any]>);
        /**
         * Creates a batch-insertion request for a named managed entity, and provides an array of data dictionaries for insertion.
         */
        constructor (entityName: string, dictionaries: Record<[String, Any]>);
        /**
         * Creates a Core Data batch-insertion request.
         */
        constructor ();
    }
    export class NSPersistentHistoryChange extends NSObject {
        /**
         * A fetch request that has the persistent history change as the entity.
         */
        static fetchRequest: NSFetchRequest<NSFetchRequestResult> | null;
        /**
         * The entity description of the persistent history change entity.
         */
        static entityDescription: NSEntityDescription | null;
        /**
         * The change’s numeric identifier.
         */
        changeID: Int64;
        /**
         * The type of change to the managed object in the persistent store.
         */
        changeType: NSPersistentHistoryChangeType;
        /**
         * The identifier of the managed object that changed.
         */
        changedObjectID: NSManagedObjectID;
        /**
         * A dictionary of attributes marked for preservation after deletion, and their values when deleted.
         */
        tombstone: Record<AnyHashable, any> | null;
        /**
         * The persistent history transaction containing this change.
         */
        transaction: NSPersistentHistoryTransaction | null;
        /**
         * The set of properties that were updated on the managed object.
         */
        updatedProperties: Set<NSPropertyDescription> | null;
    }
    export class NSMergePolicy extends NSObject {
        /**
         * The default merge policy for all managed object contexts.
         */
        static error: NSMergePolicy;
        /**
         * A property-based merge policy that applies external changes.
         */
        static mergeByPropertyStoreTrump: NSMergePolicy;
        /**
         * A property-based merge policy that applies in-memory changes.
         */
        static mergeByPropertyObjectTrump: NSMergePolicy;
        /**
         * A merge policy that overwrites the entire stored object.
         */
        static overwrite: NSMergePolicy;
        /**
         * A merge policy that discards unsaved changes.
         */
        static rollback: NSMergePolicy;
        /**
         * The merge type.
         */
        mergeType: NSMergePolicyType;
        /**
         * Returns a merge policy initialized with a given policy type.
         */
        constructor (ty: NSMergePolicyType);
        /**
         * Resolves the conflicts in a given list.
         */
        resolve(list: any[]):void;
    }
    export class NSBatchInsertResult extends NSPersistentStoreResult {
        /**
         * The result of a batch-insertion request.
         */
        result: any;
        /**
         * The type of result that Core Data returns from this request.
         */
        resultType: NSBatchInsertRequestResultType;
    }
    export class NSPersistentStoreDescription extends NSObject {
        /**
         * The URL that the store will use for its location.
         */
        url: URL | null;
        /**
         * The name of the configuration used by this store.
         */
        configuration: string;
        /**
         * The connection timeout for the associated store.
         */
        timeout: TimeInterval;
        /**
         * The type of store this description represents.
         */
        type: string;
        /**
         * A flag that indicates whether this store will be read-only.
         */
        isReadOnly: boolean;
        /**
         * A flag that determines whether the store is added asynchronously.
         */
        shouldAddStoreAsynchronously: boolean;
        /**
         * A flag indicating whether a mapping model should be created automatically.
         */
        shouldInferMappingModelAutomatically: boolean;
        /**
         * A flag indicating whether the associated persistent store should be migrated automatically.
         */
        shouldMigrateStoreAutomatically: boolean;
        /**
         * A dictionary representation of the options set on the associated persistent store.
         */
        options: Record<string, NSObject>;
        /**
         * The SQLite pragmas set for the associated persistent store. (read-only)
         */
        sqlitePragmas: Record<string, NSObject>;
        /**
         * Options that customize how this store description aligns with a CloudKit database.
         */
        cloudKitContainerOptions: NSPersistentCloudKitContainerOptions | null;
        /**
         * Initializes the receiver with a URL for the store.
         */
        constructor (url: URL);
        /**
         * Sets an option on the store.
         */
        setOption(option: NSObject | null, key: string):void;
        /**
         * Allows you to set pragmas for the SQLite store.
         */
        setValue(value: NSObject | null, name: string):void;
    }
    export enum NSPersistentHistoryChangeType {
        delete = 2,
        insert = 0,
        update = 1,
    }
}

/**
 * Harness the power of Quartz technology to perform lightweight 2D rendering with high-fidelity output. Handle path-based drawing, antialiased rendering, gradients, images, color management, PDF documents, and more.
 */
declare module CoreGraphics {
    export class CGDisplayMode {
        /**
         * Returns the type identifier of Quartz display modes.
         */
        static typeID: CFTypeID;
    }
    export class CGDisplayStream {
        /**
         * Returns the type identifier of a Quartz display stream.
         */
        static typeID: CFTypeID;
        /**
         * Gets the run loop source for a display stream.
         */
        runLoopSource: CFRunLoopSource | null;
        /**
         * Creates a new display stream to be used with a 
         * .
         */
        constructor (display: CGDirectDisplayID, outputWidth: number, outputHeight: number, pixelFormat: Int32, properties: CFDictionary | null, handler: CGDisplayStreamFrameAvailableHandler | null);
        /**
         * Creates a new display stream whose updates are delivered to a dispatch queue.
         */
        constructor (display: CGDirectDisplayID, outputWidth: number, outputHeight: number, pixelFormat: Int32, properties: CFDictionary | null, queue: DispatchQueue, handler: CGDisplayStreamFrameAvailableHandler | null);
        /**
         * Tells a stream to start sending updates.
         */
        start():CGError;
        /**
         * Tells a stream to stop sending updates.
         */
        stop():CGError;
    }
    export class CGDisplayStreamUpdate {
        /**
         * Returns the type identifier of a Quartz display stream update.
         */
        static typeID: CFTypeID;
        /**
         * Returns the number of frames that have been dropped since the last call to your update handler.
         */
        dropCount: number;
        /**
         * Combines two updates into a new update that includes the metadata for both source updates.
         */
        constructor (firstUpdate: CGDisplayStreamUpdate | null, secondUpdate: CGDisplayStreamUpdate | null);
        /**
         * Returns an array of rectangles that describe where the frame has changed since the previous frame.
         */
        getRects(rectType: CGDisplayStreamUpdateRectType, rectCount: UnsafeMutablePointer<Int>):UnsafePointer<CGRect> | null;
        /**
         * Return the movement delta values for a single update.
         */
        getMovedRectsDelta(dx: UnsafeMutablePointer<CGFloat>, dy: UnsafeMutablePointer<CGFloat>):void;
    }
    export class CGScreenUpdateMoveDelta {
        dX: Int32;
        dY: Int32;
        constructor ();
        constructor (dX: Int32, dY: Int32);
    }
    export class CGCaptureOptions {
        /**
         * Disables fill with black.
         */
        static noFill: CGCaptureOptions;
        constructor (rawValue: UInt32);
    }
    export class CGDisplayChangeSummaryFlags {
        /**
         * The display configuration is about to change.
         */
        static beginConfigurationFlag: CGDisplayChangeSummaryFlags;
        /**
         * The location of the upper-left corner of the display in the global display coordinate space has changed.
         */
        static movedFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display is now the main display.
         */
        static setMainFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display mode has changed.
         */
        static setModeFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display has been added to the active display list.
         */
        static addFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display has been removed from the active display list.
         */
        static removeFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display has been enabled.
         */
        static enabledFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display has been disabled.
         */
        static disabledFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display is now mirroring another display.
         */
        static mirrorFlag: CGDisplayChangeSummaryFlags;
        /**
         * The display is no longer mirroring another display.
         */
        static unMirrorFlag: CGDisplayChangeSummaryFlags;
        static desktopShapeChangedFlag: CGDisplayChangeSummaryFlags;
        constructor (rawValue: UInt32);
    }
    export class CGConfigureOption {
        /**
         * Changes persist for the lifetime of the current application. After the application terminates, the display configuration settings revert to the current login session.
         */
        static forAppOnly: CGConfigureOption;
        /**
         * Changes persist for the lifetime of the current login session. After the current session terminates, the displays revert to the last saved permanent configuration.
         */
        static forSession: CGConfigureOption;
        static permanently: CGConfigureOption;
        constructor (rawValue: UInt32);
    }
    export class CGScreenUpdateOperation {
        /**
         * A screen-refresh operation.
         */
        static refresh: CGScreenUpdateOperation;
        /**
         * A screen-move operation.
         */
        static move: CGScreenUpdateOperation;
        static reducedDirtyRectangleCount: CGScreenUpdateOperation;
        constructor (rawValue: UInt32);
    }
    export enum CGWindowLevelKey {
        baseWindow = 0,
        minimumWindow = 1,
        desktopWindow = 2,
        backstopMenu = 3,
        normalWindow = 4,
        floatingWindow = 5,
        tornOffMenuWindow = 6,
        dockWindow = 7,
        mainMenuWindow = 8,
        statusWindow = 9,
        modalPanelWindow = 10,
        popUpMenuWindow = 11,
        draggingWindow = 12,
        screenSaverWindow = 13,
        maximumWindow = 14,
        overlayWindow = 15,
        helpWindow = 16,
        utilityWindow = 17,
        desktopIconWindow = 18,
        cursorWindow = 19,
        assistiveTechHighWindow = 20,
        numberOfWindowLevelKeys = 21,
    }
    export enum CGDisplayStreamUpdateRectType {
        refreshedRects = 0,
        movedRects = 1,
        dirtyRects = 2,
        reducedDirtyRects = 3,
    }
    export enum CGDisplayStreamFrameStatus {
        frameComplete = 0,
        frameIdle = 1,
        frameBlank = 2,
        stopped = 3,
    }
    export class CGEvent {
        /**
         * Returns the type identifier for the opaque type 
         * .
         */
        static typeID: CFTypeID;
        /**
         * Returns the event type of a Quartz event (left mouse down, for example).
         */
        type: CGEventType;
        /**
         * Returns the timestamp of a Quartz event.
         */
        timestamp: CGEventTimestamp;
        /**
         * Returns the location of a Quartz mouse event.
         */
        location: CGPoint;
        /**
         * Returns the location of a Quartz mouse event.
         */
        unflippedLocation: CGPoint;
        /**
         * Returns the event flags of a Quartz event.
         */
        flags: CGEventFlags;
        /**
         * Returns a new Quartz event.
         */
        constructor (source: CGEventSource | null);
        /**
         * Returns a Quartz event created from a flattened data representation of the event.
         */
        constructor (allocator: CFAllocator | null, data: CFData | null);
        /**
         * Returns a new Quartz mouse event.
         */
        constructor (source: CGEventSource | null, mouseType: CGEventType, mouseCursorPosition: CGPoint, mouseButton: CGMouseButton);
        /**
         * Returns a new Quartz keyboard event.
         */
        constructor (source: CGEventSource | null, virtualKey: CGKeyCode, keyDown: boolean);
        /**
         * Creates an event tap.
         */
        static tapCreate(tap: CGEventTapLocation, place: CGEventTapPlacement, options: CGEventTapOptions, eventsOfInterest: CGEventMask, callback: CGEventTapCallBack, userInfo: UnsafeMutableRawPointer | null):CFMachPort | null;
        /**
         * Creates an event tap for a specified process.
         */
        static tapCreateForPSN(processSerialNumber: UnsafeMutableRawPointer, place: CGEventTapPlacement, options: CGEventTapOptions, eventsOfInterest: CGEventMask, callback: CGEventTapCallBack, userInfo: UnsafeMutableRawPointer | null):CFMachPort | null;
        /**
         * Enables or disables an event tap.
         */
        static tapEnable(tap: CFMachPort, enable: boolean):void;
        /**
         * Returns a Boolean value indicating whether an event tap is enabled.
         */
        static tapIsEnabled(tap: CFMachPort):boolean;
        /**
         * Returns a copy of an existing Quartz event.
         */
        copy():CGEvent | null;
        /**
         * Sets the event source of a Quartz event.
         */
        setSource(source: CGEventSource | null):void;
        /**
         * Returns the Unicode string associated with a Quartz keyboard event.
         */
        keyboardGetUnicodeString(maxStringLength: number, actualStringLength: UnsafeMutablePointer<Int> | null, unicodeString: UnsafeMutablePointer<UniChar> | null):void;
        /**
         * Sets the Unicode string associated with a Quartz keyboard event.
         */
        keyboardSetUnicodeString(stringLength: number, unicodeString: UnsafePointer<UniChar> | null):void;
        /**
         * Returns the integer value of a field in a Quartz event.
         */
        getIntegerValueField(field: CGEventField):Int64;
        /**
         * Sets the integer value of a field in a Quartz event.
         */
        setIntegerValueField(field: CGEventField, value: Int64):void;
        /**
         * Returns the floating-point value of a field in a Quartz event.
         */
        getDoubleValueField(field: CGEventField):number;
        /**
         * Sets the floating-point value of a field in a Quartz event.
         */
        setDoubleValueField(field: CGEventField, value: number):void;
        /**
         * Posts a Quartz event from an event tap into the event stream.
         */
        tapPostEvent(proxy: CGEventTapProxy | null):void;
        /**
         * Posts a Quartz event into the event stream at a specified location.
         */
        post(tap: CGEventTapLocation):void;
        /**
         * Posts a Quartz event into the event stream for a specific application.
         */
        postToPSN(processSerialNumber: UnsafeMutableRawPointer | null):void;
    }
    export class CGEventSource {
        /**
         * Returns the type identifier for the opaque type 
         * .
         */
        static typeID: CFTypeID;
        /**
         * Returns the keyboard type to be used with a Quartz event source.
         */
        keyboardType: CGEventSourceKeyboardType;
        /**
         * Returns the source state associated with a Quartz event source.
         */
        sourceStateID: CGEventSourceStateID;
        /**
         * Returns the 64-bit user-specified data for a Quartz event source.
         */
        userData: Int64;
        /**
         * Returns the interval that local hardware events may be suppressed following the posting of a Quartz event.
         */
        localEventsSuppressionInterval: CFTimeInterval;
        /**
         * Gets the scale of pixels per line in a scrolling event source.
         */
        pixelsPerLine: number;
        /**
         * Returns a Quartz event source created from an existing Quartz event.
         */
        constructor (event: CGEvent | null);
        /**
         * Returns a Quartz event source created with a specified source state.
         */
        constructor (stateID: CGEventSourceStateID);
        /**
         * Returns a Boolean value indicating the current button state of a Quartz event source.
         */
        static buttonState(stateID: CGEventSourceStateID, button: CGMouseButton):boolean;
        /**
         * Returns a Boolean value indicating the current keyboard state of a Quartz event source.
         */
        static keyState(stateID: CGEventSourceStateID, key: CGKeyCode):boolean;
        /**
         * Returns the current flags of a Quartz event source.
         */
        static flagsState(stateID: CGEventSourceStateID):CGEventFlags;
        /**
         * Returns the elapsed time since the last event for a Quartz event source.
         */
        static secondsSinceLastEventType(stateID: CGEventSourceStateID, eventType: CGEventType):CFTimeInterval;
        /**
         * Returns a count of events of a given type seen since the window server started.
         */
        static counterForEventType(stateID: CGEventSourceStateID, eventType: CGEventType):UInt32;
        /**
         * Returns the mask that indicates which classes of local hardware events are enabled during event suppression.
         */
        getLocalEventsFilterDuringSuppressionState(state: CGEventSuppressionState):CGEventFilterMask;
        /**
         * Sets the mask that indicates which classes of local hardware events are enabled during event suppression.
         */
        setLocalEventsFilterDuringSuppressionState(filter: CGEventFilterMask, state: CGEventSuppressionState):void;
    }
    export enum CGEventField {
        mouseEventNumber = 0,
        mouseEventClickState = 1,
        mouseEventPressure = 2,
        mouseEventButtonNumber = 3,
        mouseEventDeltaX = 4,
        mouseEventDeltaY = 5,
        mouseEventInstantMouser = 6,
        mouseEventSubtype = 7,
        keyboardEventAutorepeat = 8,
        keyboardEventKeycode = 9,
        keyboardEventKeyboardType = 10,
        scrollWheelEventDeltaAxis1 = 11,
        scrollWheelEventDeltaAxis2 = 12,
        scrollWheelEventDeltaAxis3 = 13,
        scrollWheelEventFixedPtDeltaAxis1 = 93,
        scrollWheelEventFixedPtDeltaAxis2 = 94,
        scrollWheelEventFixedPtDeltaAxis3 = 95,
        scrollWheelEventPointDeltaAxis1 = 96,
        scrollWheelEventPointDeltaAxis2 = 97,
        scrollWheelEventPointDeltaAxis3 = 98,
        scrollWheelEventInstantMouser = 14,
        tabletEventPointX = 15,
        tabletEventPointY = 16,
        tabletEventPointZ = 17,
        tabletEventPointButtons = 18,
        tabletEventPointPressure = 19,
        tabletEventTiltX = 20,
        tabletEventTiltY = 21,
        tabletEventRotation = 22,
        tabletEventTangentialPressure = 23,
        tabletEventDeviceID = 24,
        tabletEventVendor1 = 25,
        tabletEventVendor2 = 26,
        tabletEventVendor3 = 27,
        tabletProximityEventVendorID = 28,
        tabletProximityEventTabletID = 29,
        tabletProximityEventPointerID = 30,
        tabletProximityEventDeviceID = 31,
        tabletProximityEventSystemTabletID = 32,
        tabletProximityEventVendorPointerType = 33,
        tabletProximityEventVendorPointerSerialNumber = 34,
        tabletProximityEventVendorUniqueID = 35,
        tabletProximityEventCapabilityMask = 36,
        tabletProximityEventPointerType = 37,
        tabletProximityEventEnterProximity = 38,
        eventTargetProcessSerialNumber = 39,
        eventTargetUnixProcessID = 40,
        eventSourceUnixProcessID = 41,
        eventSourceUserData = 42,
        eventSourceUserID = 43,
        eventSourceGroupID = 44,
        eventSourceStateID = 45,
        scrollWheelEventIsContinuous = 88,
        mouseEventWindowUnderMousePointer = 91,
        mouseEventWindowUnderMousePointerThatCanHandleThisEvent = 92,
        scrollWheelEventMomentumPhase = 123,
        scrollWheelEventScrollCount = 100,
        scrollWheelEventScrollPhase = 99,
        eventUnacceleratedPointerMovementX = 170,
        eventUnacceleratedPointerMovementY = 171,
    }
    /**
     * Returns the point resulting from an affine transformation of an existing point.
     */
    function applying(t: CGAffineTransform):CGPoint;
    export class CGEventFilterMask {
        static permitLocalKeyboardEvents: CGEventFilterMask;
        static permitLocalMouseEvents: CGEventFilterMask;
        static permitSystemDefinedEvents: CGEventFilterMask;
        constructor (rawValue: UInt32);
    }
    export class CGEventFlags {
        /**
         * Indicates that the Caps Lock key is down for a keyboard, mouse, or flag-changed event.
         */
        static maskAlphaShift: CGEventFlags;
        /**
         * Indicates that the Shift key is down for a keyboard, mouse, or flag-changed event.
         */
        static maskShift: CGEventFlags;
        /**
         * Indicates that the Control key is down for a keyboard, mouse, or flag-changed event.
         */
        static maskControl: CGEventFlags;
        /**
         * Indicates that the Alt or Option key is down for a keyboard, mouse, or flag-changed event.
         */
        static maskAlternate: CGEventFlags;
        /**
         * Indicates that the Command key is down for a keyboard, mouse, or flag-changed event.
         */
        static maskCommand: CGEventFlags;
        /**
         * Indicates that the Help modifier key is down for a keyboard, mouse, or flag-changed event. This key is not present on most keyboards, and is different than the Help key found in the same row as Home and Page Up.
         */
        static maskHelp: CGEventFlags;
        /**
         * Indicates that the Fn (Function) key is down for a keyboard, mouse, or flag-changed event. This key is found primarily on laptop keyboards.
         */
        static maskSecondaryFn: CGEventFlags;
        /**
         * Identifies key events from the numeric keypad area on extended keyboards.
         */
        static maskNumericPad: CGEventFlags;
        /**
         * Indicates that mouse and pen movement events are not being coalesced.
         */
        static maskNonCoalesced: CGEventFlags;
        constructor (rawValue: UInt64);
    }
    export enum CGEventSourceStateID {
        privateState = -1,
        combinedSessionState = 0,
        hidSystemState = 1,
    }
    export enum CGEventSuppressionState {
        eventSuppressionStateSuppressionInterval = 0,
        eventSuppressionStateRemoteMouseDrag = 1,
        numberOfEventSuppressionStates = 2,
    }
    export enum CGEventTapLocation {
        cghidEventTap = 0,
        cgSessionEventTap = 1,
        cgAnnotatedSessionEventTap = 2,
    }
    export enum CGEventTapOptions {
        defaultTap = 0,
        listenOnly = 1,
    }
    export enum CGEventTapPlacement {
        headInsertEventTap = 0,
        tailAppendEventTap = 1,
    }
    export enum CGEventType {
        null = 0,
        leftMouseDown = 1,
        leftMouseUp = 2,
        rightMouseDown = 3,
        rightMouseUp = 4,
        mouseMoved = 5,
        leftMouseDragged = 6,
        rightMouseDragged = 7,
        keyDown = 10,
        keyUp = 11,
        flagsChanged = 12,
        scrollWheel = 22,
        tabletPointer = 23,
        tabletProximity = 24,
        otherMouseDown = 25,
        otherMouseUp = 26,
        otherMouseDragged = 27,
        tapDisabledByTimeout = 4294967294,
        tapDisabledByUserInput = 4294967295,
    }
    export enum CGMouseButton {
        left = 0,
        right = 1,
        center = 2,
    }
    export enum CGEventMouseSubtype {
        defaultType = 0,
        tabletPoint = 1,
        tabletProximity = 2,
    }
    export enum CGScrollEventUnit {
        pixel = 0,
        line = 1,
    }
    export class CGImage {
        /**
         * Returns a composite image of the specified windows.
         */
        constructor (screenBounds: CGRect, windowArray: CFArray, imageOption: CGWindowImageOption);
    }
    export class CGWindowListOption {
        static excludeDesktopElements: CGWindowListOption;
        static optionAll: CGWindowListOption;
        static optionIncludingWindow: CGWindowListOption;
        static optionOnScreenAboveWindow: CGWindowListOption;
        static optionOnScreenBelowWindow: CGWindowListOption;
        static optionOnScreenOnly: CGWindowListOption;
        constructor (rawValue: UInt32);
    }
    export class CGWindowImageOption {
        /**
         * When capturing the window, return the best image resolution. The returned image size may be different than the screen size.
         */
        static bestResolution: CGWindowImageOption;
        static boundsIgnoreFraming: CGWindowImageOption;
        /**
         * When capturing the window, return the nominal image resolution. The returned image size is the same as the screen size.
         */
        static nominalResolution: CGWindowImageOption;
        static onlyShadows: CGWindowImageOption;
        static shouldBeOpaque: CGWindowImageOption;
        constructor (rawValue: UInt32);
    }
    export enum CGWindowSharingType {
        none = 0,
        readOnly = 1,
        readWrite = 2,
    }
    export enum CGWindowBackingType {
        backingStoreBuffered = 2,
        backingStoreNonretained = 1,
        backingStoreRetained = 0,
    }
    export class CGDeviceColor {
        blue: Float;
        green: Float;
        red: Float;
        constructor ();
        constructor (red: Float, green: Float, blue: Float);
    }
    export class CGColorDataFormat {
        bitmap_info: CGBitmapInfo;
        bits_per_component: number;
        bytes_per_row: number;
        colorspace_info: Unmanaged<CFTypeRef>!;
        decode: UnsafeMutablePointer<CGFloat>!;
        intent: CGColorRenderingIntent;
        version: UInt32;
        constructor ();
        constructor (version: UInt32, colorspace_info: Unmanaged<CFTypeRef>!, bitmap_info: CGBitmapInfo, bits_per_component: number, bytes_per_row: number, intent: CGColorRenderingIntent, decode: UnsafeMutablePointer<CGFloat>!);
    }
    export class CGPDFAccessPermissions {
        static allowsCommenting: CGPDFAccessPermissions;
        static allowsContentAccessibility: CGPDFAccessPermissions;
        static allowsContentCopying: CGPDFAccessPermissions;
        static allowsDocumentAssembly: CGPDFAccessPermissions;
        static allowsDocumentChanges: CGPDFAccessPermissions;
        static allowsFormFieldEntry: CGPDFAccessPermissions;
        static allowsHighQualityPrinting: CGPDFAccessPermissions;
        static allowsLowQualityPrinting: CGPDFAccessPermissions;
        constructor (rawValue: UInt32);
    }
    export class CGPSConverterCallbacks {
        /**
         * The callback called at the beginning of the conversion of the PostScript document, or 
         * .
         */
        beginDocument: CGPSConverterBeginDocumentCallback | null;
        /**
         * The callback called at the start of the conversion of each page in the PostScript document, or 
         * .
         */
        beginPage: CGPSConverterBeginPageCallback | null;
        /**
         * The callback called at the end of conversion of the PostScript document, or 
         * .
         */
        endDocument: CGPSConverterEndDocumentCallback | null;
        /**
         * The callback called at the end of the conversion of each page in the PostScript document, or 
         * .
         */
        endPage: CGPSConverterEndPageCallback | null;
        /**
         * The callback called to pass any messages that might result during the conversion, or 
         * .
         */
        noteMessage: CGPSConverterMessageCallback | null;
        /**
         * The callback called periodically during the conversion to indicate that conversion is proceeding, or 
         * .
         */
        noteProgress: CGPSConverterProgressCallback | null;
        /**
         * The callback called when the converter is deallocated, or 
         * .
         */
        releaseInfo: CGPSConverterReleaseInfoCallback | null;
        /**
         * The version number of the structure passed in as a parameter to the converter creation functions. The structure defined below is version 
         * .
         */
        version: UInt32;
        constructor ();
        constructor (version: UInt32, beginDocument: CGPSConverterBeginDocumentCallback | null, endDocument: CGPSConverterEndDocumentCallback | null, beginPage: CGPSConverterBeginPageCallback | null, endPage: CGPSConverterEndPageCallback | null, noteProgress: CGPSConverterProgressCallback | null, noteMessage: CGPSConverterMessageCallback | null, releaseInfo: CGPSConverterReleaseInfoCallback | null);
    }
    export enum CGColorConversionInfoTransformType {
        transformApplySpace = 2,
        transformFromSpace = 0,
        transformToSpace = 1,
    }
    export enum CGColorRenderingIntent {
        defaultIntent = 0,
        absoluteColorimetric = 1,
        relativeColorimetric = 2,
        perceptual = 3,
        saturation = 4,
    }
    export enum CGError {
        cannotComplete = 1004,
        failure = 1000,
        illegalArgument = 1001,
        invalidConnection = 1002,
        invalidContext = 1003,
        invalidOperation = 1010,
        noneAvailable = 1011,
        notImplemented = 1006,
        rangeCheck = 1007,
        success = 0,
        typeCheck = 1008,
    }
    /**
     * A rectangle that has infinite extent.
     */
    var CGRectInfinite: CGRect;
    /**
     * The null rectangle, representing an invalid value.
     */
    var CGRectNull: CGRect;
    export enum CGGesturePhase {
        began = 1,
        cancelled = 8,
        changed = 2,
        ended = 4,
        mayBegin = 128,
        none = 0,
    }
    export enum CGGlyphDeprecatedEnum {
        max = 1,
        min = 0,
    }
    export enum CGImageByteOrderInfo {
        order16Big = 12288,
        order16Little = 4096,
        order32Big = 16384,
        order32Little = 8192,
        orderMask = 28672,
        orderDefault = 0,
    }
    export enum CGMomentumScrollPhase {
        begin = 1,
        continuous = 2,
        end = 3,
        none = 0,
    }
    export enum CGScrollPhase {
        began = 1,
        cancelled = 8,
        changed = 2,
        ended = 4,
        mayBegin = 128,
    }
    export enum CGImagePixelFormatInfo {
        RGB101010 = 196608,
        RGB555 = 65536,
        RGB565 = 131072,
        RGBCIF10 = 262144,
        mask = 983040,
        packed = 0,
    }
    /**
     * Returns a rectangle that is smaller or larger than the source rectangle, with the same center point.
     */
    function insetBy(dx: CGFloat, dy: CGFloat):CGRect;
    export enum CGLineCap {
        butt = 0,
        round = 1,
        square = 2,
    }
    export enum CGLineJoin {
        miter = 0,
        round = 1,
        bevel = 2,
    }
    /**
     * Returns a rectangle with an origin that is offset from that of the source rectangle.
     */
    function offsetBy(dx: CGFloat, dy: CGFloat):CGRect;
    export enum CGPDFTagType {
        TOC = 107,
        TOCI = 108,
        annotation = 507,
        art = 102,
        bibliography = 504,
        blockQuote = 105,
        caption = 106,
        code = 505,
        div = 104,
        document = 100,
        figure = 700,
        form = 702,
        formula = 701,
        header = 201,
        header1 = 202,
        header2 = 203,
        header3 = 204,
        header4 = 205,
        header5 = 206,
        header6 = 207,
        index = 109,
        label = 302,
        link = 506,
        list = 300,
        listBody = 303,
        listItem = 301,
        nonStructure = 110,
        note = 502,
        paragraph = 200,
        part = 101,
        private = 111,
        quote = 501,
        reference = 503,
        ruby = 600,
        rubyAnnotationText = 602,
        rubyBaseText = 601,
        rubyPunctuation = 603,
        section = 103,
        span = 500,
        table = 400,
        tableBody = 405,
        tableDataCell = 403,
        tableFooter = 406,
        tableHeader = 404,
        tableHeaderCell = 402,
        tableRow = 401,
        warichu = 604,
        warichuPunctiation = 606,
        warichuText = 605,
    }
    /**
     * Returns the smallest rectangle that contains the two source rectangles.
     */
    function union(r2: CGRect):CGRect;
    /**
     * Returns the intersection of two rectangles.
     */
    function intersection(r2: CGRect):CGRect;
    export enum CGTextEncoding {
        encodingFontSpecific = 0,
        encodingMacRoman = 1,
    }
    export class CGColor {
        /**
         * An option for whether to apply black point compensation when converting between color profiles.
         */
        static conversionBlackPointCompensation: CFString;
    }
    /**
     * Returns whether two rectangles intersect.
     */
    function intersects(rect2: CGRect):boolean;
    /**
     * Returns whether a rectangle contains a specified point.
     */
    function contains(point: CGPoint):boolean;
    export class CGColorConversionInfo {
        /**
         * Returns the Core Foundation type identifier for a color conversion info data type.
         */
        static typeID: CFTypeID;
        /**
         * Creates a conversion between two specified color spaces.
         */
        constructor (src: CGColorSpace, dst: CGColorSpace);
    }
    export class CGPDFTagProperty {
        static actualText: CGPDFTagProperty;
        static alternativeText: CGPDFTagProperty;
        static languageText: CGPDFTagProperty;
        static titleText: CGPDFTagProperty;
        constructor (rawValue: CFString);
    }
    export enum CGPathFillRule {
        evenOdd,
        winding,
    }
    export class CGPSConverter {
        /**
         * Returns the Core Foundation type identifier for PostScript converters.
         */
        static typeID: CFTypeID;
        /**
         * Checks whether the converter is currently converting data.
         */
        isConverting: boolean;
        /**
         * Creates a new PostScript converter.
         */
        constructor (info: UnsafeMutableRawPointer | null, callbacks: UnsafePointer<CGPSConverterCallbacks>, options: CFDictionary | null);
        /**
         * Tells a PostScript converter to abort a conversion at the next available opportunity.
         */
        abort():boolean;
        /**
         * Uses a PostScript converter to convert PostScript data to PDF data.
         */
        convert(provider: CGDataProvider, consumer: CGDataConsumer, options: CFDictionary | null):boolean;
    }
    /**
     * The identity transform.
     */
    var CGAffineTransformIdentity: CGAffineTransform;
    /**
     * Returns an affine transformation matrix constructed by combining two existing affine transforms.
     */
    function concatenating(t2: CGAffineTransform):CGAffineTransform;
    /**
     * Returns an affine transformation matrix constructed by inverting an existing affine transform.
     */
    function inverted():CGAffineTransform;
    /**
     * Returns an affine transformation matrix constructed by rotating an existing affine transform.
     */
    function rotated(angle: CGFloat):CGAffineTransform;
    /**
     * Returns an affine transformation matrix constructed by scaling an existing affine transform.
     */
    function scaledBy(sx: CGFloat, sy: CGFloat):CGAffineTransform;
    /**
     * Returns an affine transformation matrix constructed by translating an existing affine transform.
     */
    function translatedBy(tx: CGFloat, ty: CGFloat):CGAffineTransform;
    export class CGContext {
        /**
         * Returns the type identifier for a graphics context.
         */
        static typeID: CFTypeID;
        /**
         * Returns an affine transform that maps user space coordinates to device space coordinates.
         */
        userSpaceToDeviceSpaceTransform: CGAffineTransform;
        /**
         * Returns a path object built from the current path information in a graphics context.
         */
        path: CGPath | null;
        /**
         * Returns the smallest rectangle that contains the current path.
         */
        boundingBoxOfPath: CGRect;
        /**
         * Returns the current point in a non-empty path.
         */
        currentPointOfPath: CGPoint;
        /**
         * Indicates whether the current path contains any subpaths.
         */
        isPathEmpty: boolean;
        /**
         * Returns the current level of interpolation quality for a graphics context.
         */
        interpolationQuality: CGInterpolationQuality;
        /**
         * Returns the current text matrix.
         */
        textMatrix: CGAffineTransform;
        /**
         * Returns the location at which text is drawn.
         */
        textPosition: CGPoint;
        /**
         * Returns the bounding box of a clipping path.
         */
        boundingBoxOfClipPath: CGRect;
        /**
         * Returns the current transformation matrix.
         */
        ctm: CGAffineTransform;
        /**
         * Obtains the bitmap information associated with a bitmap graphics context.
         */
        bitmapInfo: CGBitmapInfo;
        /**
         * Returns the alpha information associated with the context, which indicates how a bitmap context handles the alpha component.
         */
        alphaInfo: CGImageAlphaInfo;
        /**
         * Returns the bits per component of a bitmap context.
         */
        bitsPerComponent: number;
        /**
         * Returns the bits per pixel of a bitmap context.
         */
        bitsPerPixel: number;
        /**
         * Returns the bytes per row of a bitmap context.
         */
        bytesPerRow: number;
        /**
         * Returns the color space of a bitmap context.
         */
        colorSpace: CGColorSpace | null;
        /**
         * Returns a pointer to the image data associated with a bitmap context.
         */
        data: UnsafeMutableRawPointer | null;
        /**
         * Returns the height in pixels of a bitmap context.
         */
        height: number;
        /**
         * Returns the width in pixels of a bitmap context.
         */
        width: number;
        /**
         * Creates a bitmap graphics context.
         */
        constructor (data: UnsafeMutableRawPointer | null, width: number, height: number, bitsPerComponent: number, bytesPerRow: number, space: CGColorSpace, bitmapInfo: UInt32);
        /**
         * Creates a bitmap graphics context with the specified callback function.
         */
        constructor (data: UnsafeMutableRawPointer | null, width: number, height: number, bitsPerComponent: number, bytesPerRow: number, space: CGColorSpace, bitmapInfo: UInt32, releaseCallback: CGBitmapContextReleaseDataCallback | null, releaseInfo: UnsafeMutableRawPointer | null);
        /**
         * Creates a URL-based PDF graphics context.
         */
        constructor (url: CFURL, mediaBox: UnsafePointer<CGRect> | null, auxiliaryInfo: CFDictionary | null);
        /**
         * Creates a PDF graphics context.
         */
        constructor (consumer: CGDataConsumer, mediaBox: UnsafePointer<CGRect> | null, auxiliaryInfo: CFDictionary | null);
        /**
         * Returns a point that is transformed from user space coordinates to device space coordinates.
         */
        convertToDeviceSpace(point: CGPoint):CGPoint;
        /**
         * Returns a point that is transformed from device space coordinates to user space coordinates.
         */
        convertToUserSpace(point: CGPoint):CGPoint;
        /**
         * Creates a new empty path in a graphics context.
         */
        beginPath():void;
        /**
         * Begins a new subpath at the specified point.
         */
        move(point: CGPoint):void;
        /**
         * Appends a straight line segment from the current point to the specified point.
         */
        addLine(point: CGPoint):void;
        /**
         * Adds a sequence of connected straight-line segments to the current path.
         */
        addLines(points: CGPoint[]):void;
        /**
         * Adds a rectangular path to the current path.
         */
        addRect(rect: CGRect):void;
        /**
         * Adds a set of rectangular paths to the current path.
         */
        addRects(rects: CGRect[]):void;
        /**
         * Adds an ellipse that fits inside the specified rectangle.
         */
        addEllipse(rect: CGRect):void;
        /**
         * Adds an arc of a circle to the current path, specified with a radius and angles.
         */
        addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: boolean):void;
        /**
         * Adds a cubic Bézier curve to the current path, with the specified end point and control points.
         */
        addCurve(end: CGPoint, control1: CGPoint, control2: CGPoint):void;
        /**
         * Adds a quadratic Bézier curve to the current path, with the specified end point and control point.
         */
        addQuadCurve(end: CGPoint, control: CGPoint):void;
        /**
         * Adds a previously created path object to the current path in a graphics context.
         */
        addPath(path: CGPath):void;
        /**
         * Closes and terminates the current path’s subpath.
         */
        closePath():void;
        /**
         * Replaces the path in the graphics context with the stroked version of the path.
         */
        replacePathWithStrokedPath():void;
        /**
         * Checks to see whether the specified point is contained in the current path.
         */
        pathContains(point: CGPoint, mode: CGPathDrawingMode):boolean;
        /**
         * Draws the current path using the provided drawing mode.
         */
        drawPath(mode: CGPathDrawingMode):void;
        /**
         * Paints the area within the current path, as determined by the specified fill rule.
         */
        fillPath(rule: CGPathFillRule):void;
        /**
         * Paints a line along the current path.
         */
        strokePath():void;
        /**
         * Paints a transparent rectangle.
         */
        clear(rect: CGRect):void;
        /**
         * Paints the area contained within the provided rectangle, using the fill color in the current graphics state.
         */
        fill(rect: CGRect):void;
        /**
         * Paints the area of the ellipse that fits inside the provided rectangle, using the fill color in the current graphics state.
         */
        fillEllipse(rect: CGRect):void;
        /**
         * Paints a rectangular path.
         */
        stroke(rect: CGRect):void;
        /**
         * Strokes an ellipse that fits inside the specified rectangle.
         */
        strokeEllipse(rect: CGRect):void;
        /**
         * Strokes a sequence of line segments.
         */
        strokeLineSegments(points: CGPoint[]):void;
        /**
         * Draws an image in the specified area.
         */
        draw(image: CGImage, rect: CGRect, byTiling: boolean):void;
        /**
         * Draws the content of a PDF page into the current graphics context.
         */
        drawPDFPage(page: CGPDFPage):void;
        /**
         * Paints a gradient fill that varies along the line defined by the provided starting and ending points.
         */
        drawLinearGradient(gradient: CGGradient, startPoint: CGPoint, endPoint: CGPoint, options: CGGradientDrawingOptions):void;
        /**
         * Paints a gradient fill that varies along the area defined by the provided starting and ending circles.
         */
        drawRadialGradient(gradient: CGGradient, startCenter: CGPoint, startRadius: CGFloat, endCenter: CGPoint, endRadius: CGFloat, options: CGGradientDrawingOptions):void;
        /**
         * Fills the clipping path of a context with the specified shading.
         */
        drawShading(shading: CGShading):void;
        /**
         * Sets the font and font size in a graphics context.
         */
        selectFont(name: UnsafePointer<CChar>, size: CGFloat, textEncoding: CGTextEncoding):void;
        /**
         * Sets the current character spacing.
         */
        setCharacterSpacing(spacing: CGFloat):void;
        /**
         * Sets the platform font in a graphics context.
         */
        setFont(font: CGFont):void;
        /**
         * Sets the current font size.
         */
        setFontSize(size: CGFloat):void;
        /**
         * Sets the current text drawing mode.
         */
        setTextDrawingMode(mode: CGTextDrawingMode):void;
        /**
         * Sets whether or not to allow font smoothing for a graphics context.
         */
        setAllowsFontSmoothing(allowsFontSmoothing: boolean):void;
        /**
         * Sets whether or not to allow subpixel positioning for a graphics context.
         */
        setAllowsFontSubpixelPositioning(allowsFontSubpixelPositioning: boolean):void;
        /**
         * Sets whether or not to allow subpixel quantization for a graphics context.
         */
        setAllowsFontSubpixelQuantization(allowsFontSubpixelQuantization: boolean):void;
        /**
         * Enables or disables font smoothing in a graphics context.
         */
        setShouldSmoothFonts(shouldSmoothFonts: boolean):void;
        /**
         * Enables or disables subpixel positioning in a graphics context.
         */
        setShouldSubpixelPositionFonts(shouldSubpixelPositionFonts: boolean):void;
        /**
         * Enables or disables subpixel quantization in a graphics context.
         */
        setShouldSubpixelQuantizeFonts(shouldSubpixelQuantizeFonts: boolean):void;
        /**
         * Displays an array of glyphs at the current text position.
         */
        showGlyphs(g: UnsafePointer<CGGlyph> | null, count: number):void;
        /**
         * Displays an array of glyphs at a position you specify.
         */
        showGlyphsAtPoint(x: CGFloat, y: CGFloat, glyphs: UnsafePointer<CGGlyph> | null, count: number):void;
        /**
         * Draws an array of glyphs with varying offsets.
         */
        showGlyphsWithAdvances(glyphs: UnsafePointer<CGGlyph> | null, advances: UnsafePointer<CGSize> | null, count: number):void;
        /**
         * Displays a character array at the current text position, a point specified by the current text matrix.
         */
        showText(_string: UnsafePointer<CChar>, length: number):void;
        /**
         * Displays a character string at a position you specify.
         */
        showTextAtPoint(x: CGFloat, y: CGFloat, _string: UnsafePointer<CChar>, length: number):void;
        /**
         * Sets the current fill color in a graphics context, using a CGColor.
         */
        setFillColor(color: CGColor):void;
        /**
         * Sets the fill color space in a graphics context.
         */
        setFillColorSpace(space: CGColorSpace):void;
        /**
         * Enables shadowing in a graphics context.
         */
        setShadow(offset: CGSize, blur: CGFloat):void;
        /**
         * Sets the current stroke color in a context, using a CGColor.
         */
        setStrokeColor(color: CGColor):void;
        /**
         * Sets the stroke color space in a graphics context.
         */
        setStrokeColorSpace(space: CGColorSpace):void;
        /**
         * Sets the stroke pattern in the specified graphics context.
         */
        setStrokePattern(pattern: CGPattern, components: UnsafePointer<CGFloat>):void;
        /**
         * Sets the opacity level for objects drawn in a graphics context.
         */
        setAlpha(alpha: CGFloat):void;
        /**
         * Modifies the current clipping path.
         */
        clip(rule: CGPathFillRule):void;
        /**
         * Begins a transparency layer whose contents are bounded by the specified rectangle.
         */
        beginTransparencyLayer(rect: CGRect, auxInfo: CFDictionary | null):void;
        /**
         * Ends a transparency layer.
         */
        endTransparencyLayer():void;
        /**
         * Rotates the user coordinate system in a context.
         */
        rotate(angle: CGFloat):void;
        /**
         * Changes the scale of the user coordinate system in a context.
         */
        scaleBy(sx: CGFloat, sy: CGFloat):void;
        /**
         * Changes the origin of the user coordinate system in a context.
         */
        translateBy(tx: CGFloat, ty: CGFloat):void;
        /**
         * Transforms the user coordinate system in a context using a specified matrix.
         */
        concatenate(transform: CGAffineTransform):void;
        /**
         * Sets whether or not to allow antialiasing for a graphics context.
         */
        setAllowsAntialiasing(allowsAntialiasing: boolean):void;
        /**
         * Sets the accuracy of curved paths in a graphics context.
         */
        setFlatness(flatness: CGFloat):void;
        /**
         * Sets the style for the endpoints of lines drawn in a graphics context.
         */
        setLineCap(cap: CGLineCap):void;
        /**
         * Sets the pattern for drawing dashed lines.
         */
        setLineDash(phase: CGFloat, lengths: CGFloat[]):void;
        /**
         * Sets the style for the joins of connected lines in a graphics context.
         */
        setLineJoin(join: CGLineJoin):void;
        /**
         * Sets the line width for a graphics context.
         */
        setLineWidth(width: CGFloat):void;
        /**
         * Sets the miter limit for the joins of connected lines in a graphics context.
         */
        setMiterLimit(limit: CGFloat):void;
        /**
         * Sets the pattern phase of a context.
         */
        setPatternPhase(phase: CGSize):void;
        /**
         * Sets the fill pattern in the specified graphics context.
         */
        setFillPattern(pattern: CGPattern, components: UnsafePointer<CGFloat>):void;
        /**
         * Sets antialiasing on or off for a graphics context.
         */
        setShouldAntialias(shouldAntialias: boolean):void;
        /**
         * Pushes a copy of the current graphics state onto the graphics state stack for the context.
         */
        saveGState():void;
        /**
         * Sets the current graphics state to the state most recently saved.
         */
        restoreGState():void;
        /**
         * Forces all pending drawing operations in a window context to be rendered immediately to the destination device.
         */
        flush():void;
        /**
         * Marks a window context for update.
         */
        synchronize():void;
        /**
         * Sets how sample values are composited by a graphics context.
         */
        setBlendMode(mode: CGBlendMode):void;
        /**
         * Sets the rendering intent in the current graphics state.
         */
        setRenderingIntent(intent: CGColorRenderingIntent):void;
        /**
         * Creates and returns a CGImage from the pixel data in a bitmap graphics context.
         */
        makeImage():CGImage | null;
        /**
         * Begins a new page in a PDF graphics context.
         */
        beginPDFPage(pageInfo: CFDictionary | null):void;
        /**
         * Ends the current page in the PDF graphics context.
         */
        endPDFPage():void;
        /**
         * Sets a destination to jump to when a point in the current page of a PDF graphics context is clicked.
         */
        addDestination(name: CFString, point: CGPoint):void;
        /**
         * Sets a destination to jump to when a rectangle in the current PDF page is clicked.
         */
        setDestination(name: CFString, rect: CGRect):void;
        /**
         * Sets the URL associated with a rectangle in a PDF graphics context.
         */
        setURL(url: CFURL, rect: CGRect):void;
        /**
         * Associates custom metadata with the PDF document.
         */
        addDocumentMetadata(metadata: CFData | null):void;
        /**
         * Closes a PDF document.
         */
        closePDF():void;
        /**
         * Starts a new page in a page-based graphics context.
         */
        beginPage(mediaBox: UnsafePointer<CGRect> | null):void;
        /**
         * Ends the current page in a page-based graphics context.
         */
        endPage():void;
        resetClip():void;
    }
    export enum CGPathDrawingMode {
        fill = 0,
        eoFill = 1,
        stroke = 2,
        fillStroke = 3,
        eoFillStroke = 4,
    }
    export enum CGInterpolationQuality {
        default = 0,
        none = 1,
        low = 2,
        medium = 4,
        high = 3,
    }
    export class CGGradientDrawingOptions {
        /**
         * The fill should extend beyond the starting location. The color that extends beyond the starting point is the solid color defined by the 
         *  object to be at location 0.
         */
        static drawsBeforeStartLocation: CGGradientDrawingOptions;
        /**
         * The fill should extend beyond the ending location. The color that extends beyond the ending point is the solid color defined by the 
         *  object to be at location 1.
         */
        static drawsAfterEndLocation: CGGradientDrawingOptions;
        constructor (rawValue: UInt32);
    }
    export enum CGTextDrawingMode {
        fill = 0,
        stroke = 1,
        fillStroke = 2,
        invisible = 3,
        fillClip = 4,
        strokeClip = 5,
        fillStrokeClip = 6,
        clip = 7,
    }
    export enum CGBlendMode {
        normal = 0,
        multiply = 1,
        screen = 2,
        overlay = 3,
        darken = 4,
        lighten = 5,
        colorDodge = 6,
        colorBurn = 7,
        softLight = 8,
        hardLight = 9,
        difference = 10,
        exclusion = 11,
        hue = 12,
        saturation = 13,
        color = 14,
        luminosity = 15,
        clear = 16,
        copy = 17,
        sourceIn = 18,
        sourceOut = 19,
        sourceAtop = 20,
        destinationOver = 21,
        destinationIn = 22,
        destinationOut = 23,
        destinationAtop = 24,
        xor = 25,
        plusDarker = 26,
        plusLighter = 27,
    }
    export enum CGImageAlphaInfo {
        first = 4,
        last = 3,
        none = 0,
        noneSkipFirst = 6,
        alphaOnly = 7,
        noneSkipLast = 5,
        premultipliedFirst = 2,
        premultipliedLast = 1,
    }
    export class CGBitmapInfo {
        /**
         * The alpha information mask. Use this to extract alpha information that specifies whether a bitmap contains an alpha channel and how the alpha channel is generated.
         */
        static alphaInfoMask: CGBitmapInfo;
        /**
         * The components of a bitmap are floating-point values.
         */
        static floatComponents: CGBitmapInfo;
        /**
         * The byte ordering of pixel formats.
         */
        static byteOrderMask: CGBitmapInfo;
        /**
         * The default byte order. 
         */
        static byteOrderDefault: CGBitmapInfo;
        /**
         * 16-bit, little endian format.
         */
        static byteOrder16Little: CGBitmapInfo;
        /**
         * 32-bit, little endian format.
         */
        static byteOrder32Little: CGBitmapInfo;
        /**
         * 16-bit, big endian format.
         */
        static byteOrder16Big: CGBitmapInfo;
        /**
         * 32-bit, big endian format.
         */
        static byteOrder32Big: CGBitmapInfo;
        static floatInfoMask: CGBitmapInfo;
        constructor (rawValue: UInt32);
    }
    export class CGPath {
        /**
         * Returns the Core Foundation type identifier for Core Graphics paths.
         */
        static typeID: CFTypeID;
        /**
         * Returns the bounding box containing all points in a graphics path.
         */
        boundingBox: CGRect;
        /**
         * Returns the bounding box of a graphics path.
         */
        boundingBoxOfPath: CGRect;
        /**
         * Returns the current point in a graphics path.
         */
        currentPoint: CGPoint;
        /**
         * Indicates whether or not a graphics path is empty.
         */
        isEmpty: boolean;
        /**
         * Create an immutable path of a rectangle.
         */
        constructor (rect: CGRect, transform: UnsafePointer<CGAffineTransform> | null);
        /**
         * Create an immutable path of an ellipse.
         */
        constructor (rect: CGRect, transform: UnsafePointer<CGAffineTransform> | null);
        /**
         * Create an immutable path of a rounded rectangle.
         */
        constructor (rect: CGRect, cornerWidth: CGFloat, cornerHeight: CGFloat, transform: UnsafePointer<CGAffineTransform> | null);
        /**
         * Creates an immutable copy of a graphics path.
         */
        copy():CGPath | null;
        /**
         * Creates a mutable copy of an existing graphics path.
         */
        mutableCopy():CGMutablePath | null;
        /**
         * Returns whether the specified point is interior to the path.
         */
        contains(point: CGPoint, rule: CGPathFillRule, transform: CGAffineTransform):boolean;
        /**
         * Indicates whether or not a graphics path represents a rectangle.
         */
        isRect(rect: UnsafeMutablePointer<CGRect> | null):boolean;
        /**
         * For each element in a graphics path, calls a custom applier function.
         */
        apply(info: UnsafeMutableRawPointer | null, _function: CGPathApplierFunction):void;
        applyWithBlock(block: ()=>any):void;
        componentsSeparated(rule: CGPathFillRule):CGPath[];
        flattened(threshold: CGFloat):CGPath;
        intersection(other: CGPath, rule: CGPathFillRule):CGPath;
        intersects(other: CGPath, rule: CGPathFillRule):boolean;
        lineIntersection(other: CGPath, rule: CGPathFillRule):CGPath;
        lineSubtracting(other: CGPath, rule: CGPathFillRule):CGPath;
        normalized(rule: CGPathFillRule):CGPath;
        subtracting(other: CGPath, rule: CGPathFillRule):CGPath;
        symmetricDifference(other: CGPath, rule: CGPathFillRule):CGPath;
        union(other: CGPath, rule: CGPathFillRule):CGPath;
    }
    export class CGPathElement {
        /**
         * An array of one or more points that serve as arguments.
         */
        points: UnsafeMutablePointer<CGPoint>;
        /**
         * An element type (or operation).
         */
        type: CGPathElementType;
        constructor (type: CGPathElementType, points: UnsafeMutablePointer<CGPoint>);
    }
    export enum CGPathElementType {
        moveToPoint = 0,
        addLineToPoint = 1,
        addQuadCurveToPoint = 2,
        addCurveToPoint = 3,
        closeSubpath = 4,
    }
    export class CGMutablePath extends CGPath {
        /**
         * Creates a mutable graphics path.
         */
        constructor ();
        /**
         * Begins a new subpath at the specified point.
         */
        move(point: CGPoint, transform: CGAffineTransform):void;
        /**
         * Appends a straight line segment from the current point to the specified point.
         */
        addLine(point: CGPoint, transform: CGAffineTransform):void;
        /**
         * Adds a sequence of connected straight-line segments to the path.
         */
        addLines(points: CGPoint[], transform: CGAffineTransform):void;
        /**
         * Adds a rectangular subpath to the path.
         */
        addRect(rect: CGRect, transform: CGAffineTransform):void;
        /**
         * Adds a set of rectangular subpaths to the path.
         */
        addRects(rects: CGRect[], transform: CGAffineTransform):void;
        /**
         * Adds an ellipse that fits inside the specified rectangle.
         */
        addEllipse(rect: CGRect, transform: CGAffineTransform):void;
        /**
         * Adds a subpath to the path, in the shape of a rectangle with rounded corners.
         */
        addRoundedRect(rect: CGRect, cornerWidth: CGFloat, cornerHeight: CGFloat, transform: CGAffineTransform):void;
        /**
         * Adds an arc of a circle to the path, specified with a radius and angles.
         */
        addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: boolean, transform: CGAffineTransform):void;
        /**
         * Adds an arc of a circle to the path, specified with a radius and a difference in angle.
         */
        addRelativeArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, delta: CGFloat, transform: CGAffineTransform):void;
        /**
         * Adds a cubic Bézier curve to the path, with the specified end point and control points.
         */
        addCurve(end: CGPoint, control1: CGPoint, control2: CGPoint, transform: CGAffineTransform):void;
        /**
         * Adds a quadratic Bézier curve to the path, with the specified end point and control point.
         */
        addQuadCurve(end: CGPoint, control: CGPoint, transform: CGAffineTransform):void;
        /**
         * Appends another path object to the path.
         */
        addPath(path: CGPath, transform: CGAffineTransform):void;
        /**
         * Closes and completes a subpath in a mutable graphics path.
         */
        closeSubpath():void;
    }
    export class CGLayer {
        /**
         * Returns the unique type identifier used for 
         *  objects.
         */
        static typeID: CFTypeID;
        /**
         * Returns the graphics context associated with a layer object.
         */
        context: CGContext | null;
        /**
         * Returns the width and height of a layer object.
         */
        size: CGSize;
        /**
         * Creates a layer object that is associated with a graphics context.
         */
        constructor (context: CGContext, size: CGSize, auxiliaryInfo: CFDictionary | null);
    }
    export class CGColorSpace {
        /**
         * The Display P3 color space, created by Apple.
         */
        static displayP3: CFString;
        /**
         * The Display P3 color space, using the HLG transfer function.
         */
        static displayP3_HLG: CFString;
        /**
         * The Display P3 color space, using the PQ transfer function.
         */
        static displayP3_PQ_EOTF: CFString;
        /**
         * The Display P3 color space with a linear transfer function and extended-range values.
         */
        static extendedLinearDisplayP3: CFString;
        /**
         * The standard Red Green Blue (sRGB) color space.
         */
        static sRGB: CFString;
        /**
         * The sRGB color space with a linear transfer function.
         */
        static linearSRGB: CFString;
        /**
         * The extended sRGB color space.
         */
        static extendedSRGB: CFString;
        /**
         * The sRGB color space with a linear transfer function and extended-range values.
         */
        static extendedLinearSRGB: CFString;
        /**
         * The generic gray color space that has an exponential transfer function with a power of 2.2.
         */
        static genericGrayGamma2_2: CFString;
        /**
         * The extended gray color space.
         */
        static extendedGray: CFString;
        /**
         * The gray color space using a linear transfer function.
         */
        static linearGray: CFString;
        /**
         * The extended gray color space with a linear transfer function.
         */
        static extendedLinearGray: CFString;
        /**
         * The generic CMYK color space.
         */
        static genericCMYK: CFString;
        /**
         * The generic RGB color space with a linear transfer function.
         */
        static genericRGBLinear: CFString;
        /**
         * The XYZ color space, as defined by the CIE 1931 standard.
         */
        static genericXYZ: CFString;
        /**
         * The generic LAB color space.
         */
        static genericLab: CFString;
        /**
         * The ACEScg color space.
         */
        static acescgLinear: CFString;
        /**
         * The Adobe RGB (1998) color space.
         */
        static adobeRGB1998: CFString;
        /**
         * The DCI P3 color space, which is the digital cinema standard.
         */
        static dcip3: CFString;
        /**
         * The recommendation of the International Telecommunication Union (ITU) Radiocommunication sector for the BT.709 color space.
         */
        static itur_709: CFString;
        /**
         * The Reference Output Medium Metric (ROMM) RGB color space.
         */
        static rommrgb: CFString;
        /**
         * The recommendation of the International Telecommunication Union (ITU) Radiocommunication sector for the BT.2020 color space.
         */
        static itur_2020: CFString;
        /**
         * The recommendation of the International Telecommunication Union (ITU) Radiocommunication sector for the BT.2020 color space, with the HLG transfer function.
         */
        static itur_2020_HLG: CFString;
        /**
         * The recommendation of the International Telecommunication Union (ITU) Radiocommunication sector for the BT.2020 color space, with the PQ transfer function.
         */
        static itur_2020_PQ_EOTF: CFString;
        /**
         * The recommendation of the International Telecommunication Union (ITU) Radiocommunication sector for the BT.2020 color space, with a linear transfer function and extended range values.
         */
        static extendedLinearITUR_2020: CFString;
        /**
         * Returns the Core Foundation type identifier for Quartz color spaces.
         */
        static typeID: CFTypeID;
        static displayP3_PQ: CFString;
        static extendedDisplayP3: CFString;
        static extendedITUR_2020: CFString;
        static itur_2020_PQ: CFString;
        static itur_2020_sRGBGamma: CFString;
        static itur_2100_HLG: CFString;
        static itur_2100_PQ: CFString;
        static itur_709_HLG: CFString;
        static itur_709_PQ: CFString;
        static linearDisplayP3: CFString;
        static linearITUR_2020: CFString;
        /**
         * Returns the base color space of a pattern or indexed color space.
         */
        baseColorSpace: CGColorSpace | null;
        /**
         * Returns the number of color components in a color space.
         */
        numberOfComponents: number;
        /**
         * Returns the color space model of the provided color space.
         */
        model: CGColorSpaceModel;
        /**
         * The entries in the color table of an indexed color space.
         */
        colorTable: UInt8[] | null;
        /**
         * Returns a copy of the ICC profile of the provided color space.
         */
        iccData: CFData | null;
        /**
         * Returns the name used to create the specified color space.
         */
        name: CFString | null;
        /**
         * Returns a Boolean indicating whether the color space can be used as a destination color space.
         */
        supportsOutput: boolean;
        /**
         * Returns whether the RGB color space covers a significant portion of the NTSC color gamut.
         */
        isWideGamutRGB: boolean;
        /**
         * Creates a calibrated grayscale color space.
         */
        constructor (whitePoint: UnsafePointer<CGFloat>, blackPoint: UnsafePointer<CGFloat> | null, gamma: CGFloat);
        /**
         * Creates a calibrated RGB color space.
         */
        constructor (whitePoint: UnsafePointer<CGFloat>, blackPoint: UnsafePointer<CGFloat> | null, gamma: UnsafePointer<CGFloat> | null, matrix: UnsafePointer<CGFloat> | null);
        /**
         * Creates a device-independent color space that is defined according to the ICC color profile specification.
         */
        constructor (nComponents: number, range: UnsafePointer<CGFloat> | null, profile: CGDataProvider, alternate: CGColorSpace | null);
        /**
         * Creates an indexed color space, consisting of colors specified by a color lookup table.
         */
        constructor (baseSpace: CGColorSpace, lastIndex: number, colorTable: UnsafePointer<UInt8>);
        /**
         * Creates a device-independent color space that is relative to human color perception, according to the CIE L*a*b* standard.
         */
        constructor (whitePoint: UnsafePointer<CGFloat>, blackPoint: UnsafePointer<CGFloat> | null, range: UnsafePointer<CGFloat> | null);
        /**
         * Creates a pattern color space.
         */
        constructor (baseSpace: CGColorSpace | null);
        /**
         * Creates a specified type of Quartz color space.
         */
        constructor (name: CFString);
        /**
         * Creates a platform-specific color space.
         */
        constructor (ref: UnsafeRawPointer);
        /**
         * Creates an ICC-based color space using the ICC profile contained in the specified data.
         */
        constructor (data: CFTypeRef);
        /**
         * Creates a color space from a property list.
         */
        constructor (plist: CFPropertyList);
        /**
         * Creates an ICC-based color space using the ICC profile contained in the specified data.
         */
        constructor (data: CFData);
        /**
         * Returns a copy of the ICC profile data of the provided color space.
         */
        copyICCData():CFData | null;
        /**
         * Returns a copy of the color space's properties.
         */
        copyPropertyList():CFPropertyList | null;
        isHDR():boolean;
    }
    export enum CGColorSpaceModel {
        unknown = -1,
        monochrome = 0,
        rgb = 1,
        cmyk = 2,
        lab = 3,
        deviceN = 4,
        indexed = 5,
        pattern = 6,
        XYZ = 7,
    }
    export class CGFont {
        /**
         * The key used to obtain the variation axis name from a variation axis dictionary. The value obtained with this key is a 
         *  that specifies the name of the variation axis.
         */
        static variationAxisName: CFString;
        /**
         * The key used to obtain the minimum variation axis value from a variation axis dictionary. The value obtained with this key is a 
         *  that specifies the minimum value of the variation axis.
         */
        static variationAxisMinValue: CFString;
        /**
         * The key used to obtain the maximum variation axis value from a variation axis dictionary. The value obtained with this key is a 
         *  that specifies the maximum value of the variation axis.
         */
        static variationAxisMaxValue: CFString;
        /**
         * The key used to obtain the default variation axis value from a variation axis dictionary. The value obtained with this key is a 
         *  that specifies the default value of the variation axis.
         */
        static variationAxisDefaultValue: CFString;
        /**
         * Returns the Core Foundation type identifier for Core Graphics fonts.
         */
        static typeID: CFTypeID;
        /**
         * Returns the full name associated with a font object.
         */
        fullName: CFString | null;
        /**
         * Returns the ascent of a font.
         */
        ascent: Int32;
        /**
         * Returns the cap height of a font.
         */
        capHeight: Int32;
        /**
         * Returns the descent of a font.
         */
        descent: Int32;
        /**
         * Returns the bounding box of a font.
         */
        fontBBox: CGRect;
        /**
         * Returns the italic angle of a font.
         */
        italicAngle: CGFloat;
        /**
         * Returns the leading of a font.
         */
        leading: Int32;
        /**
         * Returns the thickness of the dominant vertical stems of glyphs in a font.
         */
        stemV: CGFloat;
        /**
         * Returns the number of glyph space units per em for the provided font.
         */
        unitsPerEm: Int32;
        /**
         * Returns the x-height of a font.
         */
        xHeight: Int32;
        /**
         * Obtains the PostScript name of a font.
         */
        postScriptName: CFString | null;
        /**
         * Returns an array of tags that correspond to the font tables for a font.
         */
        tableTags: CFArray | null;
        /**
         * Returns the variation specification dictionary for a font.
         */
        variations: CFDictionary | null;
        /**
         * Returns an array of the variation axis dictionaries for a font.
         */
        variationAxes: CFArray | null;
        /**
         * Returns the number of glyphs in a font.
         */
        numberOfGlyphs: number;
        /**
         * Creates a font object from data supplied from a data provider.
         */
        constructor (provider: CGDataProvider);
        /**
         * Determines whether Core Graphics can create a subset of the font in PostScript format.
         */
        canCreatePostScriptSubset(format: CGFontPostScriptFormat):boolean;
        /**
         * Creates a subset of the font in the specified PostScript format.
         */
        createPostScriptSubset(subsetName: CFString, format: CGFontPostScriptFormat, glyphs: UnsafePointer<CGGlyph> | null, count: number, encoding: UnsafePointer<CGGlyph> | null):CFData | null;
        /**
         * Creates a PostScript encoding of a font.
         */
        createPostScriptEncoding(encoding: UnsafePointer<CGGlyph> | null):CFData | null;
        /**
         * Returns the font table that corresponds to the provided tag.
         */
        table(tag: UInt32):CFData | null;
        /**
         * Creates a copy of a font using a variation specification dictionary.
         */
        copy(variations: CFDictionary | null):CGFont | null;
        /**
         * Returns the glyph name of the specified glyph in the specified font.
         */
        name(glyph: CGGlyph):CFString | null;
        /**
         * Returns the glyph for the glyph name associated with the specified font object.
         */
        getGlyphWithGlyphName(name: CFString):CGGlyph;
        /**
         * Get the bounding box of each glyph in an array.
         */
        getGlyphBBoxes(glyphs: UnsafePointer<CGGlyph>, count: number, bboxes: UnsafeMutablePointer<CGRect>):boolean;
        /**
         * Gets the advance width of each glyph in the provided array.
         */
        getGlyphAdvances(glyphs: UnsafePointer<CGGlyph>, count: number, advances: UnsafeMutablePointer<Int32>):boolean;
    }
    export enum CGFontPostScriptFormat {
        type1 = 1,
        type3 = 3,
        type42 = 42,
    }
    export class CGPDFDocument {
        /**
         * Returns the type identifier for Core Graphics PDF documents.
         */
        static typeID: CFTypeID;
        /**
         * Returns the document catalog of a Core Graphics PDF document.
         */
        catalog: CGPDFDictionaryRef | null;
        /**
         * Gets the file identifier for a PDF document.
         */
        fileIdentifier: CGPDFArrayRef | null;
        /**
         * Gets the information dictionary for a PDF document.
         */
        info: CGPDFDictionaryRef | null;
        /**
         * Returns the number of pages in a PDF document.
         */
        numberOfPages: number;
        /**
         * Returns whether the specified PDF file is encrypted.
         */
        isEncrypted: boolean;
        /**
         * Returns whether the specified PDF document allows copying.
         */
        allowsCopying: boolean;
        /**
         * Returns whether a PDF document allows printing.
         */
        allowsPrinting: boolean;
        /**
         * Returns whether the specified PDF document is currently unlocked.
         */
        isUnlocked: boolean;
        accessPermissions: CGPDFAccessPermissions;
        outline: CFDictionary | null;
        /**
         * Creates a Core Graphics PDF document using a data provider.
         */
        constructor (provider: CGDataProvider);
        /**
         * Returns the major and minor version numbers of a Core Graphics PDF document.
         */
        getVersion(majorVersion: UnsafeMutablePointer<Int32>, minorVersion: UnsafeMutablePointer<Int32>):void;
        /**
         * Returns a page from a Core Graphics PDF document.
         */
        page(pageNumber: number):CGPDFPage | null;
        /**
         * Unlocks an encrypted PDF document when a valid password is supplied.
         */
        unlockWithPassword(password: UnsafePointer<CChar>):boolean;
    }
    export class CGPDFPage {
        /**
         * Returns the CFType ID for PDF page objects.
         */
        static typeID: CFTypeID;
        /**
         * Returns the dictionary of a PDF page.
         */
        dictionary: CGPDFDictionaryRef | null;
        /**
         * Returns the document for a page.
         */
        document: CGPDFDocument | null;
        /**
         * Returns the page number of the specified PDF page.
         */
        pageNumber: number;
        /**
         * Returns the rotation angle of a PDF page.
         */
        rotationAngle: Int32;
        /**
         * Returns the rectangle that represents a type of box for a content region or page dimensions of a PDF page.
         */
        getBoxRect(box: CGPDFBox):CGRect;
        /**
         * Returns the affine transform that maps a box to a given rectangle on a PDF page.
         */
        getDrawingTransform(box: CGPDFBox, rect: CGRect, rotate: Int32, preserveAspectRatio: boolean):CGAffineTransform;
    }
    export enum CGPDFBox {
        mediaBox = 0,
        cropBox = 1,
        bleedBox = 2,
        trimBox = 3,
        artBox = 4,
    }
    export enum CGPDFObjectType {
        null = 1,
        boolean = 2,
        integer = 3,
        real = 4,
        name = 5,
        string = 6,
        array = 7,
        dictionary = 8,
        stream = 9,
    }
    export enum CGPDFDataFormat {
        raw = 0,
        jpegEncoded = 1,
        JPEG2000 = 2,
    }
    export class CGDataConsumer {
        /**
         * Returns the Core Foundation type identifier for Core Graphics data consumers.
         */
        static typeID: CFTypeID;
        /**
         * Creates a data consumer that uses callback functions to write data.
         */
        constructor (info: UnsafeMutableRawPointer | null, cbks: UnsafePointer<CGDataConsumerCallbacks>);
        /**
         * Creates a data consumer that writes data to a location specified by a URL.
         */
        constructor (url: CFURL);
        /**
         * Creates a data consumer that writes to a CFData object.
         */
        constructor (data: CFMutableData);
    }
    export class CGDataConsumerCallbacks {
        /**
         * A pointer to a function that copies data to the data consumer. For more information, see 
         * .
         */
        putBytes: CGDataConsumerPutBytesCallback | null;
        /**
         * A pointer to a function that handles clean-up for the data consumer, or 
         * .
         */
        releaseConsumer: CGDataConsumerReleaseInfoCallback | null;
        constructor ();
        constructor (putBytes: CGDataConsumerPutBytesCallback | null, releaseConsumer: CGDataConsumerReleaseInfoCallback | null);
    }
    export class CGDataProvider {
        /**
         * Returns the Core Foundation type identifier for data providers.
         */
        static typeID: CFTypeID;
        /**
         * Returns a copy of the provider’s data.
         */
        data: CFData | null;
        info: UnsafeMutableRawPointer | null;
        /**
         * Creates a sequential-access data provider.
         */
        constructor (info: UnsafeMutableRawPointer | null, callbacks: UnsafePointer<CGDataProviderSequentialCallbacks>);
        /**
         * Creates a direct-access data provider.
         */
        constructor (info: UnsafeMutableRawPointer | null, size: off_t, callbacks: UnsafePointer<CGDataProviderDirectCallbacks>);
        /**
         * Creates a data provider that reads from a CFData object.
         */
        constructor (data: CFData);
        /**
         * Creates a direct-access data provider that uses a URL to supply data.
         */
        constructor (url: CFURL);
        /**
         * Creates a direct-access data provider that uses data your program supplies.
         */
        constructor (info: UnsafeMutableRawPointer | null, data: UnsafeRawPointer, size: number, releaseData: CGDataProviderReleaseDataCallback);
        /**
         * Creates a direct-access data provider that uses a file to supply data.
         */
        constructor (filename: UnsafePointer<CChar>);
    }
    export class CGDataProviderSequentialCallbacks {
        /**
         * A pointer to a function that copies data from the provider. For more information, see 
         * .
         */
        getBytes: CGDataProviderGetBytesCallback | null;
        /**
         * A pointer to a function that handles clean-up for the data provider, or 
         * . For more information, see 
         * .
         */
        releaseInfo: CGDataProviderReleaseInfoCallback | null;
        /**
         * A pointer to a function Core Graphics calls to return the provider to the beginning of the data stream. For more information, see 
         * .
         */
        rewind: CGDataProviderRewindCallback | null;
        /**
         * A pointer to a function that Core Graphics calls to advance the stream of data supplied by the provider.
         */
        skipForward: CGDataProviderSkipForwardCallback | null;
        /**
         * The version of this structure. It should be set to 0.
         */
        version: UInt32;
        constructor ();
        constructor (version: UInt32, getBytes: CGDataProviderGetBytesCallback | null, skipForward: CGDataProviderSkipForwardCallback | null, rewind: CGDataProviderRewindCallback | null, releaseInfo: CGDataProviderReleaseInfoCallback | null);
    }
    export class CGDataProviderDirectCallbacks {
        /**
         * A pointer to a function that returns a pointer to the provider’s data. For more information, see 
         * .
         */
        getBytePointer: CGDataProviderGetBytePointerCallback | null;
        /**
         * A pointer to a function that copies data from the provider.
         */
        getBytesAtPosition: CGDataProviderGetBytesAtPositionCallback | null;
        /**
         * A pointer to a function that Core Graphics calls to release a pointer to the provider’s data. For more information, see 
         * .
         */
        releaseBytePointer: CGDataProviderReleaseBytePointerCallback | null;
        /**
         * A pointer to a function that handles clean-up for the data provider, or 
         * . For more information, see 
         * .
         */
        releaseInfo: CGDataProviderReleaseInfoCallback | null;
        /**
         * The version of this structure. It should be set to 0.
         */
        version: UInt32;
        constructor ();
        constructor (version: UInt32, getBytePointer: CGDataProviderGetBytePointerCallback | null, releaseBytePointer: CGDataProviderReleaseBytePointerCallback | null, getBytesAtPosition: CGDataProviderGetBytesAtPositionCallback | null, releaseInfo: CGDataProviderReleaseInfoCallback | null);
    }
    export class CGShading {
        /**
         * Returns the Core Foundation type identifier for Core Graphics shading objects.
         */
        static typeID: CFTypeID;
        /**
         * Creates a shading object to use for axial shading.
         */
        constructor (space: CGColorSpace, start: CGPoint, end: CGPoint, _function: CGFunction, extendStart: boolean, extendEnd: boolean);
        /**
         * Creates a shading object to use for radial shading.
         */
        constructor (space: CGColorSpace, start: CGPoint, startRadius: CGFloat, end: CGPoint, endRadius: CGFloat, _function: CGFunction, extendStart: boolean, extendEnd: boolean);
    }
    export class CGGradient {
        /**
         * Returns the Core Foundation type identifier for CGGradient objects.
         */
        static typeID: CFTypeID;
        /**
         * Creates a CGGradient object from a color space and the provided color components and locations.
         */
        constructor (space: CGColorSpace, components: UnsafePointer<CGFloat>, locations: UnsafePointer<CGFloat> | null, count: number);
        /**
         * Creates a gradient object from a color space and the provided color objects and locations.
         */
        constructor (space: CGColorSpace | null, colors: CFArray, locations: UnsafePointer<CGFloat> | null);
    }
    export class CGFunction {
        /**
         * Returns the type identifier for Core Graphics function objects.
         */
        static typeID: CFTypeID;
        /**
         * Creates a Core Graphics function.
         */
        constructor (info: UnsafeMutableRawPointer | null, domainDimension: number, domain: UnsafePointer<CGFloat> | null, rangeDimension: number, range: UnsafePointer<CGFloat> | null, callbacks: UnsafePointer<CGFunctionCallbacks>);
    }
    export class CGFunctionCallbacks {
        /**
         * The callback that evaluates the function.
         */
        evaluate: CGFunctionEvaluateCallback | null;
        /**
         * If non-
         * ,the callback used to release the 
         *  parameterpassed to 
         * .
         */
        releaseInfo: CGFunctionReleaseInfoCallback | null;
        /**
         * The structure version number. For this structure,the version should be 
         * .
         */
        version: UInt32;
        constructor ();
        constructor (version: UInt32, evaluate: CGFunctionEvaluateCallback | null, releaseInfo: CGFunctionReleaseInfoCallback | null);
    }
    export class CGPattern {
        /**
         * Returns the type identifier for Core Graphics patterns.
         */
        static typeID: CFTypeID;
        /**
         * Creates a pattern object.
         */
        constructor (info: UnsafeMutableRawPointer | null, bounds: CGRect, matrix: CGAffineTransform, xStep: CGFloat, yStep: CGFloat, tiling: CGPatternTiling, isColored: boolean, callbacks: UnsafePointer<CGPatternCallbacks>);
    }
    export enum CGPatternTiling {
        noDistortion = 0,
        constantSpacingMinimalDistortion = 1,
        constantSpacing = 2,
    }
    export class CGPatternCallbacks {
        /**
         * A pointer to a custom function that draws thepattern. For information about this callback function, see 
         * .
         */
        drawPattern: CGPatternDrawPatternCallback | null;
        /**
         * An optional pointer to a custom function that’sinvoked when the pattern is released. 
         * .
         */
        releaseInfo: CGPatternReleaseInfoCallback | null;
        /**
         * The version of the structure passed in as a parameterto the 
         * . Forthis version of the structure, you should set this value to zero.
         */
        version: UInt32;
        constructor ();
        constructor (version: UInt32, drawPattern: CGPatternDrawPatternCallback | null, releaseInfo: CGPatternReleaseInfoCallback | null);
    }
}

/**
 * Compose and play haptic patterns to customize your iOS app’s haptic feedback.
 */
declare module CoreHaptics {
    export class CHHapticEngine extends NSObject {
        /**
         * A Boolean value that indicates whether the engine ignores haptic events and plays audio events only.
         */
        playsAudioOnly: boolean;
        /**
         * A Boolean value that indicates whether the engine ignores audio events.
         */
        playsHapticsOnly: boolean;
        /**
         * A Boolean value that indicates whether the engine mutes audio.
         */
        isMutedForAudio: boolean;
        /**
         * A Boolean value that indicates whether the engine mutes haptics.
         */
        isMutedForHaptics: boolean;
        /**
         * A block that the haptic engine calls after recovering from a haptic server error.
         */
        resetHandler: CHHapticEngine.ResetHandler;
        /**
         * A closure the haptic engine calls when it stops due to external causes.
         */
        stoppedHandler: CHHapticEngine.StoppedHandler;
        /**
         * The absolute time, in seconds, to use for scheduling haptic and audio events.
         */
        currentTime: TimeInterval;
        /**
         * A Boolean value that indicates whether the haptic engine starts and stops automatically on request from one of its pattern players, or when idle.
         */
        isAutoShutdownEnabled: boolean;
        /**
         * Creates an instance of the haptic engine.
         */
        constructor ();
        /**
         * Creates a haptic engine from an audio session.
         */
        constructor (audioSession: AVAudioSession | null);
        /**
         * Returns a device capability object that describes the device’s haptic support and limitations.
         */
        static capabilitiesForHardware():CHHapticDeviceCapability;
        /**
         * Plays a pattern that’s defined in a file at the specified URL.
         */
        playPattern(fileURL: URL):void;
        /**
         * Registers an external audio to use as a custom waveform.
         */
        registerAudioResource(resourceURL: URL, options: Record<AnyHashable, any>):CHHapticAudioResourceID;
        /**
         * Unregisters an external audio file that you previously registered with the engine.
         */
        unregisterAudioResource(resourceID: CHHapticAudioResourceID):void;
        /**
         * Notifies you when all haptic pattern players have finished playing their haptic patterns.
         */
        notifyWhenPlayersFinished(finishedHandler: CHHapticEngine.FinishedHandler):void;
        /**
         * Synchronously starts the haptic engine.
         */
        start():void;
        /**
         * Asynchronously stops the haptic engine and executes the completion handler once the engine has stopped.
         */
        stop(completionHandler: CHHapticEngine.CompletionHandler | null):void;
        /**
         * Creates a standard haptic pattern player from a haptic pattern.
         */
        makePlayer(pattern: CHHapticPattern):CHHapticPatternPlayer;
        /**
         * Creates an advanced haptic pattern player from a haptic pattern.
         */
        makeAdvancedPlayer(pattern: CHHapticPattern):CHHapticAdvancedPatternPlayer;
    }
    /**
     * the same name namespace of class CHHapticEngine
     */
    export namespace CHHapticEngine {
        export enum FinishedAction {
            leaveEngineRunning = 2,
            stopEngine = 1,
        }
        export enum StoppedReason {
            audioSessionInterrupt = 1,
            applicationSuspended = 2,
            engineDestroyed = 5,
            gameControllerDisconnect = 6,
            idleTimeout = 3,
            notifyWhenFinished = 4,
            systemError = -1,
        }
    }
    export class CHHapticEvent extends NSObject {
        /**
         * An array of event parameters, possibly empty.
         */
        eventParameters: CHHapticEventParameter[];
        /**
         * The start time of the event, relative to other events in the same pattern.
         */
        relativeTime: TimeInterval;
        /**
         * The duration of the haptic event.
         */
        duration: TimeInterval;
        /**
         * Initializes a haptic event from a previously loaded audio resource, specifying event parameters and start time.
         */
        constructor (resID: CHHapticAudioResourceID, eventParams: CHHapticEventParameter[], time: TimeInterval);
        /**
         * Initializes a haptic event from a previously loaded audio resource, specifying event parameters, start time, and duration.
         */
        constructor (resID: CHHapticAudioResourceID, eventParams: CHHapticEventParameter[], time: TimeInterval, duration: TimeInterval);
        /**
         * Initializes a haptic event of the specified type, parameters, and start time.
         */
        constructor (type: CHHapticEvent.EventType, eventParams: CHHapticEventParameter[], time: TimeInterval);
        /**
         * Initializes a haptic event of the specified type, parameters, start time, and duration.
         */
        constructor (type: CHHapticEvent.EventType, eventParams: CHHapticEventParameter[], time: TimeInterval, duration: TimeInterval);
    }
    /**
     * the same name namespace of class CHHapticEvent
     */
    export namespace CHHapticEvent {
        export class EventType {
            /**
             * A brief impulse occurring at a specific point in time, like the feedback from toggling a switch.
             */
            static hapticTransient: CHHapticEvent.EventType;
            /**
             * A haptic event with a looped waveform of arbitrary length.
             */
            static hapticContinuous: CHHapticEvent.EventType;
        }
        export class ParameterID {
            /**
             * The strength of a haptic event.
             */
            static hapticIntensity: CHHapticEvent.ParameterID;
            /**
             * The feel of a haptic event.
             */
            static hapticSharpness: CHHapticEvent.ParameterID;
            /**
             * The time at which a haptic pattern’s intensity begins increasing.
             */
            static attackTime: CHHapticEvent.ParameterID;
            /**
             * The time at which a haptic pattern’s intensity begins decreasing.
             */
            static decayTime: CHHapticEvent.ParameterID;
            /**
             * The time at which to begin fading the haptic pattern.
             */
            static releaseTime: CHHapticEvent.ParameterID;
            /**
             * A Boolean value that indicates whether to sustain a haptic event for its specified duration.
             */
            static sustained: CHHapticEvent.ParameterID;
            /**
             * The volume of an audio event.
             */
            static audioVolume: CHHapticEvent.ParameterID;
            /**
             * The stereo panning of an audio event.
             */
            static audioPan: CHHapticEvent.ParameterID;
            /**
             * The pitch of an audio event.
             */
            static audioPitch: CHHapticEvent.ParameterID;
            /**
             * The high-frequency content of an audio event.
             */
            static audioBrightness: CHHapticEvent.ParameterID;
            /**
             * Creates the identifier of a haptic event parameter with the specified string value.
             */
            constructor (rawValue: string);
        }
    }
    export class CHHapticEventParameter extends NSObject {
        /**
         * The haptic parameter ID indicating what type of parameter the current event represents.
         */
        parameterID: CHHapticEvent.ParameterID;
        /**
         * The value of the parameter.
         */
        value: Float;
        /**
         * Creates a haptic event parameter from its ID and value.
         */
        constructor (parameterID: CHHapticEvent.ParameterID, value: Float);
    }
    export class CHHapticDynamicParameter extends NSObject {
        /**
         * The dynamic parameter ID defining the type of parameter being modified.
         */
        parameterID: CHHapticDynamicParameter.ID;
        /**
         * The time at which this dynamic parameter is applied, relative to the start time of the pattern.
         */
        relativeTime: TimeInterval;
        /**
         * The value of the dynamic parameter.
         */
        value: Float;
        /**
         * Creates a dynamic parameter from its ID, value, and start time.
         */
        constructor (parameterID: CHHapticDynamicParameter.ID, value: Float, time: TimeInterval);
    }
    /**
     * the same name namespace of class CHHapticDynamicParameter
     */
    export namespace CHHapticDynamicParameter {
        export class ID {
            /**
             * A dynamic parameter to change the strength of a haptic pattern.
             */
            static hapticIntensityControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the sharpness of a haptic pattern.
             */
            static hapticSharpnessControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the time when a haptic pattern's intensity begins increasing.
             */
            static hapticAttackTimeControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the time when a haptic pattern's intensity begins decreasing.
             */
            static hapticDecayTimeControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the time at which to begin fading the haptic pattern.
             */
            static hapticReleaseTimeControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the high-frequency content of an audio signal.
             */
            static audioBrightnessControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the volume or loudness of an audio signal.
             */
            static audioVolumeControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the pan of an audio signal.
             */
            static audioPanControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the pitch of an audio signal. 
             */
            static audioPitchControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the time when an audio signal's amplitude begins increasing.
             */
            static audioAttackTimeControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the time when an audio signal's amplitude begins decreasing.
             */
            static audioDecayTimeControl: CHHapticDynamicParameter.ID;
            /**
             * A dynamic parameter to change the time when an audio signal begins fading.
             */
            static audioReleaseTimeControl: CHHapticDynamicParameter.ID;
            /**
             * Creates a dynamic property ID from its raw string value.
             */
            constructor (rawValue: string);
        }
    }
    export class CHHapticParameterCurve extends NSObject {
        /**
         * An array containing the curve's control points.
         */
        controlPoints: CHHapticParameterCurve.ControlPoint[];
        /**
         * The parameter ID defining the type of parameter that the curve represents.
         */
        parameterID: CHHapticDynamicParameter.ID;
        /**
         * The time at which this parameter curve is applied, relative to the start time of the pattern.
         */
        relativeTime: TimeInterval;
        /**
         * Creates a parameter curve from its parameter ID, control points, and start time.
         */
        constructor (parameterID: CHHapticDynamicParameter.ID, controlPoints: CHHapticParameterCurve.ControlPoint[], relativeTime: TimeInterval);
    }
    /**
     * the same name namespace of class CHHapticParameterCurve
     */
    export namespace CHHapticParameterCurve {
        export class ControlPoint extends NSObject {
            /**
             * The time at which the associated parameter reaches this value, relative to the start time of the parameter curve.
             */
            relativeTime: TimeInterval;
            /**
             * The parameter value of the point.
             */
            value: Float;
            /**
             * Creates a control point from its time and value.
             */
            constructor (time: TimeInterval, value: Float);
        }
    }
    export class CHHapticError {
        /**
         * A static string representation of the error domain.
         */
        static errorDomain: string;
        /**
         * An event is missing a required field.
         */
        static badEventEntry: CHHapticError.Code;
        /**
         * A parameter in an event is missing a required field.
         */
        static badParameterEntry: CHHapticError.Code;
        /**
         * Your app requested haptic playback when the engine wasn’t running.
         */
        static engineNotRunning: CHHapticError.Code;
        /**
         * The haptic engine timed out while starting.
         */
        static engineStartTimeout: CHHapticError.Code;
        /**
         * The system couldn’t find an audio file or haptic asset.
         */
        static fileNotFound: CHHapticError.Code;
        /**
         * The operation failed due to power restrictions.
         */
        static insufficientPower: CHHapticError.Code;
        /**
         * A pattern dictionary or an event array contain a reference to an invalid audio resource.
         */
        static invalidAudioResource: CHHapticError.Code;
        /**
         * The system invalidated the audio session associated with the haptic engine.
         */
        static invalidAudioSession: CHHapticError.Code;
        /**
         * Your app attempted to initialize the haptic engine with an invalid configuration parameter.
         */
        static invalidEngineParameter: CHHapticError.Code;
        /**
         * An event in the dictionary has an invalid duration.
         */
        static invalidEventDuration: CHHapticError.Code;
        /**
         * The time of an event in the dictionary is invalid.
         */
        static invalidEventTime: CHHapticError.Code;
        /**
         * The type of an event in the dictionary is invalid.
         */
        static invalidEventType: CHHapticError.Code;
        /**
         * A pattern dictionary or parameter array contains an unknown or invalid parameter type.
         */
        static invalidParameterType: CHHapticError.Code;
        /**
         * Your app passed an invalid pattern to the haptic engine or player.
         */
        static invalidPatternData: CHHapticError.Code;
        /**
         * A pattern in the dictionary is missing a required field.
         */
        static invalidPatternDictionary: CHHapticError.Code;
        /**
         * The current pattern player is no longer valid due to a server error.
         */
        static invalidPatternPlayer: CHHapticError.Code;
        /**
         * The time offset passed to the haptic engine is invalid.
         */
        static invalidTime: CHHapticError.Code;
        /**
         * The operation failed due to a lack of memory.
         */
        static memoryError: CHHapticError.Code;
        /**
         * The current device doesn’t support the haptic engine.
         */
        static notSupported: CHHapticError.Code;
        /**
         * Your app requested an operation that the haptic engine disallows.
         */
        static operationNotPermitted: CHHapticError.Code;
        /**
         * The framework didn’t locate a named resource.
         */
        static resourceNotAvailable: CHHapticError.Code;
        /**
         * Your app lost its connection to the haptic server.
         */
        static serverInterrupted: CHHapticError.Code;
        /**
         * The haptic server failed to initialize.
         */
        static serverInitFailed: CHHapticError.Code;
        /**
         * An operation failed due to an unknown error.
         */
        static unknownError: CHHapticError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The integer error code.
         */
        errorCode: number;
        /**
         * The user information associated with the error.
         */
        userInfo: Record<string, any>;
        /**
         * The error user information associated with the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a haptic error with an error code and user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by passing them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CHHapticError
     */
    export namespace CHHapticError {
        export enum Code {
            badEventEntry = -4830,
            badParameterEntry = -4831,
            engineNotRunning = -4805,
            engineStartTimeout = -4808,
            fileNotFound = -4851,
            insufficientPower = -4897,
            invalidAudioResource = -4824,
            invalidAudioSession = -4815,
            invalidEngineParameter = -4816,
            invalidEventDuration = -4823,
            invalidEventTime = -4822,
            invalidEventType = -4821,
            invalidParameterType = -4820,
            invalidPatternData = -4813,
            invalidPatternDictionary = -4814,
            invalidPatternPlayer = -4812,
            invalidTime = -4840,
            memoryError = -4899,
            notSupported = -4809,
            operationNotPermitted = -4806,
            resourceNotAvailable = -4825,
            serverInterrupted = -4811,
            serverInitFailed = -4810,
            unknownError = -4898,
        }
    }
    export interface CHHapticDeviceCapability {
        /**
         * A Boolean value that indicates whether the device supports audio event playback.
         */
        supportsAudio: boolean;
        /**
         * A Boolean value that indicates whether the device supports haptic event playback.
         */
        supportsHaptics: boolean;
        /**
         * Requests the haptic device’s attributes for a dynamic parameter.
         */
        attributes(inParameter: CHHapticDynamicParameter.ID):CHHapticParameterAttributes;
    }
    export interface CHHapticParameterAttributes extends NSObjectProtocol {
        /**
         * The default value of the parameter value.
         */
        defaultValue: Float;
        /**
         * The minimum value the parameter can take.
         */
        minValue: Float;
        /**
         * The maximum value the parameter can take.
         */
        maxValue: Float;
    }
    export class CHHapticPattern extends NSObject {
        /**
         * The duration of the haptic pattern, in seconds.
         */
        duration: TimeInterval;
        /**
         * Creates a haptic pattern with the contents of an AHAP file.
         */
        constructor (ahapURL: URL);
        /**
         * Constructs a haptic pattern from a series of events and parameter curves.
         */
        constructor (events: CHHapticEvent[], parameterCurves: CHHapticParameterCurve[]);
        /**
         * Constructs a haptic pattern from a series of events and parameters.
         */
        constructor (events: CHHapticEvent[], parameters: CHHapticDynamicParameter[]);
        /**
         * Creates a haptic pattern from a property list dictionary.
         */
        constructor (patternDict: Record<CHHapticPattern.Key, any>);
        /**
         * Returns the dictionary representation of the haptic pattern.
         */
        exportDictionary():Record<CHHapticPattern.Key, any>;
    }
    /**
     * the same name namespace of class CHHapticPattern
     */
    export namespace CHHapticPattern {
        export class Key {
            /**
             * A key that identifies the beginning of a haptic event definition.
             */
            static event: CHHapticPattern.Key;
            /**
             * A key that identifies the duration of an event.
             */
            static eventDuration: CHHapticPattern.Key;
            /**
             * A key that identifies the beginning of an array of fixed parameter definitions.
             */
            static eventParameters: CHHapticPattern.Key;
            /**
             * A key that identifies the type of event.
             */
            static eventType: CHHapticPattern.Key;
            /**
             * A key for a Boolean value that indicates whether to loop custom audio events.
             */
            static eventWaveformLoopEnabled: CHHapticPattern.Key;
            /**
             * A key that identifies the path to the local file that contains the audio waveform.
             */
            static eventWaveformPath: CHHapticPattern.Key;
            /**
             * A key that identifies whether audio file playback fades in and out using an envelope.
             */
            static eventWaveformUseVolumeEnvelope: CHHapticPattern.Key;
            /**
             * A key that identifies the beginning of a parameter definition.
             */
            static parameter: CHHapticPattern.Key;
            /**
             * A key that identifies the beginning of a parameter curve definition.
             */
            static parameterCurve: CHHapticPattern.Key;
            /**
             * A key that identifies the control points of a parameter curve.
             */
            static parameterCurveControlPoints: CHHapticPattern.Key;
            /**
             * A key that identifies the parameter ID.
             */
            static parameterID: CHHapticPattern.Key;
            /**
             * A key that identifies the value of a parameter.
             */
            static parameterValue: CHHapticPattern.Key;
            /**
             * A key that identifies the beginning of a haptic pattern definition.
             */
            static pattern: CHHapticPattern.Key;
            /**
             * A key that identifies the relative time for an event or parameter, in seconds.
             */
            static time: CHHapticPattern.Key;
            /**
             * A key that identifies rhe version number of a haptic pattern dictionary.
             */
            static version: CHHapticPattern.Key;
            /**
             * Creates a pattern key with a string.
             */
            constructor (rawValue: string);
        }
    }
    export interface CHHapticPatternPlayer extends NSObjectProtocol {
        /**
         * Starts playing the pattern at the specified time.
         */
        start(time: TimeInterval):void;
        /**
         * Stops playing the pattern at the specified time.
         */
        stop(time: TimeInterval):void;
        /**
         * Stops the pattern player immediately and returns the specified error.
         */
        cancel():void;
        /**
         * Sends an array of haptic parameters, starting at the specified time.
         */
        sendParameters(parameters: CHHapticDynamicParameter[], time: TimeInterval):void;
        /**
         * Schedules a parameter curve to begin transitioning a parameter at a certain time.
         */
        scheduleParameterCurve(parameterCurve: CHHapticParameterCurve, time: TimeInterval):void;
        /**
         * A Boolean that silences all haptic and audio output from the player when set to 
         * .
         */
        isMuted: boolean;
    }
    export interface CHHapticAdvancedPatternPlayer extends CHHapticPatternPlayer {
        /**
         * A Boolean that determines whether the haptic repeats itself on completion.
         */
        loopEnabled: boolean;
        /**
         * The time at which to end looping haptic playback.
         */
        loopEnd: TimeInterval;
        /**
         * The playback rate of the haptic player.
         */
        playbackRate: Float;
        /**
         * A completion block that runs after the haptic finishes playing.
         */
        completionHandler: CHHapticAdvancedPatternPlayerCompletionHandler;
        /**
         * Pauses the haptic player during playback.
         */
        pause(time: TimeInterval):void;
        /**
         * Resumes playing a paused haptic.
         */
        resume(time: TimeInterval):void;
        /**
         * Jumps to the specified offset time in playing the haptic.
         */
        seek(offsetTime: TimeInterval):void;
        /**
         * A Boolean that silences all haptic and audio output from the player when set to 
         * .
         */
        isMuted: boolean;
    }
}

/**
 * Use built-in or custom filters to process still and video images. 
 */
declare module CoreImage {
    export class CIImage extends NSObject {
        static black: CIImage;
        static blue: CIImage;
        static clear: CIImage;
        static cyan: CIImage;
        static gray: CIImage;
        static green: CIImage;
        static magenta: CIImage;
        static red: CIImage;
        static white: CIImage;
        static yellow: CIImage;
        /**
         * Returns a filter shape object that represents the domain of definition of the image.
         */
        definition: CIFilterShape;
        /**
         * A rectangle that specifies the extent of the image.
         */
        extent: CGRect;
        /**
         * A dictionary containing metadata about the image.
         */
        properties: Record<string, any>;
        /**
         * The URL from which the image was loaded.
         */
        url: URL | null;
        /**
         * The color space of the image.
         */
        colorSpace: CGColorSpace | null;
        /**
         * The CoreGraphics image object this image was created from, if applicable.
         */
        cgImage: CGImage | null;
        /**
         * The CoreVideo pixel buffer this image was created from, if applicable.
         */
        pixelBuffer: CVPixelBuffer | null;
        /**
         * 
         *  representation of the depth image.
         */
        depthData: AVDepthData | null;
        /**
         * 
         *  representation of portrait effects.
         */
        portraitEffectsMatte: AVPortraitEffectsMatte | null;
        semanticSegmentationMatte: AVSemanticSegmentationMatte | null;
        /**
         * Initializes an image object  from the contents supplied by a CGLayer object.
         */
        constructor (layer: CGLayer);
        /**
         * Initializes an image object  from the contents supplied by a CGLayer object, using the  specified options.
         */
        constructor (layer: CGLayer, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object by reading an image from a URL.
         */
        constructor (url: URL);
        /**
         * Initializes an image object by reading an image from a URL, using the specified options.
         */
        constructor (url: URL, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object from the contents of a Core Video image buffer.
         */
        constructor (imageBuffer: CVImageBuffer);
        /**
         * Initializes an image object from the contents of a Core Video image buffer, using the specified options.
         */
        constructor (imageBuffer: CVImageBuffer, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object from the contents of a Core Video pixel buffer.
         */
        constructor (pixelBuffer: CVPixelBuffer);
        /**
         * Initializes an image object from the contents of a Core Video pixel buffer using the specified options.
         */
        constructor (pixelBuffer: CVPixelBuffer, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object with the supplied image data.
         */
        constructor (data: Data);
        /**
         * Initializes an image object with the supplied image data, using the specified options.
         */
        constructor (data: Data, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object with  data provided by an image provider, using the specified options. 
         */
        constructor (p: any, width: number, height: number, f: CIFormat, cs: CGColorSpace | null, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object with data supplied by an OpenGL texture.
         */
        constructor (name: UInt32, size: CGSize, flipped: boolean, colorSpace: CGColorSpace | null);
        /**
         * Initializes an image object with data supplied by an OpenGL texture.
         */
        constructor (name: UInt32, size: CGSize, flipped: boolean, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object with data supplied by a Metal texture.
         */
        constructor (texture: MTLTexture, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image with the contents of an IOSurface.
         */
        constructor (surface: IOSurfaceRef);
        /**
         * Initializes, using the specified options, an image with the contents of an IOSurface.
         */
        constructor (surface: IOSurfaceRef, options: Record<CIImageOption, any> | null);
        /**
         * Initializes, using the specified format and options, an image with the contents of a specific data plane in an IOSurface.
         */
        constructor (surface: IOSurfaceRef, plane: number, format: CIFormat, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image of infinite extent whose entire content is the specified color.
         */
        constructor (color: CIColor);
        /**
         * Initializes an image object with bitmap data. 
         */
        constructor (data: Data, bytesPerRow: number, size: CGSize, format: CIFormat, colorSpace: CGColorSpace | null);
        /**
         * Initializes an image object with a Quartz 2D image.
         */
        constructor (image: CGImage);
        /**
         * Initializes an image object with a Quartz 2D image, using the specified options.
         */
        constructor (image: CGImage, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object with the specified bitmap image representation.
         */
        constructor (bitmapImageRep: NSBitmapImageRep);
        /**
         * Initializes an image object with the specified UIKit image object.
         */
        constructor (image: UIImage);
        constructor (source: CGImageSource, index: number, dict: Record<CIImageOption, any> | null);
        constructor (data: AVDepthData);
        constructor (data: AVDepthData, options: Record<string, any> | null);
        constructor (matte: AVPortraitEffectsMatte);
        constructor (matte: AVPortraitEffectsMatte, options: Record<CIImageOption, any> | null);
        constructor (matte: AVSemanticSegmentationMatte);
        constructor (matte: AVSemanticSegmentationMatte, options: Record<CIImageOption, any> | null);
        /**
         * Initializes an image object with the specified UIKit image object, using the specified options.
         */
        constructor (image: UIImage, options: Record<CIImageOption, any> | null);
        /**
         * Creates and returns an empty image object.
         */
        static empty():CIImage;
        transformed(matrix: CGAffineTransform, highQualityDownsample: boolean):CIImage;
        /**
         * Returns a new image created by applying a filter to the original image with the specified name and parameters.
         */
        applyingFilter(filterName: string, params: Record<string, any>):CIImage;
        /**
         * Returns a new image with a cropped portion of the original image.
         */
        cropped(rect: CGRect):CIImage;
        /**
         * Returns a new image created by transforming the original image to the specified EXIF orientation.
         */
        oriented(orientation: Int32):CIImage;
        /**
         * Returns a new image created by making the pixel colors along its edges extend infinitely in all directions.
         */
        clampedToExtent():CIImage;
        /**
         * Returns a new image created by cropping to a specified area, then making the pixel colors along the edges of the cropped image extend infinitely in all directions.
         */
        clamped(rect: CGRect):CIImage;
        /**
         * Returns a new image created by compositing the original image over the specified destination image.
         */
        composited(dest: CIImage):CIImage;
        /**
         * Returns a new image created by color matching from the specified color space to the context’s working color space.
         */
        matchedToWorkingSpace(colorSpace: CGColorSpace):CIImage | null;
        /**
         * Returns a new image created by color matching from the context’s working color space to the specified color space.
         */
        matchedFromWorkingSpace(colorSpace: CGColorSpace):CIImage | null;
        /**
         * Returns a new image created by multiplying the image’s RGB values by its alpha values.
         */
        premultiplyingAlpha():CIImage;
        /**
         * Returns a new image created by dividing the image’s RGB values by its alpha values.
         */
        unpremultiplyingAlpha():CIImage;
        /**
         * Returns a new image created by setting all alpha values to 1.0 within the specified rectangle and to 0.0 outside of that area.
         */
        settingAlphaOne(extent: CGRect):CIImage;
        /**
         * Returns a new image created by applying a Gaussian Blur filter to the image.
         */
        applyingGaussianBlur(sigma: number):CIImage;
        /**
         * Returns a new image created by adding the specified metadata properties to the image.
         */
        settingProperties(properties: Record<AnyHashable, any>):CIImage;
        /**
         * Returns a new image created by inserting an intermediate.
         */
        insertingIntermediate():CIImage;
        /**
         * Returns the transformation needed to reorient the image to the specified orientation.
         */
        orientationTransform(orientation: Int32):CGAffineTransform;
        /**
         * Draws all or part of the image at the specified point in the current coordinate system. 
         */
        draw(point: NSPoint, fromRect: NSRect, op: NSCompositingOperation, delta: CGFloat):void;
        /**
         * Returns all possible automatically selected and configured filters for adjusting the image.
         */
        autoAdjustmentFilters():CIFilter[];
        /**
         * Returns the region of interest for the filter chain that generates the image.
         */
        regionOfInterest(image: CIImage, rect: CGRect):CGRect;
        /**
         * Samples the image using nearest-neighbor and returns the result.
         */
        samplingNearest():CIImage;
        /**
         * Samples the image using bilinear interpolation and returns the result.
         */
        samplingLinear():CIImage;
        convertingLabToWorkingSpace():CIImage;
        convertingWorkingSpaceToLab():CIImage;
    }
    export class CIFilter extends NSObject {
        /**
         * A name associated with a filter.
         */
        name: string;
        /**
         * A Boolean value that determines whether the filter is enabled. Animatable.
         */
        isEnabled: boolean;
        /**
         * A dictionary of key-value pairs that describe the filter.
         */
        attributes: Record<string, any>;
        /**
         * The names of all input parameters to the filter.
         */
        inputKeys: string[];
        /**
         * The names of all output parameters from the filter.
         */
        outputKeys: string[];
        /**
         * Returns a 
         *  object that encapsulates the operations configured in the filter.
         */
        outputImage: CIImage | null;
        /**
         * Creates a 
         *  object for a specific kind of filter. 
         */
        constructor (name: string);
        /**
         * Creates a 
         *  object for a specific kind of filter and initializes the input values.
         */
        constructor (name: string, params: Record<string, any> | null);
        /**
         * A filter which allows the processing of RAW images
         */
        constructor (data: Data!, options: Record<CIRAWFilterOption, any>);
        /**
         * A filter which allows the processing of RAW images
         */
        constructor (url: URL!, options: Record<CIRAWFilterOption, any>);
        /**
         * Creates a filter from a Core Video pixel buffer.
         */
        constructor (pixelBuffer: CVPixelBuffer!, properties: Record<AnyHashable, any>, options: Record<CIRAWFilterOption, any>);
        /**
         * Returns an array of all published filter names that match all the specified categories.
         */
        static filterNames(categories: string[] | null):string[];
        /**
         * Publishes a custom filter that is not packaged as an image unit.
         */
        static registerName(name: string, anObject: CIFilterConstructor, attributes: Record<string, any>):void;
        /**
         * Returns the localized name for the specified filter name.
         */
        static localizedName(filterName: string):string;
        /**
         * Returns the localized description of a filter for display in the user interface.
         */
        static localizedDescription(filterName: string):string;
        /**
         * Returns the location of the localized reference documentation that describes the filter. 
         */
        static localizedReferenceDocumentation(filterName: string):URL | null;
        /**
         * Serializes filter parameters into XMP form that is suitable for embedding in an image.
         */
        static serializedXMP(filters: CIFilter[], extent: CGRect):Data | null;
        /**
         * Returns an array of filter objects de-serialized from XMP data.
         */
        static filterArray(xmpData: Data, extent: CGRect, outError: NSErrorPointer):CIFilter[];
        static supportedRawCameraModels():[String]!;
        /**
         * Sets all input values for a filter to default values.
         */
        setDefaults():void;
        /**
         * Produces a 
         *  object by applying arguments to a kernel function and using options to control how the kernel function is evaluated.
         */
        apply(k: CIKernel, args: any[] | null, dict: Record<string, any> | null):CIImage | null;
        /**
         * Returns a filter view for the filter.
         */
        view(inUIConfiguration: Record<AnyHashable, any>, inKeys: [Any]!):IKFilterUIView!;
    }
    export class CIImageOption {
        /**
         * A key for the image tiles size. The associated value is an 
         *  that contains
         *  objects for the dimensions of the image tiles requested from the image provider.
         */
        static providerTileSize: CIImageOption;
        /**
         * A key for data needed by the image provider. The associated value is an object that contains the needed data.
         */
        static providerUserInfo: CIImageOption;
        /**
         * The key for a color space.
         */
        static colorSpace: CIImageOption;
        /**
         * The key for image metadata properties.
         */
        static properties: CIImageOption;
        /**
         * The key for transforming an image according to orientation metadata.
         */
        static applyOrientationProperty: CIImageOption;
        /**
         * The key for an OpenGL texture target.
         */
        static textureTarget: CIImageOption;
        /**
         * The key for an OpenGL texture format.
         */
        static textureFormat: CIImageOption;
        /**
         * The key into the properties dictionary to indicate whether to use nearest-neighbor sampling.
         */
        static nearestSampling: CIImageOption;
    }
    export class CIRAWFilterOption {
        /**
         * A key for an 
         *  object containing a float that expresses the amount of baseline exposure applied to an image.
         */
        static baselineExposure: CIRAWFilterOption;
        /**
         * A key for an 
         *  object containing a Boolean value that determines whether or not to disable gamut mapping.
         */
        static disableGamutMap: CIRAWFilterOption;
        /**
         * A key for an 
         *  object containing a double that expresses the amount of moiré reduction applied to an image.
         */
        static moireAmount: CIRAWFilterOption;
        /**
         * A key for the version number of the method to be used for decoding. A newly initialized object defaults to the newest available decoder version for the given image type. You can request an alternative, older version to maintain compatibility with older releases. Must be one of the values listed for the 
         *  key, otherwise a 
         *  output image is generated. The associated value must be an 
         *  object that specifies an integer value in range of 
         *  to the current decoder version. When you request a specific version of the decoder, Core Image produces an image that is 
         *  the same across different versions of the operating system. Core Image, however, does not guarantee that  the same bits are produced across different versions of the operating system. That’s because the rounding behavior of floating-point arithmetic can vary due to differences in compilers or hardware. Note that this option has no effect if the image used for initialization is not RAW.
         */
        static decoderVersion: CIRAWFilterOption;
        /**
         * A key for the supported decoder versions. The associated value is  an 
         *  object that contains all supported decoder versions for the given image type, sorted in increasingly newer order. Each entry is an 
         *  object that contains key-value pairs. All entries represent a valid version identifier that can be passed as the 
         *  value for the key 
         * . Version values are read-only; attempting to set this value raises an exception. Currently, the only defined key is 
         *  which has as its value an 
         *  that uniquely describing a given decoder version. This string might not be suitable for user interface display.. 
         */
        static supportedDecoderVersions: CIRAWFilterOption;
        /**
         * A key for the amount of boost to apply to an image. The associated value is a floating-point value packaged as an 
         *  object. The value must be in the range of 
         * . A value of 
         *  indicates no boost, that is, a linear response. The default value is 
         * , which indicates full boost.
         */
        static boostAmount: CIRAWFilterOption;
        /**
         * The x value of the chromaticity.  The associated value is a floating-point value packaged as an 
         *  object.  You can query this value to get the current x value for neutral x, y.
         */
        static neutralChromaticityX: CIRAWFilterOption;
        /**
         * The y value of the chromaticity.  The associated value is a floating-point value packaged as an 
         *  object.  You can query this value to get the current y value for neutral x, y.
         */
        static neutralChromaticityY: CIRAWFilterOption;
        /**
         * A key for neutral temperature. The associated value is a floating-point value packaged as an 
         *  object. You can query this value to get the current temperature value.
         */
        static neutralTemperature: CIRAWFilterOption;
        /**
         * A key for the neutral tint. The associated value is a floating-point value packaged as an 
         *  object. Use this key to set or fetch the temperature and tint values.  You can query this value to get the current tint value.
         */
        static neutralTint: CIRAWFilterOption;
        /**
         * A key for the neutral position. Use this key to set the location in geometric coordinates of the unrotated output image that should be used as neutral. You cannot query this value; it is undefined for reading. The associated value is a two-element 
         *  object that specifies the location (
         * , 
         * ). 
         */
        static neutralLocation: CIRAWFilterOption;
        /**
         * A key for the scale factor. The associated value is a floating-point value packaged as an 
         *  object that specifies the desired scale factor at which the image will be drawn. Setting this value can greatly improve the drawing performance. A value of 
         *  is the identity. In some cases, if you change the scale factor and enable draft mode, performance can decrease. See 
         * .
         */
        static scaleFactor: CIRAWFilterOption;
        /**
         * A key for allowing draft mode. The associated value is a Boolean value packaged as an 
         *  object.  It’s best not to use draft mode if the image needs to be drawn without draft mode at a later time, because changing the value from 
         *  to 
         *  is an expensive operation. If the optional scale factor is smaller than a certain value, additionally setting draft mode can improve image decoding speed without any perceivable loss of quality. However, turning on draft mode does not have any effect if the scale factor is not below this threshold.
         */
        static allowDraftMode: CIRAWFilterOption;
        /**
         * A key for specifying whether to ignore the image orientation. The associated value is a Boolean value packaged as an 
         *  object.  The default value is 
         * . An image is usually loaded in its proper orientation, as long as the associated metadata records its orientation. For special purposes you might want to load the image in its physical orientation. The exact meaning of "physical orientation” is dependent on the specific image.
         */
        static ignoreImageOrientation: CIRAWFilterOption;
        /**
         * A key for the image orientation. The associated value is an integer value packaged as an 
         *  object. Valid values are in range 
         *  and follow the EXIF specification. The value is disregarded when the 
         *  flag is set. You can change the orientation of the image by overriding this value. By changing this value you can rotate an image in 90-degree increments.
         */
        static imageOrientation: CIRAWFilterOption;
        /**
         * A key for the sharpening state. The associated value must be an 
         *  object that specifies a 
         *  value (
         *  or 
         * ). The default is 
         * . This option has no effect if the image used for initialization is not RAW.
         */
        static enableSharpening: CIRAWFilterOption;
        /**
         * A key for progressive chromatic noise tracking (based on ISO and exposure time). The associated value must be an 
         *  object that specifies a 
         *  value (
         *  or 
         * ). The default is 
         * . This option has no effect if the image used for initialization is not RAW.
         */
        static enableChromaticNoiseTracking: CIRAWFilterOption;
        /**
         * A key for the amount to reduce noise in the image. The associated value must be an 
         *  object that specifies a floating-point value between 
         *  and 
         * . The value has no effect if the image used for initialization is not RAW.
         */
        static noiseReductionAmount: CIRAWFilterOption;
        /**
         * A key for whether to automatically correct for image distortion from known lenses.
         */
        static enableVendorLensCorrection: CIRAWFilterOption;
        /**
         * A key for the amount of noise reduction to apply to luminance data in the image.
         */
        static luminanceNoiseReductionAmount: CIRAWFilterOption;
        /**
         * A key for the amount of noise reduction to apply to color data in the image.
         */
        static colorNoiseReductionAmount: CIRAWFilterOption;
        /**
         * A key for the amount of sharpness enhancement to apply during noise reduction.
         */
        static noiseReductionSharpnessAmount: CIRAWFilterOption;
        /**
         * A key for the amount of contrast enhancement to apply during noise reduction.
         */
        static noiseReductionContrastAmount: CIRAWFilterOption;
        /**
         * A key for the amount of detail enhancement to apply during noise reduction.
         */
        static noiseReductionDetailAmount: CIRAWFilterOption;
        /**
         * A key for the amount to boost the shadow areas of the image. The associated value must be an 
         *  object that specifies floating-point value. The value has no effect if the image used for initialization is not RAW.
         */
        static boostShadowAmount: CIRAWFilterOption;
        /**
         * A key for the filter to apply to the image while it is temporarily in a linear color space as part of  RAW image processing. The associated value must be a 
         *  object.
         */
        static linearSpaceFilter: CIRAWFilterOption;
        /**
         * A key for the full native size of the original, non-transformed RAW image. The associated value is a 
         *  object whose X and Y values are the image’s width and height. This key is read-only.
         */
        static outputNativeSize: CIRAWFilterOption;
        /**
         * A key for the set of input keys available for use. The associated value is an 
         *  object containing the set of input keys which may be used to affect the output image. (Depending on the input image type and the decoder version, some input keys may be unavailable.) This key is read-only.
         */
        static activeKeys: CIRAWFilterOption;
    }
    export class CIContext extends NSObject {
        /**
         * The working color space of the Core Image context.
         */
        workingColorSpace: CGColorSpace | null;
        /**
         * The working pixel format of the Core Image context.
         */
        workingFormat: CIFormat;
        /**
         * Initializes a context without a specific rendering destination, using default options.
         */
        constructor ();
        /**
         * Initializes a context without a specific rendering destination, using the specified options.
         */
        constructor (options: Record<CIContextOption, any> | null);
        /**
         * Creates a Core Image context from a Quartz context, using the specified options.
         */
        constructor (cgctx: CGContext, options: Record<CIContextOption, any> | null);
        /**
         * Creates a Core Image context from a CGL context, using the specified options, color space, and pixel format object.
         */
        constructor (cglctx: CGLContextObj, pixelFormat: CGLPixelFormatObj | null, colorSpace: CGColorSpace | null, options: Record<CIContextOption, any> | null);
        /**
         * Creates a Core Image context from an EAGL context.
         */
        constructor (eaglContext: EAGLContext);
        /**
         * Creates a Core Image context from an EAGL context using the specified options.
         */
        constructor (eaglContext: EAGLContext, options: Record<CIContextOption, any> | null);
        /**
         * Creates an OpenGL-based Core Image context using a GPU that is not currently driving a display.
         */
        constructor (index: UInt32);
        /**
         * Creates an OpenGL-based Core Image context using a GPU that is not currently driving a display, with the specified options.
         */
        constructor (index: UInt32, colorSpace: CGColorSpace | null, options: Record<CIContextOption, any> | null, sharedContext: CGLContextObj | null);
        /**
         * Creates a Core Image context using the specified Metal device.
         */
        constructor (device: MTLDevice);
        /**
         * Creates a Core Image context using the specified Metal device and options.
         */
        constructor (device: MTLDevice, options: Record<CIContextOption, any> | null);
        constructor (commandQueue: MTLCommandQueue);
        constructor (commandQueue: MTLCommandQueue, options: Record<CIContextOption, any> | null);
        /**
         * Returns the number of GPUs not currently driving a display.
         */
        static offlineGPUCount():UInt32;
        /**
         * Creates a Quartz 2D image from a region of a Core Image image object.
         */
        createCGImage(image: CIImage, fromRect: CGRect):CGImage | null;
        /**
         * Creates a CGLayer object from the provided parameters.
         */
        createCGLayer(size: CGSize, info: CFDictionary | null):CGLayer | null;
        /**
         * Renders to the given bitmap. 
         */
        render(image: CIImage, data: UnsafeMutableRawPointer, rowBytes: number, bounds: CGRect, format: CIFormat, colorSpace: CGColorSpace | null):void;
        /**
         * Renders a region of an image to a point in the context destination.
         */
        draw(image: CIImage, atPoint: CGPoint, fromRect: CGRect):void;
        /**
         * Returns the maximum size allowed for any image rendered into the context.
         */
        inputImageMaximumSize():CGSize;
        /**
         * Returns the maximum size allowed for any image created by the context.
         */
        outputImageMaximumSize():CGSize;
        /**
         * Frees any cached data, such as temporary images, associated with the context and runs the garbage collector.
         */
        clearCaches():void;
        /**
         * Runs the garbage collector to reclaim any resources that the context no longer requires.
         */
        reclaimResources():void;
        /**
         * Renders the image and exports the resulting image data in TIFF format.
         */
        tiffRepresentation(image: CIImage, format: CIFormat, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):Data | null;
        /**
         * Renders the image and exports the resulting image data in JPEG format.
         */
        jpegRepresentation(image: CIImage, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):Data | null;
        /**
         * Renders the image and exports the resulting image data in PNG format.
         */
        pngRepresentation(image: CIImage, format: CIFormat, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):Data | null;
        /**
         * Renders the image and exports the resulting image data in HEIF format.
         */
        heifRepresentation(image: CIImage, format: CIFormat, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):Data | null;
        /**
         * Renders the image and exports the resulting image data as a file in TIFF format.
         */
        writeTIFFRepresentation(image: CIImage, url: URL, format: CIFormat, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):void;
        /**
         * Renders the image and exports the resulting image data as a file in JPEG format.
         */
        writeJPEGRepresentation(image: CIImage, url: URL, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):void;
        /**
         * Renders the image and exports the resulting image data as a file in PNG format.
         */
        writePNGRepresentation(image: CIImage, url: URL, format: CIFormat, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):void;
        /**
         * Renders the image and exports the resulting image data as a file in HEIF format.
         */
        writeHEIFRepresentation(image: CIImage, url: URL, format: CIFormat, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):void;
        /**
         * An optional call to warm up a 
         *  so that subsequent calls to render with the same arguments run more efficiently.
         */
        prepareRender(image: CIImage, fromRect: CGRect, destination: CIRenderDestination, atPoint: CGPoint):void;
        /**
         * Fills the entire destination with black or clear depending on its 
         * .
         */
        startTask(destination: CIRenderDestination):CIRenderTask;
        depthBlurEffectFilter(image: CIImage, disparityImage: CIImage, portraitEffectsMatte: CIImage | null, hairSemanticSegmentation: CIImage | null, glassesMatte: CIImage | null, gainMap: CIImage | null, orientation: CGImagePropertyOrientation, options: Record<AnyHashable, any> | null):CIFilter | null;
        heif10Representation(image: CIImage, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):Data;
        writeHEIF10Representation(image: CIImage, url: URL, colorSpace: CGColorSpace, options: Record<CIImageRepresentationOption, any>):void;
    }
    export class CIImageRepresentationOption {
        /**
         * 
         *  dictionary key for image export methods to represent data as 
         * .
         */
        static avDepthData: CIImageRepresentationOption;
        /**
         * 
         *  dictionary key for image export methods to output depth data.
         */
        static depthImage: CIImageRepresentationOption;
        /**
         * 
         *  dictionary key for image export methods to output disparity data.
         */
        static disparityImage: CIImageRepresentationOption;
    }
    export class CIContextOption {
        /**
         * A key for the color space to use for images before they are rendered to the context.
         */
        static outputColorSpace: CIContextOption;
        /**
         * A key for the color space to use for image operations.
         */
        static workingColorSpace: CIContextOption;
        /**
         * An option for the color format to use for intermediate results when rendering with the context.
         */
        static workingFormat: CIContextOption;
        /**
         * An option controlling the quality of image downsampling operations performed by the context.
         */
        static highQualityDownsample: CIContextOption;
        /**
         * An option for whether output rendering by the context produces alpha-premultiplied pixels.
         */
        static outputPremultiplied: CIContextOption;
        /**
         * An option for whether the context caches the contents of any intermediate pixel buffers it uses during rendering.
         */
        static cacheIntermediates: CIContextOption;
        /**
         * A key for enabling software renderer use.  If the associated 
         *  object  is 
         * , the software renderer is required. 
         */
        static useSoftwareRenderer: CIContextOption;
        /**
         * A key for enabling low-priority GPU use.
         */
        static priorityRequestLow: CIContextOption;
    }
    export class CIColor extends NSObject {
        /**
         * Returns a color object whose RGB values are all 
         *  and whose alpha value is 
         * .
         */
        static black: CIColor;
        /**
         * Returns a color object whose RGB and alpha values are all 
         * .
         */
        static clear: CIColor;
        /**
         * Returns a color object whose RGB values are 
         * , 
         * , and 
         *  and whose alpha value is 
         * .
         */
        static cyan: CIColor;
        /**
         * Returns a color object whose RGB values are all 
         *  and whose alpha value is 
         * .
         */
        static gray: CIColor;
        /**
         * Returns a color object whose RGB values are 
         * , 
         * , and 
         *  and whose alpha value is 
         * .
         */
        static magenta: CIColor;
        /**
         * Returns a color object whose RGB values are all 
         *  and whose alpha value is 
         * .
         */
        static white: CIColor;
        /**
         * Returns a color object whose RGB values are 
         * , 
         * , and 
         *  and whose alpha value is 
         * .
         */
        static yellow: CIColor;
        /**
         * The Quartz 2D color space associated with the color.
         */
        colorSpace: CGColorSpace;
        /**
         * The color components of the color.
         */
        components: UnsafePointer<CGFloat>;
        /**
         * Returns the number of color components in the color.
         */
        numberOfComponents: number;
        /**
         * The unpremultiplied red component of the color.
         */
        red: CGFloat;
        /**
         * The unpremultiplied green component of the color.
         */
        green: CGFloat;
        /**
         * The unpremultiplied blue component of the color.
         */
        blue: CGFloat;
        /**
         * The alpha value of the color.
         */
        alpha: CGFloat;
        /**
         * A formatted string that specifies the components of the color.
         */
        stringRepresentation: string;
        /**
         * Initializes a Core Image color object with a Core Graphics color.
         */
        constructor (c: CGColor);
        /**
         * Initializes a Core Image color object using a UIKit (or AppKit) color object.
         */
        constructor (color: UIColor);
        /**
         * Initializes a Core Image color object with the specified red, green, blue, and alpha component values.
         */
        constructor (r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat);
        /**
         * Initializes a Core Image color object with the specified red, green, and blue component values as measured in the specified color space.
         */
        constructor (r: CGFloat, g: CGFloat, b: CGFloat, colorSpace: CGColorSpace);
        /**
         * Initializes a Core Image color object with the specified red, green, blue, and alpha component values as measured in the specified color space.
         */
        constructor (r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat, colorSpace: CGColorSpace);
        /**
         * Creates a color object using the specified RGB color component values
         */
        constructor (r: CGFloat, g: CGFloat, b: CGFloat);
        /**
         * Creates a color object using the RGBA color component values specified by a string.
         */
        constructor (representation: string);
    }
    export class CIVector extends NSObject {
        /**
         * The number of items in the vector.
         */
        count: number;
        /**
         * The value located in the first position in the vector.
         */
        x: CGFloat;
        /**
         * The value located in the second position in the vector.
         */
        y: CGFloat;
        /**
         * The value located in the third position in the vector.
         */
        z: CGFloat;
        /**
         * The value located in the fourth position in the vector.
         */
        w: CGFloat;
        /**
         * The string representation of the vector.
         */
        stringRepresentation: string;
        /**
         * The values in the vector represented as an affine transform.
         */
        cgAffineTransformValue: CGAffineTransform;
        /**
         * The values in the vector as a Core Graphics point structure.
         */
        cgPointValue: CGPoint;
        /**
         * The values in the vector as a Core Graphics rectangle structure.
         */
        cgRectValue: CGRect;
        /**
         * Initializes a vector with the provided values.
         */
        constructor (values: UnsafePointer<CGFloat>, count: number);
        /**
         * Initializes the first position of a vector with the provided values.
         */
        constructor (x: CGFloat);
        /**
         * Initializes the first two positions of a vector with the provided values.
         */
        constructor (x: CGFloat, y: CGFloat);
        /**
         * Initializes the first three positions of a vector with the provided values.
         */
        constructor (x: CGFloat, y: CGFloat, z: CGFloat);
        /**
         * Initializes four positions of a vector with the provided values.
         */
        constructor (x: CGFloat, y: CGFloat, z: CGFloat, w: CGFloat);
        /**
         * Initializes a vector with values provided in a string representation.
         */
        constructor (representation: string);
        /**
         * Initializes a vector that is initialized with values provided by a 
         *  structure.
         */
        constructor (r: CGAffineTransform);
        /**
         * Initializes a vector that is initialized with values provided by a 
         *  structure.
         */
        constructor (p: CGPoint);
        /**
         * Initializes a vector that is initialized with values provided by a 
         *  structure.
         */
        constructor (r: CGRect);
        /**
         * Returns a value from a specific position in the vector.
         */
        value(index: number):CGFloat;
    }
    export class CIFilterShape extends NSObject {
        /**
         * The extent of the filter shape.
         */
        extent: CGRect;
        /**
         * Initializes a filter shape object with a rectangle.
         */
        constructor (r: CGRect);
        /**
         * Modifies a filter shape object so that it is inset by the specified x and y values.
         */
        insetBy(dx: Int32, dy: Int32):CIFilterShape;
        /**
         * Creates a filter shape object that represents the intersection of the current filter shape and the specified filter shape object.
         */
        intersect(s2: CIFilterShape):CIFilterShape;
        /**
         * Creates a filter shape that results from applying a transform to the current filter shape.
         */
        transform(m: CGAffineTransform, flag: boolean):CIFilterShape;
        /**
         * Creates a filter shape that results from the union of the current filter shape and another filter shape object.
         */
        union(s2: CIFilterShape):CIFilterShape;
    }
    export class CIFormat {
        /**
         * A 16-bit-per-pixel, fixed-point pixel format in which the sole component is alpha.
         */
        static A16: CIFormat;
        /**
         * An 8-bit-per-pixel, fixed-point pixel format in which the sole component is alpha.
         */
        static A8: CIFormat;
        /**
         * A 32-bit-per-pixel, fixed-point pixel format in which the alpha value precedes the blue, green, and red color components.
         */
        static ABGR8: CIFormat;
        /**
         * A 32-bit-per-pixel, fixed-point pixel format in which the alpha value precedes the red, green, and blue color components.
         */
        static ARGB8: CIFormat;
        /**
         * A 32-bit-per-pixel, full-width floating-point pixel format in which the sole component is alpha.
         */
        static Af: CIFormat;
        /**
         * A 16-bit-per-pixel, half-width floating-point pixel format in which the sole component is alpha.
         */
        static Ah: CIFormat;
        /**
         * A 32-bit-per-pixel, fixed-point pixel format in which the blue, green, and red color components precede the alpha value.
         */
        static BGRA8: CIFormat;
        /**
         * A 16-bit-per-pixel, fixed-point pixel format in which the sole component is a red color value.
         */
        static R16: CIFormat;
        /**
         * An 8-bit-per-pixel, fixed-point pixel format in which the sole component is a red color value.
         */
        static R8: CIFormat;
        /**
         * A 32-bit-per-pixel, fixed-point pixel format with only red and green color components.
         */
        static RG16: CIFormat;
        /**
         * A 16-bit-per-pixel, fixed-point pixel format with only red and green color components.
         */
        static RG8: CIFormat;
        /**
         * A 64-bit-per-pixel, fixed-point pixel format.
         */
        static RGBA16: CIFormat;
        /**
         * A 32-bit-per-pixel, fixed-point pixel format in which the red, green, and blue color components precede the alpha value.
         */
        static RGBA8: CIFormat;
        /**
         * A 128-bit-per-pixel, floating-point pixel format.
         */
        static RGBAf: CIFormat;
        /**
         * A 64-bit-per-pixel, floating-point pixel format.
         */
        static RGBAh: CIFormat;
        /**
         * A 64-bit-per-pixel, floating-point pixel format with only red and green color components.
         */
        static RGf: CIFormat;
        /**
         * A 32-bit-per-pixel, floating-point pixel format with only red and green color components.
         */
        static RGh: CIFormat;
        /**
         * A 32-bit-per-pixel, floating-point pixel format in which the sole component is a red color value.
         */
        static Rf: CIFormat;
        /**
         * A 16-bit-per-pixel, floating-point pixel format in which the sole component is a red color value.
         */
        static Rh: CIFormat;
        /**
         * A 16-bit-per-pixel, fixed-point pixel format in which the sole component is luminance.
         */
        static L16: CIFormat;
        /**
         * An 8-bit-per-pixel, fixed-point pixel format in which the sole component is luminance.
         */
        static L8: CIFormat;
        /**
         * A 32-bit-per-pixel, fixed-point pixel format with only 16-bit luminance and alpha components.
         */
        static LA16: CIFormat;
        /**
         * A 16-bit-per-pixel, fixed-point pixel format with only 8-bit luminance and alpha components.
         */
        static LA8: CIFormat;
        /**
         * A 64-bit-per-pixel, full-width floating-point pixel format with 32-bit luminance and alpha components.
         */
        static LAf: CIFormat;
        /**
         * A 32-bit-per-pixel, half-width floating-point pixel format with 16-bit luminance and alpha components.
         */
        static LAh: CIFormat;
        /**
         * A 32-bit-per-pixel, full-width floating-point pixel format in which the sole component is luminance.
         */
        static Lf: CIFormat;
        /**
         * A 16-bit-per-pixel, half-width floating-point pixel format in which the sole component is luminance.
         */
        static Lh: CIFormat;
        constructor (rawValue: Int32);
    }
    export interface CIFilterProtocol {
        /**
         * A 
         *  object that encapsulates the operations configured in the filter.
         */
        outputImage: CIImage | null;
        /**
         * Returns a dictionary that contains key-value pairs that describe the filter.
         */
        static customAttributes():Record<string, any> | null;
    }
    export class CIKernel extends NSObject {
        /**
         * The name of the kernel routine.
         */
        name: string;
        /**
         * Creates a single kernel object.
         */
        constructor (_string: string);
        /**
         * Creates a single kernel object using a Metal Shading Language (MSL) kernel function.
         */
        constructor (name: string, data: Data);
        /**
         * Creates a single kernel object using a Metal Shading Language kernel function with optional pixel format.
         */
        constructor (name: string, data: Data, format: CIFormat);
        /**
         * Creates and returns and array of  
         *  objects.
         */
        static makeKernels(_string: string):CIKernel[] | null;
        static kernelNames(data: Data):string[];
        static kernels(source: string):CIKernel[];
        /**
         * Sets the selector Core Image uses to query the region of interest for image processing with the kernel.
         */
        setROISelector(method: Selector):void;
        /**
         * Creates a new image using the kernel and specified arguments.
         */
        apply(extent: CGRect, callback: CIKernelROICallback, args: any[]):CIImage | null;
    }
    export class CIColorKernel extends CIKernel {
        /**
         * Creates a color kernel object from the specified kernel source code.
         */
        constructor (_string: string);
        /**
         * Creates a new image using the kernel and specified arguments.
         */
        apply(extent: CGRect, args: any[]):CIImage | null;
    }
    export class CIWarpKernel extends CIKernel {
        /**
         * Creates a warp kernel object from the specified kernel source code.
         */
        constructor (_string: string);
        /**
         * Creates a new image using the kernel and the specified input image and arguments.
         */
        apply(extent: CGRect, callback: CIKernelROICallback, image: CIImage, args: any[]):CIImage | null;
    }
    export class CIBlendKernel extends CIColorKernel {
        /**
         * A blend kernel that returns a clear color.
         */
        static clear: CIBlendKernel;
        /**
         * A blend kernel that uses the luminance values of the background with the hue and saturation values of the foreground image.
         */
        static color: CIBlendKernel;
        /**
         * A blend kernel that darkens the background image samples to reflect the foreground image samples.
         */
        static colorBurn: CIBlendKernel;
        /**
         * A blend kernel that brightens the background image samples to reflect the foreground image samples.
         */
        static colorDodge: CIBlendKernel;
        /**
         * A blend kernel that adds color components to achieve a brightening effect.
         */
        static componentAdd: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the maximum values of two input images.
         */
        static componentMax: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the minimum values of two input images.
         */
        static componentMin: CIBlendKernel;
        /**
         * A blend kernel that multiplies the color components of its input images.
         */
        static componentMultiply: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the darker values of two input images.
         */
        static darken: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the darker color of two input images.
         */
        static darkerColor: CIBlendKernel;
        /**
         * A blend kernel that returns the background input image.
         */
        static destination: CIBlendKernel;
        /**
         * A blend kernel that places the background over the foreground and crops based on the visibility of the foreground.
         */
        static destinationAtop: CIBlendKernel;
        /**
         * A blend kernel that places the background over the foreground and crops based on the visibility of both.
         */
        static destinationIn: CIBlendKernel;
        /**
         * A blend kernel that uses the background image to define what to take out of the foreground image.
         */
        static destinationOut: CIBlendKernel;
        /**
         * A blend kernel that places the background image over the input foreground image.
         */
        static destinationOver: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the difference between the background and foreground images.
         */
        static difference: CIBlendKernel;
        /**
         * A blend kernel that divides the background image sample color with the foreground image sample color.
         */
        static divide: CIBlendKernel;
        /**
         * A blend kernel that produces an effect similar to difference blending but with lower contrast. 
         */
        static exclusion: CIBlendKernel;
        /**
         * A blend kernel that returns either the foreground or background image if the other contains a clear color.
         */
        static exclusiveOr: CIBlendKernel;
        /**
         * A blend kernel that either multiplies or screens colors, depending on the source image sample color.
         */
        static hardLight: CIBlendKernel;
        /**
         * A blend kernel that adds two images together, setting each color channel value to either 0 or 1.
         */
        static hardMix: CIBlendKernel;
        /**
         * A blend kernel that uses the luminance and saturation values of the background image with the hue of the foreground image.
         */
        static hue: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the lighter values of two input images.
         */
        static lighten: CIBlendKernel;
        /**
         * A blend kernel that creates an image using the lighter color of two input images.
         */
        static lighterColor: CIBlendKernel;
        /**
         * A blend kernel that darkens the background image samples to reflect the foreground image samples while also increasing contrast.
         */
        static linearBurn: CIBlendKernel;
        /**
         * A blend kernel that lightens the background image samples to reflect the foreground image samples while also increasing contrast.
         */
        static linearDodge: CIBlendKernel;
        /**
         * A blend kernel that burns or dodges colors by changing brightness, depending on the blend color. 
         */
        static linearLight: CIBlendKernel;
        /**
         * A blend kernel that uses the hue and saturation of the background image with the luminance of the foreground image.
         */
        static luminosity: CIBlendKernel;
        /**
         * A blend kernel that multiplies the background image sample color with the foreground image sample color.
         */
        static multiply: CIBlendKernel;
        /**
         * A blend kernel that either multiplies or screens the foreground image samples with the background image samples, depending on the background color.
         */
        static overlay: CIBlendKernel;
        /**
         * A blend kernel that conditionally replaces background image samples with source image samples depending on the brightness of the source image samples.
         */
        static pinLight: CIBlendKernel;
        /**
         * A blend kernel that uses the luminance and hue values of the background image with the saturation of the foreground image.
         */
        static saturation: CIBlendKernel;
        /**
         * A blend kernel that multiplies the inverse of the foreground image samples with the inverse of the background image samples.
         */
        static screen: CIBlendKernel;
        /**
         * A blend kernel that either darkens or lightens colors, depending on the foreground image sample color.
         */
        static softLight: CIBlendKernel;
        /**
         * A blend kernel that returns the foreground input image.
         */
        static source: CIBlendKernel;
        /**
         * A blend kernel that places the foreground over the background and crops based on the visibility of the background.
         */
        static sourceAtop: CIBlendKernel;
        /**
         * A blend kernel that places the foreground over the background and crops based on the visibility of both.
         */
        static sourceIn: CIBlendKernel;
        /**
         * A blend kernel that uses the foreground image to define what to take out of the background image.
         */
        static sourceOut: CIBlendKernel;
        /**
         * A blend kernel that places the foreground image over the input background image.
         */
        static sourceOver: CIBlendKernel;
        /**
         * A blend kernel that subtracts the background image sample color from the foreground image sample color.
         */
        static subtract: CIBlendKernel;
        /**
         * A blend kernel that burns or dodges colors by changing contrast, depending on the blend color. 
         */
        static vividLight: CIBlendKernel;
        /**
         * Creates a custom blend kernel from a program string.
         */
        constructor (_string: string);
        /**
         * Creates a new image using the blend kernel and specified foreground and background images.
         */
        apply(foreground: CIImage, background: CIImage):CIImage | null;
    }
    export class CISampler extends NSObject {
        /**
         * The domain of definition (DOD) of the sampler
         */
        definition: CIFilterShape;
        /**
         * The rectangle that specifies the extent of the sampler
         */
        extent: CGRect;
        /**
         * Initializes a sampler with an image object.
         */
        constructor (im: CIImage);
        /**
         * Initializes the sampler with an image object using options specified in a dictionary.
         */
        constructor (im: CIImage, dict: Record<AnyHashable, any> | null);
    }
    export class CIImageProcessorKernel extends NSObject {
        /**
         * The processor's output pixel format.
         */
        static outputFormat: CIFormat;
        /**
         * Boolean determining whether or not processor outputs an opaque image.
         */
        static outputIsOpaque: boolean;
        /**
         * Tells whether or not processor input should be synchronized for CPU access.
         */
        static synchronizeInputs: boolean;
        /**
         * Method to override when applying a custom image processor kernel to an image and returning the result.
         */
        static apply(extent: CGRect, inputs: CIImage[] | null, args: Record<string, any> | null):CIImage;
        /**
         * Method to override for returning the image processing kernel's input pixel format.
         */
        static formatForInput(input: Int32):CIFormat;
        /**
         * Method to override for customizing the kernel's image processing.
         */
        static process(inputs: CIImageProcessorInput[] | null, arguments: Record<string, any> | null, output: CIImageProcessorOutput):void;
        /**
         * Method to override for determining specific region of input image required to process in rendering a specified region of the output image.
         */
        static roi(input: Int32, arguments: Record<string, any> | null, outputRect: CGRect):CGRect;
    }
    export interface CIImageProcessorInput {
        /**
         * A pointer to the image data in CPU memory to be processed.
         */
        baseAddress: UnsafeRawPointer;
        /**
         * A Metal texture containing the image data to be processed.
         */
        metalTexture: MTLTexture | null;
        /**
         * A CoreVideo pixel buffer containing the image data to be processed.
         */
        pixelBuffer: CVPixelBuffer | null;
        /**
         * An IOSurface object containing the image data to be processed.
         */
        surface: IOSurfaceRef;
        /**
         * The area within the input image to be processed.
         */
        region: CGRect;
        /**
         * The number of bytes per row of pixels in the input image data.
         */
        bytesPerRow: number;
        /**
         * The per-pixel data format of the image to be processed.
         */
        format: CIFormat;
        digest: UInt64;
    }
    export interface CIImageProcessorOutput {
        /**
         * A pointer to CPU memory at which to write output pixel data.
         */
        baseAddress: UnsafeMutableRawPointer;
        /**
         * A Metal texture to which you can write output pixel data.
         */
        metalTexture: MTLTexture | null;
        /**
         * A CoreVideo pixel buffer to which you can write output pixel data.
         */
        pixelBuffer: CVPixelBuffer | null;
        /**
         * An IOSurface object to which you can write output pixel data.
         */
        surface: IOSurfaceRef;
        /**
         * The rectangular region of the output image that your processor must provide.
         */
        region: CGRect;
        /**
         * A command buffer to use for image processing using Metal.
         */
        metalCommandBuffer: MTLCommandBuffer | null;
        /**
         * The number of bytes per row of pixels for the output image.
         */
        bytesPerRow: number;
        /**
         * The per-pixel data format expected of the output image.
         */
        format: CIFormat;
        digest: UInt64;
    }
    export class CIRenderDestination extends NSObject {
        /**
         * The render destination's representation of alpha (transparency) values.
         */
        alphaMode: CIRenderDestinationAlphaMode;
        /**
         * The destination's blend kernel.
         */
        blendKernel: CIBlendKernel | null;
        /**
         * Indicator of whether to blend in the destination's color space.
         */
        blendsInDestinationColorSpace: boolean;
        /**
         * The destination's color space.
         */
        colorSpace: CGColorSpace | null;
        /**
         * The render destination's row width.
         */
        width: number;
        /**
         * The render destination's buffer height.
         */
        height: number;
        /**
         * Indicator of whether or not the destination clamps.
         */
        isClamped: boolean;
        /**
         * Indicator of whether or not the destination dithers.
         */
        isDithered: boolean;
        /**
         * Indicator of whether the destination is flipped.
         */
        isFlipped: boolean;
        /**
         * Creates a render destination based on a Core Video pixel buffer.
         */
        constructor (pixelBuffer: CVPixelBuffer);
        /**
         * Creates a render destination based on an 
         *  object.
         */
        constructor (surface: IOSurface);
        /**
         * Creates a render destination based on a Metal texture.
         */
        constructor (texture: MTLTexture, commandBuffer: MTLCommandBuffer | null);
        /**
         * Creates a render destination based on a Metal texture with specified pixel format.
         */
        constructor (width: number, height: number, pixelFormat: MTLPixelFormat, commandBuffer: MTLCommandBuffer | null, block: ()=>any | null);
        /**
         * Creates a render destination based on an OpenGL texture.
         */
        constructor (texture: UInt32, target: UInt32, width: number, height: number);
        /**
         * Creates a render destination based on a client-managed buffer.
         */
        constructor (data: UnsafeMutableRawPointer, width: number, height: number, bytesPerRow: number, format: CIFormat);
    }
    export enum CIRenderDestinationAlphaMode {
        none = 0,
        premultiplied = 1,
        unpremultiplied = 2,
    }
    export class CIRenderInfo extends NSObject {
        /**
         * The amount of time a render spent executing kernels.
         */
        kernelExecutionTime: TimeInterval;
        /**
         * The number of passes the render took.
         */
        passCount: number;
        /**
         * The number of pixels the render produced executing kernels.
         */
        pixelsProcessed: number;
    }
    export class CIRenderTask extends NSObject {
        /**
         * Waits until the 
         *  finishes and returns.
         */
        waitUntilCompleted():CIRenderInfo;
    }
    export class CIImageAccumulator extends NSObject {
        /**
         * The extent of the image associated with the image accumulator.
         */
        extent: CGRect;
        /**
         * The pixel format of the image accumulator.
         */
        format: CIFormat;
        /**
         * Initializes an image accumulator with the specified extent and pixel format.
         */
        constructor (extent: CGRect, format: CIFormat);
        /**
         * Initializes an image accumulator with the specified extent, pixel format, and color space.
         */
        constructor (extent: CGRect, format: CIFormat, colorSpace: CGColorSpace);
        /**
         * Sets the contents of the image accumulator to the contents of the specified image object.
         */
        setImage(image: CIImage):void;
        /**
         * Returns the current contents of the image accumulator. 
         */
        image():CIImage;
        /**
         * Resets the accumulator, discarding any pending updates and the current content.
         */
        clear():void;
    }
    export class CIBarcodeDescriptor extends NSObject {}
    export class CIQRCodeDescriptor extends CIBarcodeDescriptor {
        /**
         * The error-corrected payload containing the data encoded in the QR code.
         */
        errorCorrectedPayload: Data;
        /**
         * The version of the QR code.
         */
        symbolVersion: number;
        /**
         * The QR code's mask pattern.
         */
        maskPattern: UInt8;
        /**
         * The QR code error correction level.
         */
        errorCorrectionLevel: CIQRCodeDescriptor.ErrorCorrectionLevel;
        /**
         * Initializes a descriptor that can be used as input to the 
         *  filter.
         */
        constructor (errorCorrectedPayload: Data, symbolVersion: number, maskPattern: UInt8, errorCorrectionLevel: CIQRCodeDescriptor.ErrorCorrectionLevel);
    }
    /**
     * the same name namespace of class CIQRCodeDescriptor
     */
    export namespace CIQRCodeDescriptor {
        export enum ErrorCorrectionLevel {
            levelL = 76,
            levelM = 77,
            levelQ = 81,
            levelH = 72,
        }
    }
    export class CIAztecCodeDescriptor extends CIBarcodeDescriptor {
        /**
         * The error-corrected payload containing the data encoded in the Aztec code.
         */
        errorCorrectedPayload: Data;
        /**
         * A Boolean value telling if the Aztec code is compact.
         */
        isCompact: boolean;
        /**
         * The number of layers embedded in the Aztec code.
         */
        layerCount: number;
        /**
         * The number of data codewords in the Aztec code.
         */
        dataCodewordCount: number;
        /**
         * Initializes a descriptor that can be used as input to the 
         *  filter.
         */
        constructor (errorCorrectedPayload: Data, isCompact: boolean, layerCount: number, dataCodewordCount: number);
    }
    export class CIImageAutoAdjustmentOption {
        /**
         * A key used to specify whether to return enhancement filters.
         */
        static enhance: CIImageAutoAdjustmentOption;
        /**
         * A key used to specify whether to return a red eye filter.
         */
        static redEye: CIImageAutoAdjustmentOption;
        /**
         * A key used to specify an array of features that you want to apply enhancement and red eye filters to.
         */
        static features: CIImageAutoAdjustmentOption;
        /**
         * A key used to specify whether to return a filter that crops the image to focus on detected features.
         */
        static crop: CIImageAutoAdjustmentOption;
        /**
         * A key used to specify whether to return a filter that rotates the image to keep a level perspective.
         */
        static level: CIImageAutoAdjustmentOption;
    }
    export class CIPDF417CodeDescriptor extends CIBarcodeDescriptor {
        /**
         * The error-corrected payload containing the data encoded in the PDF417 code.
         */
        errorCorrectedPayload: Data;
        /**
         * A boolean value telling if the PDF417 code is compact.
         */
        isCompact: boolean;
        /**
         * The number of rows in the PDF417 code.
         */
        rowCount: number;
        /**
         * The number of columns in the PDF417 code.
         */
        columnCount: number;
        /**
         * Initializes a descriptor that can be used as input to the 
         *  filter.
         */
        constructor (errorCorrectedPayload: Data, isCompact: boolean, rowCount: number, columnCount: number);
    }
    export class CIDataMatrixCodeDescriptor extends CIBarcodeDescriptor {
        /**
         * The error-corrected payload that comprises the Data Matrix code symbol.
         */
        errorCorrectedPayload: Data;
        /**
         * The number of module rows.
         */
        rowCount: number;
        /**
         * The number of module columns.
         */
        columnCount: number;
        /**
         * The Data Matrix code ECC version.
         */
        eccVersion: CIDataMatrixCodeDescriptor.ECCVersion;
        /**
         * Initializes a descriptor that can be used as input to the 
         *  filter.
         */
        constructor (errorCorrectedPayload: Data, rowCount: number, columnCount: number, eccVersion: CIDataMatrixCodeDescriptor.ECCVersion);
    }
    /**
     * the same name namespace of class CIDataMatrixCodeDescriptor
     */
    export namespace CIDataMatrixCodeDescriptor {
        export enum ECCVersion {
            v000 = 0,
            v050 = 50,
            v080 = 80,
            v100 = 100,
            v140 = 140,
            v200 = 200,
        }
    }
    export class CIDetector extends NSObject {
        /**
         * Creates and returns a configured detector.
         */
        constructor (type: string, context: CIContext | null, options: Record<string, any> | null);
        /**
         * Searches for features in an image.
         */
        features(image: CIImage):CIFeature[];
    }
    export class CIFeature extends NSObject {
        /**
         * The rectangle that holds discovered feature.
         */
        bounds: CGRect;
        /**
         * The type of feature that was discovered.
         */
        type: string;
    }
    export class CIFaceFeature extends CIFeature {
        /**
         * A rectangle indicating the position and dimensions of the face in image coordinates.
         */
        bounds: CGRect;
        /**
         * A Boolean value that indicates whether information about face rotation is available.
         */
        hasFaceAngle: boolean;
        /**
         * The rotation of the face.
         */
        faceAngle: Float;
        /**
         * A Boolean value that indicates whether the detector found the face’s left eye.
         */
        hasLeftEyePosition: boolean;
        /**
         * A Boolean value that indicates whether the detector found the face’s right eye.
         */
        hasRightEyePosition: boolean;
        /**
         * A Boolean value that indicates whether the detector found the face’s mouth.
         */
        hasMouthPosition: boolean;
        /**
         * The coordinates of the left eye, in image coordinates.
         */
        leftEyePosition: CGPoint;
        /**
         * The coordinates of the right eye, in image coordinates
         */
        rightEyePosition: CGPoint;
        /**
         * The coordinates of the mouth, in image coordinates
         */
        mouthPosition: CGPoint;
        /**
         * A Boolean value that indicates whether a smile is detected in the face.
         */
        hasSmile: boolean;
        /**
         * A Boolean value that indicates whether a closed left eye is detected in the face.
         */
        leftEyeClosed: boolean;
        /**
         * A Boolean value that indicates whether a closed right eye is detected in the face.
         */
        rightEyeClosed: boolean;
        /**
         * A Boolean value that indicates whether the face object has a tracking ID.
         */
        hasTrackingID: boolean;
        /**
         * The tracking identifier of the face object.
         */
        trackingID: Int32;
        /**
         * A Boolean value that indicates the face object has a tracking frame count.
         */
        hasTrackingFrameCount: boolean;
        /**
         * The tracking frame count of the face.
         */
        trackingFrameCount: Int32;
    }
    export class CIRectangleFeature extends CIFeature {
        /**
         * A rectangle indicating the position and extent of the feature in image coordinates.
         */
        bounds: CGRect;
        /**
         * The lower-left corner of the detected rectangle, in image coordinates.
         */
        bottomLeft: CGPoint;
        /**
         * The lower-right corner of the detected rectangle, in image coordinates.
         */
        bottomRight: CGPoint;
        /**
         * The upper-left corner of the detected rectangle, in image coordinates.
         */
        topLeft: CGPoint;
        /**
         * The upper-right corner of the detected rectangle, in image coordinates.
         */
        topRight: CGPoint;
    }
    export class CITextFeature extends CIFeature {
        /**
         * A rectangle indicating the position and extent of the feature in image coordinates.
         */
        bounds: CGRect;
        /**
         * An array containing additional features detected within the feature.
         */
        subFeatures: any[] | null;
        /**
         * The lower-left corner of the detected text region, in image coordinates.
         */
        bottomLeft: CGPoint;
        /**
         * The lower-right corner of the detected text region, in image coordinates.
         */
        bottomRight: CGPoint;
        /**
         * The upper-left corner of the detected text region, in image coordinates.
         */
        topLeft: CGPoint;
        /**
         * The upper-right corner of the detected text region, in image coordinates.
         */
        topRight: CGPoint;
    }
    export class CIQRCodeFeature extends CIFeature {
        /**
         * A rectangle indicating the position and extent of the feature in image coordinates.
         */
        bounds: CGRect;
        /**
         * The string decoded from the detected barcode.
         */
        messageString: string;
        /**
         * An abstract representation of a QR Code symbol.
         */
        symbolDescriptor: CIQRCodeDescriptor | null;
        /**
         * The lower-left corner of the detected barcode, in image coordinates.
         */
        bottomLeft: CGPoint;
        /**
         * The lower-right corner of the detected barcode, in image coordinates.
         */
        bottomRight: CGPoint;
        /**
         * The upper-left corner of the detected barcode, in image coordinates.
         */
        topLeft: CGPoint;
        /**
         * The upper-right corner of the detected barcode, in image coordinates.
         */
        topRight: CGPoint;
    }
    export class CIPlugIn extends NSObject {
        /**
         * Scans directories for files that have the 
         *  extension and then loads the image units.
         */
        static loadAllPlugIns():void;
        /**
         * Scans directories for files that have the 
         *  extension and then loads only those filters that are marked by the image unit as non-executable filters.
         */
        static loadNonExecutablePlugIns():void;
        /**
         * Loads filters from an image unit that have the appropriate executable status.
         */
        static load(url: URL!, allowExecutableCode: boolean):void;
        static loadNonExecutablePlugIn(url: URL!):void;
    }
    export class CIFilterGenerator extends NSObject {
        /**
         * Returns an array of the exported keys.
         */
        exportedKeys: Record<AnyHashable, any>;
        /**
         * The class attributes associated with the filter.
         */
        classAttributes: Record<AnyHashable, any>;
        /**
         * Initializes a filter generator object with the contents of a filter generator file.
         */
        constructor (aURL: URL);
        /**
         * Adds an object to the filter chain.
         */
        connect(sourceObject: any, sourceKey: string, targetObject: any, targetKey: string):void;
        /**
         * Removes the connection between two objects in the filter chain.
         */
        disconnectObject(sourceObject: any, sourceKey: string, targetObject: any, targetKey: string):void;
        /**
         * Exports an input or output key of an object in the filter chain.
         */
        exportKey(key: string, targetObject: any, exportedKeyName: string):void;
        /**
         * Removes a key that was previously exported.
         */
        removeExportedKey(exportedKeyName: string):void;
        /**
         * Sets a dictionary of attributes for an exported key.
         */
        setAttributes(attributes: Record<AnyHashable, any>, key: string):void;
        /**
         * Archives a filter generator object to a filter generator file.
         */
        write(aURL: URL, flag: boolean):boolean;
        /**
         * Registers the name associated with a filter chain. 
         */
        registerFilterName(name: string):void;
        /**
         * Creates a filter object based on the filter chain.
         */
        filter():CIFilter;
    }
    export interface CIPlugInRegistration {
        /**
         * Loads and initializes an image unit, performing custom tasks as needed.
         */
        load(host: UnsafeMutableRawPointer!):boolean;
    }
    export interface CIFilterConstructor {
        /**
         * Returns a filter object specified by name.
         */
        filter(name: string):CIFilter | null;
    }
    export class CIRAWFilter extends CIFilter {
        static supportedCameraModels: string[];
        baselineExposure: Float;
        boostAmount: Float;
        boostShadowAmount: Float;
        colorNoiseReductionAmount: Float;
        contrastAmount: Float;
        decoderVersion: CIRAWDecoderVersion;
        detailAmount: Float;
        exposure: Float;
        extendedDynamicRangeAmount: Float;
        isColorNoiseReductionSupported: boolean;
        isContrastSupported: boolean;
        isDetailSupported: boolean;
        isDraftModeEnabled: boolean;
        isGamutMappingEnabled: boolean;
        isLensCorrectionEnabled: boolean;
        isLensCorrectionSupported: boolean;
        isLocalToneMapSupported: boolean;
        isLuminanceNoiseReductionSupported: boolean;
        isMoireReductionSupported: boolean;
        isSharpnessSupported: boolean;
        linearSpaceFilter: CIFilter | null;
        localToneMapAmount: Float;
        luminanceNoiseReductionAmount: Float;
        moireReductionAmount: Float;
        nativeSize: CGSize;
        neutralChromaticity: CGPoint;
        neutralLocation: CGPoint;
        neutralTemperature: Float;
        neutralTint: Float;
        orientation: CGImagePropertyOrientation;
        portraitEffectsMatte: CIImage | null;
        previewImage: CIImage | null;
        properties: Record<AnyHashable, any>;
        scaleFactor: Float;
        semanticSegmentationGlassesMatte: CIImage | null;
        semanticSegmentationHairMatte: CIImage | null;
        semanticSegmentationSkinMatte: CIImage | null;
        semanticSegmentationSkyMatte: CIImage | null;
        semanticSegmentationTeethMatte: CIImage | null;
        shadowBias: Float;
        sharpnessAmount: Float;
        supportedDecoderVersions: CIRAWDecoderVersion[];
        constructor (buffer: CVPixelBuffer, properties: Record<AnyHashable, any>);
        constructor (data: Data, identifierHint: string);
        constructor (url: URL);
    }
    export class CIRAWDecoderVersion {
        static none: CIRAWDecoderVersion;
        static version6: CIRAWDecoderVersion;
        static version6DNG: CIRAWDecoderVersion;
        static version7: CIRAWDecoderVersion;
        static version7DNG: CIRAWDecoderVersion;
        static version8: CIRAWDecoderVersion;
        static version8DNG: CIRAWDecoderVersion;
        constructor (rawValue: string);
    }
}

/**
 * Obtain the geographic location and orientation of a device.
 */
declare module CoreLocation {
    export class CLLocationManager extends NSObject {
        /**
         * A Boolean value indicating whether location services are enabled on the device.
         */
        locationServicesEnabled: boolean;
        /**
         * The minimum angular change (measured in degrees) required to generate new heading events.
         */
        headingFilter: CLLocationDegrees;
        /**
         * The device orientation to use when computing heading values.
         */
        headingOrientation: CLDeviceOrientation;
        /**
         * The delegate object to receive update events.
         */
        delegate: CLLocationManagerDelegate | null;
        /**
         * The set of shared regions monitored by all location manager objects. 
         */
        monitoredRegions: Set<CLRegion>;
        /**
         * The largest boundary distance that can be assigned to a region.
         */
        maximumRegionMonitoringDistance: CLLocationDistance;
        /**
         * The set of beacon constraints currently being tracked using ranging.
         */
        rangedBeaconConstraints: Set<CLBeaconIdentityConstraint>;
        /**
         * The set of regions currently being tracked using ranging.
         */
        rangedRegions: Set<CLRegion>;
        /**
         * The most recently retrieved user location. 
         */
        location: CLLocation | null;
        /**
         * The most recently reported heading. 
         */
        heading: CLHeading | null;
        /**
         * A Boolean value that indicates whether a widget is eligible to receive location updates.
         */
        isAuthorizedForWidgetUpdates: boolean;
        /**
         * The current authorization status for the app.
         */
        authorizationStatus: CLAuthorizationStatus;
        /**
         * A value that indicates the level of location accuracy the app has permission to use.
         */
        accuracyAuthorization: CLAccuracyAuthorization;
        /**
         * An app-provided string that describes the reason for using location services.
         */
        purpose: string;
        /**
         * A Boolean value that indicates whether the location manager object may pause location updates.
         */
        pausesLocationUpdatesAutomatically: boolean;
        /**
         * A Boolean value that indicates whether the app receives location updates when running in the background.
         */
        allowsBackgroundLocationUpdates: boolean;
        /**
         * A Boolean indicating whether the status bar changes its appearance when an app uses location services in the background.
         */
        showsBackgroundLocationIndicator: boolean;
        /**
         * The type of user activity associated with the location updates.
         */
        activityType: CLActivityType;
        /**
         * The minimum distance (measured in meters) a device must move horizontally before an update event is generated.
         */
        distanceFilter: CLLocationDistance;
        /**
         * The accuracy of the location data that your app wants to receive.
         */
        desiredAccuracy: CLLocationAccuracy;
        /**
         * Returns a Boolean value indicating whether region monitoring is supported on the current device.
         */
        static regionMonitoringAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether region monitoring is currently enabled.
         */
        static regionMonitoringEnabled():boolean;
        /**
         * Returns a Boolean value indicating whether the significant-change location service is available on the device.
         */
        static significantLocationChangeMonitoringAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether the device supports deferred location updates. 
         */
        static deferredLocationUpdatesAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether the location manager is able to generate heading-related events.
         */
        static headingAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether the device supports region monitoring using the specified class.
         */
        static isMonitoringAvailable(regionClass: AnyClass):boolean;
        /**
         * Returns a Boolean value indicating whether the device supports ranging of beacons that use the iBeacon protocol. 
         */
        static isRangingAvailable():boolean;
        /**
         * Starts the generation of updates based on significant location changes. 
         */
        startMonitoringSignificantLocationChanges():void;
        /**
         * Stops the delivery of location events based on significant location changes.
         */
        stopMonitoringSignificantLocationChanges():void;
        /**
         * Starts the generation of updates that report the user’s current heading.
         */
        startUpdatingHeading():void;
        /**
         * Stops the generation of heading updates. 
         */
        stopUpdatingHeading():void;
        /**
         * Dismisses the heading calibration view from the screen immediately.
         */
        dismissHeadingCalibrationDisplay():void;
        /**
         * Starts monitoring the specified region.
         */
        startMonitoring(region: CLRegion):void;
        /**
         * Stops monitoring the specified region.
         */
        stopMonitoring(region: CLRegion):void;
        /**
         * Retrieves the state of a region asynchronously.
         */
        requestState(region: CLRegion):void;
        /**
         * Starts the delivery of notifications for the specified beacon constraints.
         */
        startRangingBeacons(constraint: CLBeaconIdentityConstraint):void;
        /**
         * Stops the delivery of notifications for the specified beacon constraints. 
         */
        stopRangingBeacons(constraint: CLBeaconIdentityConstraint):void;
        /**
         * Starts the delivery of visit-related events.
         */
        startMonitoringVisits():void;
        /**
         * Stops the delivery of visit-related events.
         */
        stopMonitoringVisits():void;
        /**
         * Starts monitoring for the delivery of Apple Push Notification service (APNs) location pushes, and provides a device-specific token for sending pushes.
         */
        startMonitoringLocationPushes(completion: ()=>any | null):void;
        /**
         * Stop monitoring for Apple Push Notification service (APNs) location pushes.
         */
        stopMonitoringLocationPushes():void;
        /**
         * Asks the location manager to defer the delivery of location updates until the specified criteria are met.
         */
        allowDeferredLocationUpdates(distance: CLLocationDistance, timeout: TimeInterval):void;
        /**
         * Cancels the deferral of location updates for this app. 
         */
        disallowDeferredLocationUpdates():void;
        requestHistoricalLocations(purposeKey: string, sampleCount: number, handler: ()=>any):void;
        /**
         * Requests the user’s permission to use location services while the app is in use.
         */
        requestWhenInUseAuthorization():void;
        /**
         * Requests the user’s permission to use location services regardless of whether the app is in use.
         */
        requestAlwaysAuthorization():void;
        /**
         *  Requests the user’s permission to temporarily use location services with full accuracy.
         */
        requestTemporaryFullAccuracyAuthorization(purposeKey: string, completion: ()=>any | null):void;
        /**
         * Starts the generation of updates that report the user’s current location. 
         */
        startUpdatingLocation():void;
        /**
         * Stops the generation of location updates. 
         */
        stopUpdatingLocation():void;
        /**
         * Requests the one-time delivery of the user’s current location.
         */
        requestLocation():void;
    }
    export enum CLAccuracyAuthorization {
        reducedAccuracy = 1,
    }
    export class CLLocation extends NSObject {
        /**
         * The geographical coordinate information.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * The altitude above mean sea level associated with a location, measured in meters.
         */
        altitude: CLLocationDistance;
        /**
         * The altitude as a height above the World Geodetic System 1984 (WGS84) ellipsoid, measured in meters.
         */
        ellipsoidalAltitude: CLLocationDistance;
        /**
         * The logical floor of the building in which the user is located.
         */
        floor: CLFloor | null;
        /**
         * The radius of uncertainty for the location, measured in meters.
         */
        horizontalAccuracy: CLLocationAccuracy;
        /**
         * The validity of the altitude values, and their estimated uncertainty, measured in meters.
         */
        verticalAccuracy: CLLocationAccuracy;
        /**
         * The time at which this location was determined.
         */
        timestamp: Date;
        /**
         * Information about the source that provides the location.
         */
        sourceInformation: CLLocationSourceInformation | null;
        /**
         * The instantaneous speed of the device, measured in meters per second. 
         */
        speed: CLLocationSpeed;
        /**
         * The accuracy of the speed value, measured in meters per second.
         */
        speedAccuracy: CLLocationSpeedAccuracy;
        /**
         * The direction in which the device is traveling, measured in degrees and relative to due north. 
         */
        course: CLLocationDirection;
        /**
         * The accuracy of the course value, measured in degrees.
         */
        courseAccuracy: CLLocationDirectionAccuracy;
        /**
         * Creates a location object with the specified latitude and longitude.
         */
        constructor (latitude: CLLocationDegrees, longitude: CLLocationDegrees);
        /**
         * Creates a location object with the specified coordinate and altitude information.
         */
        constructor (coordinate: CLLocationCoordinate2D, altitude: CLLocationDistance, hAccuracy: CLLocationAccuracy, vAccuracy: CLLocationAccuracy, timestamp: Date);
        /**
         * Creates a location object with the specified coordinate, altitude, and course information.
         */
        constructor (coordinate: CLLocationCoordinate2D, altitude: CLLocationDistance, hAccuracy: CLLocationAccuracy, vAccuracy: CLLocationAccuracy, course: CLLocationDirection, speed: CLLocationSpeed, timestamp: Date);
        /**
         * Creates a location object with the specified coordinate, altitude, course, and accuracy information.
         */
        constructor (coordinate: CLLocationCoordinate2D, altitude: CLLocationDistance, hAccuracy: CLLocationAccuracy, vAccuracy: CLLocationAccuracy, course: CLLocationDirection, courseAccuracy: CLLocationDirectionAccuracy, speed: CLLocationSpeed, speedAccuracy: CLLocationSpeedAccuracy, timestamp: Date);
        constructor (coordinate: CLLocationCoordinate2D, altitude: CLLocationDistance, hAccuracy: CLLocationAccuracy, vAccuracy: CLLocationAccuracy, course: CLLocationDirection, courseAccuracy: CLLocationDirectionAccuracy, speed: CLLocationSpeed, speedAccuracy: CLLocationSpeedAccuracy, timestamp: Date, sourceInfo: CLLocationSourceInformation);
        /**
         * Returns the distance (measured in meters) from the current object’s location to the specified location.
         */
        distance(location: CLLocation):CLLocationDistance;
        /**
         * Returns the distance (measured in meters) from the current object’s location to the specified location.
         */
        getDistanceFrom(location: CLLocation):CLLocationDistance;
    }
    export enum CLDeviceOrientation {
        unknown = 0,
        portrait = 1,
        portraitUpsideDown = 2,
        landscapeLeft = 3,
        landscapeRight = 4,
        faceUp = 5,
        faceDown = 6,
    }
    export interface CLLocationManagerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the app creates the location manager and when the authorization status changes.
         */
        locationManagerDidChangeAuthorization(manager: CLLocationManager):void;
        /**
         * Tells the delegate its authorization status when the app creates the location manager and when the authorization status changes.
         */
        locationManager(manager: CLLocationManager, status: CLAuthorizationStatus):void;
        /**
         * Tells the delegate that location updates were paused. 
         */
        locationManagerDidPauseLocationUpdates(manager: CLLocationManager):void;
        /**
         * Tells the delegate that the delivery of location updates has resumed.
         */
        locationManagerDidResumeLocationUpdates(manager: CLLocationManager):void;
        /**
         * Asks the delegate whether the heading calibration alert should be displayed.
         */
        locationManagerShouldDisplayHeadingCalibration(manager: CLLocationManager):boolean;
    }
    export class CLLocationCoordinate2D {
        /**
         * The latitude in degrees. 
         */
        latitude: CLLocationDegrees;
        /**
         * The longitude in degrees. 
         */
        longitude: CLLocationDegrees;
        /**
         * Creates a location coordinate object.
         */
        constructor ();
        /**
         * Creates a location coordination object with the specified latitude and longitude values.
         */
        constructor (latitude: CLLocationDegrees, longitude: CLLocationDegrees);
    }
    export interface CLLocationPushServiceExtension extends NSObjectProtocol {
        /**
         * The system calls this function when the device receives a location push for your app.
         */
        didReceiveLocationPushPayload(payload: Record<string, any>, completion: ()=>any):void;
        /**
         * A function the system calls before terminating the service extension.
         */
        serviceExtensionWillTerminate():void;
    }
    export class CLFloor extends NSObject {
        /**
         * The logical floor of the building.
         */
        level: number;
    }
    export class CLLocationPushServiceError {
        /**
         * The error domain that the framework uses when issuing errors.
         */
        static errorDomain: string;
        /**
         * An error code that indicates the app was unable to start the location push service for an unknown reason.
         */
        static unknown: CLLocationPushServiceError.Code;
        /**
         * An error code that indicates the app is missing an Apple Push Notification service (APNs) environment entitlement.
         */
        static missingPushServerEnvironment: CLLocationPushServiceError.Code;
        /**
         * An error code that indicates the app is missing a Location Push Service Extension.
         */
        static missingPushExtension: CLLocationPushServiceError.Code;
        /**
         * An error code that indicates the app is missing the entitlement it needs to use the location push service.
         */
        static missingEntitlement: CLLocationPushServiceError.Code;
        /**
         * The error code the framework returns when location push service fails.
         */
        errorCode: number;
        /**
         * The error code the framework returns when location push service fails.
         */
        code: Code;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        userInfo: Record<string, any>;
        /**
         * A human readable, localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a Location Push Service error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CLLocationPushServiceError
     */
    export namespace CLLocationPushServiceError {
        export enum Code {
            unknown = 0,
            missingPushExtension = 1,
            missingPushServerEnvironment = 2,
            missingEntitlement = 3,
        }
    }
    export class CLVisit extends NSObject {
        /**
         * The geographical coordinate information.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * The horizontal accuracy (in meters) of the specified coordinate.
         */
        horizontalAccuracy: CLLocationAccuracy;
        /**
         * The approximate time at which the user arrived at the specified location.
         */
        arrivalDate: Date;
        /**
         * The approximate time at which the user left the specified location.
         */
        departureDate: Date;
    }
    export class CLLocationSourceInformation extends NSObject {
        /**
         * A Boolean value that indicates whether the system receives the location from an external accessory.
         */
        isProducedByAccessory: boolean;
        /**
         * A Boolean value that indicates whether the system generates the location using on-device software simulation.
         */
        isSimulatedBySoftware: boolean;
        /**
         * Creates an instance of location source information.
         */
        constructor (isSoftware: boolean, isAccessory: boolean);
    }
    export class CLCircularRegion extends CLRegion {
        /**
         * The center point of the geographic area.
         */
        center: CLLocationCoordinate2D;
        /**
         * The radius (measured in meters) that defines the geographic area’s outer boundary.
         */
        radius: CLLocationDistance;
        /**
         * Initializes and returns a region object defining a circular geographic area.
         */
        constructor (center: CLLocationCoordinate2D, radius: CLLocationDistance, identifier: string);
        /**
         * Returns a Boolean value indicating whether the geographic area contains the specified coordinate.
         */
        contains(coordinate: CLLocationCoordinate2D):boolean;
    }
    export class CLRegion extends NSObject {
        /**
         * The identifier for the region object.
         */
        identifier: string;
        /**
         * A Boolean indicating that notifications are generated upon entry into the region.
         */
        notifyOnEntry: boolean;
        /**
         * A Boolean indicating that notifications are generated upon exit from the region.
         */
        notifyOnExit: boolean;
        /**
         * The center point of the region.
         */
        center: CLLocationCoordinate2D;
        /**
         * The radius (measured in meters) that defines the region’s outer boundary.
         */
        radius: CLLocationDistance;
        /**
         * Initializes and returns a region object defining a circular area. 
         */
        constructor (center: CLLocationCoordinate2D, radius: CLLocationDistance, identifier: string);
        /**
         * Returns a Boolean value indicating whether the region contains the specified coordinate.
         */
        contains(coordinate: CLLocationCoordinate2D):boolean;
    }
    export enum CLRegionState {
        unknown = 0,
        inside = 1,
        outside = 2,
    }
    export class CLBeacon extends NSObject {
        /**
         * The UUID that the observed beacon transmitted.
         */
        uuid: UUID;
        /**
         * The major value that the observed beacon transmitted.
         */
        major: NSNumber;
        /**
         * The minor value that the observed beacon transmitted.
         */
        minor: NSNumber;
        /**
         * The proximity ID of the beacon.
         */
        proximityUUID: UUID;
        /**
         * The relative distance to the beacon.
         */
        proximity: CLProximity;
        /**
         * The accuracy of the proximity value, measured in meters from the beacon.
         */
        accuracy: CLLocationAccuracy;
        /**
         * The received signal strength of the beacon, measured in decibels.
         */
        rssi: number;
        /**
         * A timestamp representing when the beacon was observed.
         */
        timestamp: Date;
    }
    export enum CLProximity {
        unknown = 0,
        immediate = 1,
        near = 2,
        far = 3,
    }
    export class CLBeaconRegion extends CLRegion {
        /**
         * The UUID value from the beacon identity constraint that defines the beacon region.
         */
        uuid: UUID;
        /**
         * The major value from the beacon identity constraint that defines the beacon region.
         */
        major: NSNumber | null;
        /**
         * The minor value from the beacon identity constraint that defines the beacon region.
         */
        minor: NSNumber | null;
        /**
         * The beacon identity constraint that defines the beacon region.
         */
        beaconIdentityConstraint: CLBeaconIdentityConstraint;
        /**
         * The unique ID of the beacons being targeted.
         */
        proximityUUID: UUID;
        /**
         * A Boolean value that indicates whether Core Location sends beacon notifications when the device’s display is on.
         */
        notifyEntryStateOnDisplay: boolean;
        /**
         * Initializes and returns a region object that targets beacons that satisfy the specified beacon identity constraints.
         */
        constructor (beaconIdentityConstraint: CLBeaconIdentityConstraint, identifier: string);
        /**
         * Initializes and returns a region object that targets beacons with the specified UUID.
         */
        constructor (uuid: UUID, identifier: string);
        /**
         * Initializes and returns a region object that targets beacons with the specified UUID and major value.
         */
        constructor (uuid: UUID, major: CLBeaconMajorValue, identifier: string);
        /**
         * Initializes and returns a region object that targets beacons with the specified UUID, major, and minor values.
         */
        constructor (uuid: UUID, major: CLBeaconMajorValue, minor: CLBeaconMinorValue, identifier: string);
        /**
         * Initializes and returns a region object that targets a beacon with the specified UUID.
         */
        constructor (proximityUUID: UUID, identifier: string);
        /**
         * Initializes and returns a region object that targets a beacon with the specified proximity ID and major value.
         */
        constructor (proximityUUID: UUID, major: CLBeaconMajorValue, identifier: string);
        /**
         * Initializes and returns a region object that targets a beacon with the specified proximity ID, major value, and minor value.
         */
        constructor (proximityUUID: UUID, major: CLBeaconMajorValue, minor: CLBeaconMinorValue, identifier: string);
        /**
         * Retrieves data that you can use to advertise the current device as a beacon.
         */
        peripheralData(measuredPower: NSNumber | null):NSMutableDictionary;
    }
    export class CLBeaconIdentityConstraint extends NSObject {
        /**
         * The UUID necessary to satisfy the constraint.
         */
        uuid: UUID;
        /**
         * The constraint’s value for the major identity characteristic.
         */
        major: UInt16 | null;
        /**
         * The constraint’s value for the minor identity characteristic.
         */
        minor: UInt16 | null;
        /**
         * Create a beacon identity constraint containing the UUID characteristic only, with wildcard values for the major and minor characteristics.
         */
        constructor (uuid: UUID);
        /**
         * Create a beacon identity constraint containing the UUID and major characteristics, with a wildcard for the minor characteristic.
         */
        constructor (uuid: UUID, major: CLBeaconMajorValue);
        /**
         * Create a beacon identity constraint containing the UUID, major, and minor characteristics.
         */
        constructor (uuid: UUID, major: CLBeaconMajorValue, minor: CLBeaconMinorValue);
    }
    export class CLHeading extends NSObject {
        /**
         * The heading (measured in degrees) relative to magnetic north. 
         */
        magneticHeading: CLLocationDirection;
        /**
         * The heading (measured in degrees) relative to true north.
         */
        trueHeading: CLLocationDirection;
        /**
         * The maximum deviation (measured in degrees) between the reported heading and the true geomagnetic heading.
         */
        headingAccuracy: CLLocationDirection;
        /**
         * The time at which this heading was determined.
         */
        timestamp: Date;
        /**
         * The geomagnetic data (measured in microteslas) for the x-axis.
         */
        x: CLHeadingComponentValue;
        /**
         * The geomagnetic data (measured in microteslas) for the y-axis.
         */
        y: CLHeadingComponentValue;
        /**
         * The geomagnetic data (measured in microteslas) for the z-axis.
         */
        z: CLHeadingComponentValue;
    }
    export class CLGeocoder extends NSObject {
        /**
         * A Boolean value indicating whether the receiver is in the middle of geocoding its value.
         */
        isGeocoding: boolean;
        /**
         * Submits a reverse-geocoding request for the specified location and locale. 
         */
        reverseGeocodeLocation(location: CLLocation, locale: Locale | null, completionHandler: CLGeocodeCompletionHandler):void;
        /**
         * Submits a forward-geocoding requesting using the specified address string and locale information.
         */
        geocodeAddressString(addressString: string, region: CLRegion | null, locale: Locale | null, completionHandler: CLGeocodeCompletionHandler):void;
        /**
         * Submits a forward-geocoding requesting using the specified Contacts framework information.
         */
        geocodePostalAddress(postalAddress: CNPostalAddress, completionHandler: CLGeocodeCompletionHandler):void;
        /**
         * Submits a forward-geocoding request using the specified address dictionary.
         */
        geocodeAddressDictionary(addressDictionary: Record<AnyHashable, any>, completionHandler: CLGeocodeCompletionHandler):void;
        /**
         * Cancels a pending geocoding request.
         */
        cancelGeocode():void;
    }
    export class CLPlacemark extends NSObject {
        static defaultResolverSpecification: EmptyResolverSpecification<CLPlacemark>;
        static typeDisplayRepresentation: TypeDisplayRepresentation;
        /**
         * The location object containing latitude and longitude information.
         */
        location: CLLocation | null;
        /**
         * The name of the placemark.
         */
        name: string;
        /**
         * The abbreviated country or region name.
         */
        isoCountryCode: string;
        /**
         * The name of the country or region associated with the placemark.
         */
        country: string;
        /**
         * The postal code associated with the placemark.
         */
        postalCode: string;
        /**
         * The state or province associated with the placemark.
         */
        administrativeArea: string;
        /**
         * Additional administrative area information for the placemark. 
         */
        subAdministrativeArea: string;
        /**
         * The city associated with the placemark.
         */
        locality: string;
        /**
         * Additional city-level information for the placemark.
         */
        subLocality: string;
        /**
         * The street address associated with the placemark.
         */
        thoroughfare: string;
        /**
         * Additional street-level information for the placemark.
         */
        subThoroughfare: string;
        /**
         * The geographic region associated with the placemark.
         */
        region: CLRegion | null;
        /**
         * The time zone associated with the placemark.
         */
        timeZone: TimeZone | null;
        /**
         * The postal address associated with the location, formatted for use with the Contacts framework.
         */
        postalAddress: CNPostalAddress | null;
        /**
         * A dictionary containing the Address Book keys and values for the placemark.
         */
        addressDictionary: Record<AnyHashable, any> | null;
        /**
         * The name of the inland water body associated with the placemark.
         */
        inlandWater: string;
        /**
         * The name of the ocean associated with the placemark.
         */
        ocean: string;
        /**
         * The relevant areas of interest associated with the placemark.
         */
        areasOfInterest: string[] | null;
        displayRepresentation: DisplayRepresentation;
        /**
         * Initializes and returns a placemark object from another placemark object.
         */
        constructor (placemark: CLPlacemark);
        /**
         * Creates and initializes a placemark object using the specified location and address information.
         */
        constructor (location: CLLocation, name: string, postalAddress: CNPostalAddress | null);
    }
    export class CLError {
        /**
         * The error domain that the framework uses when issuing errors.
         */
        static errorDomain: string;
        /**
         * A constant that indicates the location manager was unable to obtain a location value right now.
         */
        static locationUnknown: CLError.Code;
        /**
         * A constant that indicates the user denied access to the location service.
         */
        static denied: CLError.Code;
        /**
         * A constant that indicates the user didn’t grant the requested temporary authorization.
         */
        static promptDeclined: CLError.Code;
        /**
         * A constant that indicates the network was unavailable or a network error occurred.
         */
        static network: CLError.Code;
        /**
         * A constant that indicates the location manager can’t determine the heading.
         */
        static headingFailure: CLError.Code;
        /**
         * A constant that indicates ranging is disabled.
         */
        static rangingUnavailable: CLError.Code;
        /**
         * A constant that indicates a general ranging error occurred.
         */
        static rangingFailure: CLError.Code;
        /**
         * A constant that indicates the user denied access to the region monitoring service.
         */
        static regionMonitoringDenied: CLError.Code;
        /**
         * A constant that indicates the location manager failed to monitor a registered region.
         */
        static regionMonitoringFailure: CLError.Code;
        /**
         * A constant that indicates Core Location couldn’t initialize the region monitoring feature immediately.
         */
        static regionMonitoringSetupDelayed: CLError.Code;
        /**
         * A constant that indicates Core Location will deliver events but they may be delayed.
         */
        static regionMonitoringResponseDelayed: CLError.Code;
        /**
         * A constant that indicates the geocode request was canceled.
         */
        static geocodeCanceled: CLError.Code;
        /**
         * A constant that indicates the geocode request yielded no result.
         */
        static geocodeFoundNoResult: CLError.Code;
        /**
         * A constant that indicates the geocode request yielded a partial result.
         */
        static geocodeFoundPartialResult: CLError.Code;
        /**
         * A constant that indicates the location manager didn’t enter deferred mode for an unknown reason.
         */
        static deferredFailed: CLError.Code;
        /**
         * A constant that indicates your app or the location manager canceled the request for deferred updates.
         */
        static deferredCanceled: CLError.Code;
        /**
         * A constant that indicates deferred mode isn’t supported for the requested accuracy.
         */
        static deferredAccuracyTooLow: CLError.Code;
        /**
         * A constant that indicates deferred mode doesn’t support distance filters.
         */
        static deferredDistanceFiltered: CLError.Code;
        /**
         * A constant that indicates the location manager didn’t enter deferred mode because location updates were already disabled or paused.
         */
        static deferredNotUpdatingLocation: CLError.Code;
        static historicalLocationError: CLError.Code;
        /**
         * The error code the framework returns when location services fail.
         */
        errorCode: number;
        /**
         * The error code the framework returns when location services fail.
         */
        code: Code;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        userInfo: Record<string, any>;
        /**
         * A region that location services can monitor more effectively.
         */
        alternateRegion: CLRegion | null;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        hashValue: number;
        /**
         * Creates a Core Location error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CLError
     */
    export namespace CLError {
        export enum Code {
            locationUnknown = 0,
            denied = 1,
            promptDeclined = 18,
            network = 2,
            headingFailure = 3,
            rangingUnavailable = 16,
            rangingFailure = 17,
            regionMonitoringDenied = 4,
            regionMonitoringFailure = 5,
            regionMonitoringSetupDelayed = 6,
            regionMonitoringResponseDelayed = 7,
            geocodeCanceled = 10,
            geocodeFoundNoResult = 8,
            geocodeFoundPartialResult = 9,
            deferredFailed = 11,
            deferredCanceled = 15,
            deferredAccuracyTooLow = 13,
            deferredDistanceFiltered = 14,
            deferredNotUpdatingLocation = 12,
            historicalLocationError = 19,
        }
    }
    export enum CLAuthorizationStatus {
        notDetermined = 0,
        restricted = 1,
        denied = 2,
        authorizedAlways = 3,
        authorizedWhenInUse = 4,
    }
    export enum CLActivityType {
        other = 1,
        automotiveNavigation = 2,
        fitness = 3,
        otherNavigation = 4,
        airborne = 5,
    }
}

/**
 * Streamline access to users' location data through a standard, secure UI.
 */
declare module CoreLocationUI {
    export class LocationButton {
        /**
         * Creates a location button with the specified title and action.
         */
        constructor (title: LocationButton.Title | null, action: ()=>any);
        fontDesign(design: Font.Design | null):View;
        monospaced(isActive: boolean):View;
        scrollContentBackground(visibility: Visibility):View;
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
    }
    /**
     * the same name namespace of class LocationButton
     */
    export namespace LocationButton {
        export class Title {
            /**
             * A button title with the text 
             * .
             */
            static currentLocation: LocationButton.Title;
            /**
             * A button title with the text 
             * .
             */
            static sendCurrentLocation: LocationButton.Title;
            /**
             * A button title with the text 
             * . 
             */
            static sendMyCurrentLocation: LocationButton.Title;
            /**
             * A button title with the text 
             * .
             */
            static shareCurrentLocation: LocationButton.Title;
            /**
             * A button title with the text 
             * .
             */
            static shareMyCurrentLocation: LocationButton.Title;
        }
    }
    export class CLLocationButton extends UIControl {
        /**
         * The style of the location arrow icon on the button.
         */
        icon: CLLocationButtonIcon;
        /**
         * The text of the button label. 
         */
        label: CLLocationButtonLabel;
    }
    export enum CLLocationButtonIcon {
        none = 0,
        arrowFilled = 1,
        arrowOutline = 2,
    }
    export enum CLLocationButtonLabel {
        none = 0,
        currentLocation = 1,
        sendCurrentLocation = 2,
        sendMyCurrentLocation = 3,
        shareCurrentLocation = 4,
        shareMyCurrentLocation = 5,
    }
}

/**
 * Represent time-based audio-visual assets with essential data types.
 */
declare module CoreMedia {
    export class CMSampleBuffer {
        /**
         * Returns the type identifier of sample buffer objects.
         */
        static typeID: CFTypeID;
        /**
         * A notification the system posts when a sample buffer’s data becomes ready.
         */
        static dataBecameReady: NSNotification.Name;
        /**
         * A notification the system posts when a sample buffer fails to load its data.
         */
        static dataFailed: NSNotification.Name;
        /**
         * A Boolean value that indicates whether the sample buffer is valid.
         */
        isValid: boolean;
        /**
         * The number of media samples the buffer contains.
         */
        numSamples: number;
        /**
         * The total size in bytes of sample data in the buffer.
         */
        totalSampleSize: number;
        /**
         * The total duration of a sample buffer.
         */
        duration: CMTime;
        /**
         * The decode timestamp of the first sample in the buffer.
         */
        decodeTimeStamp: CMTime;
        /**
         * The sample presentation timestamp that’s the earliest numerically in the sample buffer.
         */
        presentationTimeStamp: CMTime;
        /**
         * The output duration of the sample buffer.
         */
        outputDuration: CMTime;
        /**
         * The output decode timestamp for a sample buffer.
         */
        outputDecodeTimeStamp: CMTime;
        /**
         * The output presentation timestamp of a sample buffer.
         */
        outputPresentationTimeStamp: CMTime;
        /**
         * An object that describes the details of the media data.
         */
        formatDescription: CMFormatDescription | null;
        /**
         * A block buffer that contains the media data.
         */
        dataBuffer: CMBlockBuffer | null;
        /**
         * An image buffer that contains the media data.
         */
        imageBuffer: CVImageBuffer | null;
        /**
         * The attachments for this sample buffer.
         */
        attachments: CMAttachmentBearerAttachments;
        /**
         * An array of sample attachments.
         */
        sampleAttachments: CMSampleBuffer.SampleAttachmentsArray;
        /**
         * Makes the sample buffer’s data ready for use by calling its handler closure.
         */
        makeDataReady():void;
        /**
         * Associates a sample buffer’s data readiness with that of another sample buffer.
         */
        trackDataReadiness(sampleBufferToTrack: CMSampleBuffer):void;
        /**
         * Sets a closure for the sample buffer to call when it’s invalidated.
         */
        setInvalidateHandler(body: Void):void;
        /**
         * Invalidates a sample buffer by calling its invalidation handler.
         */
        invalidate():void;
        /**
         * Retrieves an array of sample sizes that represents each sample in a sample buffer.
         */
        sampleSizes():number[];
        /**
         * Returns the size of a sample in bytes.
         */
        sampleSize(sampleIndex: number):number;
        /**
         * Sets an output presentation timestamp to use in place of a calculated value.
         */
        setOutputPresentationTimeStamp(pts: CMTime):void;
        /**
         * Retrieves an array of sample timing information structures that represents each sample in a sample buffer.
         */
        sampleTimingInfos():CMSampleTimingInfo[];
        /**
         * Returns sample timing information for a sample at the specified index.
         */
        sampleTimingInfo(sampleIndex: CMItemIndex):CMSampleTimingInfo;
        /**
         * Retrieves an array of output sample timing information structures that represents each sample in a sample buffer.
         */
        outputSampleTimingInfos():CMSampleTimingInfo[];
        /**
         * Associates a block buffer of media data with a sample buffer.
         */
        setDataBuffer(dataBuffer: CMBlockBuffer):void;
        /**
         * Copies PCM audio data from a sample buffer into a prepopulated audio buffer list.
         */
        copyPCMData(range: Range<Int>, bufferList: UnsafeMutablePointer<AudioBufferList>):void;
        /**
         * Creates an array of audio stream packet descriptions for the variable bytes per packet or variable frames per packet audio data in a sample buffer.
         */
        audioStreamPacketDescriptions():AudioStreamPacketDescription[];
        /**
         * Returns all samples in a sample buffer.
         */
        singleSampleBuffers():CMSampleBuffer.SingleSampleBuffers;
    }
    /**
     * the same name namespace of class CMSampleBuffer
     */
    export namespace CMSampleBuffer {
        export enum DataReadiness {
            notReady,
            ready,
            failed,
        }
        export class SingleSampleBuffers {
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<CMSampleBuffer.SingleSampleBuffers>;
            /**
             * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
             */
            underestimatedCount: number;
            publisher: any;
            makeIterator():CMSampleBuffer.SingleSampleBuffers.Iterator;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: CMSampleBuffer):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):CMSampleBuffer | null;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):CMSampleBuffer | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):CMSampleBuffer | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<CMSampleBuffer.SingleSampleBuffers>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):CMSampleBuffer[];
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<CMSampleBuffer.SingleSampleBuffers>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):CMSampleBuffer[];
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<CMSampleBuffer.SingleSampleBuffers>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):CMSampleBuffer[];
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<CMSampleBuffer.SingleSampleBuffers>;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):CMSampleBuffer[];
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():CMSampleBuffer[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():CMSampleBuffer[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<CMSampleBuffer>[];
        }
        /**
         * the same name namespace of class SingleSampleBuffers
         */
        export namespace SingleSampleBuffers {
            export class Iterator {
                next():CMSampleBuffer | null;
            }
        }
        export class AttachmentKey {
            static cameraIntrinsicMatrix: CMSampleBuffer.AttachmentKey;
            static displayEmptyMediaImmediately: CMSampleBuffer.AttachmentKey;
            static drainAfterDecoding: CMSampleBuffer.AttachmentKey;
            static droppedFrameReason: CMSampleBuffer.AttachmentKey;
            static droppedFrameReasonInfo: CMSampleBuffer.AttachmentKey;
            static emptyMedia: CMSampleBuffer.AttachmentKey;
            static endsPreviousSampleDuration: CMSampleBuffer.AttachmentKey;
            static fillDiscontinuitiesWithSilence: CMSampleBuffer.AttachmentKey;
            static forceKeyFrame: CMSampleBuffer.AttachmentKey;
            static gradualDecoderRefresh: CMSampleBuffer.AttachmentKey;
            static permanentEmptyMedia: CMSampleBuffer.AttachmentKey;
            static postNotificationWhenConsumed: CMSampleBuffer.AttachmentKey;
            static resetDecoderBeforeDecoding: CMSampleBuffer.AttachmentKey;
            static resumeOutput: CMSampleBuffer.AttachmentKey;
            static reverse: CMSampleBuffer.AttachmentKey;
            static sampleReferenceByteOffset: CMSampleBuffer.AttachmentKey;
            static sampleReferenceURL: CMSampleBuffer.AttachmentKey;
            static speedMultiplier: CMSampleBuffer.AttachmentKey;
            static stillImageLensStabilizationInfo: CMSampleBuffer.AttachmentKey;
            static transitionID: CMSampleBuffer.AttachmentKey;
            static trimDurationAtEnd: CMSampleBuffer.AttachmentKey;
            static trimDurationAtStart: CMSampleBuffer.AttachmentKey;
            hashValue: number;
            rawValue: CFString;
            constructor (rawValue: CFString);
            hash(hasher: Hasher):void;
        }
        export class SampleAttachmentsArray {
            /**
             * The first element of the collection.
             */
            first: CMSampleBuffer.PerSampleAttachmentsDictionary | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending order.
             */
            indices: DefaultIndices<CMSampleBuffer.SampleAttachmentsArray>;
            startIndex: number;
            publisher: any;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):CMSampleBuffer.PerSampleAttachmentsDictionary[];
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):CMSampleBuffer.PerSampleAttachmentsDictionary | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):CMSampleBuffer.PerSampleAttachmentsDictionary | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():CMSampleBuffer.PerSampleAttachmentsDictionary[];
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):CMSampleBuffer.PerSampleAttachmentsDictionary[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():CMSampleBuffer.PerSampleAttachmentsDictionary[];
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<CMSampleBuffer.SampleAttachmentsArray>;
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<CMSampleBuffer.SampleAttachmentsArray>[];
            /**
             * Returns the distance between two indices.
             */
            distance(start: number, end: number):number;
            /**
             * Returns the first index in which an element of the collection satisfies the given predicate.
             */
            firstIndex(predicate: Bool):number;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: number, distance: number):number;
            /**
             * Returns a random element of the collection.
             */
            randomElement():CMSampleBuffer.PerSampleAttachmentsDictionary | null;
            trimmingPrefix(predicate: Bool):Slice<CMSampleBuffer.SampleAttachmentsArray>;
        }
        export class PerSampleAttachmentsDictionary {
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<CMSampleBuffer.PerSampleAttachmentsDictionary>;
            /**
             * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
             */
            underestimatedCount: number;
            publisher: any;
            makeIterator():CMSampleBuffer.PerSampleAttachmentsDictionary.Iterator;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):any;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):any;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):any;
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<CMSampleBuffer.PerSampleAttachmentsDictionary>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):any;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<CMSampleBuffer.PerSampleAttachmentsDictionary>;
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<CMSampleBuffer.PerSampleAttachmentsDictionary>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):any;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):any;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<CMSampleBuffer.PerSampleAttachmentsDictionary>;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():any;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):any;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():any;
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):any;
        }
        /**
         * the same name namespace of class PerSampleAttachmentsDictionary
         */
        export namespace PerSampleAttachmentsDictionary {
            export class Key {
                static audioIndependentSampleDecoderRefreshCount: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static dependsOnOthers: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static displayImmediately: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static doNotDisplay: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static earlierDisplayTimesAllowed: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static hasRedundantCoding: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static hevcStepwiseTemporalSubLayerAccess: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static hevcSyncSampleNALUnitType: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static hevcTemporalLevelInfo: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static hevcTemporalSubLayerAccess: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static isDependedOnByOthers: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static notSync: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                static partialSync: CMSampleBuffer.PerSampleAttachmentsDictionary.Key;
                hashValue: number;
                rawValue: CFString;
                constructor (rawValue: CFString);
                hash(hasher: Hasher):void;
            }
            export class Iterator {
                next():any;
            }
        }
        export class Error {
            /**
             * The system failed to allocate memory.
             */
            static allocationFailed: NSError;
            /**
             * You attempted to set data on a sample buffer that already contains media data.
             */
            static alreadyHasDataBuffer: NSError;
            /**
             * The output array isn’t large enough to hold the requested array.
             */
            static arrayTooSmall: NSError;
            /**
             * You requested sample sizes on a buffer that doesn’t provide that information.
             */
            static bufferHasNoSampleSizes: NSError;
            /**
             * You requested sample timing on a buffer that doesn’t contain that information.
             */
            static bufferHasNoSampleTimingInfo: NSError;
            /**
             * The system can’t make the buffer’s data ready for use.
             */
            static bufferNotReady: NSError;
            /**
             * A sample buffer doesn’t contain sample sizes.
             */
            static cannotSubdivide: NSError;
            /**
             * A sample buffer canceled its data loading operation.
             */
            static dataCanceled: NSError;
            /**
             * A sample buffer failed to load its data.
             */
            static dataFailed: NSError;
            /**
             * A timing or size value isn’t within the allowed range.
             */
            static invalidEntryCount: NSError;
            /**
             * The format of the media doesn’t match the sample buffer’s format description.
             */
            static invalidMediaFormat: NSError;
            /**
             * The media type the format description defines isn’t value for the requested operation.
             */
            static invalidMediaTypeForOperation: NSError;
            /**
             * The sample buffer contains bad data.
             */
            static invalidSampleData: NSError;
            /**
             * A sample buffer invalidated its data.
             */
            static invalidated: NSError;
            /**
             * You didn’t provide a valid value for a required parameter.
             */
            static requiredParameterMissing: NSError;
            /**
             * You specified a sample index that’s outside of the range of samples that the buffer contains.
             */
            static sampleIndexOutOfRange: NSError;
            /**
             * The sample buffer unexpectedly contains nonnumeric sample timing information.
             */
            static sampleTimingInfoInvalid: NSError;
        }
        export class Flags {
            /**
             * Ensure memory involved in audio buffer lists is 16-byte aligned.
             */
            static audioBufferListAssure16ByteAlignment: CMSampleBuffer.Flags;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: UInt32;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: CMSampleBuffer.Flags);
            constructor (rawValue: UInt32);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: CMSampleBuffer.Flags):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: CMSampleBuffer.Flags):any;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: CMSampleBuffer.Flags):CMSampleBuffer.Flags | null;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: CMSampleBuffer.Flags):CMSampleBuffer.Flags | null;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: CMSampleBuffer.Flags):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: CMSampleBuffer.Flags):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: CMSampleBuffer.Flags):void;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: CMSampleBuffer.Flags):CMSampleBuffer.Flags;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: CMSampleBuffer.Flags):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: CMSampleBuffer.Flags):CMSampleBuffer.Flags;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: CMSampleBuffer.Flags):CMSampleBuffer.Flags;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: CMSampleBuffer.Flags):CMSampleBuffer.Flags;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: CMSampleBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: CMSampleBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: CMSampleBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: CMSampleBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: CMSampleBuffer.Flags):boolean;
        }
        export class NotificationKey {
            /**
             * A key to retrieve a status value.
             */
            static status: CMSampleBuffer.NotificationKey;
            hashValue: number;
            rawValue: CFString;
            constructor (rawValue: CFString);
            hash(hasher: Hasher):void;
        }
    }
    export class CMFormatDescription {}
    /**
     * the same name namespace of class CMFormatDescription
     */
    export namespace CMFormatDescription {
        export class Extensions {
            publisher: any;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():any;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():any;
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<CMFormatDescription.Extensions>[];
            trimmingPrefix(predicate: Bool):Slice<CMFormatDescription.Extensions>;
        }
        /**
         * the same name namespace of class Extensions
         */
        export namespace Extensions {
            export class Index {
                hashValue: number;
                hash(hasher: Hasher):void;
            }
            export class Key {
                static alphaChannelMode: CMFormatDescription.Extensions.Key;
                static alternativeTransferCharacteristics: CMFormatDescription.Extensions.Key;
                static ambientViewingEnvironment: CMFormatDescription.Extensions.Key;
                static auxiliaryTypeInfo: CMFormatDescription.Extensions.Key;
                static backgroundColor: CMFormatDescription.Extensions.Key;
                static bitsPerComponent: CMFormatDescription.Extensions.Key;
                static bytesPerRow: CMFormatDescription.Extensions.Key;
                static chromaLocationBottomField: CMFormatDescription.Extensions.Key;
                static chromaLocationTopField: CMFormatDescription.Extensions.Key;
                static cleanAperture: CMFormatDescription.Extensions.Key;
                static colorPrimaries: CMFormatDescription.Extensions.Key;
                static conformsToMPEG2VideoProfile: CMFormatDescription.Extensions.Key;
                static containsAlphaChannel: CMFormatDescription.Extensions.Key;
                static contentLightLevelInfo: CMFormatDescription.Extensions.Key;
                static defaultFontName: CMFormatDescription.Extensions.Key;
                static defaultStyle: CMFormatDescription.Extensions.Key;
                static defaultTextBox: CMFormatDescription.Extensions.Key;
                static depth: CMFormatDescription.Extensions.Key;
                static displayFlags: CMFormatDescription.Extensions.Key;
                static fieldCount: CMFormatDescription.Extensions.Key;
                static fieldDetail: CMFormatDescription.Extensions.Key;
                static fontTable: CMFormatDescription.Extensions.Key;
                static formatName: CMFormatDescription.Extensions.Key;
                static fullRangeVideo: CMFormatDescription.Extensions.Key;
                static gammaLevel: CMFormatDescription.Extensions.Key;
                static horizontalJustification: CMFormatDescription.Extensions.Key;
                static iccProfile: CMFormatDescription.Extensions.Key;
                static masteringDisplayColorVolume: CMFormatDescription.Extensions.Key;
                static metadataKeyTable: CMFormatDescription.Extensions.Key;
                static originalCompressionSettings: CMFormatDescription.Extensions.Key;
                static pixelAspectRatio: CMFormatDescription.Extensions.Key;
                static revisionLevel: CMFormatDescription.Extensions.Key;
                static sampleDescriptionExtensionAtoms: CMFormatDescription.Extensions.Key;
                static sourceReferenceName: CMFormatDescription.Extensions.Key;
                static spatialQuality: CMFormatDescription.Extensions.Key;
                static temporalQuality: CMFormatDescription.Extensions.Key;
                static textJustification: CMFormatDescription.Extensions.Key;
                static transferFunction: CMFormatDescription.Extensions.Key;
                static vendor: CMFormatDescription.Extensions.Key;
                static verbatimISOSampleEntry: CMFormatDescription.Extensions.Key;
                static verbatimSampleDescription: CMFormatDescription.Extensions.Key;
                static version: CMFormatDescription.Extensions.Key;
                static verticalJustification: CMFormatDescription.Extensions.Key;
                static yCbCrMatrix: CMFormatDescription.Extensions.Key;
                hashValue: number;
                rawValue: CFString;
                constructor (rawValue: CFString);
                hash(hasher: Hasher):void;
            }
            export class Value {
                propertyListRepresentation: CFPropertyList;
                hashValue: number;
                constructor (plist: CFPropertyList);
                static alphaChannelMode(alphaChannelMode: CMFormatDescription.Extensions.Value.AlphaChannelMode):CMFormatDescription.Extensions.Value;
                static chromaLocation(chromaLocation: CMFormatDescription.Extensions.Value.ChromaLocation):CMFormatDescription.Extensions.Value;
                static cleanAperture(width: any, height: any, horizontalOffet: any, verticalOffset: any):CMFormatDescription.Extensions.Value;
                static colorPrimaries(colorPrimaries: CMFormatDescription.Extensions.Value.ColorPrimaries):CMFormatDescription.Extensions.Value;
                static data(value: CFData):CMFormatDescription.Extensions.Value;
                static fieldDetail(fieldDetail: CMFormatDescription.Extensions.Value.FieldDetail):CMFormatDescription.Extensions.Value;
                static fontTable(fontTable: Record<number, string>):CMFormatDescription.Extensions.Value;
                static mobile3GPPTextColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat):CMFormatDescription.Extensions.Value;
                static mobile3GPPTextDefaultStyle(startChar: number, endChar: number, localFontID: number, fontFace: CMFormatDescription.Extensions.Value.FontFace, fontSize: number, foregroundColor: CMFormatDescription.Extensions.Value):CMFormatDescription.Extensions.Value;
                static mpeg2VideoProfile(mpeg2VideoProfile: CMFormatDescription.Extensions.Value.MPEG2VideoProfile):CMFormatDescription.Extensions.Value;
                static qtTextColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat):CMFormatDescription.Extensions.Value;
                static qtTextDefaultStyle(startChar: number, height: number, ascent: number, localFontID: number, fontFace: CMFormatDescription.Extensions.Value.FontFace, fontSize: number, foregroundColor: CMFormatDescription.Extensions.Value, defaultFontName: string):CMFormatDescription.Extensions.Value;
                static sourceReferenceName(value: string, langCode: number):CMFormatDescription.Extensions.Value;
                static string(value: string):CMFormatDescription.Extensions.Value;
                static textDisplayFlags(textDisplayFlags: Set<CMFormatDescription.Extensions.Value.TextDisplayFlags>):CMFormatDescription.Extensions.Value;
                static textJustification(textJustification: CMFormatDescription.Extensions.Value.TextJustification):CMFormatDescription.Extensions.Value;
                static textRect(top: number, left: number, bottom: number, right: number):CMFormatDescription.Extensions.Value;
                static transferFunction(transferFunction: CMFormatDescription.Extensions.Value.TransferFunction):CMFormatDescription.Extensions.Value;
                static vendor(vendor: CMFormatDescription.Extensions.Value.Vendor):CMFormatDescription.Extensions.Value;
                static yCbCrMatrix(yCbCrMatrix: CMFormatDescription.Extensions.Value.YCbCrMatrix):CMFormatDescription.Extensions.Value;
                hash(hasher: Hasher):void;
            }
            /**
             * the same name namespace of class Value
             */
            export namespace Value {
                export class AlphaChannelMode {
                    static premultipliedAlpha: CMFormatDescription.Extensions.Value.AlphaChannelMode;
                    static straightAlpha: CMFormatDescription.Extensions.Value.AlphaChannelMode;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
                export class ChromaLocation {
                    static bottom: CMFormatDescription.Extensions.Value.ChromaLocation;
                    static bottomLeft: CMFormatDescription.Extensions.Value.ChromaLocation;
                    static center: CMFormatDescription.Extensions.Value.ChromaLocation;
                    static dv420: CMFormatDescription.Extensions.Value.ChromaLocation;
                    static left: CMFormatDescription.Extensions.Value.ChromaLocation;
                    static top: CMFormatDescription.Extensions.Value.ChromaLocation;
                    static topLeft: CMFormatDescription.Extensions.Value.ChromaLocation;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
                export class ColorPrimaries {
                    static dci_P3: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    static ebu_3213: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    static itu_R_2020: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    static itu_R_709_2: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    static p22: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    static p3_D65: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    static smpte_C: CMFormatDescription.Extensions.Value.ColorPrimaries;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
                export class FieldDetail {
                    static spatialFirstLineEarly: CMFormatDescription.Extensions.Value.FieldDetail;
                    static spatialFirstLineLate: CMFormatDescription.Extensions.Value.FieldDetail;
                    static temporalBottomFirst: CMFormatDescription.Extensions.Value.FieldDetail;
                    static temporalTopFirst: CMFormatDescription.Extensions.Value.FieldDetail;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
                export class FontFace {
                    static all: CMFormatDescription.Extensions.Value.FontFace;
                    static bold: CMFormatDescription.Extensions.Value.FontFace;
                    static italic: CMFormatDescription.Extensions.Value.FontFace;
                    static underline: CMFormatDescription.Extensions.Value.FontFace;
                    hashValue: number;
                    /**
                     * A Boolean value that indicates whether the set has no elements.
                     */
                    isEmpty: boolean;
                    rawValue: UInt8;
                    /**
                     * Creates an empty option set.
                     */
                    constructor ();
                    /**
                     * Creates a set containing the elements of the given array literal.
                     */
                    constructor (...arrayLiteral: CMFormatDescription.Extensions.Value.FontFace);
                    constructor (rawValue: UInt8);
                    hash(hasher: Hasher):void;
                    /**
                     * Returns a Boolean value that indicates whether a given element is a member of the option set.
                     */
                    contains(member: CMFormatDescription.Extensions.Value.FontFace):boolean;
                    /**
                     * Adds the given element to the option set if it is not already a member.
                     */
                    insert(newMember: CMFormatDescription.Extensions.Value.FontFace):any;
                    /**
                     * Removes the given element and all elements subsumed by it.
                     */
                    remove(member: CMFormatDescription.Extensions.Value.FontFace):CMFormatDescription.Extensions.Value.FontFace | null;
                    /**
                     * Inserts the given element into the set.
                     */
                    update(newMember: CMFormatDescription.Extensions.Value.FontFace):CMFormatDescription.Extensions.Value.FontFace | null;
                    /**
                     * Removes all elements of this option set that are not also present in the given set.
                     */
                    formIntersection(other: CMFormatDescription.Extensions.Value.FontFace):void;
                    /**
                     * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
                     */
                    formSymmetricDifference(other: CMFormatDescription.Extensions.Value.FontFace):void;
                    /**
                     * Inserts the elements of another set into this option set.
                     */
                    formUnion(other: CMFormatDescription.Extensions.Value.FontFace):void;
                    /**
                     * Returns a new option set with only the elements contained in both this set and the given set.
                     */
                    intersection(other: CMFormatDescription.Extensions.Value.FontFace):CMFormatDescription.Extensions.Value.FontFace;
                    /**
                     * Removes the elements of the given set from this set.
                     */
                    subtract(other: CMFormatDescription.Extensions.Value.FontFace):void;
                    /**
                     * Returns a new set containing the elements of this set that do not occur in the given set.
                     */
                    subtracting(other: CMFormatDescription.Extensions.Value.FontFace):CMFormatDescription.Extensions.Value.FontFace;
                    /**
                     * Returns a new option set with the elements contained in this set or in the given set, but not in both.
                     */
                    symmetricDifference(other: CMFormatDescription.Extensions.Value.FontFace):CMFormatDescription.Extensions.Value.FontFace;
                    /**
                     * Returns a new option set of the elements contained in this set, in the given set, or in both.
                     */
                    union(other: CMFormatDescription.Extensions.Value.FontFace):CMFormatDescription.Extensions.Value.FontFace;
                    /**
                     * Returns a Boolean value that indicates whether the set has no members in common with the given set.
                     */
                    isDisjoint(other: CMFormatDescription.Extensions.Value.FontFace):boolean;
                    /**
                     * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
                     */
                    isStrictSubset(other: CMFormatDescription.Extensions.Value.FontFace):boolean;
                    /**
                     * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
                     */
                    isStrictSuperset(other: CMFormatDescription.Extensions.Value.FontFace):boolean;
                    /**
                     * Returns a Boolean value that indicates whether the set is a subset of another set.
                     */
                    isSubset(other: CMFormatDescription.Extensions.Value.FontFace):boolean;
                    /**
                     * Returns a Boolean value that indicates whether the set is a superset of the given set.
                     */
                    isSuperset(other: CMFormatDescription.Extensions.Value.FontFace):boolean;
                }
                export class MPEG2VideoProfile {
                    static hdv_1080i50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_1080i60: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_1080p24: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_1080p25: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_1080p30: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_720p24: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_720p25: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_720p30: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_720p50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static hdv_720p60: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_1080i50_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_1080i60_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_1080p24_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_1080p25_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_1080p30_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_720p24_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_720p25_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_720p30_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_720p50_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_EX_720p60_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_1080i50_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_1080i60_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_1080p24_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_1080p25_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_1080p30_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_540p: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_720p24_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_720p25_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_720p30_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_720p50_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD422_720p60_CBR50: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD_1080i50_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD_1080i60_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD_1080p24_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD_1080p25_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD_1080p30_VBR35: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xdcam_HD_540p: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    static xf: CMFormatDescription.Extensions.Value.MPEG2VideoProfile;
                    hashValue: number;
                    rawValue: FourCharCode;
                    description: string;
                    constructor (rawValue: Int32);
                    constructor (_string: string);
                    hash(hasher: Hasher):void;
                }
                export class TextDisplayFlags {
                    static allSubtitlesForced: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static continuousKaraoke: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static fillTextRegion: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static forcedSubtitlesPresent: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static obeySubtitleFormatting: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollDirectionMask: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollDirection_bottomToTop: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollDirection_leftToRight: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollDirection_rightToLeft: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollDirection_topToBottom: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollIn: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static scrollOut: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    static writeTextVertically: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    scrollDirection: CMFormatDescription.Extensions.Value.TextDisplayFlags;
                    hashValue: number;
                    rawValue: CMTextDisplayFlags;
                    constructor (rawValue: CMTextDisplayFlags);
                    hash(hasher: Hasher):void;
                }
                export class TextJustification {
                    static bottom: CMFormatDescription.Extensions.Value.TextJustification;
                    static centered: CMFormatDescription.Extensions.Value.TextJustification;
                    static left: CMFormatDescription.Extensions.Value.TextJustification;
                    static right: CMFormatDescription.Extensions.Value.TextJustification;
                    static top: CMFormatDescription.Extensions.Value.TextJustification;
                    hashValue: number;
                    rawValue: Int8;
                    constructor (rawValue: Int8);
                    hash(hasher: Hasher):void;
                }
                export class TransferFunction {
                    static itu_R_2020: CMFormatDescription.Extensions.Value.TransferFunction;
                    static itu_R_2100_HLG: CMFormatDescription.Extensions.Value.TransferFunction;
                    static itu_R_709_2: CMFormatDescription.Extensions.Value.TransferFunction;
                    static linear: CMFormatDescription.Extensions.Value.TransferFunction;
                    static sRGB: CMFormatDescription.Extensions.Value.TransferFunction;
                    static smpte_240M_1995: CMFormatDescription.Extensions.Value.TransferFunction;
                    static smpte_ST_2084_PQ: CMFormatDescription.Extensions.Value.TransferFunction;
                    static smpte_ST_428_1: CMFormatDescription.Extensions.Value.TransferFunction;
                    static useGamma: CMFormatDescription.Extensions.Value.TransferFunction;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
                export class Vendor {
                    static apple: CMFormatDescription.Extensions.Value.Vendor;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
                export class YCbCrMatrix {
                    static itu_R_2020: CMFormatDescription.Extensions.Value.YCbCrMatrix;
                    static itu_R_601_4: CMFormatDescription.Extensions.Value.YCbCrMatrix;
                    static itu_R_709_2: CMFormatDescription.Extensions.Value.YCbCrMatrix;
                    static smpted_240M_1995: CMFormatDescription.Extensions.Value.YCbCrMatrix;
                    hashValue: number;
                    rawValue: CFString;
                    constructor (rawValue: CFString);
                    hash(hasher: Hasher):void;
                }
            }
        }
        export class ParameterSetCollection {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The first element of the collection.
             */
            first: Data | null;
            /**
             * The last element of the collection.
             */
            last: Data | null;
            startIndex: number;
            endIndex: number;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<CMFormatDescription.ParameterSetCollection>;
            publisher: any;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: Data):boolean;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Data | null;
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Data | null;
            /**
             * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
             */
            index(i: number, distance: number, limit: number):number;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<CMFormatDescription.ParameterSetCollection>;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: Data):number;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Data | null;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: Data):number;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Data[];
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Data[];
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<CMFormatDescription.ParameterSetCollection>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Data[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<CMFormatDescription.ParameterSetCollection>[];
            trimmingPrefix(predicate: Bool):Slice<CMFormatDescription.ParameterSetCollection>;
        }
    }
    export class CMVideoDimensions {
        /**
         * The height of the video.
         */
        height: Int32;
        /**
         * The width of the video.
         */
        width: Int32;
        constructor ();
        constructor (width: Int32, height: Int32);
    }
    export interface CMAttachmentBearerProtocol {
        /**
         * All attachments for this object.
         */
        attachments: CMAttachmentBearerAttachments;
    }
    export class CMAttachmentBearerAttachments {
        /**
         * A dictionary of attachments to copy when propagating attachments from one object to another.
         */
        propagated: Record<string, any>;
        /**
         * A dictionary of attachments to not copy when propagating attachments from one object to another.
         */
        nonPropagated: Record<string, any>;
        /**
         * Sets a collection of attachments on the object.
         */
        merge(attachments: Record<string, any>, mode: CMAttachmentBearerAttachments.Mode):void;
        /**
         * Removes all attachments from this object.
         */
        removeAll():void;
    }
    /**
     * the same name namespace of class CMAttachmentBearerAttachments
     */
    export namespace CMAttachmentBearerAttachments {
        export enum Value {
            shouldPropagate,
            shouldNotPropagate,
        }
        export enum Mode {
            shouldPropagate,
            shouldNotPropagate,
        }
    }
    export enum CMTimeRoundingMethod {
        roundHalfAwayFromZero = 1,
        roundAwayFromZero = 3,
        roundTowardZero = 2,
        quickTime = 4,
        roundTowardPositiveInfinity = 5,
        roundTowardNegativeInfinity = 6,
    }
    export class CMTime {
        /**
         * A value that represents time zero.
         */
        static zero: CMTime;
        /**
         * A value that represents an invalid time.
         */
        static invalid: CMTime;
        /**
         * A value that represents an indefinite time.
         */
        static indefinite: CMTime;
        /**
         * A value that represents negative infinity.
         */
        static negativeInfinity: CMTime;
        /**
         * A value that represents positive infinity.
         */
        static positiveInfinity: CMTime;
        /**
         * A representation of the time in seconds.
         */
        seconds: number;
        /**
         * A Boolean value that indicates whether the system rounded the time.
         */
        hasBeenRounded: boolean;
        /**
         * A Boolean value that indicates whether a time is valid.
         */
        isValid: boolean;
        /**
         * A Boolean value that indicates whether a time is numeric.
         */
        isNumeric: boolean;
        /**
         * A Boolean value that indicates whether a time is indefinite.
         */
        isIndefinite: boolean;
        /**
         * A Boolean value that indicates whether a time represents positive infinity.
         */
        isPositiveInfinity: boolean;
        /**
         * A Boolean value that indicates whether a time represents negative infinity.
         */
        isNegativeInfinity: boolean;
        /**
         * A time value that represents the numerator of a rational time.
         */
        value: CMTimeValue;
        /**
         * A timescale that represents the denominator of a rational time.
         */
        timescale: CMTimeScale;
        /**
         * The flags associated with a time.
         */
        flags: CMTimeFlags;
        /**
         * The epoch of the time.
         */
        epoch: CMTimeEpoch;
        hashValue: number;
        /**
         * Creates a time with a value and timescale.
         */
        constructor (value: CMTimeValue, timescale: CMTimeScale);
        /**
         * Creates a time with a value, timescale, flags, and epoch.
         */
        constructor (value: CMTimeValue, timescale: CMTimeScale, flags: CMTimeFlags, epoch: CMTimeEpoch);
        /**
         * Creates a time that represents number of seconds in a preferred timescale.
         */
        constructor (seconds: number, preferredTimescale: CMTimeScale);
        /**
         * Creates a time with an invalid value.
         */
        constructor ();
        /**
         * Converts the source time to a new timescale using the specified rounding method.
         */
        convertScale(newTimescale: Int32, method: CMTimeRoundingMethod):CMTime;
        hash(hasher: Hasher):void;
    }
    export class CMTimeFlags {
        /**
         * A flag that indicates a time is valid.
         */
        static valid: CMTimeFlags;
        /**
         * A flag that indicates a previous time calculation rounded the result.
         */
        static hasBeenRounded: CMTimeFlags;
        /**
         * A flag that indicates the time is positive infinity.
         */
        static positiveInfinity: CMTimeFlags;
        /**
         * A flag that indicates the time is negative infinity.
         */
        static negativeInfinity: CMTimeFlags;
        /**
         * A flag that indicates the time is indefinite.
         */
        static indefinite: CMTimeFlags;
        /**
         * A flag that indicates the time is positive or negative infinity, or indefinite.
         */
        static impliedValueFlagsMask: CMTimeFlags;
        /**
         * Cretes a new time flags value.
         */
        constructor (rawValue: UInt32);
    }
    export class CMTimeRange {
        /**
         * A constant for generating an empty time range at zero.
         */
        static zero: CMTimeRange;
        /**
         * A constant for generating an invalid time range.
         */
        static invalid: CMTimeRange;
        /**
         * The start time of the time range.
         */
        start: CMTime;
        /**
         * The end time of the time range. 
         */
        end: CMTime;
        /**
         * The duration of the time range.
         */
        duration: CMTime;
        /**
         * A Boolean value that indicates whether the time range is valid.
         */
        isValid: boolean;
        /**
         * A Boolean value that indicates whether the time range is empty.
         */
        isEmpty: boolean;
        /**
         * A Boolean value that indicates whether the time range is indefinite.
         */
        isIndefinite: boolean;
        hashValue: number;
        /**
         * Creates an empty time range at zero.
         */
        constructor ();
        /**
         * Creates a valid time range with a start time and duration.
         */
        constructor (start: CMTime, duration: CMTime);
        /**
         * Creates a valid time range from a start and end time.
         */
        constructor (start: CMTime, end: CMTime);
        /**
         * Returns a Boolean value that indicates whether the time range contains a time.
         */
        containsTime(time: CMTime):boolean;
        /**
         * Returns a Boolean value that indicates whether the time range contains another time range.
         */
        containsTimeRange(range: CMTimeRange):boolean;
        /**
         * Returns a new time range with the time elements that are common to both this time range and the given time range.
         */
        intersection(otherRange: CMTimeRange):CMTimeRange;
        /**
         * Returns a new time range with the time elements of both this time range and the given time range.
         */
        union(otherRange: CMTimeRange):CMTimeRange;
        hash(hasher: Hasher):void;
    }
    export class CMTimeMapping {
        /**
         * An invalid time mapping.
         */
        static invalid: CMTimeMapping;
        /**
         * A time range on the source timeline.
         */
        source: CMTimeRange;
        /**
         * A time range on the target timeline.
         */
        target: CMTimeRange;
        /**
         * Creates a time mapping with a source and target time range.
         */
        constructor (source: CMTimeRange, target: CMTimeRange);
        /**
         * Creates an empty time mapping.
         */
        constructor ();
    }
    export class CMClock {
        /**
         * The Core Foundation identifier that corresponds to the clock structure.
         */
        static typeID: CFTypeID;
        /**
         * The singleton clock that the system identifies as host time.
         */
        static hostTimeClock: CMClock;
        /**
         * The current time.
         */
        time: CMTime;
        /**
         * Converts a host time from a time structure to the host time’s native units.
         */
        static convertHostTimeToSystemUnits(hostTime: CMTime):UInt64;
        /**
         * Converts a host time from native units to a time structure.
         */
        static convertSystemUnitsToHostTime(systemUnits: UInt64):CMTime;
        /**
         * Stops the clock.
         */
        invalidate():void;
        /**
         * Returns the current time from a clock and the matching time from the clock’s reference clock.
         */
        anchorTime():any;
        /**
         * Returns the audio device the clock tracks.
         */
        audioDevice():any;
        /**
         * Sets the audio device by using the device identifier.
         */
        setAudioDeviceID(deviceID: AudioDeviceID):void;
        /**
         * Sets the audio device by using the unique device identifier.
         */
        setAudioDeviceUID(deviceUID: string):void;
        /**
         * Returns a Boolean value that indicates whether it’s possible for one timebase or clock to drift relative to another.
         */
        mightDrift(otherClock: CMClock):boolean;
    }
    /**
     * the same name namespace of class CMClock
     */
    export namespace CMClock {
        export class Error {
            /**
             * An error that indicates the allocation fails.
             */
            static allocationFailed: NSError;
            /**
             * An error that indicates an invalid parameter.
             */
            static invalidParameter: NSError;
            /**
             * An error that indicates a missing parameter the function requires.
             */
            static missingRequiredParameter: NSError;
            /**
             * An error that indicates an operation the system doesn’t support. 
             */
            static unsupportedOperation: NSError;
        }
    }
    export class CMTimebase {}
    export class CMSync {}
    /**
     * the same name namespace of class CMSync
     */
    export namespace CMSync {
        export class Error {
            /**
             * A sync error that indicates the memory allocation fails.
             */
            static allocationFailed: NSError;
            /**
             * A sync error that indicates a parameter isn’t valid.
             */
            static invalidParameter: NSError;
            /**
             * A sync error that indicates a missing parameter.
             */
            static missingRequiredParameter: NSError;
            /**
             * A sync error that indicates the rate must not be zero.
             */
            static rateMustBeNonZero: NSError;
        }
    }
    export interface CMSyncProtocol {
        /**
         * The current time.
         */
        time: CMTime;
    }
    export class CMSimpleQueue {}
    export class CMBufferCallbacks {
        /**
         * This callback is called multiple times from 
         * , to perform an insertion sort.
         */
        compare: CMBufferCompareCallback | null;
        /**
         * If triggers of type 
         *  are installed, the queue will listen for this notification on the head buffer. 
         */
        dataBecameReadyNotification: Unmanaged<CFString> | null;
        /**
         * Client callback that returns a 
         *  from a 
         * .
         */
        getDecodeTimeStamp: CMBufferGetTimeCallback | null;
        /**
         * This callback is called (once) during enqueue and dequeue operations to update the total duration of the queue. 
         */
        getDuration: CMBufferGetTimeCallback;
        /**
         * Client callback that returns a 
         *  from a 
         * .
         */
        getPresentationTimeStamp: CMBufferGetTimeCallback | null;
        getSize: CMBufferGetSizeCallback | null;
        /**
         * This callback is called from 
         * , to ask if the buffer that is about to be dequeued is ready.
         */
        isDataReady: CMBufferGetBooleanCallback | null;
        /**
         * Contextual data to be passed to all callbacks.
         */
        refcon: UnsafeMutableRawPointer | null;
        /**
         * The callback version.
         */
        version: UInt32;
        constructor (version: UInt32, refcon: UnsafeMutableRawPointer | null, getDecodeTimeStamp: CMBufferGetTimeCallback | null, getPresentationTimeStamp: CMBufferGetTimeCallback | null, getDuration: CMBufferGetTimeCallback, isDataReady: CMBufferGetBooleanCallback | null, compare: CMBufferCompareCallback | null, dataBecameReadyNotification: Unmanaged<CFString> | null, getSize: CMBufferGetSizeCallback | null);
    }
    export class CMBufferQueue {}
    export class CMMemoryPool {}
    export class CMSampleTimingInfo {
        static invalid: CMSampleTimingInfo;
        /**
         * The time at which the sample will be decoded.
         */
        decodeTimeStamp: CMTime;
        /**
         * The duration of the sample.
         */
        duration: CMTime;
        /**
         * The time at which the sample will be presented.
         */
        presentationTimeStamp: CMTime;
        constructor ();
        constructor (duration: CMTime, presentationTimeStamp: CMTime, decodeTimeStamp: CMTime);
    }
    export class CMBlockBufferCustomBlockSource {
        /**
         * The function to allocate memory.
         */
        AllocateBlock: ()=>any | null;
        /**
         * A function to call once when the 
         *  is disposed.
         */
        FreeBlock: ()=>any | null;
        /**
         * Contextual information passed to both the allocate and free function calls.
         */
        refCon: UnsafeMutableRawPointer | null;
        version: UInt32;
        constructor ();
        constructor (version: UInt32, AllocateBlock: ()=>any | null, FreeBlock: ()=>any | null, refCon: UnsafeMutableRawPointer | null);
    }
    export class CMBlockBuffer {
        /**
         * The type identifier for block buffer objects.
         */
        static typeID: CFTypeID;
        /**
         * A Boolean value that indicates whether the block buffer is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element.
         */
        startIndex: number;
        /**
         * The position past the last element.
         */
        endIndex: number;
        /**
         * The block buffer instance on which to operate.
         */
        owner: CMBlockBuffer;
        /**
         * Accesses the block buffer’s attachments.
         */
        attachments: CMAttachmentBearerAttachments;
        /**
         * Adds a memory block to an existing block buffer.
         */
        append(length: number, allocator: CFAllocator | null, range: Range<Int> | null, flags: CMBlockBuffer.Flags):void;
        /**
         * Assures that the system allocates all memory blocks.
         */
        assureBlockMemory():void;
    }
    /**
     * the same name namespace of class CMBlockBuffer
     */
    export namespace CMBlockBuffer {
        export class Error {
            /**
             * An error that indicates an attempt to create a block buffer without a valid source.
             */
            static badCustomBlockSource: NSError;
            /**
             * An error that indicates you called a function with an invalid length parameter.
             */
            static badLengthParameter: NSError;
            /**
             * An error that indicates you called a function with offset value is out of range.
             */
            static badOffsetParameter: NSError;
            /**
             * An error that indicates a parameter is invalid.
             */
            static badPointerParameter: NSError;
            /**
             * An error that indicates you specified an invalid allocation block.
             */
            static blockAllocationFailed: NSError;
            /**
             * An error that indicates you passed an empty block buffer to a function.
             */
            static emptyBlockBuffer: NSError;
            /**
             * An error that indicates there’s insufficient space to perform the operation.
             */
            static insufficientSpace: NSError;
            /**
             * An error that indicates the allocation of a structure failed.
             */
            static structureAllocationFailed: NSError;
            /**
             * An error that indicates a function encountered an unallocated block of memory.
             */
            static unallocatedBlock: NSError;
        }
        export class Flags {
            static alwaysCopyData: CMBlockBuffer.Flags;
            static assureMemoryNow: CMBlockBuffer.Flags;
            static dontOptimizeDepth: CMBlockBuffer.Flags;
            static permitEmptyReference: CMBlockBuffer.Flags;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: UInt32;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: CMBlockBuffer.Flags);
            constructor (rawValue: UInt32);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: CMBlockBuffer.Flags):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: CMBlockBuffer.Flags):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: CMBlockBuffer.Flags):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: CMBlockBuffer.Flags):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: CMBlockBuffer.Flags):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: CMBlockBuffer.Flags):CMBlockBuffer.Flags;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: CMBlockBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: CMBlockBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: CMBlockBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: CMBlockBuffer.Flags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: CMBlockBuffer.Flags):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: CMBlockBuffer.Flags):CMBlockBuffer.Flags | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: CMBlockBuffer.Flags):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: CMBlockBuffer.Flags):CMBlockBuffer.Flags;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: CMBlockBuffer.Flags):CMBlockBuffer.Flags;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: CMBlockBuffer.Flags):CMBlockBuffer.Flags;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: CMBlockBuffer.Flags):CMBlockBuffer.Flags | null;
        }
        export class Slice {
            dataLength: number;
            endIndex: number;
            isContiguous: boolean;
            owner: CMBlockBuffer;
            startIndex: number;
            copyDataBytes(destination: UnsafeMutableRawBufferPointer):void;
            dataBytes():Data;
            fillDataBytes(fillByte: UInt8):void;
            makeContiguous(allocator: CMBlockBuffer.CustomBlockAllocator, deallocator: CMBlockBuffer.CustomBlockDeallocator, flags: CMBlockBuffer.Flags):CMBlockBuffer;
            replaceDataBytes(sourceBytes: UnsafeRawBufferPointer):void;
        }
    }
    export interface CMBlockBufferProtocol {
        copyDataBytes(destination: UnsafeMutableRawBufferPointer):void;
        dataBytes():Data;
        fillDataBytes(fillByte: UInt8):void;
        replaceDataBytes(sourceBytes: UnsafeRawBufferPointer):void;
        isContiguous: boolean;
        makeContiguous(allocator: CMBlockBuffer.CustomBlockAllocator, deallocator: CMBlockBuffer.CustomBlockDeallocator, flags: CMBlockBuffer.Flags):CMBlockBuffer;
        dataLength: number;
        startIndex: number;
        endIndex: number;
        owner: CMBlockBuffer;
    }
    export class CMSoundDescriptionFlavor {
        /**
         * A sound description that selects the ISO family sample format.
         */
        static isoFamily: CMSoundDescriptionFlavor;
        /**
         * A sound description that selects the 3GP family sample format.
         */
        static mobile3GPFamily: CMSoundDescriptionFlavor;
        /**
         * A sound description that selects the QuickTime movie format.
         */
        static quickTimeMovie: CMSoundDescriptionFlavor;
        /**
         * A sound description that selects the second version of the QuickTime movie format.
         */
        static quickTimeMovieV2: CMSoundDescriptionFlavor;
        /**
         * Creates a sound description flavor.
         */
        constructor (rawValue: CFString);
        /**
         * Creates a sound description flavor.
         */
        constructor (rawValue: CFString);
    }
    export class CMImageDescriptionFlavor {
        static isoFamily: CMImageDescriptionFlavor;
        /**
         * An image description that selects the 3GP family sample format. 
         */
        static mobile3GPFamily: CMImageDescriptionFlavor;
        /**
         * An image description that selects the QuickTime format. 
         */
        static quickTimeMovie: CMImageDescriptionFlavor;
        static isoFamilyWithAppleExtensions: CMImageDescriptionFlavor;
        /**
         * Creates an image description flavor.
         */
        constructor (rawValue: CFString);
        /**
         * Creates an image description flavor.
         */
        constructor (rawValue: CFString);
    }
    export class CMMetadataDescriptionFlavor {
        /**
         * Creates a metadata description flavor.
         */
        constructor (rawValue: CFString);
        /**
         * Creates a metadata description flavor.
         */
        constructor (rawValue: CFString);
    }
    export class CMTextDescriptionFlavor {
        /**
         * Creates a text description flavor.
         */
        constructor (rawValue: CFString);
        /**
         * Creates a text description flavor.
         */
        constructor (rawValue: CFString);
    }
    export class CMTimeCodeDescriptionFlavor {
        /**
         * Creates a time code description flavor.
         */
        constructor (rawValue: CFString);
        /**
         * Creates a time code description flavor.
         */
        constructor (rawValue: CFString);
    }
    export class CMClosedCaptionDescriptionFlavor {
        /**
         * Creates a closed caption description flavor.
         */
        constructor (rawValue: CFString);
        /**
         * Creates a closed caption description flavor.
         */
        constructor (rawValue: CFString);
    }
}

/**
 * Communicate with MIDI devices such as hardware keyboards and synthesizers.
 */
declare module CoreMIDI {
    export enum MIDIObjectType {
        destination = 3,
        externalDevice = 16,
        externalEntity = 17,
        externalSource = 18,
        externalDestination = 19,
    }
    export enum MIDINotificationMessageID {
        msgSerialPortOwnerChanged = 6,
        msgIOError = 7,
    }
    export enum MIDICVStatus {
        relRegisteredControl = 4,
        relAssignableControl = 5,
        perNotePitchBend = 6,
        perNoteMgmt = 15,
    }
    export enum MIDIProtocolID {}
    export enum MIDISysExStatus {
        complete = 0,
        start = 1,
        continue = 2,
        end = 3,
        mixedDataSetHeader = 8,
        mixedDataSetPayload = 9,
    }
    export enum MIDISystemStatus {
        statusActiveSending = 254,
        statusContinue = 251,
        statusEndOfExclusive = 247,
        statusMTC = 241,
        statusSongPosPointer = 242,
        statusSongSelect = 243,
        statusStart = 250,
        statusStartOfExclusive = 240,
        statusStop = 252,
        statusSystemReset = 255,
        statusTimingClock = 248,
        statusTuneRequest = 246,
    }
    export class MIDINotification {
        /**
         * An identifier that describes the type of state change.
         */
        messageID: MIDINotificationMessageID;
        /**
         * The size of the message including its ID.
         */
        messageSize: UInt32;
        constructor ();
        constructor (messageID: MIDINotificationMessageID, messageSize: UInt32);
    }
    export class MIDIMessage_128 {
        word0: UInt32;
        word1: UInt32;
        word2: UInt32;
        word3: UInt32;
        constructor ();
        constructor (word0: UInt32, word1: UInt32, word2: UInt32, word3: UInt32);
    }
    export class MIDIMessage_96 {
        word0: UInt32;
        word1: UInt32;
        word2: UInt32;
        constructor ();
        constructor (word0: UInt32, word1: UInt32, word2: UInt32);
    }
    export class MIDIMessage_64 {
        word0: UInt32;
        word1: UInt32;
        constructor ();
        constructor (word0: UInt32, word1: UInt32);
    }
    export enum MIDIMessageType {
        channelVoice1 = 2,
        channelVoice2 = 4,
        data128 = 5,
        sysEx = 3,
        system = 1,
        utility = 0,
        unknownF = 15,
    }
    export class MIDIThruConnectionEndpoint {
        /**
         * The connection’s unique identifier.
         */
        uniqueID: MIDIUniqueID;
        /**
         * The endpoint reference.
         */
        endpointRef: MIDIEndpointRef;
        constructor ();
        constructor (endpointRef: MIDIEndpointRef, uniqueID: MIDIUniqueID);
    }
    export class MIDIThruConnectionParams {
        /**
         * The transformation of MIDI note numbers.
         */
        noteNumber: MIDITransform;
        /**
         * The note value below which the system filters out notes.
         */
        lowNote: UInt8;
        /**
         * The note value above which the system filters out notes. 
         */
        highNote: UInt8;
        /**
         * A note velocity transformation.
         */
        velocity: MIDITransform;
        /**
         * The velocity value below which the system filters out notes.
         */
        lowVelocity: UInt8;
        /**
         * The velocity value above which the system filters out notes.
         */
        highVelocity: UInt8;
        /**
         * The transformation of polyphonic key pressure events.
         */
        keyPressure: MIDITransform;
        /**
         * The transformation of MIDI monophonic channel pressure events.
         */
        channelPressure: MIDITransform;
        /**
         * The version number.
         */
        version: UInt32;
        /**
         * The number of valid sources.
         */
        numSources: UInt32;
        /**
         * All MIDI sources for this connection.
         */
        sources: any;
        /**
         * The number of valid destinations.
         */
        numDestinations: UInt32;
        /**
         * All MIDI destinations for this connection.
         */
        destinations: any;
        /**
         * A mapping of MIDI channels.
         */
        channelMap: any;
        /**
         * A value that indicates whether to filter out MIDI continuous control messages.
         */
        filterOutAllControls: UInt8;
        /**
         * A value that indicates whether to filter out MIDI clock, play, stop, and resume messages.
         */
        filterOutBeatClock: UInt8;
        /**
         * A value that indicates whether to filter out MIDI Time Code messages.
         */
        filterOutMTC: UInt8;
        /**
         * A value that indicates wheter to filter out system-exclusive messages.
         */
        filterOutSysEx: UInt8;
        /**
         * A value that specifies whether to filter out MIDI tune request messages.
         */
        filterOutTuneRequest: UInt8;
        /**
         * The number of control transformations in the variable-length portion of the struct.
         */
        numControlTransforms: UInt16;
        /**
         * The number of MIDI value maps in the variable-length portion of the struct.
         */
        numMaps: UInt16;
        /**
         * The transformation of a MIDI pitch bend event.
         */
        pitchBend: MIDITransform;
        /**
         * A transformation of a MIDI program change event.
         */
        programChange: MIDITransform;
        /**
         * A reserved value that must be 0.
         */
        reserved2: any;
        /**
         * A reserved value that must be 0.
         */
        reserved3: any;
        constructor ();
        constructor (version: UInt32, numSources: UInt32, sources: any, numDestinations: UInt32, destinations: any, channelMap: any, lowVelocity: UInt8, highVelocity: UInt8, lowNote: UInt8, highNote: UInt8, noteNumber: MIDITransform, velocity: MIDITransform, keyPressure: MIDITransform, channelPressure: MIDITransform, programChange: MIDITransform, pitchBend: MIDITransform, filterOutSysEx: UInt8, filterOutMTC: UInt8, filterOutBeatClock: UInt8, filterOutTuneRequest: UInt8, reserved2: any, filterOutAllControls: UInt8, numControlTransforms: UInt16, numMaps: UInt16, reserved3: any);
    }
    export class MIDIValueMap {
        /**
         * The array of unsigned 8-bit integers.
         */
        value: any;
        constructor ();
        constructor (value: any);
    }
    export class MIDIControlTransform {
        /**
         * The type of control specified by the control number.
         */
        controlType: MIDITransformControlType;
        /**
         * The remapped control type.
         */
        remappedControlType: MIDITransformControlType;
        /**
         * The control number to affect.
         */
        controlNumber: UInt16;
        /**
         * The type of transformation to apply to the event values.
         */
        transform: MIDITransformType;
        /**
         * An argument to the transformation method.
         */
        param: Int16;
        constructor ();
        constructor (controlType: MIDITransformControlType, remappedControlType: MIDITransformControlType, controlNumber: UInt16, transform: MIDITransformType, param: Int16);
    }
    export class MIDITransform {
        /**
         * An argument to the transformation method (see description of MIDITransformType).
         */
        param: Int16;
        /**
         * The type of transformation to apply to the event values.
         */
        transform: MIDITransformType;
        constructor ();
        constructor (transform: MIDITransformType, param: Int16);
    }
    export enum MIDITransformType {
        none = 0,
        filterOut = 1,
        mapControl = 2,
        add = 8,
        scale = 9,
        minValue = 10,
        maxValue = 11,
        mapValue = 12,
    }
    export enum MIDITransformControlType {
        controlType_7Bit = 0,
        controlType_14Bit = 1,
        controlType_7BitRPN = 2,
        controlType_14BitRPN = 3,
        controlType_7BitNRPN = 4,
        controlType_14BitNRPN = 5,
    }
    export class MIDINetworkHost extends NSObject {
        /**
         * The host name.
         */
        name: string;
        /**
         * The net service name.
         */
        netServiceName: string;
        /**
         * The net service domain.
         */
        netServiceDomain: string;
        /**
         * The host address.
         */
        address: string;
        /**
         * The host port.
         */
        port: number;
        /**
         * Creates a host with the specified name, adress, and port.
         */
        constructor (name: string, address: string, port: number);
        /**
         * Creates a host with the specified name and net service.
         */
        constructor (name: string, netService: NetService);
        /**
         * Creates a host with the specified name, net service name, and domain.
         */
        constructor (name: string, netServiceName: string, netServiceDomain: string);
        /**
         * Compares this host instance with another to see if they share the same address value.
         */
        hasSameAddress(other: MIDINetworkHost):boolean;
    }
    export class MIDINetworkConnection extends NSObject {
        /**
         * The host connection.
         */
        host: MIDINetworkHost;
        /**
         * Creates a connection to the specified host.
         */
        constructor (host: MIDINetworkHost);
    }
    export class MIDINetworkSession extends NSObject {
        /**
         * A Boolean value that determines whether the session is enabled.
         */
        isEnabled: boolean;
        /**
         * The policy that determines who can connect to this session.
         */
        connectionPolicy: MIDINetworkConnectionPolicy;
        /**
         * The name of this session’s entity.
         */
        localName: string;
        /**
         * The name with which this session advertises itself over Bonjour.
         */
        networkName: string;
        /**
         * The session’s UDP port.
         */
        networkPort: number;
        /**
         * Returns the default singleton session.
         */
        static default():MIDINetworkSession;
        /**
         * Returns the session’s source endpoint.
         */
        sourceEndpoint():MIDIEndpointRef;
        /**
         * Returns the session’s destination endpoint.
         */
        destinationEndpoint():MIDIEndpointRef;
        /**
         * Returns the session’s set of MIDI network connections.
         */
        connections():Set<MIDINetworkConnection>;
        /**
         * Adds a new connection to this session.
         */
        addConnection(connection: MIDINetworkConnection):boolean;
        /**
         * Removes a connection from this session.
         */
        removeConnection(connection: MIDINetworkConnection):boolean;
        /**
         * Returns the array of network hosts.
         */
        contacts():Set<MIDINetworkHost>;
        /**
         * Adds a host as a contact.
         */
        addContact(contact: MIDINetworkHost):boolean;
        /**
         * Removes a host as a contact.
         */
        removeContact(contact: MIDINetworkHost):boolean;
    }
    export enum MIDINetworkConnectionPolicy {
        noOne = 0,
        hostsInContactList = 1,
        anyone = 2,
    }
    export class MIDIDriverInterface {
        /**
         * Finds the available devices.
         */
        FindDevices: ()=>any;
        /**
         * Starts MIDI I/O.
         */
        Start: ()=>any;
        /**
         * Stops MIDI I/O.
         */
        Stop: ()=>any;
        /**
         * The system doesn’t currently use this method.
         */
        Configure: ()=>any;
        /**
         * Sends a MIDI packet list to the specified destination endpoints.
         */
        Send: ()=>any;
        /**
         * Tells the driver whether input from a particular source has listeners.
         */
        EnableSource: ()=>any;
        /**
         * Unschedules all pending output to the specified destination.
         */
        Flush: ()=>any;
        /**
         * Enables monitoring of MIDI packet lists by the specified driver.
         */
        Monitor: ()=>any;
        /**
         * Enables monitoring of MIDI event lists by the specified driver.
         */
        MonitorEvents: ()=>any;
        /**
         * Sends a MIDI event list to the specified destination endpoints.
         */
        SendPackets: ()=>any;
        AddRef: ()=>any;
        QueryInterface: ()=>any;
        Release: ()=>any;
        constructor (_reserved: UnsafeMutableRawPointer, QueryInterface: ()=>any, AddRef: ()=>any, Release: ()=>any, FindDevices: ()=>any, Start: ()=>any, Stop: ()=>any, Configure: ()=>any, Send: ()=>any, EnableSource: ()=>any, Flush: ()=>any, Monitor: ()=>any, SendPackets: ()=>any, MonitorEvents: ()=>any);
    }
    export class MIDICIDiscoveryManager extends NSObject {
        /**
         * Returns the singleton discovery manager instance.
         */
        static sharedInstance():MIDICIDiscoveryManager;
        /**
         * Discovers the available MIDI-CI nodes.
         */
        discover(completedHandler: MIDICIDiscoveryResponseBlock):void;
    }
    export class MIDICIDiscoveredNode extends NSObject {
        /**
         * The node’s MIDI destination.
         */
        destination: MIDIEntityRef;
        /**
         * The available MIDI-CI device information.
         */
        deviceInfo: MIDICIDeviceInfo;
        /**
         * A Boolean value that indicates whether this node supports MIDI-CI profiles.
         */
        supportsProfiles: boolean;
        /**
         * A Boolean value that indicates whether this node supports MIDI-CI properties.
         */
        supportsProperties: boolean;
        /**
         * The maximum size of a System Exclusive (SysEx) message this node supports.
         */
        maximumSysExSize: NSNumber;
    }
    export class MIDICISession extends NSObject {
        /**
         * An optional block the system calls after it enables or disables a profile.
         */
        profileChangedCallback: MIDICIProfileChangedBlock | null;
        /**
         * An optional block the system calls when a device sends profile-specific data to the session.
         */
        profileSpecificDataHandler: MIDICIProfileSpecificDataBlock | null;
        /**
         * Information about a MIDI-CI device.
         */
        deviceInfo: MIDICIDeviceInfo;
        /**
         * The maximum size of System Exclusive (SysEx) messages.
         */
        maxSysExSize: NSNumber;
        /**
         * The MIDI destination with which the session is communicating.
         */
        midiDestination: MIDIEntityRef;
        /**
         * The maximum number of simultaneous property exchange requests, if supported.
         */
        maxPropertyRequests: NSNumber;
        /**
         * A Boolean value that indicates whether the entity supports the MIDI-CI profile’s capability.
         */
        supportsProfileCapability: boolean;
        /**
         * A Boolean value that indicates whether the entity supports the MIDI-CI property exchange capability.
         */
        supportsPropertyCapability: boolean;
        /**
         * Creates a MIDI-CI session.
         */
        constructor (discoveredNode: MIDICIDiscoveredNode, handler: ()=>any, disconnectHandler: MIDICISessionDisconnectBlock);
        /**
         * Returns the profile state for the specified MIDI channel number.
         */
        profileState(channel: MIDIChannelNumber):MIDICIProfileState;
        /**
         * Performs an asynchronous request to enable a profile for a specific MIDI channel number.
         */
        enable(profile: MIDICIProfile, channel: MIDIChannelNumber):void;
        /**
         * Performs an asynchronous request to disable a profile for a specific MIDI channel number.
         */
        disableProfile(profile: MIDICIProfile, channel: MIDIChannelNumber):void;
        /**
         * Sends profile-specific data to the MIDI-CI session.
         */
        send(profile: MIDICIProfile, channel: MIDIChannelNumber, profileSpecificData: Data):boolean;
    }
    export class MIDICIProfile extends NSObject {
        /**
         * A string that describes the profile.
         */
        name: string;
        /**
         * The unique five-byte profile identifier that represents the profile.
         */
        profileID: Data;
        /**
         * Creates a MIDI profile for the specified data.
         */
        constructor (data: Data);
        /**
         * Creates a named MIDI profile for the specified data.
         */
        constructor (data: Data, inName: string);
    }
    export class MIDICIProfileState extends NSObject {
        /**
         * The MIDI channel to which this state applies.
         */
        midiChannel: MIDIChannelNumber;
        /**
         * The object’s enabled profiles.
         */
        enabledProfiles: MIDICIProfile[];
        /**
         * The object’s disabled profiles.
         */
        disabledProfiles: MIDICIProfile[];
        /**
         * Creates a new profile state object for the specified MIDI channel and profiles.
         */
        constructor (midiChannelNum: MIDIChannelNumber, enabled: MIDICIProfile[], disabled: MIDICIProfile[]);
        /**
         * Creates a new profile state object for the specified profiles.
         */
        constructor (enabled: MIDICIProfile[], disabled: MIDICIProfile[]);
    }
    export class MIDICIResponder extends NSObject {
        /**
         * The profile delegate.
         */
        profileDelegate: MIDICIProfileResponderDelegate;
        /**
         * An array of initiators.
         */
        initiators: MIDICIInitiatiorMUID[];
        /**
         * The MIDI-CI device’s information.
         */
        deviceInfo: MIDICIDeviceInfo;
        /**
         * Creates a new responder.
         */
        constructor (deviceInfo: MIDICIDeviceInfo, delegate: MIDICIProfileResponderDelegate, profileList: MIDICIProfileState[], propertiesSupported: boolean);
        /**
         * Starts receiving initiator requests.
         */
        start():boolean;
        /**
         * Stops receiving initiator requests and disconnects all connected initiators.
         */
        stop():void;
        /**
         * Enables or disables a profile and notifies all connected initiators.
         */
        notify(aProfile: MIDICIProfile, channel: MIDIChannelNumber, enabledState: boolean):boolean;
        /**
         * Sends profile-specific data to all connected initiators.
         */
        send(aProfile: MIDICIProfile, channel: MIDIChannelNumber, profileSpecificData: Data):boolean;
    }
    export interface MIDICIProfileResponderDelegate extends NSObjectProtocol {
        /**
         * Enables a MIDI-CI initiator to create a session or reject the connection attempt.
         */
        connectInitiator(initiatorMUID: MIDICIInitiatiorMUID, deviceInfo: MIDICIDeviceInfo):boolean;
        /**
         * Processes MIDI data for a profile and channel.
         */
        handleData(aProfile: MIDICIProfile, channel: MIDIChannelNumber, inData: Data):void;
        /**
         * Provides an opportunity to perform an action before the system sets the profile.
         */
        willSetProfile(aProfile: MIDICIProfile, channel: MIDIChannelNumber, shouldEnable: boolean):boolean;
        /**
         * Provides an opportunity to perform an action after the system disconnects the initiator.
         */
        initiatorDisconnected(initiatorMUID: MIDICIInitiatiorMUID):void;
    }
    export class MIDICIDeviceIdentification {
        /**
         * The MIDI System Exclusive (SysEx) ID of the device manufacturer.
         */
        manufacturer: any;
        /**
         * The device model number.
         */
        modelNumber: any;
        /**
         * The group of familes to which the device belongs.
         */
        family: any;
        /**
         * The revision number of the device model number.
         */
        revisionLevel: any;
        /**
         * A reserved field whose value is always zero.
         */
        reserved: any;
        constructor ();
        constructor (manufacturer: any, family: any, modelNumber: any, revisionLevel: any, reserved: any);
    }
    export class MIDICIDeviceInfo extends NSObject {
        /**
         * The MIDI System Exclusive (SysEx) ID of the device manufacturer.
         */
        manufacturerID: Data;
        /**
         * The family to which the device belongs.
         */
        family: Data;
        /**
         * The model number of the device.
         */
        modelNumber: Data;
        /**
         * The revision number of the device model number.
         */
        revisionLevel: Data;
        /**
         * The MIDI destination the device’s MIDI entity uses for capability inquiries.
         */
        midiDestination: MIDIEndpointRef;
        /**
         * Creates a new device information instance.
         */
        constructor (midiDestination: MIDIEntityRef, manufacturer: Data, family: Data, modelNumber: Data, revisionLevel: Data);
    }
    export class MIDIPerNoteManagementOptions {
        static detach: MIDIPerNoteManagementOptions;
        static reset: MIDIPerNoteManagementOptions;
        constructor (rawValue: UInt8);
    }
    export class MIDIProgramChangeOptions {
        static bankValid: MIDIProgramChangeOptions;
        constructor (rawValue: UInt8);
    }
    export class MIDIUniversalMessage {
        channelVoice1: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_channelVoice1;
        channelVoice2: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_channelVoice2;
        data128: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_data128;
        group: UInt8;
        reserved: any;
        sysEx: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_sysEx;
        system: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_system;
        type: MIDIMessageType;
        unknown: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_unknown;
        utility: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3.__Unnamed_struct_utility;
        constructor ();
        constructor (type: MIDIMessageType, group: UInt8, reserved: any, __Anonymous_field3: MIDIUniversalMessage.__Unnamed_union___Anonymous_field3);
    }
    export enum MIDINoteAttribute {
        manufacturerSpecific = 1,
        none = 0,
        pitch = 3,
        profileSpecific = 2,
    }
    export enum MIDIUtilityStatus {
        NOOP = 0,
        jitterReductionClock = 1,
        jitterReductionTimestamp = 2,
    }
    export class MIDIEventList {
        /**
         * The MIDI protocol variant of the events in the list.
         */
        protocol: MIDIProtocolID;
        /**
         * The number of MIDI event packet structures in the list.
         */
        numPackets: UInt32;
        /**
         * An array of variable-length MIDI event packet structures.
         */
        packet: (MIDIEventPacket);
        constructor ();
        constructor (protocol: MIDIProtocolID, numPackets: UInt32, packet: (MIDIEventPacket));
        static sizeInBytes(pktList: UnsafePointer<MIDIEventList>):number;
    }
    /**
     * the same name namespace of class MIDIEventList
     */
    export namespace MIDIEventList {
        export class Builder {
            count: number;
            constructor (inProtocol: MIDIProtocolID, wordSize: number);
            append(timestamp: MIDITimeStamp, words: UInt32[]):UnsafePointer<MIDIEventPacket> | null;
            clear():void;
        }
        export class UnsafeSequence {
            count: number;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<MIDIEventList.UnsafeSequence>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UnsafePointer<MIDIEventPacket>):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<MIDIEventList.UnsafeSequence>;
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<MIDIEventList.UnsafeSequence>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):UnsafePointer<MIDIEventPacket>[];
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<MIDIEventList.UnsafeSequence>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):UnsafePointer<MIDIEventPacket>[];
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UnsafePointer<MIDIEventPacket> | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            makeIterator():MIDIEventList.UnsafeSequence.Iterator;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UnsafePointer<MIDIEventPacket> | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UnsafePointer<MIDIEventPacket> | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<MIDIEventList.UnsafeSequence>;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():UnsafePointer<MIDIEventPacket>[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UnsafePointer<MIDIEventPacket>[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UnsafePointer<MIDIEventPacket>[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UnsafePointer<MIDIEventPacket>>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):UnsafePointer<MIDIEventPacket>[];
        }
        /**
         * the same name namespace of class UnsafeSequence
         */
        export namespace UnsafeSequence {
            export class Iterator {
                constructor (s: MIDIEventList.UnsafeSequence);
                next():UnsafePointer<MIDIEventPacket> | null;
            }
        }
    }
    export class MIDIEventPacket {
        /**
         * The event packet timestamp.
         */
        timeStamp: MIDITimeStamp;
        /**
         * The number of valid MIDI 32-bit words in this event packet.
         */
        wordCount: UInt32;
        /**
         * A variable-length stream of native-endian 32-bit Universal MIDI Packets (UMP).
         */
        words: any;
        constructor ();
        constructor (timeStamp: MIDITimeStamp, wordCount: UInt32, words: any);
    }
    /**
     * the same name namespace of class MIDIEventPacket
     */
    export namespace MIDIEventPacket {
        export class Builder {
            capacity: number;
            count: number;
            timeStamp: number;
            constructor (maximumNumberMIDIWords: number);
            append(...midiWords: UInt32):void;
        }
        export class WordCollection {
            count: number;
            endIndex: number;
            /**
             * The first element of the collection.
             */
            first: UInt32 | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: UInt32 | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<MIDIEventPacket.WordCollection>;
            publisher: any;
            startIndex: number;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            constructor (p: UnsafePointer<MIDIEventPacket>);
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UInt32):boolean;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<MIDIEventPacket.WordCollection>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<MIDIEventPacket.WordCollection>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<MIDIEventPacket.WordCollection>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<MIDIEventPacket.WordCollection>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):UInt32[];
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: UInt32):number;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
             */
            index(i: number, distance: number, limit: number):number;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: UInt32):number;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<MIDIEventPacket.WordCollection>;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UInt32 | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UInt32 | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<MIDIEventPacket.WordCollection>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():UInt32 | null;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<MIDIEventPacket.WordCollection>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UInt32[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UInt32[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<MIDIEventPacket.WordCollection>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<MIDIEventPacket.WordCollection>;
            trimmingPrefix(predicate: Bool):Slice<MIDIEventPacket.WordCollection>;
        }
        export class WordSequence {
            count: number;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<MIDIEventPacket.WordSequence>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UInt32):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<MIDIEventPacket.WordSequence>;
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<MIDIEventPacket.WordSequence>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):UInt32[];
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<MIDIEventPacket.WordSequence>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):UInt32[];
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UInt32 | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            makeIterator():MIDIEventPacket.WordSequence.Iterator;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UInt32 | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UInt32 | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<MIDIEventPacket.WordSequence>;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():UInt32[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UInt32[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UInt32[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UInt32>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):UInt32[];
        }
        /**
         * the same name namespace of class WordSequence
         */
        export namespace WordSequence {
            export class Iterator {
                constructor (s: MIDIEventPacket.WordSequence);
                next():UInt32 | null;
            }
        }
    }
    export class UnsafeMutableMIDIEventListPointer {
        count: number;
        lastPacket: UnsafeMutablePointer<MIDIEventPacket> | null;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<UnsafeMutableMIDIEventListPointer>;
        listSizeInBytes: number;
        midiProtocol: MIDIProtocolID;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
         */
        underestimatedCount: number;
        constructor (p: UnsafeMutablePointer<MIDIEventList> | null, wordSize: number);
        constructor (p: UnsafeMutablePointer<MIDIEventList>, wordSize: number, inProtocol: MIDIProtocolID);
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        append(timestamp: MIDITimeStamp, words: UInt32[]):UnsafePointer<MIDIEventPacket> | null;
        clear():void;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UnsafePointer<MIDIEventPacket>):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<UnsafeMutableMIDIEventListPointer>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<UnsafeMutableMIDIEventListPointer>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):UnsafePointer<MIDIEventPacket>[];
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<UnsafeMutableMIDIEventListPointer>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):UnsafePointer<MIDIEventPacket>[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):UnsafePointer<MIDIEventPacket> | null;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        makeIterator():MIDIEventList.UnsafeSequence.Iterator;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UnsafePointer<MIDIEventPacket> | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UnsafePointer<MIDIEventPacket> | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<UnsafeMutableMIDIEventListPointer>;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():UnsafePointer<MIDIEventPacket>[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UnsafePointer<MIDIEventPacket>[];
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UnsafePointer<MIDIEventPacket>[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UnsafePointer<MIDIEventPacket>>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
         */
        suffix(maxLength: number):UnsafePointer<MIDIEventPacket>[];
    }
    export class UnsafeMutableMIDIEventPacketPointer {
        count: number;
        endIndex: number;
        /**
         * The first element of the collection.
         */
        first: UInt32 | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: UInt32 | null;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<UnsafeMutableMIDIEventPacketPointer>;
        publisher: any;
        startIndex: number;
        timeStamp: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        constructor (p: UnsafeMutablePointer<MIDIEventPacket> | null);
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UInt32):boolean;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):UInt32[];
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: UInt32):number;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
         */
        index(i: number, distance: number, limit: number):number;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: UInt32):number;
        makeIterator():MIDIEventPacket.WordSequence.Iterator;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UInt32 | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UInt32 | null;
        /**
         * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
         */
        partition(belongsInSecondPartition: Bool):number;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():UInt32 | null;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UInt32[];
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UInt32[];
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<UnsafeMutableMIDIEventPacketPointer>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<UnsafeMutableMIDIEventPacketPointer>;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: number, j: number):void;
        trimmingPrefix(predicate: Bool):Slice<UnsafeMutableMIDIEventPacketPointer>;
    }
    export class MIDIPacket {
        /**
         * The MIDI packet timestamp.
         */
        timeStamp: MIDITimeStamp;
        /**
         * The number of valid MIDI data bytes in this packet.
         */
        length: UInt16;
        /**
         * A variable-length stream of MIDI messages.
         */
        data: any;
        constructor ();
        constructor (timeStamp: MIDITimeStamp, length: UInt16, data: any);
    }
    /**
     * the same name namespace of class MIDIPacket
     */
    export namespace MIDIPacket {
        export class Builder {
            capacity: number;
            count: number;
            timeStamp: number;
            constructor (maximumNumberMIDIBytes: number);
            append(...midiBytes: UInt8):void;
        }
        export class ByteCollection {
            count: number;
            endIndex: number;
            /**
             * The first element of the collection.
             */
            first: UInt8 | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: UInt8 | null;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<MIDIPacket.ByteCollection>;
            publisher: any;
            startIndex: number;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            constructor (p: UnsafePointer<MIDIPacket>);
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UInt8):boolean;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns 
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Slice<MIDIPacket.ByteCollection>;
            /**
             * Returns a subsequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):Slice<MIDIPacket.ByteCollection>;
            /**
             * Returns a subsequence containing all but the specified number of final elements.
             */
            dropLast(k: number):Slice<MIDIPacket.ByteCollection>;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<MIDIPacket.ByteCollection>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):UInt8[];
            /**
             * Returns the first index where the specified value appears in the collection.
             */
            firstIndex(element: UInt8):number;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Int, distance: number):void;
            /**
             * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
             */
            index(i: number, distance: number, limit: number):number;
            /**
             * Returns the last index where the specified value appears in the collection.
             */
            lastIndex(element: UInt8):number;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<MIDIPacket.ByteCollection>;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UInt8 | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UInt8 | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
             */
            prefix(maxLength: number):Slice<MIDIPacket.ByteCollection>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():UInt8 | null;
            /**
             * Returns a view presenting the elements of the collection in reverse order.
             */
            reversed():ReversedCollection<MIDIPacket.ByteCollection>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UInt8[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UInt8[];
            /**
             * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<MIDIPacket.ByteCollection>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
             */
            suffix(maxLength: number):Slice<MIDIPacket.ByteCollection>;
            trimmingPrefix(predicate: Bool):Slice<MIDIPacket.ByteCollection>;
        }
        export class ByteSequence {
            count: number;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<MIDIPacket.ByteSequence>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UInt8):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<MIDIPacket.ByteSequence>;
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<MIDIPacket.ByteSequence>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):UInt8[];
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<MIDIPacket.ByteSequence>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):UInt8[];
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UInt8 | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            makeIterator():MIDIPacket.ByteSequence.Iterator;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UInt8 | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UInt8 | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<MIDIPacket.ByteSequence>;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():UInt8[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UInt8[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UInt8[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UInt8>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):UInt8[];
        }
        /**
         * the same name namespace of class ByteSequence
         */
        export namespace ByteSequence {
            export class Iterator {
                constructor (s: MIDIPacket.ByteSequence);
                next():UInt8 | null;
            }
        }
    }
    export class MIDIPacketList {
        /**
         * The number of MIDI packets in the list.
         */
        numPackets: UInt32;
        /**
         * An open-ended array of variable-length MIDI packets.
         */
        packet: (MIDIPacket);
        constructor ();
        constructor (numPackets: UInt32, packet: (MIDIPacket));
        static sizeInBytes(pktList: UnsafePointer<MIDIPacketList>):number;
    }
    /**
     * the same name namespace of class MIDIPacketList
     */
    export namespace MIDIPacketList {
        export class Builder {
            count: number;
            constructor (byteSize: number);
            append(timestamp: MIDITimeStamp, data: UInt8[]):UnsafePointer<MIDIPacket> | null;
            clear():void;
        }
        export class UnsafeSequence {
            count: number;
            /**
             * A sequence containing the same elements as this sequence, but on which some operations, such as 
             *  and 
             * , are implemented lazily.
             */
            lazy: LazySequence<MIDIPacketList.UnsafeSequence>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains the given element.
             */
            contains(element: UnsafePointer<MIDIPacket>):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<MIDIPacketList.UnsafeSequence>;
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<MIDIPacketList.UnsafeSequence>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):UnsafePointer<MIDIPacket>[];
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a consecutive integer starting at zero and 
             *  represents an element of the sequence.
             */
            enumerated():EnumeratedSequence<MIDIPacketList.UnsafeSequence>;
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):UnsafePointer<MIDIPacket>[];
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):UnsafePointer<MIDIPacket> | null;
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            makeIterator():MIDIPacketList.UnsafeSequence.Iterator;
            /**
             * Returns the maximum element in the sequence.
             */
            max():UnsafePointer<MIDIPacket> | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():UnsafePointer<MIDIPacket> | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<MIDIPacketList.UnsafeSequence>;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():UnsafePointer<MIDIPacket>[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():UnsafePointer<MIDIPacket>[];
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():UnsafePointer<MIDIPacket>[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UnsafePointer<MIDIPacket>>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):UnsafePointer<MIDIPacket>[];
        }
        /**
         * the same name namespace of class UnsafeSequence
         */
        export namespace UnsafeSequence {
            export class Iterator {
                constructor (s: MIDIPacketList.UnsafeSequence);
                next():UnsafePointer<MIDIPacket> | null;
            }
        }
    }
    export class UnsafeMutableMIDIPacketListPointer {
        count: number;
        lastPacket: UnsafeMutablePointer<MIDIPacket> | null;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<UnsafeMutableMIDIPacketListPointer>;
        listSizeInBytes: number;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
         */
        underestimatedCount: number;
        constructor (p: UnsafeMutablePointer<MIDIPacketList> | null, byteSize: number);
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        append(timestamp: MIDITimeStamp, data: UInt8[]):UnsafePointer<MIDIPacket> | null;
        clear():void;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UnsafePointer<MIDIPacket>):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<UnsafeMutableMIDIPacketListPointer>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<UnsafeMutableMIDIPacketListPointer>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):UnsafePointer<MIDIPacket>[];
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<UnsafeMutableMIDIPacketListPointer>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):UnsafePointer<MIDIPacket>[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):UnsafePointer<MIDIPacket> | null;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        makeIterator():MIDIPacketList.UnsafeSequence.Iterator;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UnsafePointer<MIDIPacket> | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UnsafePointer<MIDIPacket> | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<UnsafeMutableMIDIPacketListPointer>;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():UnsafePointer<MIDIPacket>[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UnsafePointer<MIDIPacket>[];
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UnsafePointer<MIDIPacket>[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UnsafePointer<MIDIPacket>>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
         */
        suffix(maxLength: number):UnsafePointer<MIDIPacket>[];
    }
    export class MIDIObjectAddRemoveNotification {
        /**
         * The message type.
         */
        messageID: MIDINotificationMessageID;
        /**
         * The message size.
         */
        messageSize: UInt32;
        /**
         * The parent object of the added or removed child.
         */
        parent: MIDIObjectRef;
        /**
         * The parent object type.
         */
        parentType: MIDIObjectType;
        /**
         * The added or removed child object.
         */
        child: MIDIObjectRef;
        /**
         * The child object type.
         */
        childType: MIDIObjectType;
        constructor ();
        constructor (messageID: MIDINotificationMessageID, messageSize: UInt32, parent: MIDIObjectRef, parentType: MIDIObjectType, child: MIDIObjectRef, childType: MIDIObjectType);
    }
    export class UnsafeMutableMIDIPacketPointer {
        count: number;
        endIndex: number;
        /**
         * The first element of the collection.
         */
        first: UInt8 | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: UInt8 | null;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<UnsafeMutableMIDIPacketPointer>;
        publisher: any;
        startIndex: number;
        timeStamp: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        constructor (p: UnsafeMutablePointer<MIDIPacket> | null);
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UInt8):boolean;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<UnsafeMutableMIDIPacketPointer>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<UnsafeMutableMIDIPacketPointer>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<UnsafeMutableMIDIPacketPointer>;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<UnsafeMutableMIDIPacketPointer>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):UInt8[];
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: UInt8):number;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
         */
        index(i: number, distance: number, limit: number):number;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: UInt8):number;
        makeIterator():MIDIPacket.ByteSequence.Iterator;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UInt8 | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UInt8 | null;
        /**
         * Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
         */
        partition(belongsInSecondPartition: Bool):number;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<UnsafeMutableMIDIPacketPointer>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():UInt8 | null;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<UnsafeMutableMIDIPacketPointer>;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UInt8[];
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UInt8[];
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<UnsafeMutableMIDIPacketPointer>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<UnsafeMutableMIDIPacketPointer>;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: number, j: number):void;
        trimmingPrefix(predicate: Bool):Slice<UnsafeMutableMIDIPacketPointer>;
    }
    export class MIDIObjectPropertyChangeNotification {
        /**
         * The message type.
         */
        messageID: MIDINotificationMessageID;
        /**
         * The message size.
         */
        messageSize: UInt32;
        /**
         * The object whose property changed.
         */
        object: MIDIObjectRef;
        /**
         * The object type.
         */
        objectType: MIDIObjectType;
        /**
         * The name of the modified property.
         */
        propertyName: Unmanaged<CFString>;
        constructor (messageID: MIDINotificationMessageID, messageSize: UInt32, object: MIDIObjectRef, objectType: MIDIObjectType, propertyName: Unmanaged<CFString>);
    }
    export class MIDISysexSendRequest {
        /**
         * The endpoint to send the event to.
         */
        destination: MIDIEndpointRef;
        /**
         * The request’s data.
         */
        data: UnsafePointer<UInt8>;
        /**
         * The number of bytes to send.
         */
        bytesToSend: UInt32;
        /**
         * A Boolean value that indicates whether the transmission is complete.
         */
        complete: DarwinBoolean;
        /**
         * A function the system calls after it has sent all bytes for the request, or after the client has marked the request as complete.
         */
        completionProc: MIDICompletionProc;
        /**
         * Data passed to the completion function pointer.
         */
        completionRefCon: UnsafeMutableRawPointer | null;
        /**
         * A field that’s reserved for future use.
         */
        reserved: any;
        constructor (destination: MIDIEndpointRef, data: UnsafePointer<UInt8>, bytesToSend: UInt32, complete: DarwinBoolean, reserved: any, completionProc: MIDICompletionProc, completionRefCon: UnsafeMutableRawPointer | null);
    }
    export class MIDIIOErrorNotification {
        /**
         * The type of message.
         */
        messageID: MIDINotificationMessageID;
        /**
         * The size of the message.
         */
        messageSize: UInt32;
        /**
         * The device with an I/O error.
         */
        driverDevice: MIDIDeviceRef;
        /**
         * The error code of the generated error.
         */
        errorCode: OSStatus;
        constructor ();
        constructor (messageID: MIDINotificationMessageID, messageSize: UInt32, driverDevice: MIDIDeviceRef, errorCode: OSStatus);
    }
}

/**
 * Integrate machine learning models into your app.
 */
declare module CoreML {
    export class MLModel extends NSObject {
        /**
         * The configuration of the model set during initialization.
         */
        configuration: MLModelConfiguration;
        /**
         * Model information you use at runtime during development, which Xcode also displays in its Core ML model editor view.
         */
        modelDescription: MLModelDescription;
        /**
         * Creates a Core ML model instance from a compiled model file.
         */
        constructor (url: URL);
        /**
         * Creates a Core ML model instance from a compiled model file and a custom configuration.
         */
        constructor (url: URL, configuration: MLModelConfiguration);
        /**
         * Construct a model asynchronously from a compiled model asset.
         */
        static load(url: URL, configuration: MLModelConfiguration):MLModel;
        /**
         * Compile a model for a device.
         */
        static compileModel(url: URL):URL;
        /**
         * Generates a prediction from the feature values within the input feature provider.
         */
        prediction(input: MLFeatureProvider):MLFeatureProvider;
        /**
         * Generates predictions for each input feature provider within the batch provider.
         */
        predictions(inputBatch: MLBatchProvider):MLBatchProvider;
        /**
         * Returns a model parameter value for a key.
         */
        parameterValue(key: MLParameterKey):any;
    }
    export enum MLFeatureType {
        int64 = 1,
        double = 2,
        image = 4,
        multiArray = 5,
        string = 3,
        dictionary = 6,
        sequence = 7,
        invalid = 0,
    }
    export class MLFeatureDescription extends NSObject {
        /**
         * A Boolean value that indicates whether this feature is optional.
         */
        isOptional: boolean;
        /**
         * The size and format constraints for an image feature.
         */
        imageConstraint: MLImageConstraint | null;
        /**
         * The constraint for a dictionary feature.
         */
        dictionaryConstraint: MLDictionaryConstraint | null;
        /**
         * The constraints on a multidimensional array feature.
         */
        multiArrayConstraint: MLMultiArrayConstraint | null;
        /**
         * The constraints for a sequence feature.
         */
        sequenceConstraint: MLSequenceConstraint | null;
        /**
         * Checks whether the model will accept an input feature value. 
         */
        isAllowedValue(value: MLFeatureValue):boolean;
    }
    export class MLImageConstraint extends NSObject {
        /**
         * The model's default width for an image feature.
         */
        pixelsWide: number;
        /**
         * The model's default height for an image feature.
         */
        pixelsHigh: number;
        /**
         * The model's pixel format for an image feature.
         */
        pixelFormatType: OSType;
        /**
         * Additional sizes this image feature supports.
         */
        sizeConstraint: MLImageSizeConstraint;
    }
    export class MLModelConfiguration extends NSObject {
        /**
         * A human readable name of a model for display purposes.
         */
        modelDisplayName: string;
        /**
         * A dictionary of configuration settings your app can override when loading a model.
         */
        parameters: Record<MLParameterKey, any> | null;
        /**
         * The metal device you prefer this model use to make predictions (inference) and update the model.
         */
        preferredMetalDevice: MTLDevice | null;
        /**
         * A Boolean value that determines whether to allow low-precision accumulation on a GPU.
         */
        allowLowPrecisionAccumulationOnGPU: boolean;
        /**
         * The processing unit or units the model uses to make predictions.
         */
        computeUnits: MLComputeUnits;
    }
    export class MLParameterKey extends MLKey {
        /**
         * The key you use to access the number of neighbors that adjusts the affinity of a k-nearest-neighbor model.
         */
        static numberOfNeighbors: MLParameterKey;
        /**
         * The key you use to access the linked model’s filename.
         */
        static linkedModelFileName: MLParameterKey;
        /**
         * The key you use to access the linked model’s search path.
         */
        static linkedModelSearchPath: MLParameterKey;
        /**
         * The key you use to access the weights of a layer in a neural network model.
         */
        static weights: MLParameterKey;
        /**
         * The key you use to access the biases of a layer in a neural network model.
         */
        static biases: MLParameterKey;
        /**
         * The key you use to access the optimizer’s learning rate parameter.
         */
        static learningRate: MLParameterKey;
        /**
         * The key you use to access the stochastic gradient descent (SGD) optimizer’s momentum parameter.
         */
        static momentum: MLParameterKey;
        /**
         * The key you use to access the optimizer’s mini batch-size parameter.
         */
        static miniBatchSize: MLParameterKey;
        /**
         * The key you use to access the Adam optimizer’s first beta parameter.
         */
        static beta1: MLParameterKey;
        /**
         * The key you use to access the Adam optimizer’s second beta parameter.
         */
        static beta2: MLParameterKey;
        /**
         * The key you use to access the Adam optimizer’s epsilon parameter.
         */
        static eps: MLParameterKey;
        /**
         * The key you use to access the optimizer’s epochs parameter.
         */
        static epochs: MLParameterKey;
        /**
         * The key you use to access the shuffle parameter, a Boolean value that determines whether the model randomizes the data between epochs.
         */
        static shuffle: MLParameterKey;
        /**
         * The key you use to access the seed parameter that initializes the random number generator for the shuffle option.
         */
        static seed: MLParameterKey;
        /**
         * Creates a copy of a parameter key and adds the scope to it.
         */
        scoped(scope: string):MLParameterKey;
    }
    export class MLKey extends NSObject {
        /**
         * The name of the machine learning key.
         */
        name: string;
        /**
         * The applicable scope of the machine learning key.
         */
        scope: string;
    }
    export class MLModelMetadataKey {
        /**
         * Key for the author of the model.
         */
        static author: MLModelMetadataKey;
        /**
         * Key for the overall description of the model.
         */
        static description: MLModelMetadataKey;
        /**
         * Key for the license of the model.
         */
        static license: MLModelMetadataKey;
        /**
         * Key for the version of the model.
         */
        static versionString: MLModelMetadataKey;
        /**
         * Key for the model creator’s custom metadata.
         */
        static creatorDefinedKey: MLModelMetadataKey;
        constructor (rawValue: string);
    }
    export class MLModelDescription extends NSObject {
        /**
         * The name of the primary prediction feature output description.
         */
        predictedFeatureName: string;
        /**
         * The name of the feature output description for all probabilities of a prediction.
         */
        predictedProbabilitiesName: string;
        /**
         * A Boolean value that indicates whether you can update the model with additional training.
         */
        isUpdatable: boolean;
        /**
         * A dictionary of the training input feature descriptions, which the model keys by the input’s name.
         */
        trainingInputDescriptionsByName: Record<string, MLFeatureDescription>;
        /**
         * A dictionary of the descriptions for the model’s parameters.
         */
        parameterDescriptionsByKey: Record<MLParameterKey, MLParameterDescription>;
    }
    export class MLParameterDescription extends NSObject {
        /**
         * The default value for the parameter.
         */
        defaultValue: any;
        /**
         * The key for this parameter description value.
         */
        key: MLParameterKey;
        /**
         * The constraints of this paramter description value, if and only if the value is numerical.
         */
        numericConstraint: MLNumericConstraint | null;
    }
    export class MLImageSizeConstraint extends NSObject {
        /**
         * Indicator of which properties to inspect for this image size constraint.
         */
        type: MLImageSizeConstraintType;
    }
    export enum MLImageSizeConstraintType {
        range = 3,
        enumerated = 2,
        unspecified = 0,
    }
    export class MLFeatureValue extends NSObject {
        /**
         * The type of the feature value.
         */
        type: MLFeatureType;
        /**
         * A Boolean value that indicates whether the feature value is undefined or missing.
         */
        isUndefined: boolean;
        /**
         * The underlying integer of the feature value.
         */
        int64Value: Int64;
        /**
         * The underlying double of the feature value.
         */
        doubleValue: number;
        /**
         * The underlying string of the feature value.
         */
        stringValue: string;
        /**
         * The underlying image of the feature value as a pixel buffer.
         */
        imageBufferValue: CVPixelBuffer | null;
        /**
         * The underlying multiarray of the feature value.
         */
        multiArrayValue: MLMultiArray | null;
        /**
         * The underlying sequence of the feature value.
         */
        sequenceValue: MLSequence | null;
        /**
         * The underlying dictionary of the feature value.
         */
        dictionaryValue: Record<AnyHashable, NSNumber>;
        /**
         * Creates a feature value with a type that represents an undefined or missing value.
         */
        constructor (type: MLFeatureType);
        /**
         * Returns a Boolean value that indicates whether a feature value is equal to another.
         */
        isEqual(value: MLFeatureValue):boolean;
    }
    /**
     * the same name namespace of class MLFeatureValue
     */
    export namespace MLFeatureValue {
        export class ImageOption {
            /**
             * The option you use to crop an image when creating an image feature value.
             */
            static cropRect: MLFeatureValue.ImageOption;
            /**
             * The option you use to crop and scale an image when creating an image feature value.
             */
            static cropAndScale: MLFeatureValue.ImageOption;
            /**
             * Creates an image feature option key from a string.
             */
            constructor (rawValue: string);
            /**
             * Creates an image feature option key from a raw value string.
             */
            constructor (rawValue: string);
        }
    }
    export class MLPredictionOptions extends NSObject {
        /**
         * A dictionary of feature names and client-allocated buffers.
         */
        outputBackings: Record<string, any>;
        /**
         * A Boolean value that indicates whether a prediction is computed using only the CPU.
         */
        usesCPUOnly: boolean;
    }
    export class MLDictionaryConstraint extends NSObject {
        /**
         * The key type for the dictionary.
         */
        keyType: MLFeatureType;
    }
    export class MLDictionaryFeatureProvider extends NSObject {
        /**
         * The backing dictionary.
         */
        dictionary: Record<string, MLFeatureValue>;
        /**
         * Creates the feature provider based on a dictionary.
         */
        constructor (dictionary: Record<string, any>);
    }
    export interface MLBatchProvider {
        /**
         * Returns the feature provider at the given index.
         */
        features(index: number):MLFeatureProvider;
        /**
         * The number of feature providers in this batch.
         */
        count: number;
    }
    export interface MLCustomLayer {
        /**
         * Initializes the custom layer implementation.
         */
         (parameters: Record<string, any>);
        /**
         * Assigns the weights for the connections within the layer.
         */
        setWeightData(weights: Data[]):void;
        /**
         * Calculates the shapes of the output of this layer for the given input shapes.
         */
        outputShapes(inputShapes: NSNumber[][]):NSNumber[][];
        /**
         * Evaluates the custom layer with the given inputs.
         */
        evaluate(inputs: MLMultiArray[], outputs: MLMultiArray[]):void;
        /**
         * Encodes GPU commands to evaluate the custom layer.
         */
        encode(commandBuffer: MTLCommandBuffer, inputs: MTLTexture[], outputs: MTLTexture[]):void;
    }
    export enum MLComputeUnits {
        all = 2,
        cpuOnly = 0,
        cpuAndGPU = 1,
        cpuAndNeuralEngine = 3,
    }
    export class MLNumericConstraint extends NSObject {
        /**
         * The smallest numerical value allowed by this constraint.
         */
        minNumber: NSNumber;
        /**
         * The largest numerical value allowed by this constraint.
         */
        maxNumber: NSNumber;
        /**
         * A set of the numbers allowed in this constraint.
         */
        enumeratedNumbers: Set<NSNumber> | null;
    }
    export class MLImageSize extends NSObject {
        /**
         * The height of an image feature in pixels.
         */
        pixelsHigh: number;
        /**
         * The width of an image feature in pixels.
         */
        pixelsWide: number;
    }
    export class MLMultiArrayConstraint extends NSObject {
        /**
         * The shape of the multi array.
         */
        shape: NSNumber[];
        /**
         * The type for the multi array.
         */
        dataType: MLMultiArrayDataType;
        /**
         * The constraint on the shape of the multiarray.
         */
        shapeConstraint: MLMultiArrayShapeConstraint;
    }
    export class MLArrayBatchProvider extends NSObject {
        /**
         * The array of feature providers.
         */
        array: MLFeatureProvider[];
        /**
         * Creates the batch provider based on the array of feature providers.
         */
        constructor (array: MLFeatureProvider[]);
        /**
         * Creates a batch provider based on feature names and their associated arrays of data.
         */
        constructor (dictionary: Record<string, any[]>);
    }
    export interface MLShapedArrayProtocol extends ExpressibleByArrayLiteral,MutableCollection,RandomAccessCollection {
        /**
         * Creates a shaped array type that initializes every element to the same value.
         */
         (value: Self.Scalar, shape: number[]);
        /**
         * Creates a shaped array type that’s an identity matrix of integers.
         */
         (size: number);
        /**
         * Creates a shaped array type that initializes the elements to random integer values within a range.
         */
         (range: Range<Self.Scalar>, shape: number[]);
        /**
         * Creates a shaped array type from a data pointer.
         */
         (bytes: UnsafeRawPointer, shape: number[], deallocator: Data.Deallocator);
        /**
         * Creates a shaped array type from a data pointer with memory strides.
         */
         (bytes: UnsafeRawPointer, shape: number[], strides: number[], deallocator: Data.Deallocator);
        /**
         * Creates a shaped array type from a shape and a closure that initializes its memory.
         */
         (shape: number[], initializer: Void);
        /**
         * Creates a shaped array type from a multiarray.
         */
         (multiArray: MLMultiArray);
        /**
         * Creates a shaped array type by converting a multiarray.
         */
         (multiArray: MLMultiArray);
        /**
         * An integer array in which each element represents the size of the corresponding dimension.
         */
        shape: number[];
        /**
         * An integer array in which each element is the number of memory locations that spans the length of the corresponding dimension.
         */
        strides: number[];
        /**
         * The number of elements in the shaped array’s first dimension.
         */
        count: number;
        /**
         * A Boolean value that indicates whether the shaped array lacks a shape.
         */
        isScalar: boolean;
        /**
         * The total number of elements in the shaped array type.
         */
        scalarCount: number;
        /**
         * A computed property that returns the first element when the shape isn’t empty, or sets the shaped array’s underlying scalar type.
         */
        scalar: Self.Scalar | null;
        /**
         * A computed property that generates a linear array that contains every element, or assigns the elements of an array to the shaped array’s elements.
         */
        scalars: Self.Scalar[];
        /**
         * Assigns the shaped array’s elements to a value.
         */
        fill(value: Self.Scalar):void;
    }
    export class MLModelAsset extends NSObject {
        /**
         * Creates a model asset from an in-memory model specification.
         */
        constructor (specificationData: Data);
    }
    export interface MLCustomModel {
        /**
         * Creates a custom model with the given description and parameters.
         */
         (modelDescription: MLModelDescription, parameters: Record<string, any>);
        /**
         * Predicts output values from the given input features.
         */
        prediction(input: MLFeatureProvider, options: MLPredictionOptions):MLFeatureProvider;
        /**
         * Predicts output values from the given batch of input features.
         */
        predictions(inputBatch: MLBatchProvider, options: MLPredictionOptions):MLBatchProvider;
    }
    export class MLMultiArrayShapeConstraint extends NSObject {
        /**
         * Array of allowed shapes for a multiarray feature.
         */
        enumeratedShapes: NSNumber[][];
        /**
         * The allowable range for a dimention of the multiarray.
         */
        sizeRangeForDimension: NSValue[];
        /**
         * The type of the shape constraint. 
         */
        type: MLMultiArrayShapeConstraintType;
    }
    export class MLSequenceConstraint extends NSObject {
        /**
         * The description that all sequence elements must match.
         */
        valueDescription: MLFeatureDescription;
        /**
         * The range of values allowed for the sequence's length. 
         */
        countRange: NSRange;
    }
    export class MLTask extends NSObject {
        /**
         * A unique name of the task to distinguish it from all other tasks at runtime.
         */
        taskIdentifier: string;
        /**
         * The current state of the machine learning task.
         */
        state: MLTaskState;
        /**
         * The underlying error if the task is in a failed state.
         */
        error: Error | null;
        /**
         * Begins or resumes a machine learning task.
         */
        resume():void;
        /**
         * Cancels a machine learning task before it completes.
         */
        cancel():void;
    }
    export class MLModelCollection extends NSObject {
        /**
         * The notification the framework sends when it receives an update to a model collection.
         */
        static didChangeNotification: NSNotification.Name;
        /**
         * The name of the model collection, unique to the development team.
         */
        identifier: string;
        /**
         * The unique identifier of the model collection’s deployment.
         */
        deploymentID: string;
        /**
         * A dictionary of model entries keyed to the models’ identifiers.
         */
        entries: Record<string, MLModelCollection.Entry>;
        /**
         * Requests access to a model collection.
         */
        static beginAccessing(identifier: string, handler: ()=>any):Progress;
        /**
         * Terminates access to a model collection.
         */
        static endAccessing(identifier: string, handler: ()=>any):void;
    }
    /**
     * the same name namespace of class MLModelCollection
     */
    export namespace MLModelCollection {
        export class Entry extends NSObject {
            /**
             * The name of the model, which is unique to the collection.
             */
            modelIdentifier: string;
            /**
             * The compiled model’s location on the device’s file system.
             */
            modelURL: URL;
            /**
             * Returns a Boolean value that indicates whether the two entries are equal.
             */
            isEqual(entry: MLModelCollection.Entry):boolean;
        }
    }
    export class MLMultiArray extends NSObject {
        /**
         * The total number of elements in the multiarray.
         */
        count: number;
        /**
         * The underlying type of the multiarray.
         */
        dataType: MLMultiArrayDataType;
        /**
         * The multiarray’s multidimensional shape as a number array in which each element’s value is the size of the corresponding dimension.
         */
        shape: NSNumber[];
        /**
         * A number array in which each element is the number of memory locations that span the length of the corresponding dimension.
         */
        strides: NSNumber[];
        /**
         * A reference to the multiarray’s underlying pixel buffer.
         */
        pixelBuffer: CVPixelBuffer | null;
        /**
         * A pointer to the multiarray’s underlying memory.
         */
        dataPointer: UnsafeMutableRawPointer;
        /**
         * Creates a multidimensional array with a shape and type.
         */
        constructor (shape: NSNumber[], dataType: MLMultiArrayDataType);
        /**
         * Creates a multiarray from a data pointer.
         */
        constructor (dataPointer: UnsafeMutableRawPointer, shape: NSNumber[], dataType: MLMultiArrayDataType, strides: NSNumber[], deallocator: ()=>any | null);
        /**
         * Merges an array of multiarrays into one multiarray along an axis.
         */
        constructor (multiArrays: MLMultiArray[], axis: number, dataType: MLMultiArrayDataType);
        /**
         * Creates a multiarray sharing the surface of a pixel buffer.
         */
        constructor (pixelBuffer: CVPixelBuffer, shape: NSNumber[]);
    }
    export enum MLMultiArrayShapeConstraintType {
        enumerated = 2,
        range = 3,
        unspecified = 1,
    }
    export class MLModelError {
        /**
         * An error code for problems related to model features.
         */
        static featureType: MLModelError.Code;
        /**
         * An error code for problems related to model parameters.
         */
        static parameters: MLModelError.Code;
        /**
         * An error code for problems related to retrieving a model collection from the deployment system.
         */
        static modelCollection: MLModelError.Code;
        /**
         * An error code for problems related to retrieving a model’s decryption key.
         */
        static modelDecryptionKeyFetch: MLModelError.Code;
        /**
         * An error code for problems related to decrypting models.
         */
        static modelDecryption: MLModelError.Code;
        /**
         * An error code for problems related to on-device model updates.
         */
        static update: MLModelError.Code;
        /**
         * An error code for problems related to custom layers.
         */
        static customLayer: MLModelError.Code;
        /**
         * An error code for problems related to custom models.
         */
        static customModel: MLModelError.Code;
        /**
         * An error code for problems related to the system’s input or output.
         */
        static io: MLModelError.Code;
        /**
         * An error code for runtime issues that don’t apply to the other error codes.
         */
        static generic: MLModelError.Code;
        /**
         * The current model error domain.
         */
        static errorDomain: string;
        /**
         * An integer value that represents an error case.
         */
        errorCode: number;
        /**
         * A dictionary of additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * An integer value that represents the code.
         */
        code: Code;
        /**
         * A dictionary of additional information.
         */
        userInfo: Record<string, any>;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a model error with an error code.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MLModelError
     */
    export namespace MLModelError {
        export enum Code {
            featureType = 1,
            parameters = 7,
            modelCollection = 10,
            modelDecryptionKeyFetch = 8,
            modelDecryption = 9,
            update = 6,
            customLayer = 4,
            customModel = 5,
            io = 3,
            generic = 0,
        }
    }
    export enum MLTaskState {
        running = 2,
        suspended = 1,
        cancelling = 3,
        completed = 4,
        failed = 5,
    }
    export class MLUpdateTask extends MLTask {}
    export interface MLShapedArrayScalar {
        /**
         * The shaped array’s scalar type as a multiarray data type.
         */
        static multiArrayDataType: MLMultiArrayDataType;
    }
    export enum MLMultiArrayDataType {
        int32 = 131104,
        float16 = 65552,
        float32 = 65568,
        double = 65600,
    }
    export class MLSequence extends NSObject {
        /**
         * The underlying type of the sequence’s elements.
         */
        type: MLFeatureType;
        /**
         * An array of strings in the sequence.
         */
        stringValues: string[];
        /**
         * An array of 64-bit integers in the sequence.
         */
        int64Values: NSNumber[];
        /**
         * Creates a sequence of strings from a string array.
         */
        constructor (stringValues: string[]);
        /**
         * Creates a sequence of integers from an array of numbers.
         */
        constructor (int64Values: NSNumber[]);
        /**
         * Creates an empty sequence of strings or integers.
         */
        constructor (type: MLFeatureType);
    }
    export interface MLShapedArrayRangeExpression {
        /**
         * Returns the range of indices the range expression describes within a collection.
         */
        relative(range: Range<Int>):Range<Int>;
    }
    export interface MLFeatureProvider {
        /**
         * Accesses the feature value given the feature's name.
         */
        featureValue(featureName: string):MLFeatureValue | null;
        /**
         * The set of valid feature names.
         */
        featureNames: Set<String>;
    }
}

/**
 * Process accelerometer, gyroscope, pedometer, and environment-related events.
 */
declare module CoreMotion {
    export class CMMotionManager extends NSObject {
        /**
         * Controls whether the device-movement display is shown.
         */
        showsDeviceMovementDisplay: boolean;
        /**
         * The interval, in seconds, for providing device-motion updates to the block handler. 
         */
        deviceMotionUpdateInterval: TimeInterval;
        /**
         * The latest sample of device-motion data.
         */
        deviceMotion: CMDeviceMotion | null;
        /**
         * The interval, in seconds, for providing accelerometer updates to the block handler.
         */
        accelerometerUpdateInterval: TimeInterval;
        /**
         * A Boolean value that indicates whether the device-motion service is available on the device. 
         */
        isDeviceMotionAvailable: boolean;
        /**
         * The latest sample of accelerometer data.
         */
        accelerometerData: CMAccelerometerData | null;
        /**
         * The interval, in seconds, for providing gyroscope updates to the block handler. 
         */
        gyroUpdateInterval: TimeInterval;
        /**
         * The latest sample of gyroscope data. 
         */
        gyroData: CMGyroData | null;
        /**
         * A Boolean value that indicates whether an accelerometer is available on the device.
         */
        isAccelerometerAvailable: boolean;
        /**
         * The interval, in seconds, at which the system delivers magnetometer data to the block handler.
         */
        magnetometerUpdateInterval: TimeInterval;
        /**
         * The latest sample of magnetometer data.
         */
        magnetometerData: CMMagnetometerData | null;
        /**
         * Returns either the reference frame currently being used or the default attitude reference frame.
         */
        attitudeReferenceFrame: CMAttitudeReferenceFrame;
        /**
         * A Boolean value that indicates whether a gyroscope is available on the device. 
         */
        isGyroAvailable: boolean;
        /**
         * A Boolean value that indicates whether a magnetometer is available on the device.
         */
        isMagnetometerAvailable: boolean;
        /**
         * A Boolean value that determines whether the app is receiving updates from the device-motion service.
         */
        isDeviceMotionActive: boolean;
        /**
         * A Boolean value that indicates whether accelerometer updates are currently happening.
         */
        isAccelerometerActive: boolean;
        /**
         * A Boolean value that determines whether gyroscope updates are currently happening. 
         */
        isGyroActive: boolean;
        /**
         * A Boolean value that determines whether magnetometer updates are currently happening.
         */
        isMagnetometerActive: boolean;
        /**
         * Returns a bitmask specifying the available attitude reference frames on the device.
         */
        static availableAttitudeReferenceFrames():CMAttitudeReferenceFrame;
        /**
         * Starts device-motion updates on an operation queue and using a specified reference frame and block handler.
         */
        startDeviceMotionUpdates(referenceFrame: CMAttitudeReferenceFrame, queue: OperationQueue, handler: CMDeviceMotionHandler):void;
        /**
         * Stops device-motion updates. 
         */
        stopDeviceMotionUpdates():void;
        /**
         * Starts accelerometer updates on an operation queue and with a specified handler.
         */
        startAccelerometerUpdates(queue: OperationQueue, handler: CMAccelerometerHandler):void;
        /**
         * Stops accelerometer updates.
         */
        stopAccelerometerUpdates():void;
        /**
         * Starts gyroscope updates on an operation queue and with a specified handler. 
         */
        startGyroUpdates(queue: OperationQueue, handler: CMGyroHandler):void;
        /**
         * Stops gyroscope updates. 
         */
        stopGyroUpdates():void;
        /**
         * Starts magnetometer updates on an operation queue and with a specified handler. 
         */
        startMagnetometerUpdates(queue: OperationQueue, handler: CMMagnetometerHandler):void;
        /**
         * Stops magnetometer updates.
         */
        stopMagnetometerUpdates():void;
    }
    export class CMRotationMatrix {
        m32: number;
        m33: number;
        constructor ();
        constructor (m11: number, m12: number, m13: number, m21: number, m22: number, m23: number, m31: number, m32: number, m33: number);
    }
    export class CMAttitude extends NSObject {
        /**
         * Returns a quaternion representing the device's attitude.
         */
        quaternion: CMQuaternion;
        /**
         * Yields the change in attitude given a specific attitude.
         */
        multiply(attitude: CMAttitude):void;
    }
    export class CMQuaternion {
        /**
         * The value for the w axis.
         */
        w: number;
        /**
         * The value for the x axis.
         */
        x: number;
        /**
         * The value for the y axis.
         */
        y: number;
        /**
         * The value for the z axis
         */
        z: number;
        constructor ();
        constructor (x: number, y: number, z: number, w: number);
    }
    export class CMDeviceMotion extends CMLogItem {}
    /**
     * the same name namespace of class CMDeviceMotion
     */
    export namespace CMDeviceMotion {
        export enum SensorLocation {
            default = 0,
            headphoneLeft = 1,
            headphoneRight = 2,
        }
    }
    export class CMRecordedAccelerometerData extends CMAccelerometerData {
        /**
         * The wall clock time when the sensor sample was recorded.
         */
        startDate: Date;
        /**
         * The unique identifier for the accelerometer data.
         */
        identifier: UInt64;
    }
    export class CMSensorRecorder extends NSObject {
        /**
         * Returns a Boolean value indicating whether accelerometer recording is supported on the current device.
         */
        static isAccelerometerRecordingAvailable():boolean;
        /**
         * Returns a value indicating whether the app is authorized to record sensor data.
         */
        static authorizationStatus():CMAuthorizationStatus;
        /**
         * Returns a Boolean value indicating whether the app is authorized to record sensor data.
         */
        static isAuthorizedForRecording():boolean;
        /**
         * Begins recording accelerometer data for the specified period of time.
         */
        recordAccelerometer(duration: TimeInterval):void;
        /**
         * Retrieves the accelerometer data collected between the specified dates.  
         */
        accelerometerData(fromDate: Date, toDate: Date):CMSensorDataList | null;
    }
    export class CMAcceleration {
        /**
         * X-axis acceleration in G's (gravitational force). 
         */
        x: number;
        /**
         * Y-axis acceleration in G's (gravitational force).
         */
        y: number;
        /**
         * Z-axis acceleration in G's (gravitational force).
         */
        z: number;
        constructor ();
        constructor (x: number, y: number, z: number);
    }
    export enum CMAuthorizationStatus {
        notDetermined = 0,
        restricted = 1,
        denied = 2,
        authorized = 3,
    }
    export class CMSensorDataList extends NSObject {}
    export class CMGyroData extends CMLogItem {
        /**
         * The rotation rate as measured by the device’s gyroscope.
         */
        rotationRate: CMRotationRate;
    }
    export class CMRotationRate {
        /**
         * The value for the X-axis.
         */
        x: number;
        /**
         * The value for the Y-axis.
         */
        y: number;
        /**
         * The value for the Z-axis.
         */
        z: number;
        constructor ();
        constructor (x: number, y: number, z: number);
    }
    export class CMPedometer extends NSObject {
        /**
         * Returns a Boolean value indicating whether step counting is available on the current device.
         */
        static isStepCountingAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether distance estimation is available on the current device.
         */
        static isDistanceAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether floor counting is available on the current device.
         */
        static isFloorCountingAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether pace information is available on the current device.
         */
        static isPaceAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether cadence information is available on the current device.
         */
        static isCadenceAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether pedometer events are available on the current device.
         */
        static isPedometerEventTrackingAvailable():boolean;
        /**
         * Returns a value indicating whether the app is authorized to gather pedometer data. 
         */
        static authorizationStatus():CMAuthorizationStatus;
        /**
         * Starts the delivery of recent pedestrian-related data to your app. 
         */
        startUpdates(start: Date, handler: CMPedometerHandler):void;
        /**
         * Stops the delivery of recent pedestrian data updates to your app. 
         */
        stopUpdates():void;
        /**
         * Starts the delivery of pedometer events to your app.
         */
        startEventUpdates(handler: CMPedometerEventHandler):void;
        /**
         * Stops the delivery of pedometer events to your app.
         */
        stopEventUpdates():void;
        /**
         * Retrieves the data between the specified start and end dates.
         */
        queryPedometerData(start: Date, end: Date, handler: CMPedometerHandler):void;
    }
    export class CMRotationRateData extends CMLogItem {
        /**
         * The rotation rate measured by the gyroscope.
         */
        rotationRate: CMRotationRate;
    }
    export class CMRecordedRotationRateData extends CMRotationRateData {
        /**
         * The time when the gyroscope measured the rotation data.
         */
        startDate: Date;
    }
    export class CMPedometerData extends NSObject {
        /**
         * The start time for the pedometer data. 
         */
        startDate: Date;
        /**
         * The end time for the pedometer data. 
         */
        endDate: Date;
        /**
         * The number of steps taken by the user.
         */
        numberOfSteps: NSNumber;
        /**
         * The estimated distance (in meters) traveled by the user.
         */
        distance: NSNumber | null;
        /**
         * The average pace of the user, measured in seconds per meter.
         */
        averageActivePace: NSNumber | null;
        /**
         * The current pace of the user, measured in seconds per meter.
         */
        currentPace: NSNumber | null;
        /**
         * The rate at which steps are taken, measured in steps per second.
         */
        currentCadence: NSNumber | null;
        /**
         * The approximate number of floors ascended by walking. 
         */
        floorsAscended: NSNumber | null;
        /**
         * The approximate number of floors descended by walking.
         */
        floorsDescended: NSNumber | null;
    }
    export class CMPedometerEvent extends NSObject {
        /**
         * The date on which the pedometer event was recorded.
         */
        date: Date;
        /**
         * The type of change that occurred.
         */
        type: CMPedometerEventType;
    }
    export enum CMPedometerEventType {
        pause = 0,
        resume = 1,
    }
    export class CMStepCounter extends NSObject {
        /**
         * Returns a Boolean indicating whether step-counting support is available on the current device.
         */
        static isStepCountingAvailable():boolean;
        /**
         * Starts the delivery of current step-counting data to your app.
         */
        startStepCountingUpdates(queue: OperationQueue, stepCounts: number, handler: CMStepUpdateHandler):void;
        /**
         * Stops the delivery of step-counting updates to your app.
         */
        stopStepCountingUpdates():void;
        /**
         * Gathers and returns historical step count data for the specified time period.
         */
        queryStepCountStarting(start: Date, end: Date, queue: OperationQueue, handler: CMStepQueryHandler):void;
    }
    export class CMMagnetometerData extends CMLogItem {
        /**
         * Returns the magnetic field measured by the magnetometer.
         */
        magneticField: CMMagneticField;
    }
    export class CMMagneticField {
        /**
         * X-axis magnetic field in microteslas.
         */
        x: number;
        /**
         * Y-axis magnetic field in microteslas.
         */
        y: number;
        /**
         * Z-axis magnetic field in microteslas.
         */
        z: number;
        constructor ();
        constructor (x: number, y: number, z: number);
    }
    export class CMAltimeter extends NSObject {
        /**
         * Returns a Boolean value indicating whether the current device reports changes in the absolute altitude.
         */
        static isAbsoluteAltitudeAvailable():boolean;
        /**
         * Returns a Boolean value indicating whether the current device supports generating data for relative altitude changes.
         */
        static isRelativeAltitudeAvailable():boolean;
        /**
         * Returns a value indicating whether the app is authorized to retrieve altimeter data. 
         */
        static authorizationStatus():CMAuthorizationStatus;
        /**
         * Starts the delivery of absolute altitude data to the specified handler.
         */
        startAbsoluteAltitudeUpdates(queue: OperationQueue, handler: CMAbsoluteAltitudeHandler):void;
        /**
         * Stops the delivery of absolute altitude data for this altimeter object.
         */
        stopAbsoluteAltitudeUpdates():void;
        /**
         * Starts the delivery of relative altitude data to the specified handler.
         */
        startRelativeAltitudeUpdates(queue: OperationQueue, handler: CMAltitudeHandler):void;
        /**
         * Stops the delivery of relative altitude data for the altimeter object.
         */
        stopRelativeAltitudeUpdates():void;
    }
    export class CMAbsoluteAltitudeData extends CMLogItem {
        /**
         * The absolute altitude of the device relative to sea level, measured in meters.
         */
        altitude: number;
        /**
         * The estimated uncertainty of the altimeter in meters, based on one standard deviation.
         */
        accuracy: number;
        /**
         * The recommended resolution for the altitude, in meters.
         */
        precision: number;
    }
    export class CMAltitudeData extends CMLogItem {
        /**
         * The change in altitude (in meters) since the first reported event.
         */
        relativeAltitude: NSNumber;
        /**
         * The recorded pressure, in kilopascals.
         */
        pressure: NSNumber;
    }
    export class CMHeadphoneMotionManager extends NSObject {
        /**
         * A Boolean value that indicates whether the current device supports the headphone motion manager.
         */
        isDeviceMotionAvailable: boolean;
        /**
         * A Boolean value that indicates whether the headphone motion manager is active.
         */
        isDeviceMotionActive: boolean;
        /**
         * The object that receives headphone motion manager events.
         */
        delegate: CMHeadphoneMotionManagerDelegate | null;
        /**
         * The latest device-motion data.
         */
        deviceMotion: CMDeviceMotion | null;
        /**
         * Returns the authorization status for monitoring headphone motion.
         */
        static authorizationStatus():CMAuthorizationStatus;
        /**
         * Starts device-motion updates.
         */
        startDeviceMotionUpdates():void;
        /**
         * Stops device-motion updates.
         */
        stopDeviceMotionUpdates():void;
    }
    export interface CMHeadphoneMotionManagerDelegate extends NSObjectProtocol {
        /**
         * Performs a callback to the delegate after you connect headphones.
         */
        headphoneMotionManagerDidConnect(manager: CMHeadphoneMotionManager):void;
        /**
         * Performs a callback to the delegate after you disconnect headphones.
         */
        headphoneMotionManagerDidDisconnect(manager: CMHeadphoneMotionManager):void;
    }
    export class CMMotionActivityManager extends NSObject {
        /**
         * Returns a Boolean indicating whether motion data is available on the current device. 
         */
        static isActivityAvailable():boolean;
        /**
         * Returns a value indicating whether the app is authorized to retrieve stored motion data. 
         */
        static authorizationStatus():CMAuthorizationStatus;
        /**
         * Starts the delivery of current motion data updates to your app.
         */
        startActivityUpdates(queue: OperationQueue, handler: CMMotionActivityHandler):void;
        /**
         * Stops the delivery of motion updates to your app
         */
        stopActivityUpdates():void;
        /**
         * Gathers and returns historical motion data for the specified time period
         */
        queryActivityStarting(start: Date, end: Date, queue: OperationQueue, handler: CMMotionActivityQueryHandler):void;
    }
    export class CMMotionActivity extends CMLogItem {
        /**
         * A Boolean indicating whether the device is stationary.
         */
        stationary: boolean;
        /**
         * A Boolean indicating whether the device is on a walking person.
         */
        walking: boolean;
        /**
         * A Boolean indicating whether the device is on a running person.
         */
        running: boolean;
        /**
         * A Boolean indicating whether the device is in an automobile.
         */
        automotive: boolean;
        /**
         * A Boolean indicating whether the device is in a bicycle.
         */
        cycling: boolean;
        /**
         * A Boolean indicating whether the type of motion is unknown.
         */
        unknown: boolean;
        /**
         * The time at which the change in motion occurred.
         */
        startDate: Date;
        /**
         * The confidence in the assessment of the motion type.
         */
        confidence: CMMotionActivityConfidence;
    }
    export enum CMMotionActivityConfidence {
        low = 0,
        medium = 1,
        high = 2,
    }
    export class CMLogItem extends NSObject {
        /**
         * The time when the logged item is valid.
         */
        timestamp: TimeInterval;
    }
    export class CMMovementDisorderManager extends NSObject {
        /**
         * A Boolean value indicating whether the current device supports the movement disorder manager.
         */
        static isAvailable():boolean;
        /**
         * A value indicating whether the user has authorized the app to monitor and query for movement disorder data.
         */
        static authorizationStatus():CMAuthorizationStatus;
        /**
         * Returns a string that describes the movement disorder algorithm’s current version.
         */
        static version():string;
        /**
         * Calculate and store tremor and dyskinetic symptom results for the duration of the specified time interval.
         */
        monitorKinesias(duration: TimeInterval):void;
        /**
         * Returns the expiration date for the most recent monitoring period.
         */
        monitorKinesiasExpirationDate():Date | null;
        /**
         * Query for tremor results from the provided time interval.
         */
        queryTremor(fromDate: Date, toDate: Date, handler: CMTremorResultHandler):void;
        /**
         * Query for dyskinetic symptoms from the provided time interval.
         */
        queryDyskineticSymptom(fromDate: Date, toDate: Date, handler: CMDyskineticSymptomResultHandler):void;
        /**
         * Returns the date of the most recently calculated results.
         */
        lastProcessedDate():Date | null;
    }
    export class CMTremorResult extends NSObject {
        /**
         * The result’s start time and date.
         */
        startDate: Date;
        /**
         * The result's end time and date.
         */
        endDate: Date;
        /**
         * The percentage of time when the algorithm couldn’t make a determination.
         */
        percentUnknown: Float;
        /**
         * The percentage of time when no tremor was detected.
         */
        percentNone: Float;
        /**
         * The percentage of time when a tremor was likely, and the displacement amplitude was slight.
         */
        percentSlight: Float;
        /**
         * The percentage of time when a tremor was likely, and the displacement amplitude was mild.
         */
        percentMild: Float;
        /**
         * The percentage of time when a tremor was likely, and the displacement amplitude was moderate.
         */
        percentModerate: Float;
        /**
         * The percentage of time when a tremor was likely, and the displacement amplitude was strong.
         */
        percentStrong: Float;
    }
    export class CMDyskineticSymptomResult extends NSObject {
        /**
         * The result’s start time and date.
         */
        startDate: Date;
        /**
         * The result's end time and date.
         */
        endDate: Date;
        /**
         * The percentage of time when dyskinetic symptoms were unlikely.
         */
        percentUnlikely: Float;
        /**
         * The percentage of time when dyskinetic symptoms were likely.
         */
        percentLikely: Float;
    }
    export class CMFallDetectionManager extends NSObject {
        /**
         * A Boolean value that indicates whether the current device supports fall detection.
         */
        static isAvailable: boolean;
        /**
         * The authorization status for receiving fall detection event notifications.
         */
        authorizationStatus: CMAuthorizationStatus;
        /**
         * A delegate that can receive notifications about fall detection events.
         */
        delegate: CMFallDetectionDelegate | null;
        /**
         * Requests authorization to receive notifications about fall detection events.
         */
        requestAuthorization(handler: ()=>any):void;
    }
    export interface CMFallDetectionDelegate extends NSObjectProtocol {
        /**
         * Indicates a fall detection event occurred.
         */
        fallDetectionManager(fallDetectionManager: CMFallDetectionManager, event: CMFallDetectionEvent, handler: ()=>any):void;
        /**
         * Indicates the fall detection authorization status changed.
         */
        fallDetectionManagerDidChangeAuthorization(fallDetectionManager: CMFallDetectionManager):void;
    }
    export class CMFallDetectionEvent extends NSObject {
        /**
         * The event’s time and date.
         */
        date: Date;
        /**
         * The event’s resolution.
         */
        resolution: CMFallDetectionEvent.UserResolution;
    }
    /**
     * the same name namespace of class CMFallDetectionEvent
     */
    export namespace CMFallDetectionEvent {
        export enum UserResolution {
            confirmed = 0,
            dismissed = 1,
            rejected = 2,
            unresponsive = 3,
        }
    }
    export class CMAmbientPressureData extends CMLogItem {
        pressure: Measurement<UnitPressure>;
        temperature: Measurement<UnitTemperature>;
    }
    export class CMRecordedPressureData extends CMAmbientPressureData {
        identifier: UInt64;
        startDate: Date;
    }
    export class CMWaterSubmersionEvent extends NSObject {
        date: Date;
        state: CMWaterSubmersionEvent.State;
    }
    /**
     * the same name namespace of class CMWaterSubmersionEvent
     */
    export namespace CMWaterSubmersionEvent {
        export enum State {
            notSubmerged = 1,
            submerged = 2,
            unknown = 0,
        }
    }
    export class CMWaterSubmersionManager extends NSObject {
        static authorizationStatus: CMAuthorizationStatus;
        static waterSubmersionAvailable: boolean;
        delegate: CMWaterSubmersionManagerDelegate | null;
    }
    export class CMWaterSubmersionMeasurement extends NSObject {
        date: Date;
        depth: Measurement<UnitLength> | null;
        pressure: Measurement<UnitPressure> | null;
        submersionState: CMWaterSubmersionMeasurement.DepthState;
        surfacePressure: Measurement<UnitPressure>;
    }
    /**
     * the same name namespace of class CMWaterSubmersionMeasurement
     */
    export namespace CMWaterSubmersionMeasurement {
        export enum DepthState {
            approachingMaxDepth = 400,
            notSubmerged = 100,
            pastMaxDepth = 500,
            sensorDepthError = 600,
            submergedDeep = 300,
            submergedShallow = 200,
            unknown = 0,
        }
    }
    export class CMWaterTemperature extends NSObject {
        date: Date;
        temperature: Measurement<UnitTemperature>;
        temperatureUncertainty: Measurement<UnitTemperature>;
    }
    export interface CMWaterSubmersionManagerDelegate extends NSObjectProtocol {
        manager(manager: CMWaterSubmersionManager, event: CMWaterSubmersionEvent):void;
    }
    export class CMAttitudeReferenceFrame {
        /**
         * Describes a reference frame in which the Z axis is vertical and the X axis points in an arbitrary direction in the horizontal plane.
         */
        static xArbitraryZVertical: CMAttitudeReferenceFrame;
        /**
         * Describes the same reference frame as 
         *  except that the magnetometer, when available and calibrated, is used to improve long-term yaw accuracy. Using this constant instead of 
         *  results in increased CPU usage.
         */
        static xArbitraryCorrectedZVertical: CMAttitudeReferenceFrame;
        /**
         * Describes a reference frame in which the Z axis is vertical and the X axis points toward magnetic north. Note that using this reference frame may require device movement to calibrate the magnetometer.
         */
        static xMagneticNorthZVertical: CMAttitudeReferenceFrame;
        /**
         * Describes a reference frame in which the Z axis is vertical and the X axis points toward true north. Note that using this reference frame may require device movement to calibrate the magnetometer. It also requires the location to be available in order to calculate the difference between magnetic and true north.
         */
        static xTrueNorthZVertical: CMAttitudeReferenceFrame;
        constructor (rawValue: number);
    }
    export class CMError {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class CMCalibratedMagneticField {
        /**
         * A structure containing 3-axis calibrated magnetic field data. See the description of the 
         *  structure. 
         */
        field: CMMagneticField;
        /**
         * An enum-constant value that indicates the accuracy of the magnetic field estimate. See 
         * .
         */
        accuracy: CMMagneticFieldCalibrationAccuracy;
        /**
         * Initializes the magnetic field to a set of default values.
         */
        constructor ();
        /**
         * Initializes the magnetic field to the specified set of values. 
         */
        constructor (field: CMMagneticField, accuracy: CMMagneticFieldCalibrationAccuracy);
    }
    export enum CMMagneticFieldCalibrationAccuracy {
        uncalibrated = -1,
        low = 0,
        medium = 1,
        high = 2,
    }
    export class CMAccelerometerData extends CMLogItem {
        /**
         * The acceleration measured by the accelerometer.
         */
        acceleration: CMAcceleration;
    }
}

/**
 * Detect NFC tags, read messages that contain NDEF data, and save data to writable tags.
 */
declare module CoreNFC {
    export class NFCNDEFReaderSession extends NFCReaderSession {
        /**
         * Restarts the polling sequence so the reader session can discover new tags.
         */
        restartPolling():void;
    }
    export class NFCISO7816APDU extends NSObject {
        /**
         * The data to transmit.
         */
        data: Data | null;
        /**
         * The expected response data length (Le) in bytes.
         */
        expectedResponseLength: number;
    }
    export class NFCISO7816ResponseAPDU {
        /**
         * A data object that contains the response data.
         */
        payload: Data | null;
        /**
         * The SW1 command-processing status byte.
         */
        statusWord1: UInt8;
        /**
         * The SW2 command-processing status byte.
         */
        statusWord2: UInt8;
    }
    export interface NFCISO7816Tag extends NFCNDEFTag {
        /**
         * Sends an application protocol data unit (APDU) to the tag and receives a response APDU.
         */
        sendCommand(apdu: NFCISO7816APDU, completionHandler: ()=>any):void;
    }
    export interface NFCISO15693Tag extends NFCNDEFTag {
        /**
         * The IC manufacturer code of the tag.
         */
        icManufacturerCode: number;
        /**
         * The IC serial number assigned to the tag by the manufacturer.
         */
        icSerialNumber: Data;
        /**
         * The unique hardware identifier of the tag.
         */
        identifier: Data;
        /**
         * Sends the Get System Information command (0x2B command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        getSystemInfo(flags: NFCISO15693RequestFlag, completionHandler: ()=>any):void;
        /**
         * Sends a Read Single Block command (0x20 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        readSingleBlock(flags: NFCISO15693RequestFlag, blockNumber: UInt8, completionHandler: ()=>any):void;
        /**
         * Sends the Write Single Block command (0x21 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        writeSingleBlock(flags: NFCISO15693RequestFlag, blockNumber: UInt8, dataBlock: Data, completionHandler: ()=>any):void;
        /**
         * Sends the Lock Block command (0x22 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        lockBlock(flags: NFCISO15693RequestFlag, blockNumber: UInt8, completionHandler: ()=>any):void;
        /**
         * Sends the Read Multiple Blocks command (0x23 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        readMultipleBlocks(flags: NFCISO15693RequestFlag, blockRange: NSRange, completionHandler: ()=>any):void;
        /**
         * Sends the Write Multiple Blocks command (0x24 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        writeMultipleBlocks(flags: NFCISO15693RequestFlag, blockRange: NSRange, dataBlocks: Data[], completionHandler: ()=>any):void;
        /**
         * Sends the Get Multiple Block Security Status command (0x2C command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        getMultipleBlockSecurityStatus(flags: NFCISO15693RequestFlag, blockRange: NSRange, completionHandler: ()=>any):void;
        /**
         * Sends the Write AFI command (0x27 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        writeAFI(flags: NFCISO15693RequestFlag, afi: UInt8, completionHandler: ()=>any):void;
        /**
         * Sends the Lock AFI command (0x28 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        lockAFI(flags: NFCISO15693RequestFlag, completionHandler: ()=>any):void;
        /**
         * Sends the Write DSFID command (0x29 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        writeDSFID(flags: NFCISO15693RequestFlag, dsfid: UInt8, completionHandler: ()=>any):void;
        /**
         * Sends the Lock DSFID command (0x2A command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        lockDFSID(flags: NFCISO15693RequestFlag, completionHandler: ()=>any):void;
        /**
         * Sends the Reset To Ready command (0x26 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        resetToReady(flags: NFCISO15693RequestFlag, completionHandler: ()=>any):void;
        /**
         * Sends the Select command (0x25 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        select(flags: NFCISO15693RequestFlag, completionHandler: ()=>any):void;
        /**
         * Sends a Stay Quiet command (0x02 command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        stayQuiet(completionHandler: ()=>any):void;
        /**
         * Sends a custom command (0xA0 to 0xDF command code), as defined in the ISO 15693-3 specification, to the tag.
         */
        customCommand(flags: NFCISO15693RequestFlag, customCommandCode: number, customRequestParameters: Data, completionHandler: ()=>any):void;
        /**
         * Sends the Extended Read Single Block command (0x30 command code), as defined in the NFC Forum Type 5 tag specification, to the tag.
         */
        extendedReadSingleBlock(flags: NFCISO15693RequestFlag, blockNumber: number, completionHandler: ()=>any):void;
        /**
         * Sends the Extended Write Single Block command (0x31 command code), as defined in the NFC Forum Type 5 tag specification, to the tag.
         */
        extendedWriteSingleBlock(flags: NFCISO15693RequestFlag, blockNumber: number, dataBlock: Data, completionHandler: ()=>any):void;
        /**
         * Sends the Extended Lock Single Block command (0x32 command code), as defined in the NFC Forum Type 5 tag specification, to the tag.
         */
        extendedLockBlock(flags: NFCISO15693RequestFlag, blockNumber: number, completionHandler: ()=>any):void;
        /**
         * Sends the Extended Read Multiple Block command (0x33 command code), as defined in the NFC Forum Type 5 tag specification, to the tag.
         */
        extendedReadMultipleBlocks(flags: NFCISO15693RequestFlag, blockRange: NSRange, completionHandler: ()=>any):void;
        authenticate(flags: NFCISO15693RequestFlag, cryptoSuiteIdentifier: number, message: Data):any;
        challenge(flags: NFCISO15693RequestFlag, cryptoSuiteIdentifier: number, message: Data):void;
        extendedFastReadMultipleBlocks(flags: NFCISO15693RequestFlag, blockRange: NSRange):Data[];
        extendedGetMultipleBlockSecurityStatus(flags: NFCISO15693RequestFlag, blockRange: NSRange):NFCISO15693MultipleBlockSecurityStatus;
        extendedWriteMultipleBlocks(flags: NFCISO15693RequestFlag, blockRange: NSRange, dataBlocks: Data[]):void;
        fastReadMultipleBlocks(flags: NFCISO15693RequestFlag, blockRange: NSRange):Data[];
        keyUpdate(flags: NFCISO15693RequestFlag, keyIdentifier: number, message: Data):any;
        lockDSFID(flags: NFCISO15693RequestFlag, completionHandler: ()=>any):void;
        readBuffer(flags: NFCISO15693RequestFlag):any;
        sendRequest(flags: number, commandCode: number, data: Data | null):any;
        systemInfo(flags: NFCISO15693RequestFlag):NFCISO15693SystemInfo;
    }
    export class NFCTagReaderSession extends NFCReaderSession {
        /**
         * The tag connected to the reader session.
         */
        connectedTag: NFCTag | null;
        /**
         * Creates an NFC tag reader session.
         */
        constructor (pollingOption: NFCTagReaderSession.PollingOption, delegate: NFCTagReaderSessionDelegate, queue: DispatchQueue | null);
        /**
         * Connects the reader session to a tag and activates that tag.
         */
        connect(tag: NFCTag, completionHandler: ()=>any):void;
        /**
         * Restarts the polling sequence so the reader session can discover new tags.
         */
        restartPolling():void;
    }
    /**
     * the same name namespace of class NFCTagReaderSession
     */
    export namespace NFCTagReaderSession {
        export class PollingOption {
            /**
             * The option for detecting ISO 7816-compatible and MIFARE tags.
             */
            static iso14443: NFCTagReaderSession.PollingOption;
            /**
             * The option for detecting ISO 15693 tags.
             */
            static iso15693: NFCTagReaderSession.PollingOption;
            /**
             * The option for detecting FeliCa tags.
             */
            static iso18092: NFCTagReaderSession.PollingOption;
            static pace: NFCTagReaderSession.PollingOption;
            constructor (rawValue: number);
        }
    }
    export class NFCISO15693RequestFlag {
        /**
         * A bit mask value that turns on the subcarrier flag.
         */
        static RequestFlagDualSubCarriers: NFCISO15693RequestFlag;
        /**
         * A bit mask value that turns on the high data rate flag.
         */
        static RequestFlagHighDataRate: NFCISO15693RequestFlag;
        /**
         * A bit mask value that turns on the protocol extension flag.
         */
        static RequestFlagProtocolExtension: NFCISO15693RequestFlag;
        /**
         * A bit mask value that turns on the select flag.
         */
        static RequestFlagSelect: NFCISO15693RequestFlag;
        /**
         * A bit mask value that turns on the address flag.
         */
        static RequestFlagAddress: NFCISO15693RequestFlag;
        /**
         * A bit mask value that turns on the option flag.
         */
        static RequestFlagOption: NFCISO15693RequestFlag;
    }
    export interface NFCFeliCaTag extends NFCNDEFTag {
        /**
         * The system code most recently selected by the reader session during a polling sequence.
         */
        currentSystemCode: Data;
        /**
         * The manufacturer identifier for the system currently selected by the reader session.
         */
        currentIDm: Data;
        /**
         * Sends the Polling command as defined by FeliCa card specification to the tag.
         */
        polling(systemCode: Data, requestCode: NFCFeliCaPollingRequestCode, timeSlot: NFCFeliCaPollingTimeSlot, completionHandler: ()=>any):void;
        /**
         * Sends the Request Service command, as defined by the FeliCa card specification, to the tag.
         */
        requestService(nodeCodeList: Data[], completionHandler: ()=>any):void;
        /**
         * Sends the Request Service V2 command, as defined by the FeliCa card specification, to the tag.
         */
        requestServiceV2(nodeCodeList: Data[], completionHandler: ()=>any):void;
        /**
         * Sends the Request Response command, as defined by the FeliCa card specification, to the tag.
         */
        requestResponse(completionHandler: ()=>any):void;
        /**
         * Sends the Request Specification Version command, as defined by the FeliCa card specification, to the tag.
         */
        requestSpecificationVersion(completionHandler: ()=>any):void;
        /**
         * Sends the Request System Code command, as defined by the FeliCa card specification, to the tag.
         */
        requestSystemCode(completionHandler: ()=>any):void;
        /**
         * Sends the Reset Mode command, as defined by the FeliCa card specification, to the tag.
         */
        resetMode(completionHandler: ()=>any):void;
        /**
         * Sends the Read Without Encryption command, as defined by the FeliCa card specification, to the tag.
         */
        readWithoutEncryption(serviceCodeList: Data[], blockList: Data[], completionHandler: ()=>any):void;
        /**
         * Sends the Write Without Encryption command, as defined by the FeliCa card specification, to the tag.
         */
        writeWithoutEncryption(serviceCodeList: Data[], blockList: Data[], blockData: Data[], completionHandler: ()=>any):void;
        /**
         * Sends the FeliCa command packet data to the tag.
         */
        sendFeliCaCommand(commandPacket: Data, completionHandler: ()=>any):void;
    }
    export interface NFCTagReaderSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the reader session is active.
         */
        tagReaderSessionDidBecomeActive(session: NFCTagReaderSession):void;
        /**
         * Tells the delegate that the session detected NFC tags.
         */
        tagReaderSession(session: NFCTagReaderSession, tags: NFCTag[]):void;
    }
    export interface NFCMiFareTag extends NFCNDEFTag {
        /**
         * The MIFARE product family identifier for the tag.
         */
        mifareFamily: NFCMiFareFamily;
        /**
         * The unique hardware identifier of the tag.
         */
        identifier: Data;
        /**
         * The historical bytes extracted from an Answer To Select response.
         */
        historicalBytes: Data | null;
        /**
         * Sends a native MIFARE command to the tag.
         */
        sendMiFareCommand(command: Data, completionHandler: ()=>any):void;
        /**
         * Sends an ISO 7816 command APDU to the tag and receives a response APDU.
         */
        sendMiFareISO7816Command(apdu: NFCISO7816APDU, completionHandler: ()=>any):void;
    }
    export enum NFCMiFareFamily {
        unknown = 1,
        ultralight = 2,
        plus = 3,
        desfire = 4,
    }
    export interface NFCNDEFTag extends NSCopying,NSObjectProtocol,NSSecureCoding {
        /**
         * A Boolean value that determines whether the NDEF tag is available in the current reader session.
         */
        isAvailable: boolean;
        /**
         * Asks the reader session for the NDEF support status of the tag.
         */
        queryNDEFStatus(completionHandler: ()=>any):void;
        /**
         * Retrieves an NDEF message from the tag.
         */
        readNDEF(completionHandler: ()=>any):void;
        /**
         * Saves an NDEF message to a writable tag.
         */
        writeNDEF(ndefMessage: NFCNDEFMessage, completionHandler: ()=>any):void;
        /**
         * Changes the NDEF tag status to read-only, preventing future write operations.
         */
        writeLock(completionHandler: ()=>any):void;
    }
    export enum NFCNDEFStatus {
        notSupported = 1,
        readOnly = 3,
        readWrite = 2,
    }
    export enum NFCTag {
        iso15693,
        iso7816,
        feliCa,
        miFare,
    }
    export class NFCTagCommandConfiguration extends NSObject {
        /**
         * The maximum number of retries.
         */
        maximumRetries: number;
        /**
         * The time between retries, in seconds.
         */
        retryInterval: TimeInterval;
    }
    export class NFCNDEFMessage extends NSObject {
        /**
         * An array of records for the message.
         */
        records: NFCNDEFPayload[];
        /**
         * The length, in bytes, of the NDEF message when stored on an NFC tag.
         */
        length: number;
        /**
         * Creates an NDEF message with the specified records.
         */
        constructor (records: NFCNDEFPayload[]);
        /**
         * Creates an NDEF message from raw data representing the message.
         */
        constructor (data: Data);
    }
    export class NFCNDEFPayload extends NSObject {
        /**
         * The identifier of the payload, as defined by the NDEF specification.
         */
        identifier: Data;
        /**
         * The payload, as defined by the NDEF specification.
         */
        payload: Data;
        /**
         * The type of the payload, as defined by the NDEF specification.
         */
        type: Data;
        /**
         * The Type Name Format field of the payload, as defined by the NDEF specification.
         */
        typeNameFormat: NFCTypeNameFormat;
        /**
         * Creates a payload record with the specified format, type, identifier, and payload data.
         */
        constructor (format: NFCTypeNameFormat, type: Data, identifier: Data, payload: Data);
        /**
         * Creates a payload record with the specified format, type, identifier, payload data, and data chunk size.
         */
        constructor (format: NFCTypeNameFormat, type: Data, identifier: Data, payload: Data, chunkSize: number);
        /**
         * Creates a payload record with a URI specified as a URL.
         */
        static wellKnownTypeURIPayload(url: URL):Self | null;
        /**
         * Creates a payload record with text.
         */
        static wellKnownTypeTextPayload(text: string, locale: Locale):Self | null;
        /**
         * Creates a payload record with text.
         */
        static wellKnowTypeTextPayload(text: string, locale: Locale):Self | null;
    }
    export enum NFCTypeNameFormat {
        absoluteURI = 3,
        empty = 0,
        media = 2,
        nfcExternal = 4,
        nfcWellKnown = 1,
        unchanged = 6,
        unknown = 5,
    }
    export class NFCReaderError {
        /**
         * The first NDEF tag read by this session is invalid.
         */
        static readerSessionInvalidationErrorFirstNDEFTagRead: NFCReaderError.Code;
        /**
         * The reader session terminated unexpectedly.
         */
        static readerSessionInvalidationErrorSessionTerminatedUnexpectedly: NFCReaderError.Code;
        /**
         * The reader session timed out.
         */
        static readerSessionInvalidationErrorSessionTimeout: NFCReaderError.Code;
        /**
         * The reader session failed because the system is busy.
         */
        static readerSessionInvalidationErrorSystemIsBusy: NFCReaderError.Code;
        /**
         * The user canceled the reader session.
         */
        static readerSessionInvalidationErrorUserCanceled: NFCReaderError.Code;
        /**
         * The NDEF tag isn’t writable.
         */
        static ndefReaderSessionErrorTagNotWritable: NFCReaderError.Code;
        /**
         * The NDEF tag memory size is too small to store the data.
         */
        static ndefReaderSessionErrorTagSizeTooSmall: NFCReaderError.Code;
        /**
         * The reader session failed to update the NDEF tag.
         */
        static ndefReaderSessionErrorTagUpdateFailure: NFCReaderError.Code;
        /**
         * The NDEF tag doesn’t contain an NDEF message.
         */
        static ndefReaderSessionErrorZeroLengthMessage: NFCReaderError.Code;
        /**
         * Too many retries have occurred.
         */
        static readerTransceiveErrorRetryExceeded: NFCReaderError.Code;
        /**
         * The reader lost the connection to the tag.
         */
        static readerTransceiveErrorTagConnectionLost: NFCReaderError.Code;
        /**
         * The tag isn’t in the connected state.
         */
        static readerTransceiveErrorTagNotConnected: NFCReaderError.Code;
        /**
         * The tag has responded with an error.
         */
        static readerTransceiveErrorTagResponseError: NFCReaderError.Code;
        /**
         * The reader session is invalid.
         */
        static readerTransceiveErrorSessionInvalidated: NFCReaderError.Code;
        /**
         * The packet length exceeds the limit supported by the tag.
         */
        static readerTransceiveErrorPacketTooLong: NFCReaderError.Code;
        /**
         * The tag has been configured with invalid parameters.
         */
        static tagCommandConfigurationErrorInvalidParameters: NFCReaderError.Code;
        /**
         * The reader session does not support this feature.
         */
        static readerErrorUnsupportedFeature: NFCReaderError.Code;
        /**
         * An input parameter is invalid.
         */
        static readerErrorInvalidParameter: NFCReaderError.Code;
        /**
         * The length of an input parameter is invalid.
         */
        static readerErrorInvalidParameterLength: NFCReaderError.Code;
        /**
         * A parameter value is outside of the acceptable boundary.
         */
        static readerErrorParameterOutOfBound: NFCReaderError.Code;
        /**
         * The NFC wireless radio on the device is disabled.
         */
        static readerErrorRadioDisabled: NFCReaderError.Code;
        /**
         * A security violation associated with the reader session has occurred.
         */
        static readerErrorSecurityViolation: NFCReaderError.Code;
        /**
         * The error domain for this error.
         */
        static errorDomain: string;
        /**
         * The error code.
         */
        errorCode: number;
        /**
         * Additional details about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A user-facing, localized string that describes the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NFCReaderError
     */
    export namespace NFCReaderError {
        export enum Code {
            readerSessionInvalidationErrorFirstNDEFTagRead = 204,
            readerSessionInvalidationErrorSessionTerminatedUnexpectedly = 202,
            readerSessionInvalidationErrorSessionTimeout = 201,
            readerSessionInvalidationErrorSystemIsBusy = 203,
            readerSessionInvalidationErrorUserCanceled = 200,
            ndefReaderSessionErrorTagNotWritable = 400,
            ndefReaderSessionErrorTagSizeTooSmall = 402,
            ndefReaderSessionErrorTagUpdateFailure = 401,
            ndefReaderSessionErrorZeroLengthMessage = 403,
            readerTransceiveErrorRetryExceeded = 101,
            readerTransceiveErrorTagConnectionLost = 100,
            readerTransceiveErrorTagNotConnected = 104,
            readerTransceiveErrorTagResponseError = 102,
            readerTransceiveErrorSessionInvalidated = 103,
            readerTransceiveErrorPacketTooLong = 105,
            tagCommandConfigurationErrorInvalidParameters = 300,
            readerErrorUnsupportedFeature = 1,
            readerErrorInvalidParameter = 3,
            readerErrorInvalidParameterLength = 4,
            readerErrorParameterOutOfBound = 5,
            readerErrorRadioDisabled = 6,
            readerErrorSecurityViolation = 2,
        }
    }
    export class NFCVASReaderSession extends NFCReaderSession {
        /**
         * Creates a VAS reader session.
         */
        constructor (commandConfigurations: NFCVASCommandConfiguration[], delegate: NFCVASReaderSessionDelegate, queue: DispatchQueue | null);
    }
    export class NFCVASCommandConfiguration extends NSObject {
        /**
         * A VAS protocol mode.
         */
        mode: NFCVASCommandConfiguration.Mode;
        /**
         * A type identifier for the Wallet Pass.
         */
        passTypeIdentifier: string;
        /**
         * A merchant URL.
         */
        url: URL | null;
        /**
         * Creates a VAS command configuration object.
         */
        constructor (mode: NFCVASCommandConfiguration.Mode, passTypeIdentifier: string, url: URL | null);
    }
    /**
     * the same name namespace of class NFCVASCommandConfiguration
     */
    export namespace NFCVASCommandConfiguration {
        export enum Mode {}
    }
    export class NFCFeliCaPollingResponse {
        manufactureParameter: Data;
        requestData: Data | null;
    }
    export class NFCFeliCaRequestSpecificationVersionResponse {
        basicVersion: Data | null;
        optionVersion: Data | null;
        statusFlag1: number;
        statusFlag2: number;
    }
    export class NFCFeliCaRequsetServiceV2Response {
        encryptionIdentifier: NFCFeliCaEncryptionId;
        nodeKeyVersionListAES: Data[] | null;
        nodeKeyVersionListDES: Data[] | null;
        statusFlag1: number;
        statusFlag2: number;
    }
    export class NFCFeliCaStatusFlag {
        statusFlag1: number;
        statusFlag2: number;
    }
    export class NFCISO15693MultipleBlockSecurityStatus {
        blockSecurityStatus: number[];
    }
    export class NFCISO15693ResponseFlag {
        static blockSecurityStatusBit5: NFCISO15693ResponseFlag;
        static blockSecurityStatusBit6: NFCISO15693ResponseFlag;
        static error: NFCISO15693ResponseFlag;
        static finalResponse: NFCISO15693ResponseFlag;
        static protocolExtension: NFCISO15693ResponseFlag;
        static responseBufferValid: NFCISO15693ResponseFlag;
        static waitTimeExtension: NFCISO15693ResponseFlag;
        constructor (rawValue: UInt8);
    }
    export class NFCISO15693SystemInfo {
        applicationFamilyIdentifier: number;
        blockSize: number;
        dataStorageFormatIdentifier: number;
        icReference: number;
        totalBlocks: number;
        uniqueIdentifier: Data;
    }
    export interface NFCNDEFReaderSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the reader session is active.
         */
        readerSessionDidBecomeActive(session: NFCNDEFReaderSession):void;
        /**
         * Tells the delegate that the session detected NFC tags with NDEF messages.
         */
        readerSession(session: NFCNDEFReaderSession, messages: NFCNDEFMessage[]):void;
    }
    export interface NFCVASReaderSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the reader session is active.
         */
        readerSessionDidBecomeActive(session: NFCVASReaderSession):void;
        /**
         * Tells the delegate that the reader session received a VAS response.
         */
        readerSession(session: NFCVASReaderSession, responses: NFCVASResponse[]):void;
    }
    export class NFCVASResponse extends NSObject {
        /**
         * A response APDU status code.
         */
        status: NFCVASResponse.ErrorCode;
        /**
         * A data object containing the VAS data.
         */
        vasData: Data;
        /**
         * A mobile token value.
         */
        mobileToken: Data;
    }
    /**
     * the same name namespace of class NFCVASResponse
     */
    export namespace NFCVASResponse {
        export enum ErrorCode {}
    }
    export class NFCReaderSession extends NSObject {
        /**
         * A Boolean value that determines whether the device supports NFC tag reading.
         */
        static readingAvailable: boolean;
        /**
         * The delegate of the reader session.
         */
        delegate: AnyObject | null;
        /**
         * The queue on which the reader session delegate callbacks and completion block handlers are dispatched.
         */
        sessionQueue: DispatchQueue;
    }
    export interface NFCReaderSessionProtocol extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the reader session is started and ready to use.
         */
        isReady: boolean;
        /**
         * Starts the reader session.
         */
        begin():void;
        /**
         * Closes the reader session, which prevents it from being reused.
         */
        invalidate():void;
        /**
         * A custom description that helps users understand how they can use NFC reader mode in your app.
         */
        alertMessage: string;
    }
}

/**
 * Access and manage key operating system services, such as launch and identity services.
 */
declare module CoreServices {
    export class AEBuildError {
        /**
         * The error code. See 
         *  for alist of errors. 
         */
        fError: AEBuildErrorCode;
        /**
         * The character position where the parser detectedthe error. 
         */
        fErrorPos: UInt32;
    }
    export class MDItem {}
    export class AEDesc {
        /**
         * An opaque storage type that points to the storagefor the descriptor data. Your application doesn’t access thisdata directly—rather, it calls one of the functions 
         * , 
         * , or 
         * .See 
         * .
         */
        dataHandle: AEDataStorage!;
        /**
         * A four-character code of type 
         *  that indicates the type ofdata in the structure. See 
         * .
         */
        descriptorType: DescType;
        constructor ();
        constructor (descriptorType: DescType, dataHandle: AEDataStorage!);
    }
    export class AEKeyDesc {
        /**
         * A descriptor of type 
         *  that stores the keyword descriptordata. See 
         * .
         */
        descContent: AEDesc;
        /**
         * A four-character code of type 
         *  that uniquely identifies thekey that is associated with the data in the structure. Some keywordconstants are described in 
         *  and 
         * .See 
         * .
         */
        descKey: AEKeyword;
        constructor ();
        constructor (descKey: AEKeyword, descContent: AEDesc);
    }
    export class AERemoteProcessResolverContext {
        /**
         * A prototype for a function callback that providesa description of the specified data. Called on the info pointer.This field may be 
         * .
         */
        copyDescription: CFAllocatorCopyDescriptionCallBack!;
        /**
         * A pointer to arbitrary information. The pointeris retained and passed to the callback, allowing you to provideinformation to that routine.
         */
        info: UnsafeMutableRawPointer!;
        /**
         * A prototype for a function callback that releasesthe specified data. Called on the info pointer. This field may be 
         * .
         */
        release: CFAllocatorReleaseCallBack!;
        /**
         * A prototype for a function callback that retainsthe specified data. Called on the info pointer. This field may be 
         * .
         */
        retain: CFAllocatorRetainCallBack!;
        /**
         * This should be set to zero (0).
         */
        version: CFIndex;
        constructor ();
        constructor (version: CFIndex, info: UnsafeMutableRawPointer!, retain: CFAllocatorRetainCallBack!, release: CFAllocatorReleaseCallBack!, copyDescription: CFAllocatorCopyDescriptionCallBack!);
    }
    export class MDExporterInterfaceStruct {
        AddRef: ()=>any;
        ImporterExportData: ()=>any;
        QueryInterface: ()=>any;
        Release: ()=>any;
        constructor ();
        constructor (_reserved: UnsafeMutableRawPointer!, QueryInterface: ()=>any, AddRef: ()=>any, Release: ()=>any, ImporterExportData: ()=>any);
    }
    export class MDImporterBundleWrapperURLInterfaceStruct {
        AddRef: ()=>any;
        ImporterImportBundleWrapperURLData: ()=>any;
        QueryInterface: ()=>any;
        Release: ()=>any;
        constructor ();
        constructor (_reserved: UnsafeMutableRawPointer!, QueryInterface: ()=>any, AddRef: ()=>any, Release: ()=>any, ImporterImportBundleWrapperURLData: ()=>any);
    }
    export class MDImporterInterfaceStruct {
        AddRef: ()=>any;
        ImporterImportData: ()=>any;
        QueryInterface: ()=>any;
        Release: ()=>any;
        constructor ();
        constructor (_reserved: UnsafeMutableRawPointer!, QueryInterface: ()=>any, AddRef: ()=>any, Release: ()=>any, ImporterImportData: ()=>any);
    }
    export class MDImporterURLInterfaceStruct {
        AddRef: ()=>any;
        ImporterImportURLData: ()=>any;
        QueryInterface: ()=>any;
        Release: ()=>any;
        constructor ();
        constructor (_reserved: UnsafeMutableRawPointer!, QueryInterface: ()=>any, AddRef: ()=>any, Release: ()=>any, ImporterImportURLData: ()=>any);
    }
    export class MDLabelDomain {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class MDQuerySortOptionFlags {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class MDLabel {}
    export class MDQueryBatchingParams {
        /**
         * The maximum number of milliseconds that can passbefore the first progress notification is sent. This value is advisory,in that the notification will be triggered at some point after 
         *  millisecondshave passed since the query began accumulating results. This valueis used only during the initial result-gathering phase of a query.
         */
        first_max_ms: number;
        /**
         * The maximum number of results that can accumulatebefore the first progress notification is sent. This value is usedonly during the initial result-gathering phase of a query.
         */
        first_max_num: number;
        /**
         * The maximum number of milliseconds that can passbefore additional progress notifications are sent. This value isadvisory, in that the notification will be triggered at some pointafter 
         *  millisecondshave passed since the query began accumulating results. This valueis used only during the initial result-gathering phase of a query.
         */
        progress_max_ms: number;
        /**
         * The maximum number of results that can accumulatebefore additional progress notifications are sent. This value isused only during the initial result-gathering phase of a query.
         */
        progress_max_num: number;
        /**
         * The maximum number of milliseconds that can passbefore an update notification is sent. This value is advisory, inthat the notification will be triggered at some point after 
         *  millisecondshave passed since the query began accumulating results. This valueis used only during the live-update phase of a query.
         */
        update_max_ms: number;
        /**
         * The maximum number of results that can accumulatebefore an update notification is sent. This value is used only duringthe live-update phase of a query.
         */
        update_max_num: number;
        constructor ();
        constructor (first_max_num: number, first_max_ms: number, progress_max_num: number, progress_max_ms: number, update_max_num: number, update_max_ms: number);
    }
    export class MDQuery {}
    export class MDQueryOptionFlags {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class CSIdentity {}
    export class CSIdentityAuthority {}
    export class CSIdentityQuery {}
    export class CSIdentityClientContext {
        copyDescription: CFAllocatorCopyDescriptionCallBack!;
        info: UnsafeMutableRawPointer!;
        release: CFAllocatorReleaseCallBack!;
        retain: CFAllocatorRetainCallBack!;
        statusUpdated: CSIdentityStatusUpdatedCallback!;
        version: CFIndex;
        constructor ();
        constructor (version: CFIndex, info: UnsafeMutableRawPointer!, retain: CFAllocatorRetainCallBack!, release: CFAllocatorReleaseCallBack!, copyDescription: CFAllocatorCopyDescriptionCallBack!, statusUpdated: CSIdentityStatusUpdatedCallback!);
    }
    export class CSIdentityQueryClientContext {
        copyInfoDescription: CFAllocatorCopyDescriptionCallBack!;
        info: UnsafeMutableRawPointer!;
        receiveEvent: CSIdentityQueryReceiveEventCallback!;
        releaseInfo: CFAllocatorReleaseCallBack!;
        retainInfo: CFAllocatorRetainCallBack!;
        version: CFIndex;
        constructor ();
        constructor (version: CFIndex, info: UnsafeMutableRawPointer!, retainInfo: CFAllocatorRetainCallBack!, releaseInfo: CFAllocatorReleaseCallBack!, copyInfoDescription: CFAllocatorCopyDescriptionCallBack!, receiveEvent: CSIdentityQueryReceiveEventCallback!);
    }
    export class SKIndexDocumentIterator {}
    export class SKIndex {}
    export class SKSearch {}
    export class SKSummary {}
    export class SKSearchResults {}
    export class SKSearchGroup {}
    export class SKDocumentIndexState {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class SKIndexType {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class SKSearchType {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class UCKeyboardLayout {
        /**
         * An unsigned 16-bit integer identifying the version of the data in the resource, in binary code decimal format. For example, 0x0100 would equal version 1.0.
         */
        keyLayoutDataVersion: UInt16;
        /**
         * An unsigned 32-bit integer providing an offset to a structure of type 
         * , if such is used in the resource. May be 0 if no 
         *  table is included in the resource.
         */
        keyLayoutFeatureInfoOffset: UInt32;
        /**
         * An unsigned 16-bit integer identifying the format of the structure. Set to 
         * .
         */
        keyLayoutHeaderFormat: UInt16;
        /**
         * An unsigned 32-bit integer specifying the number of 
         *  structures in the 
         *  field’s array.
         */
        keyboardTypeCount: UInt32;
        /**
         * A variable-length array containing structures of type 
         * . Each 
         *  entry specifies a range of physical keyboard types and contains offsets to each of the key mapping sections to be used for that range of keyboard types. 
         */
        keyboardTypeList: (UCKeyboardTypeHeader);
        constructor ();
        constructor (keyLayoutHeaderFormat: UInt16, keyLayoutDataVersion: UInt16, keyLayoutFeatureInfoOffset: UInt32, keyboardTypeCount: UInt32, keyboardTypeList: (UCKeyboardTypeHeader));
    }
    export class UCKeyboardTypeHeader {
        /**
         * An unsigned 32-bit integer providing an offset to a structure of type 
         * . The 
         *  resource requires a 
         *  structure, therefore this field must contain a non-zero value.
         */
        keyModifiersToTableNumOffset: UInt32;
        /**
         * An unsigned 32-bit integer providing an offset to a structure of type 
         * , if such is used in the resource. This value may be 0 if no character key sequences are included in the resource.
         */
        keySequenceDataIndexOffset: UInt32;
        /**
         * An unsigned 32-bit integer providing an offset to a structure of type 
         * , if such is used in the resource. This value may be 0 if no dead-key state records are included in the resource.
         */
        keyStateRecordsIndexOffset: UInt32;
        /**
         * An unsigned 32-bit integer providing an offset to a structure of type 
         * , if such is used in the resource. This value may be 0 if no dead-key state terminators are included in the resource.
         */
        keyStateTerminatorsOffset: UInt32;
        /**
         * An unsigned 32-bit integer providing an offset to a structure of type 
         * . The 
         *  resource requires a 
         *  structure, therefore this field must contain a non-zero value.
         */
        keyToCharTableIndexOffset: UInt32;
        /**
         * An unsigned 32-bit integer specifying the first keyboard type in this entry. For the initial entry (that is, the default entry) in an array of 
         *  structures, you should set this value to 0. The initial 
         *  entry is used if the keyboard type passed to the function 
         *  does not match any other entry, that is, if it is not within the range of values specified by 
         *  and 
         *  for any entry.
         */
        keyboardTypeFirst: UInt32;
        /**
         * An unsigned 32-bit integer specifying the last keyboard type in this entry. For the initial entry (that is, the default entry) in an array of 
         *  structures, you should set this value to 0.
         */
        keyboardTypeLast: UInt32;
        constructor ();
        constructor (keyboardTypeFirst: UInt32, keyboardTypeLast: UInt32, keyModifiersToTableNumOffset: UInt32, keyToCharTableIndexOffset: UInt32, keyStateRecordsIndexOffset: UInt32, keyStateTerminatorsOffset: UInt32, keySequenceDataIndexOffset: UInt32);
    }
    export class UCKeyLayoutFeatureInfo {
        /**
         * An unsigned 16-bit integer identifying the format of the 
         *  structure. Set to 
         * .
         */
        keyLayoutFeatureInfoFormat: UInt16;
        /**
         * An unsigned 32-bit integer specifying the longest possible output string of Unicode characters to be produced by this 
         *  resource.
         */
        maxOutputStringLength: UInt32;
        /**
         * Reserved. Set to 0.
         */
        reserved: UInt16;
        constructor ();
        constructor (keyLayoutFeatureInfoFormat: UInt16, reserved: UInt16, maxOutputStringLength: UInt32);
    }
    export class UCKeyModifiersToTableNum {
        /**
         * An unsigned 16-bit integer identifying the table number to use for modifier combinations that are outside of the range included in the 
         *  field.
         */
        defaultTableNum: UInt16;
        /**
         * An unsigned 16-bit integer identifying the format of the 
         *  structure. Set to 
         * .
         */
        keyModifiersToTableNumFormat: UInt16;
        /**
         * An unsigned 32-bit integer specifying the range of modifier bit combinations for which there are entries in the 
         *  field.
         */
        modifiersCount: UInt32;
        /**
         * An array of unsigned 8-bit integers that map modifier bit combinations to table numbers. These values are indexes into the 
         *  array in a 
         * structure; these, in turn, are offsets to the actual key-code-to character tables, which follow the 
         *  structure in the 
         *  resource.
         */
        tableNum: (UInt8);
        constructor ();
        constructor (keyModifiersToTableNumFormat: UInt16, defaultTableNum: UInt16, modifiersCount: UInt32, tableNum: (UInt8));
    }
    export class UCKeySequenceDataIndex {
        /**
         * An unsigned 16-bit integer specifying the number of Unicode character sequences that follow the end of the 
         *  structure.
         */
        charSequenceCount: UInt16;
        /**
         * An array of offsets from the beginning of the 
         *  structure to the Unicode character sequences that follow it. Because a given offset indicates both the beginning of a new character sequence and the end of the sequence that precedes it, the length of each sequence is determined by the difference between the offset to that sequence and the value of the next offset in the array. The array contains one more entry than the number of character sequences; the final entry is the offset to the end of the final character sequence.
         */
        charSequenceOffsets: (UInt16);
        /**
         * An unsigned 16-bit integer identifying the format of the 
         *  structure. Set to 
         * .
         */
        keySequenceDataIndexFormat: UInt16;
        constructor ();
        constructor (keySequenceDataIndexFormat: UInt16, charSequenceCount: UInt16, charSequenceOffsets: (UInt16));
    }
    export class UCKeyStateEntryRange {
        /**
         * A value of type 
         * . This base character value is used to determine the actual Unicode character(s) produced when a given dead-key state terminates. 
         */
        charData: UCKeyCharSeq;
        /**
         * An unsigned 8-bit integer specifying the number of entries in a given dead-key state range.
         */
        curStateRange: UInt8;
        /**
         * An unsigned 16-bit integer specifying the beginning of a given dead-key state range.
         */
        curStateStart: UInt16;
        /**
         * An unsigned 8-bit integer.
         */
        deltaMultiplier: UInt8;
        /**
         * An unsigned 16-bit integer. This base dead-key state value is used to determine the following dead-key state, if any.
         */
        nextState: UInt16;
        constructor ();
        constructor (curStateStart: UInt16, curStateRange: UInt8, deltaMultiplier: UInt8, charData: UCKeyCharSeq, nextState: UInt16);
    }
    export class UCKeyStateEntryTerminal {
        /**
         * A value of type 
         *  specifying the Unicode character(s) produced when a given character key is pressed. 
         */
        charData: UCKeyCharSeq;
        /**
         * An unsigned 16-bit integer specifying the current dead-key state.
         */
        curState: UInt16;
        constructor ();
        constructor (curState: UInt16, charData: UCKeyCharSeq);
    }
    export class UCKeyStateRecord {
        /**
         * An unsigned 16-bit integer specifying the number of elements in the 
         *  field’s array for a given dead-key state record.
         */
        stateEntryCount: UInt16;
        /**
         * An array of dead-key state entries, whose size depends on their format, but which will always be a multiple of 4 bytes. Each entry maps from the current dead-key state to the Unicode character(s) that result when a given character key is pressed or to the next dead-key state, if any. The format of the entry is specified by the 
         *  field to be either that of type 
         *  or 
         * .
         */
        stateEntryData: (UInt32);
        /**
         * An unsigned 16-bit integer specifying the format of the data in the 
         *  field’s array. This should be 0 if the 
         *  field is set to 0. Currently available values are 
         *  and 
         * ; see 
         *  for descriptions of these values.
         */
        stateEntryFormat: UInt16;
        /**
         * A value of type 
         *  specifying the Unicode character(s) produced from a given key code while no dead-key state is in effect. 
         */
        stateZeroCharData: UCKeyCharSeq;
        /**
         * An unsigned 16-bit integer specifying the dead-key state produced from a given key code when no previous dead-key state is in effect. If the 
         *  structure does not initiate a dead-key state (but only provides terminators for other dead-key states), this will be 0. A non-zero value specifies the resulting new dead-key state and refers to the current state entry within the 
         *  field for the following dead-key state record that is applied.
         */
        stateZeroNextState: UInt16;
        constructor ();
        constructor (stateZeroCharData: UCKeyCharSeq, stateZeroNextState: UInt16, stateEntryCount: UInt16, stateEntryFormat: UInt16, stateEntryData: (UInt32));
    }
    export class UCKeyStateRecordsIndex {
        /**
         * An unsigned 16-bit integer specifying the number of dead-key state records that are included in the resource.
         */
        keyStateRecordCount: UInt16;
        /**
         * An array of offsets from the beginning of the resource to each of the 
         *  values that follow this structure in the 
         *  resource.
         */
        keyStateRecordOffsets: (UInt32);
        /**
         * An unsigned 16-bit integer identifying the format of the 
         *  structure. Set to 
         * .
         */
        keyStateRecordsIndexFormat: UInt16;
        constructor ();
        constructor (keyStateRecordsIndexFormat: UInt16, keyStateRecordCount: UInt16, keyStateRecordOffsets: (UInt32));
    }
    export class UCKeyStateTerminators {
        /**
         * An unsigned 16-bit integer specifying the number of default dead-key state terminators contained in the 
         *  array.
         */
        keyStateTerminatorCount: UInt16;
        /**
         * An array of default dead-key state terminators, described as values of type 
         * ; the value 
         *  is the terminator for state 1, and so on. 
         */
        keyStateTerminators: (UCKeyCharSeq);
        /**
         * An unsigned 16-bit integer identifying the format of the 
         *  structure. Set to 
         * .
         */
        keyStateTerminatorsFormat: UInt16;
        constructor ();
        constructor (keyStateTerminatorsFormat: UInt16, keyStateTerminatorCount: UInt16, keyStateTerminators: (UCKeyCharSeq));
    }
    export class UCKeyToCharTableIndex {
        /**
         * An unsigned 32-bit integer specifying the number of key-code-to-character tables, typically 6 to 12.
         */
        keyToCharTableCount: UInt32;
        /**
         * An unsigned 16-bit integer identifying the format of the 
         *  structure. Set to 
         * .
         */
        keyToCharTableIndexFormat: UInt16;
        /**
         * An array of offsets from the beginning of the 
         *  resource to each of the 
         *  key-code-to-character tables in the 
         *  array that follows this structure in the resource.
         */
        keyToCharTableOffsets: (UInt32);
        /**
         * An unsigned 16-bit integer specifying the number of virtual key codes supported by this resource; for ADB keyboards this is 128 (with virtual key codes ranging from 0 to 127).
         */
        keyToCharTableSize: UInt16;
        constructor ();
        constructor (keyToCharTableIndexFormat: UInt16, keyToCharTableSize: UInt16, keyToCharTableCount: UInt32, keyToCharTableOffsets: (UInt32));
    }
    export class FSEventStreamContext {
        /**
         * The callback used to create a descriptive string representation of the info pointer (or the data pointed to by the info pointer) for debugging purposes. This can be NULL.
         */
        copyDescription: CFAllocatorCopyDescriptionCallBack | null;
        /**
         * An arbitrary client-defined value (for instance, a pointer) to be associated with the stream and passed to the callback when it is invoked. If a non-NULL value is supplied for the retain callback the framework will use it to retain this value. If a non-NULL value is supplied for the release callback then when the stream is deallocated it will be used to release this value. This can be NULL.
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * The callback used release a retain on the info pointer. This can be NULL.
         */
        release: CFAllocatorReleaseCallBack | null;
        /**
         * The callback used retain the info pointer. This can be NULL.
         */
        retain: CFAllocatorRetainCallBack | null;
        /**
         * Currently the only valid value is zero.
         */
        version: CFIndex;
        constructor ();
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: CFAllocatorRetainCallBack | null, release: CFAllocatorReleaseCallBack | null, copyDescription: CFAllocatorCopyDescriptionCallBack | null);
    }
    export class IntlText {
        theLangCode: LangCode;
        theScriptCode: ScriptCode;
        theText: (CChar);
        constructor ();
        constructor (theScriptCode: ScriptCode, theLangCode: LangCode, theText: (CChar));
    }
    export class OffsetArray {
        fNumOfOffsets: Int16;
        fOffset: (Int32);
        constructor ();
        constructor (fNumOfOffsets: Int16, fOffset: (Int32));
    }
    export class TScriptingSizeResource {
        maxHeapSize: UInt32;
        maxStackSize: UInt32;
        minHeapSize: UInt32;
        minStackSize: UInt32;
        preferredHeapSize: UInt32;
        preferredStackSize: UInt32;
        scriptingSizeFlags: Int16;
        constructor ();
        constructor (scriptingSizeFlags: Int16, minStackSize: UInt32, preferredStackSize: UInt32, maxStackSize: UInt32, minHeapSize: UInt32, preferredHeapSize: UInt32, maxHeapSize: UInt32);
    }
    export class TextRange {
        fEnd: Int32;
        fHiliteStyle: Int16;
        fStart: Int32;
        constructor ();
        constructor (fStart: Int32, fEnd: Int32, fHiliteStyle: Int16);
    }
    export class TextRangeArray {
        fNumOfRanges: Int16;
        fRange: (TextRange);
        constructor ();
        constructor (fNumOfRanges: Int16, fRange: (TextRange));
    }
    export class WritingCode {
        theLangCode: LangCode;
        theScriptCode: ScriptCode;
        constructor ();
        constructor (theScriptCode: ScriptCode, theLangCode: LangCode);
    }
    export class ccntTokenRecord {
        /**
         * A token for the current container. (Token is definedin 
         * . See 
         * .
         */
        token: AEDesc;
        /**
         * The class ID of the container represented by the 
         *  parameter.See 
         * .
         */
        tokenClass: DescType;
        constructor ();
        constructor (tokenClass: DescType, token: AEDesc);
    }
    export class DCSDictionary {}
    export class LSLaunchURLSpec {
        /**
         * A Core Foundation URL reference designating the application to launch; see the 
         *  in the Core Foundation Reference Documentation for a description of the 
         *  data type.The URL must have scheme 
         *  and contain a valid path to an application file or application bundle. Set this field to 
         *  to request that each item in the 
         *  array be opened in its own preferred application.
         */
        appURL: Unmanaged<CFURL> | null;
        /**
         * A pointer to an arbitrary application-defined value, passed in the Carbon event notifying you of an application’s launch or termination (if you have registered for such notification). The value of this field can be 
         * .
         */
        asyncRefCon: UnsafeMutableRawPointer | null;
        /**
         * A reference to an array of Core Foundation URL references designating the item or items to open; see the 
         *  in the Core Foundation Reference Documentation for a description of the 
         *  data type. The value of this field can be 
         * , in which case the application designated by 
         *  will be launched without opening any items.
         */
        itemURLs: Unmanaged<CFArray> | null;
        /**
         * Launch flags specifying how to launch each application (including whether to print or merely open documents); see 
         *  for a description of these flags.
         */
        launchFlags: LSLaunchFlags;
        /**
         * A pointer to an Apple event descriptor that is passed untouched as an optional parameter, with keyword 
         *  (
         * ), in the Apple event sent to each application launched or activated (whether individual preferred applications or the application designated by 
         * ). See the 
         *  in the Carbon Interapplication Communication Documentation for a description of the 
         *  data type. The value of this field can be 
         * .
         */
        passThruParams: UnsafePointer<AEDesc> | null;
        /**
         * Create a launch URL.
         */
        constructor ();
        /**
         * Create a launch URL with the provided parameters.
         */
        constructor (appURL: Unmanaged<CFURL> | null, itemURLs: Unmanaged<CFArray> | null, passThruParams: UnsafePointer<AEDesc> | null, launchFlags: LSLaunchFlags, asyncRefCon: UnsafeMutableRawPointer | null);
    }
    export class LSSharedFileList {}
    export class LSSharedFileListItem {}
    export class LSRolesMask {
        /**
         * Requests the role 
         *  (theapplication cannot open the item, but provides an icon and a kindstring for it).
         */
        static none: LSRolesMask;
        /**
         * Requests the role 
         *  (theapplication can read and present the item, but cannot manipulateor save it).
         */
        static viewer: LSRolesMask;
        /**
         * Requests the role 
         *  (theapplication can read, present, manipulate, and save the item).
         */
        static editor: LSRolesMask;
        /**
         * Requests the role 
         *  (theapplication can execute the item).
         */
        static shell: LSRolesMask;
        /**
         * Accepts any role with respect to the item.
         */
        static all: LSRolesMask;
        constructor (rawValue: OptionBits);
    }
    export class LSLaunchFlags {
        /**
         * Requests launching in the default manner (as if the only flags set were 
         * , 
         * , and 
         * ).
         */
        static defaults: LSLaunchFlags;
        /**
         * Requests that documents opened in the application be printed.
         */
        static andPrint: LSLaunchFlags;
        /**
         * Requests that launch and open failures be displayed in the UI.
         */
        static andDisplayErrors: LSLaunchFlags;
        /**
         * Requests that the application or documents not be added to the Finder’s Recent Items menu.
         */
        static dontAddToRecents: LSLaunchFlags;
        /**
         * Requests that the application be launched without being brought to the foreground.
         */
        static dontSwitch: LSLaunchFlags;
        /**
         * Requests that the application be launched asynchronously.
         */
        static async: LSLaunchFlags;
        /**
         * Requests that a new instance of the application be started, even if one is already running.
         */
        static newInstance: LSLaunchFlags;
        /**
         * Requests that the application be hidden as soon as it completes its launch sequence.
         */
        static andHide: LSLaunchFlags;
        /**
         * Requests that other applications be hidden as soon as the opened application completes its launch sequence.
         */
        static andHideOthers: LSLaunchFlags;
        constructor (rawValue: OptionBits);
    }
    export class LSAcceptanceFlags {
        /**
         * Requests the default behavior that does not require the user interface to log in be presented.
         */
        static acceptDefault: LSAcceptanceFlags;
        /**
         * Requests that the user interface to log in be presented.
         */
        static acceptAllowLoginUI: LSAcceptanceFlags;
        /**
         * Creates a new acceptance flag from the given raw value.
         */
        constructor (rawValue: OptionBits);
    }
    export class LSItemInfoFlags {
        /**
         * Item is a data file (and not, for example, a directory, volume, or UNIX symbolic link).
         */
        static isPlainFile: LSItemInfoFlags;
        /**
         * Item is a packaged directory.
         */
        static isPackage: LSItemInfoFlags;
        /**
         * Item is a single-file or packaged application.
         */
        static isApplication: LSItemInfoFlags;
        /**
         * Item is a directory (includes packages) or volume.
         */
        static isContainer: LSItemInfoFlags;
        /**
         * Item is an alias file (includes symbolic links).
         */
        static isAliasFile: LSItemInfoFlags;
        /**
         * Item is a UNIX symbolic link.
         */
        static isSymlink: LSItemInfoFlags;
        /**
         * Item is invisible, because either its name begins with a period or its 
         *  Finder flag is set.
         */
        static isInvisible: LSItemInfoFlags;
        /**
         * Item is an application that can run natively in macOS.
         */
        static isNativeApp: LSItemInfoFlags;
        /**
         * Item is an application that cannot run natively and must be launched in the Classic emulation environment.
         */
        static isClassicApp: LSItemInfoFlags;
        /**
         * Item is an application that can run either natively or in the Classic emulation environment, but prefers to be launched natively. This flag is valid only when 
         *  is set.
         */
        static appPrefersNative: LSItemInfoFlags;
        /**
         * Item is an application that can run either natively or in the Classic emulation environment, but prefers tobe launched in the Classic environment. This flag is valid only when 
         *  isset.
         */
        static appPrefersClassic: LSItemInfoFlags;
        /**
         * Item is an application that can be scripted.
         */
        static appIsScriptable: LSItemInfoFlags;
        /**
         * Item is the root directory of a volume or mount point.
         */
        static isVolume: LSItemInfoFlags;
        /**
         * Item has a hidden filename extension.
         */
        static extensionIsHidden: LSItemInfoFlags;
        constructor (rawValue: OptionBits);
    }
    export class AEArrayData {
        kAEDataArray: (Int16);
        kAEDescArray: (AEDesc);
        kAEHandleArray: any;
        kAEKeyDescArray: (AEKeyDesc);
        kAEPackedArray: (CChar);
        constructor ();
        constructor (kAEDataArray: (Int16));
        constructor (kAEDescArray: (AEDesc));
        constructor (kAEHandleArray: any);
        constructor (kAEKeyDescArray: (AEKeyDesc));
        constructor (kAEPackedArray: (CChar));
    }
    export class LSHandlerOptions {
        /**
         * When set, causes Launch Services to ignorethe content item’s creator when selecting a role handler for thespecified content type.
         */
        static ignoreCreator: LSHandlerOptions;
        constructor (rawValue: OptionBits);
    }
    export class LSRequestedInfo {
        /**
         * Requests the item’s filename extension.
         */
        static requestExtension: LSRequestedInfo;
        /**
         * Requests the item’s file type and creator signature.
         */
        static requestTypeCreator: LSRequestedInfo;
        /**
         * Requests all item-information flags that are not application-specific: that is, all except 
         *  through 
         * .
         */
        static requestBasicFlagsOnly: LSRequestedInfo;
        /**
         * Requests all application-specific item-information flags: that is, 
         *  through 
         * .
         */
        static requestAppTypeFlags: LSRequestedInfo;
        /**
         * Requests all item-information flags.
         */
        static requestAllFlags: LSRequestedInfo;
        /**
         * Not used.
         */
        static requestIconAndKind: LSRequestedInfo;
        /**
         * Requests only the 
         *  item-information flag.
         */
        static requestExtensionFlagsOnly: LSRequestedInfo;
        /**
         * Requests all available item information.
         */
        static requestAllInfo: LSRequestedInfo;
        constructor (rawValue: OptionBits);
    }
    export class LSApplicationParameters {
        /**
         * The 
         *  ofthe application to open.
         */
        application: UnsafePointer<FSRef>!;
        /**
         * An array of values of type 
         *  that specify the arguments that are to be passed to 
         *  in the launched process. The value of this field can be 
         * . This field is ignored in macOS 10.4.
         */
        argv: Unmanaged<CFArray>!;
        /**
         * The client 
         *  thatis to appear in subsequent launch notifications.
         */
        asyncLaunchRefCon: UnsafeMutableRawPointer!;
        /**
         * A dictionary of 
         *  keysand values for environment variables to set in the launched process.The value of this field can be 
         * .
         */
        environment: Unmanaged<CFDictionary>!;
        /**
         * Launch flags. For possible values, see 
         * .
         */
        flags: LSLaunchFlags;
        /**
         * The first Apple Event to send to the launchedprocess. The value of this field can be 
         * .
         */
        initialEvent: UnsafeMutablePointer<AppleEvent>!;
        /**
         * The version of the structure. The value of thisfield must be 
         * .
         */
        version: CFIndex;
        constructor ();
        constructor (version: CFIndex, flags: LSLaunchFlags, application: UnsafePointer<FSRef>!, asyncLaunchRefCon: UnsafeMutableRawPointer!, environment: Unmanaged<CFDictionary>!, argv: Unmanaged<CFArray>!, initialEvent: UnsafeMutablePointer<AppleEvent>!);
    }
    export class LSLaunchFSRefSpec {
        /**
         * A pointer to a file-system reference designatingthe application to launch; see the 
         *  inthe Carbon File Management Documentation for a description of the 
         *  datatype. Set this field to 
         *  torequest that each item in the 
         *  arraybe opened in its own preferred application.
         */
        appRef: UnsafePointer<FSRef>!;
        /**
         * A pointer to an arbitrary application-definedvalue, passed in the Carbon event notifying you of an application’slaunch or termination (if you have registered for such notification).The value of this field can be 
         * .
         */
        asyncRefCon: UnsafeMutableRawPointer!;
        /**
         * An array of file-system references designatingthe item or items to open. If the value of 
         *  is 
         * ,this field is ignored and can be set to 
         * .
         */
        itemRefs: UnsafePointer<FSRef>!;
        /**
         * Launch flags specifying how to launch each application(including whether to print or merely open documents); see 
         *  fora description of these flags.
         */
        launchFlags: LSLaunchFlags;
        /**
         * The number of elements in the array specifiedby the 
         *  field.The value of this field can be 
         * ,in which case the application designated by 
         *  islaunched without opening any items.
         */
        numDocs: number;
        /**
         * A pointer to an Apple event descriptor that ispassed untouched as an optional parameter, with keyword 
         *  (
         * ),in the Apple event sent to each application launched or activated(whether individual preferred applications or the application designatedby 
         * ). See the 
         *  in the Carbon Interapplication CommunicationDocumentation for a description of the 
         *  datatype. The value of this field can be 
         * .
         */
        passThruParams: UnsafePointer<AEDesc>!;
        constructor ();
        constructor (appRef: UnsafePointer<FSRef>!, numDocs: number, itemRefs: UnsafePointer<FSRef>!, passThruParams: UnsafePointer<AEDesc>!, launchFlags: LSLaunchFlags, asyncRefCon: UnsafeMutableRawPointer!);
    }
    export class LSItemInfoRecord {
        /**
         * The item’s creator signature.
         */
        creator: OSType;
        /**
         * A Core Foundation string object specifying theitem’s filename extension; see the 
         *  inthe Core Foundation Reference Documentation for a description ofthe 
         *  datatype.
         */
        extension: Unmanaged<CFString>!;
        /**
         * The item’s file type.
         */
        filetype: OSType;
        /**
         * Item-information flags specifying informationabout the item; see 
         *  for a description of these flags.
         */
        flags: LSItemInfoFlags;
        constructor ();
        constructor (flags: LSItemInfoFlags, filetype: OSType, creator: OSType, extension: Unmanaged<CFString>!);
    }
}

/**
 * Index your app so users can search the content from Spotlight and Safari.
 */
declare module CoreSpotlight {
    export class CSSearchableItem extends NSObject {
        /**
         * The set of attributes that contain metadata associated with the item in a 
         *  object.
         */
        attributeSet: CSSearchableItemAttributeSet;
        /**
         * An optional identifier that represents the domain or owner of the item.
         */
        domainIdentifier: string;
        /**
         * The date after which the searchable item should no longer exist.
         */
        expirationDate: Date!;
        /**
         * The value that uniquely identifies the searchable item within your app.
         */
        uniqueIdentifier: string;
        /**
         * Returns a searchable item associated with the specified identifier, domain identifier, and attribute set.
         */
        constructor (uniqueIdentifier: string, domainIdentifier: string, attributeSet: CSSearchableItemAttributeSet);
        compare(other: CSSearchableItem):ComparisonResult;
    }
    export class CSSearchableItemAttributeSet extends NSObject {
        /**
         * The media types present in the content.
         */
        mediaTypes: string[] | null;
        /**
         * A list of companies or organizations that created the content.
         */
        organizations: string[] | null;
        /**
         * A value that indicates if the content is prepared for streaming.
         */
        streamable: NSNumber | null;
        /**
         * The total bit rate of the media, combining audio and video.
         */
        totalBitRate: NSNumber | null;
        /**
         * The audio bit rate of the media.
         */
        audioBitRate: NSNumber | null;
        /**
         * A version string associated with the file.
         */
        version: string;
        /**
         * The video bit rate of the media.
         */
        videoBitRate: NSNumber | null;
        /**
         * A list of people, organizations, or services that made contributions to the media content.
         */
        contributors: string[] | null;
        /**
         * A list of the included languages for the intellectual content of the media.
         */
        languages: string[] | null;
        /**
         * A list of people, organizations, services, or other entities responsible for making the media available.
         */
        publishers: string[] | null;
        /**
         * A link to information about the rights held in and over the media.
         */
        rights: string;
        /**
         * Indicates the role of the content creator.
         */
        role: string;
        /**
         * A value that indicates if the media contains explicit content.
         */
        contentRating: NSNumber | null;
        /**
         * A list of descriptors that specify the extent or scope of the media.
         */
        coverage: string[] | null;
        /**
         * The name of the director of the media (for example, a movie director).
         */
        director: string;
        /**
         * The genre of the media.
         */
        genre: string;
        /**
         * Information about the media.
         */
        information: string;
        /**
         * A value that indicates if the media is local.
         */
        local: NSNumber | null;
        /**
         * The original format of the media.
         */
        originalFormat: string;
        /**
         * The original source of the media.
         */
        originalSource: string;
    }
    export class CSCustomAttributeKey extends NSObject {
        /**
         * The name of the custom attribute key.
         */
        keyName: string;
        /**
         * A Boolean value that indicates if the custom attribute is likely to have multiple values, such as arrays, associated with it.
         */
        isMultiValued: boolean;
        /**
         * A Boolean value that indicates if the custom attribute can be specified as a search term. 
         */
        isSearchable: boolean;
        /**
         * A Boolean value that indicates if the custom attribute should be searchable by default. 
         */
        isSearchableByDefault: boolean;
        /**
         * A Boolean value that indicates if duplicate custom attribute values should be treated as the same value to save storage space. 
         */
        isUnique: boolean;
        /**
         * Returns a new custom attribute key with the specified name.
         */
        constructor (keyName: string);
        /**
         * Returns a new custom attribute key with the specified name and properties.
         */
        constructor (keyName: string, searchable: boolean, searchableByDefault: boolean, unique: boolean, multiValued: boolean);
    }
    export class CSSearchableIndex extends NSObject {
        /**
         * The delegate object that can handle index-management tasks.
         */
        indexDelegate: CSSearchableIndexDelegate | null;
        /**
         * Returns an on-device index with the specified name.
         */
        constructor (name: string);
        /**
         * Returns an on-device index with the specified name and data protection class.
         */
        constructor (name: string, protectionClass: FileProtectionType | null);
        /**
         * Returns a Boolean value that indicates whether indexing is available on the current device.
         */
        static isIndexingAvailable():boolean;
        /**
         * Returns the default on-device index.
         */
        static default():Self;
        /**
         * Deletes all searchable items from the index.
         */
        deleteAllSearchableItems(completionHandler: ()=>any | null):void;
        /**
         * Removes from the index all searchable items associated with the specified domain.
         */
        deleteSearchableItems(domainIdentifiers: string[], completionHandler: ()=>any | null):void;
        /**
         * Adds or updates items in the index.
         */
        indexSearchableItems(items: CSSearchableItem[], completionHandler: ()=>any | null):void;
        /**
         * Begins a batch of updates to an index.
         */
        beginBatch():void;
        /**
         * Ends a batch of index updates and stores the specified state information.
         */
        endBatch(clientState: Data, completionHandler: ()=>any | null):void;
        /**
         * Gets the app’s most recently stored state information.
         */
        fetchLastClientState(completionHandler: ()=>any):void;
        fetchData(bundleIdentifier: string, itemIdentifier: string, contentType: UTType, completionHandler: ()=>any):void;
    }
    export interface CSSearchableIndexDelegate extends NSObjectProtocol {
        data(searchableIndex: CSSearchableIndex, itemIdentifier: string, typeIdentifier: string):Data;
        fileURL(searchableIndex: CSSearchableIndex, itemIdentifier: string, typeIdentifier: string, inPlace: boolean):URL;
        /**
         * Tells the delegate to reindex all searchable data and clear all local state information.
         */
        searchableIndex(searchableIndex: CSSearchableIndex, acknowledgementHandler: ()=>any):void;
        /**
         * Tells the delegate that indexing is being throttled.
         */
        searchableIndexDidThrottle(searchableIndex: CSSearchableIndex):void;
        /**
         * Tells the delegate that the index throttling has finished.
         */
        searchableIndexDidFinishThrottle(searchableIndex: CSSearchableIndex):void;
    }
    export class CSIndexExtensionRequestHandler extends NSObject {}
    export class CSLocalizedString extends NSString {
        /**
         * Initializes a 
         *  object with the specified dictionary of localized strings.
         */
        constructor (localizedStrings: Record<AnyHashable, any>);
        /**
         * Returns the localized string for the current language.
         */
        localizedString():string;
    }
    export class CSPerson extends NSObject {
        /**
         * The identifier for the contact associated with the person.
         */
        contactIdentifier: string;
        /**
         * A display name for the person.
         */
        displayName: string;
        /**
         * A key that identifies the type of contact property represented by the person object’s handle.
         */
        handleIdentifier: string;
        /**
         * An array of contact handles related to the person.
         */
        handles: string[];
        /**
         * Returns a new 
         *  object initialized with the specified display name and contact attributes.
         */
        constructor (displayName: string, handles: string[], handleIdentifier: string);
    }
    export class CSImportExtension extends NSObject {
        /**
         * Provides searchable attributes for a file at the specified URL.
         */
        update(attributes: CSSearchableItemAttributeSet, contentURL: URL):void;
    }
    export class CSSearchQuery extends NSObject {
        /**
         * An array of data protection classes that correspond to the protection classes associated with the indexed items.
         */
        protectionClasses: FileProtectionType[];
        /**
         * A Boolean value that indicates if the system has canceled the query.
         */
        isCancelled: boolean;
        /**
         * The block to execute when the query completes.
         */
        completionHandler: ()=>any | null;
        /**
         * The number of items found so far.
         */
        foundItemCount: number;
        /**
         * The block to execute when the query finds a new batch of matching items.
         */
        foundItemsHandler: ()=>any | null;
        results: CSSearchQuery.Results;
        /**
         * Initializes and returns a query object with the specified query string and item attributes.
         */
        constructor (queryString: string, attributes: string[] | null);
        /**
         * Initializes and returns a query object with the specified query string and query context.
         */
        constructor (queryString: string, queryContext: CSSearchQueryContext | null);
        /**
         * Queries the index for items that match the query object’s specifications.
         */
        start():void;
        /**
         * Cancels a query operation.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class CSSearchQuery
     */
    export namespace CSSearchQuery {
        export class Results {
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: Item):boolean;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<CSSearchQuery.Results>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<CSSearchQuery.Results>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<CSSearchQuery.Results>;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Item | null;
            makeAsyncIterator():CSSearchQuery.Results.Iterator;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Item | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Item | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<CSSearchQuery.Results>;
        }
        /**
         * the same name namespace of class Results
         */
        export namespace Results {
            export class Item {
                hashValue: number;
                id: string;
                item: CSSearchableItem;
                hash(hasher: Hasher):void;
            }
            export class Iterator {
                next():CSSearchQuery.Results.Item | null;
            }
        }
    }
    export class CSSearchQueryContext extends NSObject {
        /**
         * The attributes the system fetches for the searchable items.
         */
        fetchAttributes: string[];
        /**
         * The query string used to filter the results.
         */
        filterQueries: string[];
        /**
         * The language used for the query.
         */
        keyboardLanguage: string;
        /**
         * The query source options to allow or deny Mail messages in the search.
         */
        sourceOptions: CSSearchQueryContext.SourceOptions;
    }
    /**
     * the same name namespace of class CSSearchQueryContext
     */
    export namespace CSSearchQueryContext {
        export class SourceOptions {
            /**
             * The query allows Mail messages in the search.
             */
            static allowMail: CSSearchQueryContext.SourceOptions;
            constructor (rawValue: number);
        }
    }
    export class CSUserQuery extends CSSearchQuery {
        /**
         * The number of suggested items found so far.
         */
        foundSuggestionCount: number;
        /**
         * The block to execute when the query finds a new batch of suggested items.
         */
        foundSuggestionsHandler: ()=>any | null;
        responses: CSUserQuery.Responses;
        suggestions: CSUserQuery.Suggestions;
        constructor (userQueryString: string, userQueryContext: CSUserQueryContext | null);
        /**
         * Queries the index for items that match the query object’s specifications.
         */
        start():void;
        /**
         * Cancels a query operation.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class CSUserQuery
     */
    export namespace CSUserQuery {
        export class Item {
            hashValue: number;
            id: string;
            item: CSSearchableItem;
            hash(hasher: Hasher):void;
        }
        export class Responses {
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: Response):boolean;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<CSUserQuery.Responses>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<CSUserQuery.Responses>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<CSUserQuery.Responses>;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Response | null;
            makeAsyncIterator():CSUserQuery.Responses.Iterator;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Response | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Response | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<CSUserQuery.Responses>;
        }
        /**
         * the same name namespace of class Responses
         */
        export namespace Responses {
            export class Iterator {
                next():CSUserQuery.Responses.Element | null;
            }
            export enum Response {
                item,
                suggestion,
            }
        }
        export class Suggestion {
            hashValue: number;
            id: string;
            suggestion: CSSuggestion;
            hash(hasher: Hasher):void;
        }
        export class Suggestions {
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: CSUserQuery.Suggestion):boolean;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<CSUserQuery.Suggestions>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<CSUserQuery.Suggestions>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<CSUserQuery.Suggestions>;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):CSUserQuery.Suggestion | null;
            makeAsyncIterator():CSUserQuery.Suggestions.Iterator;
            /**
             * Returns the maximum element in an asynchronous sequence of comparable elements.
             */
            max():CSUserQuery.Suggestion | null;
            /**
             * Returns the minimum element in an asynchronous sequence of comparable elements.
             */
            min():CSUserQuery.Suggestion | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<CSUserQuery.Suggestions>;
        }
        /**
         * the same name namespace of class Suggestions
         */
        export namespace Suggestions {
            export class Iterator {
                next():CSUserQuery.Suggestions.Element | null;
            }
        }
    }
    export class CSUserQueryContext extends CSSearchQueryContext {
        /**
         * The maximum number of search suggestions.
         */
        maxSuggestionCount: number;
        enableRankedResults: boolean;
        maxResultCount: number;
        /**
         * Initializes and returns a user query object with the current suggestion.
         */
        constructor (currentSuggestion: CSSuggestion | null);
    }
    export class CSSuggestion extends NSObject {
        /**
         * The type of suggestion.
         */
        suggestionKind: CSSuggestion.SuggestionKind;
        localizedAttributedSuggestion: AttributedString;
        /**
         * Compares the suggestion with a second specified suggestion.
         */
        compare(other: CSSuggestion):ComparisonResult;
    }
    /**
     * the same name namespace of class CSSuggestion
     */
    export namespace CSSuggestion {
        export enum SuggestionKind {
            none = 0,
            custom = 1,
            default = 2,
        }
    }
    export class CSIndexError {
        static errorDomain: string;
        static indexUnavailableError: CSIndexError.Code;
        static indexingUnsupported: CSIndexError.Code;
        static invalidClientStateError: CSIndexError.Code;
        static invalidItemError: CSIndexError.Code;
        static quotaExceeded: CSIndexError.Code;
        static remoteConnectionError: CSIndexError.Code;
        static unknownError: CSIndexError.Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CSIndexError
     */
    export namespace CSIndexError {
        export enum Code {
            indexUnavailableError = -1000,
            indexingUnsupported = -1005,
            invalidClientStateError = -1002,
            invalidItemError = -1001,
            quotaExceeded = -1004,
            remoteConnectionError = -1003,
            unknownError = -1,
        }
    }
    export class CSSearchQueryError {
        static cancelled: CSSearchQueryError.Code;
        static errorDomain: string;
        static indexUnreachable: CSSearchQueryError.Code;
        static invalidQuery: CSSearchQueryError.Code;
        static unknown: CSSearchQueryError.Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class CSSearchQueryError
     */
    export namespace CSSearchQueryError {
        export enum Code {
            cancelled = -2003,
            indexUnreachable = -2001,
            invalidQuery = -2002,
            unknown = -2000,
        }
    }
}

/**
 * Access information about a user’s cellular service provider, such as its unique identifier and whether the carrier allows VoIP.
 */
declare module CoreTelephony {
    export class CTCarrier extends NSObject {
        /**
         * Indicates if the carrier allows making VoIP calls on its network.
         */
        allowsVOIP: boolean;
        /**
         * The name of the user’s home cellular service provider.
         */
        carrierName: string;
        /**
         * The ISO country code for the user’s cellular service provider.
         */
        isoCountryCode: string;
        /**
         * The mobile country code (MCC) for the user’s cellular service provider.
         */
        mobileCountryCode: string;
        /**
         * The mobile network code for the user’s cellular service provider.
         */
        mobileNetworkCode: string;
    }
    export class CTTelephonyNetworkInfo extends NSObject {
        /**
         * A dictionary that contains carrier information about each service.
         */
        serviceSubscriberCellularProviders: Record<string, CTCarrier> | null;
        /**
         * A block dispatched when there are updates to the user’s cellular provider information for any service.
         */
        serviceSubscriberCellularProvidersDidUpdateNotifier: ()=>any | null;
        /**
         * The current radio access technology registered with the device.
         */
        currentRadioAccessTechnology: string;
        /**
         * Information about the user’s cellular service provider.
         */
        subscriberCellularProvider: CTCarrier | null;
        /**
         * A block dispatched when the user’s cellular service provider information changes.
         */
        subscriberCellularProviderDidUpdateNotifier: ()=>any | null;
        /**
         * The identifier of the service that’s currently providing data.
         */
        dataServiceIdentifier: string;
        /**
         * An object that the system notifies when the data service identifier changes.
         */
        delegate: CTTelephonyNetworkInfoDelegate | null;
    }
    export class CTCellularPlanProvisioning extends NSObject {
        supportsEmbeddedSIM: boolean;
        /**
         * Indicates whether the device supports eSIM.
         */
        supportsCellularPlan():boolean;
        /**
         * Starts the provisioning process for a specified eSIM.
         */
        addPlan(request: CTCellularPlanProvisioningRequest, completionHandler: ()=>any):void;
    }
    export enum CTCellularPlanProvisioningAddPlanResult {
        fail = 1,
        success = 2,
        unknown = 0,
    }
    export class CTCellularPlanProvisioningRequest extends NSObject {
        /**
         * The address of the carrier network’s eSIM server.
         */
        address: string;
        /**
         * The provisioning request’s confirmation code, provided by the network operator when initiating an eSIM download.
         */
        confirmationCode: string;
        /**
         * The provisioning request’s eUICC identifier (EID).
         */
        eid: string;
        /**
         * The provisioning request’s Integrated Circuit Card Identifier (ICCID).
         */
        iccid: string;
        /**
         * The provisioning request’s matching identifier (MatchingID).
         */
        matchingID: string;
        /**
         * The provisioning request’s Object Identifier (OID).
         */
        oid: string;
    }
    export class CTSubscriber extends NSObject {
        /**
         * An implementation-defined identifier used to correlate this subscriber with information vended by other APIs.
         */
        identifier: string;
        /**
         * A data object containing authorization information about the subscriber.
         */
        carrierToken: Data | null;
        /**
         * A delegate that receives updates on the subscriber information.
         */
        delegate: CTSubscriberDelegate | null;
    }
    export interface CTSubscriberDelegate {
        /**
         * Tells the delegate the subscriber’s token refreshed.
         */
        subscriberTokenRefreshed(subscriber: CTSubscriber):void;
    }
    export class CTSubscriberInfo extends NSObject {
        /**
         * Returns the cellular network subscribers.
         */
        static subscribers():CTSubscriber[];
        /**
         * Returns the cellular network subscribers.
         */
        static subscriber():CTSubscriber;
    }
    export class CTCellularData extends NSObject {
        /**
         * The current state of cellular data restrictions.
         */
        restrictedState: CTCellularDataRestrictedState;
        /**
         * A block that handles cellular data restriction state changes.
         */
        cellularDataRestrictionDidUpdateNotifier: CellularDataRestrictionDidUpdateNotifier | null;
    }
    export enum CTCellularDataRestrictedState {
        notRestricted = 2,
        restricted = 1,
        restrictedStateUnknown = 0,
    }
    export class CTCall extends NSObject {
        /**
         * A unique identifier for the cellular call.
         */
        callID: string;
        /**
         * The state of the cellular call.
         */
        callState: string;
    }
    export class CTCallCenter extends NSObject {
        /**
         * A closure dispatched when a call changes state.
         */
        callEventHandler: ()=>any | null;
        /**
         * An array representing the cellular calls in progress.
         */
        currentCalls: Set<CTCall> | null;
    }
    export class CTError {
        /**
         * A numeric indication of the error domain.
         */
        domain: Int32;
        /**
         * A code indicating the specific error.
         */
        error: Int32;
        /**
         * Creates a Core Telephony error instance.
         */
        constructor ();
        /**
         * Creates a Core Telephony error instance with the given values.
         */
        constructor (domain: Int32, error: Int32);
    }
    export interface CTTelephonyNetworkInfoDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate when the identifier changes for the service that’s currently providing data.
         */
        dataServiceIdentifierDidChange(identifier: string):void;
    }
}

/**
 * Create text layouts, optimize font handling, and access font metrics and glyph data.
 */
declare module CoreText {
    export class CTFontCollectionCopyOptions {
        /**
         * Passing this option indicates that the return values should be sorted in standard UI order, suitable for display to the user. This is the same sorting behavior used by 
         *  and Font Book.
         */
        static standardSort: CTFontCollectionCopyOptions;
        /**
         * Passing this option indicates that duplicate values should be removed from the results.
         */
        static unique: CTFontCollectionCopyOptions;
        /**
         * Creates a copy options structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class CTFontDescriptor {}
    export enum CTFontOrientation {
        default = 0,
        horizontal = 1,
        vertical = 2,
    }
    export class CTFrame {}
    export enum CTFramePathFillRule {
        evenOdd = 0,
        windingNumber = 1,
    }
    export enum CTFontUIFontType {
        none = 4294967295,
        user = 0,
        userFixedPitch = 1,
        system = 2,
        emphasizedSystem = 3,
        smallSystem = 4,
        smallEmphasizedSystem = 5,
        miniSystem = 6,
        miniEmphasizedSystem = 7,
        views = 8,
        application = 9,
        label = 10,
        menuTitle = 11,
        menuItem = 12,
        menuItemMark = 13,
        menuItemCmdKey = 14,
        windowTitle = 15,
        pushButton = 16,
        utilityWindowTitle = 17,
        alertHeader = 18,
        systemDetail = 19,
        emphasizedSystemDetail = 20,
        toolbar = 21,
        smallToolbar = 22,
        message = 23,
        palette = 24,
        toolTip = 25,
        controlContent = 26,
    }
    export enum CTFrameProgression {
        topToBottom = 0,
        rightToLeft = 1,
        leftToRight = 2,
    }
    export class CTFramesetter {}
    export enum CTFontFormat {
        unrecognized = 0,
        openTypePostScript = 1,
        openTypeTrueType = 2,
        trueType = 3,
        postScript = 4,
        bitmap = 5,
    }
    export class CTGlyphInfo {}
    export enum CTCharacterCollection {
        identityMapping = 0,
        adobeCNS1 = 1,
        adobeGB1 = 2,
        adobeJapan1 = 3,
        adobeJapan2 = 4,
        adobeKorea1 = 5,
    }
    export class CTFontTableOptions {
        /**
         * Creates a font table options structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class CTLine {}
    export enum CTLineTruncationType {
        start = 0,
        end = 1,
        middle = 2,
    }
    export class CTFontOptions {
        /**
         * Prevents automatic font activation.
         */
        static preventAutoActivation: CTFontOptions;
        /**
         * Font matching prefers to match Apple system fonts.
         */
        static preferSystemFont: CTFontOptions;
        static preventAutoDownload: CTFontOptions;
        /**
         * Creates a font options structure with the specified raw value.
         */
        constructor (rawValue: CFOptionFlags);
    }
    export class CTParagraphStyleSetting {
        /**
         * The specifier of the setting. See 
         *  for possible values.
         */
        spec: CTParagraphStyleSpecifier;
        /**
         * A reference to the value of the setting specified by the 
         *  field. The value must be in the proper range for the 
         *  value and at least as large as the size specified in 
         * .
         */
        value: UnsafeRawPointer;
        /**
         * The size of the value pointed to by the 
         *  field. This value must match the size of the value required by the 
         *  set in the 
         *  field.
         */
        valueSize: number;
        constructor (spec: CTParagraphStyleSpecifier, valueSize: number, value: UnsafeRawPointer);
    }
    export class CTFontSymbolicTraits {
        /**
         * The font typestyle is italic.
         */
        static traitItalic: CTFontSymbolicTraits;
        /**
         * The font typestyle is boldface.
         */
        static traitBold: CTFontSymbolicTraits;
        /**
         * The font typestyle is expanded.
         */
        static traitExpanded: CTFontSymbolicTraits;
        /**
         * The font typestyle is condensed.
         */
        static traitCondensed: CTFontSymbolicTraits;
        /**
         * The font uses fixed-pitch glyphs if available.
         */
        static traitMonoSpace: CTFontSymbolicTraits;
        /**
         * The font uses vertical glyph variants and metrics.
         */
        static traitVertical: CTFontSymbolicTraits;
        /**
         * The font synthesizes appropriate attributes for user interface rendering, such as control titles, if necessary.
         */
        static traitUIOptimized: CTFontSymbolicTraits;
        /**
         * The font contains color glyphs.
         */
        static traitColorGlyphs: CTFontSymbolicTraits;
        /**
         * The font is in Composite Font Reference format.
         */
        static traitComposite: CTFontSymbolicTraits;
        /**
         * Mask for the font class.
         */
        static traitClassMask: CTFontSymbolicTraits;
        /**
         * The font typestyle is italic.
         */
        static italicTrait: CTFontSymbolicTraits;
        /**
         * The font typestyle is boldface.
         */
        static boldTrait: CTFontSymbolicTraits;
        /**
         * The font typestyle is expanded.
         */
        static expandedTrait: CTFontSymbolicTraits;
        /**
         * The font typestyle is condensed.
         */
        static condensedTrait: CTFontSymbolicTraits;
        /**
         * The font uses fixed-pitch glyphs if available.
         */
        static monoSpaceTrait: CTFontSymbolicTraits;
        /**
         * The font uses vertical glyph variants and metrics.
         */
        static verticalTrait: CTFontSymbolicTraits;
        /**
         * The font synthesizes appropriate attributes for user interface rendering, such as control titles, if necessary.
         */
        static uiOptimizedTrait: CTFontSymbolicTraits;
        /**
         * The font contains color glyphs.
         */
        static colorGlyphsTrait: CTFontSymbolicTraits;
        /**
         * The font is in Composite Font Reference format.
         */
        static compositeTrait: CTFontSymbolicTraits;
        /**
         * Mask for the font class.
         */
        static classMaskTrait: CTFontSymbolicTraits;
        /**
         * Creates a symbolic traits structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class CTParagraphStyle {}
    export enum CTTextAlignment {
        left = 0,
        right = 1,
        center = 2,
        justified = 3,
        natural = 4,
    }
    export class CTRun {}
    export class CTRunStatus {
        /**
         * The run proceeds from right to left.
         */
        static rightToLeft: CTRunStatus;
        /**
         * The run isn't in strictly increasing or decreasing order. 
         */
        static nonMonotonic: CTRunStatus;
        /**
         * The run requires a specific text matrix to be set in the current Core Graphics context for proper drawing.
         */
        static hasNonIdentityMatrix: CTRunStatus;
        /**
         * Creates a run status structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class CTFontStylisticClass {
        /**
         * A font style based on the Latin printing style of the 15th to 17th century.
         */
        static classOldStyleSerifs: CTFontStylisticClass;
        /**
         * A font style based on the Latin printing style of the 18th to 19th century.
         */
        static classTransitionalSerifs: CTFontStylisticClass;
        /**
         * A font style based on the Latin printing style of the 20th century.
         */
        static classModernSerifs: CTFontStylisticClass;
        /**
         * A font style variation of the Oldstyle Serifs and the Transitional Serifs.
         */
        static classClarendonSerifs: CTFontStylisticClass;
        /**
         * A font style characterized by serifs with a square transition between the strokes and the serifs (no brackets).
         */
        static classSlabSerifs: CTFontStylisticClass;
        /**
         * A font style that includes serifs but expresses a design freedom that doesn’t generally fit within the other serif design classifications.
         */
        static classFreeformSerifs: CTFontStylisticClass;
        /**
         * A font style that includes most basic letter forms (excluding Scripts and Ornamentals) that do not have serifs on the strokes.
         */
        static classSansSerif: CTFontStylisticClass;
        /**
         * A font style that includes highly decorated or stylized character shapes such as those typically used in headlines.
         */
        static classOrnamentals: CTFontStylisticClass;
        /**
         * A font style among those typefaces designed to simulate handwriting.
         */
        static classScripts: CTFontStylisticClass;
        /**
         * A generally design-independent font style.
         */
        static classSymbolic: CTFontStylisticClass;
        /**
         * The font’s style is based on the Latin printing style of the 15th to 17th century.
         */
        static oldStyleSerifsClass: CTFontStylisticClass;
        /**
         * The font’s style is based on the Latin printing style of the 18th to 19th century.
         */
        static transitionalSerifsClass: CTFontStylisticClass;
        /**
         * The font’s style is based on the Latin printing style of the 20th century.
         */
        static modernSerifsClass: CTFontStylisticClass;
        /**
         * The font’s style is a variation of the Oldstyle Serifs and the Transitional Serifs.
         */
        static clarendonSerifsClass: CTFontStylisticClass;
        /**
         * The font’s style is characterized by serifs with a square transition between the strokes and the serifs (no brackets).
         */
        static slabSerifsClass: CTFontStylisticClass;
        /**
         * The font’s style includes serifs but expresses a design freedom that doesn’t generally fit within the other serif design classifications.
         */
        static freeformSerifsClass: CTFontStylisticClass;
        /**
         * The font’s style includes most basic letter forms (excluding Scripts and Ornamentals) that do not have serifs on the strokes.
         */
        static sansSerifClass: CTFontStylisticClass;
        /**
         * The font’s style includes highly decorated or stylized character shapes such as those typically used in headlines.
         */
        static ornamentalsClass: CTFontStylisticClass;
        /**
         * The font’s style is among those typefaces designed to simulate handwriting.
         */
        static scriptsClass: CTFontStylisticClass;
        /**
         * The font’s style is generally design independent.
         */
        static symbolicClass: CTFontStylisticClass;
        /**
         * Creates a stylistic class structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
    export enum CTLineBreakMode {
        byWordWrapping = 0,
        byCharWrapping = 1,
        byClipping = 2,
        byTruncatingHead = 3,
        byTruncatingTail = 4,
        byTruncatingMiddle = 5,
    }
    export class CTRunDelegateCallbacks {
        /**
         * The callback invoked when the retain count of a CTRunDelegate reaches 0 and the CTRunDelegate is deallocated. This callback may be 
         * .
         */
        dealloc: CTRunDelegateDeallocateCallback;
        /**
         * The callback invoked to request the run delegate to determine and return the typographic ascent of glyphs in the run. This callback may be 
         * , which is equivalent to a 
         *  callback that always returns 0.
         */
        getAscent: CTRunDelegateGetAscentCallback;
        /**
         * The callback invoked to request the run delegate to determine and return the typographic descent of glyphs in the run. This callback may be 
         * , which is equivalent to a 
         *  callback that always returns 0.
         */
        getDescent: CTRunDelegateGetDescentCallback;
        /**
         * The callback invoked to request the run delegate to determine and return the typographic width of glyphs in the run. This callback may be 
         * , which is equivalent to a 
         *  callback that always returns 0.
         */
        getWidth: CTRunDelegateGetWidthCallback;
        /**
         * The version number of the callbacks being passed in as a parameter to 
         * . The initial version is 
         * .
         */
        version: CFIndex;
        constructor (version: CFIndex, dealloc: CTRunDelegateDeallocateCallback, getAscent: CTRunDelegateGetAscentCallback, getDescent: CTRunDelegateGetDescentCallback, getWidth: CTRunDelegateGetWidthCallback);
    }
    export enum CTWritingDirection {
        natural = -1,
        leftToRight = 0,
        rightToLeft = 1,
    }
    export class CTTextTab {}
    export enum CTParagraphStyleSpecifier {
        alignment = 0,
        firstLineHeadIndent = 1,
        headIndent = 2,
        tailIndent = 3,
        tabStops = 4,
        defaultTabInterval = 5,
        lineBreakMode = 6,
        lineHeightMultiple = 7,
        maximumLineHeight = 8,
        minimumLineHeight = 9,
        paragraphSpacing = 11,
        paragraphSpacingBefore = 12,
        baseWritingDirection = 13,
        maximumLineSpacing = 14,
        minimumLineSpacing = 15,
        lineSpacingAdjustment = 16,
        count = 18,
        lineBoundsOptions = 17,
    }
    export class CTRunDelegate {}
    export class CTTypesetter {}
    export class CTUnderlineStyle {
        /**
         * A specifier that indicates to draw an underline consisting of a single line.
         */
        static single: CTUnderlineStyle;
        /**
         * A specifier that indicates to draw an underline consisting of a thick line.
         */
        static thick: CTUnderlineStyle;
        /**
         * A specifier that indicates to draw an underline consisting of a double line.
         */
        static double: CTUnderlineStyle;
        /**
         * Creates an underline style structure with the specified raw value.
         */
        constructor (rawValue: Int32);
    }
    export class CTLineBoundsOptions {
        /**
         * An option to exclude typographic leading.
         */
        static excludeTypographicLeading: CTLineBoundsOptions;
        /**
         * An option to ignore cross-stream shifts due to positioning, such as kerning or baseline alignment.
         */
        static excludeTypographicShifts: CTLineBoundsOptions;
        /**
         * An option to include additional space based on common glyph sequences for various languages.
         */
        static includeLanguageExtents: CTLineBoundsOptions;
        /**
         * An option to use glyph path bounds rather than the default typographic bounds.
         */
        static useGlyphPathBounds: CTLineBoundsOptions;
        /**
         * An option to enable hanging punctuation.
         */
        static useHangingPunctuation: CTLineBoundsOptions;
        /**
         * An option to use optical bounds.
         */
        static useOpticalBounds: CTLineBoundsOptions;
        /**
         * Creates a line bound options enumeration with the specified raw value.
         */
        constructor (rawValue: CFOptionFlags);
    }
    export class CTUnderlineStyleModifiers {
        /**
         * A modifier that indicates to draw a solid underline.
         */
        static patternSolid: CTUnderlineStyleModifiers;
        /**
         * A modifier that indicates to draw an underline using a pattern of dots.
         */
        static patternDot: CTUnderlineStyleModifiers;
        /**
         * A modifier that indicates to draw an underline using a pattern of dashes.
         */
        static patternDash: CTUnderlineStyleModifiers;
        /**
         * A modifier that indicates to draw an underline using a pattern of alternating dashes and dots.
         */
        static patternDashDot: CTUnderlineStyleModifiers;
        /**
         * A modifier that indicates to draw an underline using a pattern of a dash followed by two dots.
         */
        static patternDashDotDot: CTUnderlineStyleModifiers;
        /**
         * Creates an underline style modifiers structure with the specified raw value.
         */
        constructor (rawValue: Int32);
    }
    export class CTFont {
        constructor (uiType: CTFontUIFontType, size: CGFloat);
        constructor (uiType: CTFontUIFontType, size: CGFloat, language: CFString | null);
        constructor (descriptor: CTFontDescriptor, matrix: CGAffineTransform);
        constructor (currentFont: CTFont, _string: CFString, range: CFRange);
        constructor (currentFont: CTFont, _string: CFString, range: CFRange, language: CFString | null);
    }
    export class LtagStringRange {
        length: UInt16;
        offset: UInt16;
        constructor ();
        constructor (offset: UInt16, length: UInt16);
    }
    export class LtagTable {
        flags: UInt32;
        numTags: UInt32;
        tagRange: (LtagStringRange);
        version: UInt32;
        constructor ();
        constructor (version: UInt32, flags: UInt32, numTags: UInt32, tagRange: (LtagStringRange));
    }
    export class SFNTLookupVectorHeader {
        count: UInt16;
        firstGlyph: UInt16;
        valueSize: UInt16;
        values: (UInt8);
        constructor ();
        constructor (valueSize: UInt16, firstGlyph: UInt16, count: UInt16, values: (UInt8));
    }
    export class CTRubyAnnotation {}
    export enum CTFontDescriptorMatchingState {
        didBegin = 0,
        didFinish = 1,
        willBeginQuerying = 2,
        stalled = 3,
        willBeginDownloading = 4,
        downloading = 5,
        didFinishDownloading = 6,
        didMatch = 7,
        didFailWithError = 8,
    }
    export enum CTFontManagerAutoActivationSetting {
        default = 0,
        disabled = 1,
        enabled = 2,
        promptUser = 3,
    }
    export enum CTFontManagerError {
        fileNotFound = 101,
        insufficientPermissions = 102,
        unrecognizedFormat = 103,
        invalidFontData = 104,
        alreadyRegistered = 105,
        exceededResourceLimit = 106,
        assetNotFound = 107,
        notRegistered = 201,
        inUse = 202,
        systemRequired = 203,
        registrationFailed = 301,
        missingEntitlement = 302,
        insufficientInfo = 303,
        cancelledByUser = 304,
        duplicatedName = 305,
        invalidFilePath = 306,
        unsupportedScope = 307,
    }
    export enum CTFontManagerScope {
        none = 0,
        process = 1,
        persistent = 2,
        session = 3,
    }
    export enum CTRubyAlignment {
        auto = 0,
        start = 1,
        center = 2,
        end = 3,
        distributeLetter = 4,
        distributeSpace = 5,
        lineEdge = 6,
        invalid = 255,
    }
    export class CTFontCollection {}
    export enum CTRubyOverhang {
        auto = 0,
        start = 1,
        end = 2,
        none = 3,
        invalid = 255,
    }
    export enum CTRubyPosition {
        before = 0,
        after = 1,
        interCharacter = 2,
        inline = 3,
        count = 4,
    }
    export class CTMutableFontCollection extends CTFontCollection {}
}

/**
 * Process digital video—including manipulation of individual frames—using a pipeline-based API and support for both Metal and OpenGL.
 */
declare module CoreVideo {
    export class CVBuffer {
        attachments: CMAttachmentBearerAttachments;
    }
    export class CVPixelBufferLockFlags {
        /**
         * A read-only buffer.
         */
        static readOnly: CVPixelBufferLockFlags;
        constructor (rawValue: CVOptionFlags);
    }
    export class CVPlanarComponentInfo {
        /**
         * The offset from the main base address to the base address of this plane. (big-endian)
         */
        offset: Int32;
        /**
         * The number of bytes per row of this plane. (big-endian)
         */
        rowBytes: UInt32;
        constructor ();
        constructor (offset: Int32, rowBytes: UInt32);
    }
    export class CVPlanarPixelBufferInfo {
        /**
         * An array containing a 
         *  structure for each plane of the buffer. 
         */
        componentInfo: (CVPlanarComponentInfo);
        constructor ();
        constructor (componentInfo: (CVPlanarComponentInfo));
    }
    export class CVPlanarPixelBufferInfo_YCbCrPlanar {
        /**
         * A 
         *  structure containing information on the Cb component of the buffer.
         */
        componentInfoCb: CVPlanarComponentInfo;
        /**
         * A 
         *  structure containing information on the Cr component of the buffer.
         */
        componentInfoCr: CVPlanarComponentInfo;
        /**
         * A 
         *  structure containing information on the Y component of the buffer.
         */
        componentInfoY: CVPlanarComponentInfo;
        constructor ();
        constructor (componentInfoY: CVPlanarComponentInfo, componentInfoCb: CVPlanarComponentInfo, componentInfoCr: CVPlanarComponentInfo);
    }
    export enum CVAttachmentMode {
        shouldNotPropagate = 0,
        shouldPropagate = 1,
    }
    export class CVPlanarPixelBufferInfo_YCbCrBiPlanar {
        /**
         * A 
         *  structure containing information on the Cb/Cr component of the buffer.
         */
        componentInfoCbCr: CVPlanarComponentInfo;
        /**
         * A 
         *  structure containing information on the Y component of the buffer.
         */
        componentInfoY: CVPlanarComponentInfo;
        constructor ();
        constructor (componentInfoY: CVPlanarComponentInfo, componentInfoCbCr: CVPlanarComponentInfo);
    }
    export class CVPixelBufferPool {}
    export class CVPixelBufferPoolFlushFlags {
        static excessBuffers: CVPixelBufferPoolFlushFlags;
        constructor (rawValue: CVOptionFlags);
    }
    export class CVFillExtendedPixelsCallBackData {
        fillCallBack: CVFillExtendedPixelsCallBack | null;
        /**
         * A pointer to application-defined data that is passed to your custom pixel fill function. 
         */
        refCon: UnsafeMutableRawPointer | null;
        /**
         * The version of this fill algorithm.
         */
        version: CFIndex;
        constructor ();
        constructor (version: CFIndex, fillCallBack: CVFillExtendedPixelsCallBack | null, refCon: UnsafeMutableRawPointer | null);
    }
    export class CVTime {
        /**
         * The flags associated with the 
         *  value. See 
         *  for possible values. If 
         *  is set, you should not use any of the other fields in this structure. 
         */
        flags: Int32;
        /**
         * The time scale for this value.
         */
        timeScale: Int32;
        /**
         * The time value.
         */
        timeValue: Int64;
        constructor ();
        constructor (timeValue: Int64, timeScale: Int32, flags: Int32);
    }
    export class CVTimeStamp {
        /**
         * A bit field containing additional information about the timestamp. See 
         *  for a list of possible values. .
         */
        flags: UInt64;
        /**
         * The system time measured by the timestamp.
         */
        hostTime: UInt64;
        /**
         * The current rate of the device as measured by the timestamps, divided by the nominal rate.
         */
        rateScalar: number;
        /**
         * Reserved. Do not use.
         */
        reserved: UInt64;
        /**
         * The SMPTE time representation of the timestamp.
         */
        smpteTime: CVSMPTETime;
        /**
         * The current 
         *  structure is version 0. Some functions require you to specify a version when passing in a timestamp structure to be filled. 
         */
        version: UInt32;
        videoRefreshPeriod: Int64;
        /**
         * The start of a frame (or field for interlaced video).
         */
        videoTime: Int64;
        /**
         * The scale (in units per second) of the 
         *  and 
         *  fields.
         */
        videoTimeScale: Int32;
        constructor ();
        constructor (version: UInt32, videoTimeScale: Int32, videoTime: Int64, hostTime: UInt64, rateScalar: number, videoRefreshPeriod: Int64, smpteTime: CVSMPTETime, flags: UInt64, reserved: UInt64);
    }
    export class CVSMPTETime {
        /**
         * The total number of messages received.
         */
        counter: UInt32;
        /**
         * A set of flags that indicate the SMPTE state. See 
         *  for possible values. 
         */
        flags: UInt32;
        /**
         * The number of frames in the full message.
         */
        frames: Int16;
        /**
         * The number of hours in the full message.
         */
        hours: Int16;
        /**
         * The number of minutes in the full message.
         */
        minutes: Int16;
        /**
         * The number of seconds in the full message.
         */
        seconds: Int16;
        /**
         * The number of subframes per frame (typically, 80).
         */
        subframeDivisor: Int16;
        /**
         * The number of subframes in the full message.
         */
        subframes: Int16;
        /**
         * The kind of SMPTE time type. See 
         *  for a list of possible values. 
         */
        type: UInt32;
        constructor ();
        constructor (subframes: Int16, subframeDivisor: Int16, counter: UInt32, type: UInt32, flags: UInt32, hours: Int16, minutes: Int16, seconds: Int16, frames: Int16);
    }
    export enum CVSMPTETimeType {
        type24 = 0,
        type25 = 1,
        type2997 = 4,
        type2997Drop = 5,
        type30 = 3,
        type30Drop = 2,
        type5994 = 7,
        type60 = 6,
    }
    export class CVSMPTETimeFlags {
        /**
         * Time is running.
         */
        static running: CVSMPTETimeFlags;
        /**
         * The full time is valid.
         */
        static valid: CVSMPTETimeFlags;
        constructor (rawValue: UInt32);
    }
    export class CVTimeFlags {
        /**
         * The time value is unknown. 
         */
        static isIndefinite: CVTimeFlags;
        constructor (rawValue: Int32);
    }
    export class CVTimeStampFlags {
        /**
         * The timestamp represents the bottom lines of an interlaced image. 
         */
        static bottomField: CVTimeStampFlags;
        /**
         * The value in the host time field is valid. 
         */
        static hostTimeValid: CVTimeStampFlags;
        /**
         * A convenience constant indicating that the timestamp is for an interlaced image. 
         */
        static isInterlaced: CVTimeStampFlags;
        /**
         * The value in the rate scalar field is valid. 
         */
        static rateScalarValid: CVTimeStampFlags;
        /**
         * The value in the SMPTE time field is valid. 
         */
        static smpteTimeValid: CVTimeStampFlags;
        /**
         * The timestamp represents the top lines of an interlaced image. 
         */
        static topField: CVTimeStampFlags;
        /**
         * A convenience constant indicating that both the video time and host time fields are valid. 
         */
        static videoHostTimeValid: CVTimeStampFlags;
        /**
         * The value in the video refresh period field is valid. 
         */
        static videoRefreshPeriodValid: CVTimeStampFlags;
        /**
         * The value in the video time field is valid.
         */
        static videoTimeValid: CVTimeStampFlags;
        constructor (rawValue: UInt64);
    }
    export class CVDisplayLink {}
    export class CVMetalTextureCache {}
    export class CVOpenGLTextureCache {}
    export class CVOpenGLBufferPool {}
    export class CVOpenGLESTextureCache {}
}

/**
 * Create machine learning models for use in your app.
 */
declare module CreateML {
    export class MLImageClassifier {
        /**
         * A description of the image classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * A text representation of the image classifier.
         */
        description: string;
        /**
         * The underlying Core ML model of the image classifier stored in memory.
         */
        model: MLModel;
        /**
         * The model configuration parameters the image classifier used during its
         *  
         * training session.
         */
        modelParameters: MLImageClassifier.ModelParameters;
        /**
         * A text representation of the image classifier that’s suitable for output
         *  
         * during debugging.
         */
        debugDescription: string;
        /**
         * Measurements of the image classifier’s performance on the training
         *  
         * dataset.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the image classifier’s performance on the validation
         *  
         * dataset.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * Creates an image classifier from a training session checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates an image classifier with a training dataset represented by a
         *  
         * data source.
         */
        constructor (trainingData: MLImageClassifier.DataSource, parameters: MLImageClassifier.ModelParameters);
        /**
         * Begins an asynchronous image classifier training session with a training
         *  
         * dataset represented by a data source.
         */
        static train(trainingData: MLImageClassifier.DataSource, parameters: MLImageClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLImageClassifier>;
        /**
         * Begins or continues an asynchronous image classifier training session.
         */
        static resume(session: MLTrainingSession<MLImageClassifier>):MLJob<MLImageClassifier>;
        /**
         * Creates an asynchronous training session for an image classifier by
         *  
         * restoring an existing training session’s state from its parameters.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLImageClassifier>;
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: MLImageClassifier.DataSource, parameters: MLImageClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLImageClassifier>;
        /**
         * Generates metrics describing the image classifier’s performance on
         *  
         * labeled images represented by a data source.
         */
        evaluation(labeledImages: MLImageClassifier.DataSource):MLClassifierMetrics;
        /**
         * Generates a prediction for an image.
         */
        prediction(image: CGImage):string;
        /**
         * Generates predictions for an array of images.
         */
        predictions(images: URL[]):string[];
        /**
         * Exports the image classifier as a Core ML model file to a location in
         *  
         * the file system.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLImageClassifier
     */
    export namespace MLImageClassifier {
        export class CustomFeatureExtractor {
            /**
             * The location of a neural network 
             *  file that takes an image
             *  
             * as an input.
             */
            modelPath: URL;
            /**
             * The name of the output from a feature extraction layer within the
             *  
             * model.
             */
            outputName: string;
            /**
             * Creates a custom feature extractor given a model file and an
             *  
             * optional output layer name.
             */
            constructor (modelPath: URL, outputName: string);
        }
        export class ModelParameters {}
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
        export enum FeatureExtractorType {}
        export enum DataSource {}
        export class ImageAugmentationOptions {
            /**
             * An option for augmenting training data by creating cropped versions
             *  
             * of each image.
             */
            static crop: MLImageClassifier.ImageAugmentationOptions;
            /**
             * An option for augmenting training data by rotating each image.
             */
            static rotation: MLImageClassifier.ImageAugmentationOptions;
            /**
             * An option for augmenting training data by blurring each image.
             */
            static blur: MLImageClassifier.ImageAugmentationOptions;
            /**
             * An option for augmenting training data by lightening or darkening
             *  
             * each image.
             */
            static exposure: MLImageClassifier.ImageAugmentationOptions;
            /**
             * An option for augmenting training data by adding random amounts of
             *  
             * noise to each image.
             */
            static noise: MLImageClassifier.ImageAugmentationOptions;
            /**
             * An option for augmenting training data by flipping each image along
             *  
             * the horizontal and vertical axes.
             */
            static flip: MLImageClassifier.ImageAugmentationOptions;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates an augmentation set with the given raw value.
             */
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a
             *  
             * member of the option set.
             */
            contains(member: Self):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Returns a new option set of the elements contained in this set, in the
             *  
             * given set, or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Returns a new option set with only the elements contained in both this
             *  
             * set and the given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes all elements of this option set that are not
             *  
             * also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Returns a new option set with the elements contained in this set or in
             *  
             * the given set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Replaces this set with a new set containing all elements
             *  
             * contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur
             *  
             * in the given set.
             */
            subtracting(other: Self):Self;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * subset of the given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of
             *  
             * another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * superset of the given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of
             *  
             * the given set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set has no members in
             *  
             * common with the given set.
             */
            isDisjoint(other: Self):boolean;
        }
    }
    export class MLSoundClassifier {
        /**
         * Measurements of the sound classifier’s performance on the training
         *  
         * dataset.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the sound classifier’s performance on the validation
         *  
         * dataset.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying model instance of the sound classifier stored in memory.
         */
        model: MLModel;
        /**
         * The model configuration parameters the sound classifier used during its
         *  
         * training session.
         */
        modelParameters: MLSoundClassifier.ModelParameters;
        /**
         * A text representation of the sound classifier.
         */
        description: string;
        /**
         * A text representation of the sound classifier that’s suitable for output
         *  
         * during debugging.
         */
        debugDescription: string;
        /**
         * A description of the sound classifier in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a sound classifier from a training session checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates a sound classifier with a training dataset represented by a data
         *  
         * source.
         */
        constructor (trainingData: MLSoundClassifier.DataSource, parameters: MLSoundClassifier.ModelParameters);
        /**
         * Generates metrics by evaluating the sound classifier’s performance on a
         *  
         * dataset represented by a data source.
         */
        evaluation(testingData: MLSoundClassifier.DataSource):MLClassifierMetrics;
        /**
         * Generates predictions for an array of audio files.
         */
        predictions(audioFiles: URL[]):string[];
        /**
         * Exports the sound classifier as a model file to a location in the file
         *  
         * system.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLSoundClassifier
     */
    export namespace MLSoundClassifier {
        export class FeatureExtractionParameters {
            /**
             * The proportion of overlap that the feature-extraction session uses
             *  
             * to analyze two consecutive windows in the audio data.
             */
            overlapFactor: number;
            /**
             * The algorithm type the session uses to extract features from audio
             *  
             * files.
             */
            featureExtractor: MLSoundClassifier.ModelParameters.FeatureExtractorType;
            /**
             * A time duration, in seconds, that determines how much audio data the
             *  
             * feature-extraction session reads each time it samples an audio file.
             */
            featureExtractionTimeWindowSize: TimeInterval;
            /**
             * Creates the parameters for a feature-extraction session.
             */
            constructor (overlapFactor: number, featureExtractor: MLSoundClassifier.ModelParameters.FeatureExtractorType, featureExtractionTimeWindowSize: TimeInterval | null);
            /**
             * Creates the parameters for a feature-extraction session with a
             *  
             * default time window size.
             */
            constructor (overlapFactor: number, featureExtractor: MLSoundClassifier.ModelParameters.FeatureExtractorType);
        }
        export enum DataSource {}
        export class ModelParameters {
            /**
             * The sound classifier’s validation dataset.
             */
            validation: MLSoundClassifier.ModelParameters.ValidationData;
            /**
             * The largest number of iterations the training session can use.
             */
            maxIterations: number;
            /**
             * The proportion of overlap that the training session uses to analyze
             *  
             * two consecutive windows in the audio data.
             */
            overlapFactor: number;
            /**
             * The algorithm the training session uses to train the sound
             *  
             * classifier.
             */
            algorithm: MLSoundClassifier.ModelParameters.ModelAlgorithmType;
            /**
             * A time duration, in seconds, the training session uses for each
             *  
             * audio sample it reads from an audio file in a dataset.
             */
            featureExtractionTimeWindowSize: TimeInterval;
            /**
             * A text representation of the model parameters.
             */
            description: string;
            /**
             * A text representation of the model parameters that’s suitable for output
             *  
             * during debugging.
             */
            debugDescription: string;
            /**
             * A description of the parameters in a playground.
             */
            playgroundDescription: any;
            /**
             * Creates a new set of training parameters for a sound classifier with
             *  
             * a validation dataset.
             */
            constructor (validation: MLSoundClassifier.ModelParameters.ValidationData, maxIterations: number, overlapFactor: number);
            /**
             * Creates a new set of training parameters for a sound classifier with
             *  
             * a validation dataset and a training algorithm.
             */
            constructor (validation: MLSoundClassifier.ModelParameters.ValidationData, maxIterations: number, overlapFactor: number, algorithm: MLSoundClassifier.ModelParameters.ModelAlgorithmType);
            /**
             * Creates a new set of training parameters for a sound classifier with
             *  
             * a validation dataset, a training algorithm, and a time-window size.
             */
            constructor (validation: MLSoundClassifier.ModelParameters.ValidationData, maxIterations: number, overlapFactor: number, algorithm: MLSoundClassifier.ModelParameters.ModelAlgorithmType, featureExtractionTimeWindowSize: TimeInterval);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
            export enum ModelAlgorithmType {}
            export enum FeatureExtractorType {}
            export enum FeaturePrintType {}
            export enum ClassifierType {}
        }
    }
    export class MLWordTagger {}
    /**
     * the same name namespace of class MLWordTagger
     */
    export namespace MLWordTagger {
        export enum ModelAlgorithmType {}
        export enum FeatureExtractorType {}
        export class ModelParameters {
            /**
             * A description of the model parameters in a playground.
             */
            playgroundDescription: any;
            /**
             * A text representation of the model parameters.
             */
            description: string;
        }
    }
    export class MLWordEmbedding {
        /**
         * A text representation of the word embedding that’s suitable for output
         *  
         * during debugging.
         */
        debugDescription: string;
        /**
         * A description of the word embedding shown in a playground.
         */
        playgroundDescription: any;
        /**
         * A text representation of the word embedding.
         */
        description: string;
    }
    /**
     * the same name namespace of class MLWordEmbedding
     */
    export namespace MLWordEmbedding {
        export class ModelParameters {
            /**
             * A description of the word embedding parameters shown in a playground.
             */
            playgroundDescription: any;
            /**
             * A text representation of the word embedding parameters.
             */
            description: string;
        }
    }
    export class MLHandActionClassifier {}
    /**
     * the same name namespace of class MLHandActionClassifier
     */
    export namespace MLHandActionClassifier {
        export class ModelParameters {
            /**
             * A text representation of the hand action parameters.
             */
            description: string;
        }
        export class VideoAugmentationOptions {
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Returns a Boolean value that indicates whether the set has no members in
             *  
             * common with the given set.
             */
            isDisjoint(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * subset of the given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * superset of the given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of
             *  
             * another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of
             *  
             * the given set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur
             *  
             * in the given set.
             */
            subtracting(other: Self):Self;
        }
    }
    export class MLTextClassifier {}
    /**
     * the same name namespace of class MLTextClassifier
     */
    export namespace MLTextClassifier {
        export class ModelParameters {
            /**
             * A text representation of the model parameters that’s suitable for output
             *  
             * during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters in a playground.
             */
            playgroundDescription: any;
            /**
             * A text representation of the model parameters.
             */
            description: string;
        }
        export enum ModelAlgorithmType {}
        export enum FeatureExtractorType {}
    }
    export class MLObjectDetector {
        /**
         * A text representation of the object detector that’s suitable for output
         *  
         * during debugging.
         */
        debugDescription: string;
        /**
         * A description of the object detector within a playground.
         */
        playgroundDescription: any;
    }
    /**
     * the same name namespace of class MLObjectDetector
     */
    export namespace MLObjectDetector {
        export class ObjectAnnotation {
            /**
             * A text representation of the object annotation that’s suitable for
             *  
             * output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the object annotation within a playground.
             */
            playgroundDescription: any;
            /**
             * A text representation of the object annotation.
             */
            description: string;
        }
        export enum DataSource {}
        export enum AnnotationType {}
        export class ModelParameters {
            /**
             * The object detector’s validation dataset for the training session.
             */
            validation: MLObjectDetector.ModelParameters.ValidationData;
            /**
             * The number of images the training session can use in a training
             *  
             * iteration.
             */
            batchSize: number;
            /**
             * The maximum number of iterations the training session can use.
             */
            maxIterations: number;
            /**
             * The algorithm the training session uses to train the object
             *  
             * detector.
             */
            algorithm: MLObjectDetector.ModelParameters.ModelAlgorithmType;
            /**
             * The number of rectangles, vertically and horizontally, the training
             *  
             * algorithm uses to analyze each input image.
             */
            gridSize: CGSize;
            /**
             * A text representation of the model parameters.
             */
            description: string;
            /**
             * A text representation of the model parameters that’s suitable for output
             *  
             * during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters within a playground.
             */
            playgroundDescription: any;
            /**
             * Creates a model parameters instance for an object-detector training
             *  
             * session set to use the full network algorithm.
             */
            constructor (validation: MLObjectDetector.ModelParameters.ValidationData, batchSize: number, maxIterations: number);
            /**
             * Creates a model parameters instance for an object-detector training
             *  
             * session.
             */
            constructor (validation: MLObjectDetector.ModelParameters.ValidationData, batchSize: number, maxIterations: number, gridSize: CGSize, algorithm: MLObjectDetector.ModelParameters.ModelAlgorithmType);
            /**
             * Creates a model parameters instance for an object-detector training
             *  
             * session set to use the full network algorithm.
             */
            constructor (validationData: MLObjectDetector.DataSource, batchSize: number, maxIterations: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
            export enum ModelAlgorithmType {}
            export enum FeatureExtractorType {}
        }
    }
    export class MLActivityClassifier {
        /**
         * Measurements of the activity classifier’s performance on the training
         *  
         * dataset.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the activity classifier’s performance on the validation
         *  
         * dataset.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model of the activity classifier stored in
         *  
         * memory.
         */
        model: MLModel;
        /**
         * The model configuration parameters the activity classifier used during
         *  
         * its training session.
         */
        modelParameters: MLActivityClassifier.ModelParameters;
        /**
         * The names of the feature columns the activity classifier used during its
         *  
         * training session.
         */
        featureColumns: string[];
        /**
         * The name of the label column the activity classifier used during its
         *  
         * training session.
         */
        labelColumn: string;
        /**
         * The name of the column that contains the data files the activity
         *  
         * classifier used during its training session.
         */
        recordingFileColumn: string;
        /**
         * A text representation of the activity classifier.
         */
        description: string;
        /**
         * A text representation of the activity classifier that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the activity classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates an activity classifier from a training session checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates an activity classifier with a training dataset represented by a
         *  
         * data source.
         */
        constructor (trainingData: MLActivityClassifier.DataSource, featureColumns: string[], labelColumn: string, recordingFileColumn: string, parameters: MLActivityClassifier.ModelParameters);
        /**
         * Begins an asynchronous activity classifier training session with a
         *  
         * training dataset represented by a data source.
         */
        static train(trainingData: MLActivityClassifier.DataSource, featureColumns: string[], labelColumn: string, recordingFileColumn: string, parameters: MLActivityClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLActivityClassifier>;
        /**
         * Creates an asynchronous training session for an activity classifier.
         */
        static makeTrainingSession(trainingData: MLDataTable, featureColumns: string[], labelColumn: string, recordingFileColumn: string, parameters: MLActivityClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLActivityClassifier>;
        /**
         * Begins or continues an asynchronous activity classifier training
         *  
         * session.
         */
        static resume(session: MLTrainingSession<MLActivityClassifier>):MLJob<MLActivityClassifier>;
        /**
         * Creates an asynchronous training session for an activity classifier by
         *  
         * restoring an existing training session’s state from its parameters.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLActivityClassifier>;
        /**
         * Generates metrics describing the activity classifier’s performance on
         *  
         * labeled activities in a data source.
         */
        evaluation(testingData: MLActivityClassifier.DataSource, featureColumns: string[], labelColumn: string, recordingFileColumn: string):MLClassifierMetrics;
        /**
         * Exports the activity classifier as a Core ML model file to a location in
         *  
         * the file system.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
        /**
         * Predict activities from new observations.
         */
        predictions(data: DataFrame, perWindowPrediction: boolean):string[];
    }
    /**
     * the same name namespace of class MLActivityClassifier
     */
    export namespace MLActivityClassifier {
        export enum DataSource {}
        export class ModelParameters {
            /**
             * The activity classifier’s validation dataset.
             */
            validationData: MLDataTable | null;
            /**
             * The number of sequence chunks the training session uses per
             *  
             * iteration.
             */
            batchSize: number;
            /**
             * The maximum number of iterations over the training data the training
             *  
             * session uses.
             */
            maximumIterations: number;
            /**
             * The number of samples for each labeled activity.
             */
            predictionWindowSize: number;
            /**
             * A text representation of the activity-model parameters.
             */
            description: string;
            /**
             * A text representation of the activity-model parameters that’s suitable
             *  
             * for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the activity-model parameters shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Creates a set of activity classifier parameters that includes a
             *  
             * validation dataset in a data source.
             */
            constructor (validationData: MLActivityClassifier.DataSource, batchSize: number, maximumIterations: number, predictionWindowSize: number);
        }
    }
    export enum MLClassifier {}
    export class MLDecisionTreeClassifier {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLDecisionTreeClassifier.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * categories the classifier predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * classifier.
         */
        featureColumns: string[];
        /**
         * Measurements of the classifier’s performance on the training data set.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the classifier’s performance on the validation data set.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the decision tree classifier.
         */
        description: string;
        /**
         * A text representation of the decision tree classifier that’s suitable
         *  
         * for output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the decision tree classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Decision Tree Classifier from the feature columns in the
         *  
         * training data to predict the categories in the target column.
         */
        constructor ();
        /**
         * Creates a decision tree classifier classifier  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLDecisionTreeClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLDecisionTreeClassifier>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLDecisionTreeClassifier>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLDecisionTreeClassifier>):MLJob<MLDecisionTreeClassifier>;
        /**
         * Trains a decision tree classifier.
         */
        static train(trainingData: DataFrame, targetColumn: string, featureColumns: string[] | null, parameters: MLDecisionTreeClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLDecisionTreeClassifier>;
        /**
         * Evaluates the classifier on the provided labeled data.
         */
        evaluation(labeledData: MLDataTable):MLClassifierMetrics;
        /**
         * Classifies the provided data into the target categories.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLDecisionTreeClassifier
     */
    export namespace MLDecisionTreeClassifier {
        export class ModelParameters {
            /**
             * The data used for the validation set to inform the model training
             *  
             * process.
             */
            validationData: MLDataTable | null;
            /**
             * The maximum depth of the tree. Must be greater than 0.
             */
            maxDepth: number;
            /**
             * The minimum amount that the loss needs to be reduced to create a new
             *  
             * split.
             */
            minLossReduction: number;
            /**
             * The minimum weight of each leaf node.
             */
            minChildWeight: number;
            /**
             * The seed value for random operations during tree building process.
             */
            randomSeed: number;
            /**
             * A text representation of the model parameters for a decision tree
             *  
             * classifier.
             */
            description: string;
            /**
             * A text representation of the model parameters for a decision tree
             *  
             * classifier that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a decision tree classifier
             *  
             * shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLDecisionTreeClassifier.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxDepth: number, minLossReduction: number, minChildWeight: number, randomSeed: number);
            constructor (validation: MLDecisionTreeClassifier.ModelParameters.ValidationData, maxDepth: number, minLossReduction: number, minChildWeight: number, randomSeed: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export enum MLRegressor {}
    export class MLLinearRegressor {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLLinearRegressor.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * feature the regressor predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * regressor.
         */
        featureColumns: string[];
        /**
         * Measurements of the regressor’s performance on the training data set.
         */
        trainingMetrics: MLRegressorMetrics;
        /**
         * Measurements of the regressor’s performance on the validation data set.
         */
        validationMetrics: MLRegressorMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the linear regressor.
         */
        description: string;
        /**
         * A text representation of the linear regressor that’s suitable for output
         *  
         * during debugging.
         */
        debugDescription: string;
        /**
         * A description of the linear regressor shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Linear Regressor from the feature columns in the training data
         *  
         * to predict the values in the target column.
         */
        constructor ();
        /**
         * Creates a linear regressor from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLLinearRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLLinearRegressor>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLLinearRegressor>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLLinearRegressor>):MLJob<MLLinearRegressor>;
        /**
         * Trains a linear regressor.
         */
        static train(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLLinearRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLLinearRegressor>;
        /**
         * Returns metrics describing the regressor’s performance on the provided
         *  
         * labeled data.
         */
        evaluation(labeledData: MLDataTable):MLRegressorMetrics;
        /**
         * Predicts the target value from the provided data.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLLinearRegressor
     */
    export namespace MLLinearRegressor {
        export class ModelParameters {
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            maxIterations: number;
            l1Penalty: number;
            l2Penalty: number;
            stepSize: number;
            convergenceThreshold: number;
            featureRescaling: boolean;
            /**
             * A text representation of the model parameters for a linear regressor.
             */
            description: string;
            /**
             * A text representation of the model parameters for a linear regressor
             *  
             * that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a linear regressor shown in a
             *  
             * playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLLinearRegressor.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxIterations: number, l1Penalty: number, l2Penalty: number, stepSize: number, convergenceThreshold: number, featureRescaling: boolean);
            constructor (validation: MLLinearRegressor.ModelParameters.ValidationData, maxIterations: number, l1Penalty: number, l2Penalty: number, stepSize: number, convergenceThreshold: number, featureRescaling: boolean);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export class MLRecommender {
        /**
         * The configuration parameters that the recommender used for training
         *  
         * during initialization.
         */
        modelParameters: MLRecommender.ModelParameters;
        /**
         * The name of the column you selected at initialization to define the user
         *  
         * identifiers.
         */
        userIdentifierColumn: string;
        /**
         * The name of the column you selected at initialization to define the item
         *  
         * identifiers.
         */
        itemIdentifierColumn: string;
        /**
         * The name of the column you selected at initialization to define the
         *  
         * ratings.
         */
        ratingColumn: string;
        /**
         * The underlying Core ML model of the recommender stored in memory.
         */
        model: MLModel;
        /**
         * Creates an instance given a table and the names of the item and user columns contained therein.
         */
        constructor (trainingData: DataFrame, userColumn: string, itemColumn: string, ratingColumn: string, parameters: MLRecommender.ModelParameters);
        /**
         * Retrieves the highest scored items for the given column of users, based
         *  
         * on item similarity and the rating column.
         */
        recommendations<T>(fromUsers: MLDataColumn<T>, maxCount: number, restrictingToItems: MLDataColumn<T> | null, userItemObservations: MLDataTable | null, excludingObserved: boolean):MLIdentifier;
        /**
         * Retrieves the highest scored item for the given array of users, based on
         *  
         * item similarity and the rating column.
         */
        recommendations(fromUsers: MLIdentifier[], maxCount: number, restrictingToItems: MLIdentifier[] | null, userItemObservations: MLDataTable | null, excludingObserved: boolean):MLDataTable;
        /**
         * Returns the top ranked similar items based on the model’s similarity
         *  
         * type.
         */
        getSimilarItems<T>(fromItems: MLDataColumn<T>, maxCount: number):MLDataValueConvertible;
        /**
         * Returns the top ranked similar items based on the model’s similarity
         *  
         * type.
         */
        getSimilarItems(fromItems: MLIdentifier[], maxCount: number):MLDataTable;
        /**
         * Exports the recommender as a Core ML model file at the given URL.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
        /**
         * Computes the metrics for the given testing data.
         */
        evaluation(testingData: MLDataTable, userColumn: string, itemColumn: string, ratingColumn: string, cutoffs: number[], excludingObserved: boolean):MLRecommenderMetrics;
    }
    /**
     * the same name namespace of class MLRecommender
     */
    export namespace MLRecommender {
        export class ModelParameters {
            /**
             * The algorithm the recommender uses to make recommendations.
             */
            algorithm: MLRecommender.ModelAlgorithmType;
            /**
             * The largest number of similar items the model stores for each item.
             */
            maxCount: number;
            /**
             * The largest number of iterations the recommender uses to build its
             *  
             * lookup table.
             */
            maxSimilarityIterations: number;
            /**
             * The item confidence value cutoff, below which the recommender omits
             *  
             * those items from its recommendations.
             */
            threshold: number;
            /**
             * A data table that lists each item’s nearest items.
             */
            nearestItems: MLDataTable | null;
            /**
             * Creates a new set of recommender configuration parameters.
             */
            constructor (algorithm: MLRecommender.ModelAlgorithmType, threshold: number, maxCount: number, nearestItems: MLDataTable | null, maxSimilarityIterations: number);
        }
        export enum ModelAlgorithmType {}
        export enum SimilarityType {}
    }
    export class MLRandomForestClassifier {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLRandomForestClassifier.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * categories the classifier predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * classifier.
         */
        featureColumns: string[];
        /**
         * Measurements of the classifier’s performance on the training data set.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the classifier’s performance on the validation data set.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the random forest classifier.
         */
        description: string;
        /**
         * A text representation of the random forest classifier that’s suitable
         *  
         * for output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the random forest classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Random Forest Classifier from the feature columns in the
         *  
         * training data to predict the categories in the target column.
         */
        constructor ();
        /**
         * Creates a random forest classifier classifier  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLRandomForestClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLRandomForestClassifier>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLRandomForestClassifier>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLRandomForestClassifier>):MLJob<MLRandomForestClassifier>;
        /**
         * Trains a random forest classifier.
         */
        static train(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLRandomForestClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLRandomForestClassifier>;
        /**
         * Evaluates the classifier on the provided labeled data.
         */
        evaluation(labeledData: MLDataTable):MLClassifierMetrics;
        /**
         * Classifies the provided data into the target categories.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLRandomForestClassifier
     */
    export namespace MLRandomForestClassifier {
        export class ModelParameters {
            /**
             * Must be in the range (0, 1).
             */
            columnSubsample: number;
            maxDepth: number;
            maxIterations: number;
            minChildWeight: number;
            minLossReduction: number;
            randomSeed: number;
            /**
             * Must be in the range (0, 1).
             */
            rowSubsample: number;
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            /**
             * A text representation of the model parameters for a random forest
             *  
             * classifier.
             */
            description: string;
            /**
             * A text representation of the model parameters for a random forest
             *  
             * classifier that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a random forest classifier
             *  
             * shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLRandomForestClassifier.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, rowSubsample: number, columnSubsample: number);
            constructor (validation: MLRandomForestClassifier.ModelParameters.ValidationData, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, rowSubsample: number, columnSubsample: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export class MLDataTable {
        /**
         * The number of rows and columns in the data table.
         */
        size: any;
        /**
         * The rows of data in the table.
         */
        rows: MLDataTable.Rows;
        /**
         * The names of the columns in the data table.
         */
        columnNames: MLDataTable.ColumnNames;
        /**
         * The type of the data in each column.
         */
        columnTypes: Record<string, MLDataValue.ValueType>;
        /**
         * A text representation of the data table.
         */
        description: string;
        /**
         * A description of the data table shown in a playground.
         */
        playgroundDescription: any;
        /**
         * A Boolean value that indicates whether the data table is valid.
         */
        isValid: boolean;
        /**
         * The underlying error present when the data table is invalid.
         */
        error: Error | null;
        /**
         * Creates a data table from an imported JSON or CSV file.
         */
        constructor (url: URL, options: MLDataTable.ParsingOptions);
        /**
         * Creates a data table from a dictionary of column names and data values.
         */
        constructor (dictionary: Record<string, MLDataValueConvertible>);
        /**
         * Creates a data table from a dictionary of column names and untyped
         *  
         * columns.
         */
        constructor (namedColumns: Record<string, MLUntypedColumn>);
        /**
         * Creates an empty table containing no rows or columns.
         */
        constructor ();
        /**
         * Creates a new column by applying a given thread-safe transform to every
         *  
         * row in the data table.
         */
        map<T>(lazyTransform: ()=>any):MLDataValueConvertible;
        /**
         * Adds a data column to the table.
         */
        addColumn<Element>(newColumn: MLDataColumn<Element>, named: string):void;
        /**
         * Adds an untyped column to the table.
         */
        addColumn(newColumn: MLUntypedColumn, named: string):void;
        /**
         * Changes the name of an existing column.
         */
        renameColumn(named: string, to: string):void;
        /**
         * Removes the column with the specified name.
         */
        removeColumn(named: string):void;
        /**
         * Appends the contents of the given data table to the end of this data
         *  
         * table.
         */
        append(newTable: MLDataTable):void;
        /**
         * Creates a new data table with the given columns and adds a new column
         *  
         * for each of the given aggregators.
         */
        group<S>(...columnsNamed: string, aggregators: S):MLDataTable.Aggregator;
        /**
         * Creates a new data table by sorting the table by the given column.
         */
        sort(columnNamed: string, byIncreasingOrder: boolean):MLDataTable;
        /**
         * Creates two mutually exclusive, randomly divided subsets of the table.
         */
        randomSplit(proportion: number, seed: number):any;
        /**
         * Creates a new data table by merging two data tables by the given
         *  
         * columns.
         */
        join(_with: MLDataTable, ...columnsNamed: string, type: MLDataTable.JoinType):MLDataTable;
        /**
         * Creates a modified copy of the table by filling in the missing values in
         *  
         * the named column.
         */
        fillMissing(columnNamed: string, value: MLDataValue):MLDataTable;
        /**
         * Creates a subset of the table by removing any row missing one or more
         *  
         * values.
         */
        dropMissing():MLDataTable;
        /**
         * Creates a subset of the table by removing all duplicate rows.
         */
        dropDuplicates():MLDataTable;
        /**
         * Creates a subset of the table by excluding the rows that contain any of
         *  
         * the given values in the given column.
         */
        exclude<T>(...values: T, columnNamed: string):MLDataValueConvertible;
        /**
         * Creates a subset of the table by randomly selecting the given proportion
         *  
         * of rows.
         */
        randomSample(proportion: number, seed: number):MLDataTable;
        /**
         * Creates a subset of the table given a number of initial rows.
         */
        prefix(maxLength: number):MLDataTable;
        /**
         * Creates a subset of the table given a number of final rows.
         */
        suffix(maxLength: number):MLDataTable;
        /**
         * Creates a subset of the table by including the rows that contain any of
         *  
         * the given values in the given column.
         */
        intersect<T>(...values: T, columnNamed: string):MLDataValueConvertible;
        /**
         * Creates a new data table where duplicate row values in the given column
         *  
         * are condensed into a new sequence-type column.
         */
        condense(columnNamed: string, to: string):MLDataTable;
        /**
         * Creates a new data table where duplicate row values in the given column
         *  
         * are condensed into a new sequence-type column.
         */
        expand(columnNamed: string, to: string):MLDataTable;
        /**
         * Creates a new data table with an additional column that contains the
         *  
         * combined values of the given columns.
         */
        pack(...columnsNamed: string, to: string, type: MLDataTable.PackType, filling: MLDataValue):MLDataTable;
        /**
         * Exports a binary file of the data table to the given directory URL.
         */
        write(directoryURL: URL):void;
        /**
         * Exports a CSV file of the data table to the given directory URL.
         */
        writeCSV(fileURL: URL):void;
        /**
         * Generates a visualization for the data in the table.
         */
        show():MLStreamingVisualizable;
        randomSplitBySequence(proportion: number, sequenceIdentifierColumn: string, column: string, seed: number):any;
        /**
         * Randomly split a MLDataTable into a number partitions while stratifying on a user-define label column.
         */
        stratifiedSplit<RNG>(proportions: number[], column: string, generator: RNG):RandomNumberGenerator;
        /**
         * Randomly split a MLDataTable into a number partitions while stratifying on a user-define label column.
         */
        stratifiedSplit(proportions: number[], column: string, seed: number):MLDataTable;
        /**
         * Randomly split a MLDataTable into partitions on a user-define label column, while keeping rows from the same sequence in the original order.
         */
        stratifiedSplitBySequence<RNG>(proportions: number[], sequenceIdentifierColumn: string, column: string, generator: RNG):RandomNumberGenerator;
        /**
         * Randomly split a MLDataTable into partitions on a user-define label column, while keeping rows from the same sequence in the original order.
         */
        stratifiedSplitBySequence(proportions: number[], sequenceIdentifierColumn: string, column: string, seed: number):MLDataTable;
        /**
         * Creates a new data table with additional columns that contain the
         *  
         * unpacked collections in the given column.
         */
        unpack(columnNamed: string, valueTypes: MLDataValue.ValueType[] | null, indexSubset: number[] | null, keySubset: string[] | null):MLDataTable;
    }
    /**
     * the same name namespace of class MLDataTable
     */
    export namespace MLDataTable {
        export class ParsingOptions {
            /**
             * A Boolean value indicating whether an input CSV file contains a
             *  
             * header.
             */
            containsHeader: boolean;
            /**
             * The character that separates the data fields in a CSV file.
             */
            delimiter: string;
            /**
             * The character that represents the end of a line in a CSV file.
             */
            lineTerminator: string;
            /**
             * The character that marks a C escape sequence in a CSV file.
             */
            escape: string;
            /**
             * The character that represents a quote (
             * ) in a CSV file.
             */
            quote: string;
            /**
             * A Boolean value indicating whether two consecutive quotes (
             * )
             *  
             * represent a single quote (
             * ) in a CSV file.
             */
            doubleQuote: boolean;
            /**
             * The number of starting rows to skip from the start of a CSV file.
             */
            skipRows: number;
            /**
             * A Boolean value indicating whether to ignore leading spaces of a
             *  
             * data field.
             */
            skipInitialSpaces: boolean;
            /**
             * The character that marks the beginning of a comment, or text to
             *  
             * ignore, in a CSV file.
             */
            comment: string;
            /**
             * The maximum number of rows to import form a CSV file; otherwise
             *  
             *  to import all rows.
             */
            maxRows: number;
            /**
             * The list of column names to import from a CSV file; otherwise 
             *  
             * to import all columns.
             */
            selectColumns: string[] | null;
            /**
             * A list of strings that represent missing values in a CSV file.
             */
            missingValues: string[];
            /**
             * Creates CSV parsing options.
             */
            constructor (containsHeader: boolean, delimiter: string, comment: string, escape: string, doubleQuote: boolean, quote: string, skipInitialSpaces: boolean, missingValues: string[], lineTerminator: string, selectColumns: string[] | null, maxRows: number, skipRows: number);
        }
        export class Aggregator {
            /**
             * The name of the column on which the aggregator performs operations
             *  
             * on.
             */
            columnName: string;
            /**
             * An array of operations to perform on a column.
             */
            operations: MLDataTable.Aggregator.Operations[];
            /**
             * Creates an aggregator with the given operations to perform on the
             *  
             * given column.
             */
            constructor (...operations: MLDataTable.Aggregator.Operations, columnNamed: string);
        }
        /**
         * the same name namespace of class Aggregator
         */
        export namespace Aggregator {
            export enum Operations {}
        }
        export class Rows {
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * The position of the first row in a nonempty DataTable. If the DataTable is empty, 
             *  
             * is equal to 
             * .
             */
            startIndex: number;
            /**
             * The DataTable’s “past the end” position—that is, the position one greater than the last valid
             *  
             * subscript argument.
             */
            endIndex: number;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A custom playground description for this instance.
             */
            playgroundDescription: any;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            publisher: any;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as
             *  
             * the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the maximum element in the sequence, using the given predicate
             *  
             * as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as
             *  
             * the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * around elements equal to the given element.
             */
            split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the given
             *  
             * predicate to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Replaces the given index with its successor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns an index that is the specified distance from the given index,
             *  
             * unless that distance is beyond a given limiting index.
             */
            index(i: Self.Index, distance: number, limit: Self.Index):Self.Index | null;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Finds and returns the range of the first occurrence of a given collection
             *  
             * within this collection.
             */
            firstRange<C>(other: C):C.Element;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Finds and returns the ranges of the all occurrences of a given sequence
             *  
             * within the collection.
             */
            ranges<C>(other: C):C.Element;
            /**
             * Returns a new collection of the same type by removing initial elements
             *  
             * that satisfy the given predicate from the start.
             */
            trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export enum JoinType {}
        export class Row {
            keys: MLDataTable.Row.Keys;
            values: MLDataTable.Row.Values;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A custom playground description for this instance.
             */
            playgroundDescription: any;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            publisher: any;
            index(key: MLDataTable.Row.Key):MLDataTable.Row.Index | null;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Returns the first index in which an element of the collection satisfies
             *  
             * the given predicate.
             */
            firstIndex(predicate: Bool):Self.Index | null;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Self.Index, distance: number):void;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            /**
             * Returns a Boolean value indicating whether the sequence contains an
             *  
             * element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain equivalent elements in the same order, using the given
             *  
             * predicate as the equivalence test.
             */
            elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the given
             *  
             * predicate to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence, using the given predicate
             *  
             * as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as
             *  
             * the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as
             *  
             * the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are equivalent to the elements in another sequence, using
             *  
             * the given predicate as the equivalence test.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        /**
         * the same name namespace of class Row
         */
        export namespace Row {
            export class Values {
                /**
                 * The collection’s “past the end” position—that is, the position one
                 *  
                 * greater than the last valid subscript argument.
                 */
                endIndex: number;
                /**
                 * The position of the first element in a nonempty collection.
                 */
                startIndex: number;
                /**
                 * The last element of the collection.
                 */
                last: Self.Element | null;
                /**
                 * The number of elements in the collection.
                 */
                count: number;
                /**
                 * The first element of the collection.
                 */
                first: Self.Element | null;
                /**
                 * A Boolean value indicating whether the collection is empty.
                 */
                isEmpty: boolean;
                /**
                 * A value less than or equal to the number of elements in the collection.
                 */
                underestimatedCount: number;
                /**
                 * A textual representation of this instance, suitable for debugging.
                 */
                debugDescription: string;
                /**
                 * A custom playground description for this instance.
                 */
                playgroundDescription: any;
                /**
                 * A textual representation of this instance.
                 */
                description: string;
                /**
                 * A sequence containing the same elements as this sequence,
                 *  
                 * but on which some operations, such as 
                 *  and 
                 * , are
                 *  
                 * implemented lazily.
                 */
                lazy: LazySequence<Self>;
                publisher: any;
                /**
                 * Returns the difference needed to produce this collection’s ordered
                 *  
                 * elements from the given collection.
                 */
                difference<C>(other: C):C.Element;
                /**
                 * Returns a subsequence containing all but the specified number of final
                 *  
                 * elements.
                 */
                dropLast(k: number):Self.SubSequence;
                /**
                 * Replaces the given index with its predecessor.
                 */
                formIndex(i: Self.Index):void;
                /**
                 * Returns the last index where the specified value appears in the
                 *  
                 * collection.
                 */
                lastIndex(element: Self.Element):Self.Index | null;
                /**
                 * Returns a view presenting the elements of the collection in reverse
                 *  
                 * order.
                 */
                reversed():ReversedCollection<Self>;
                /**
                 * Returns a subsequence, up to the given maximum length, containing the
                 *  
                 * final elements of the collection.
                 */
                suffix(maxLength: number):Self.SubSequence;
                /**
                 * Returns a subsequence by skipping elements while 
                 *  returns
                 *  
                 *  and returning the remaining elements.
                 */
                drop(predicate: Bool):Self.SubSequence;
                /**
                 * Returns a subsequence containing all but the given number of initial
                 *  
                 * elements.
                 */
                dropFirst(k: number):Self.SubSequence;
                /**
                 * Returns the first index where the specified value appears in the
                 *  
                 * collection.
                 */
                firstIndex(element: Self.Element):Self.Index | null;
                /**
                 * Finds and returns the range of the first occurrence of a given collection
                 *  
                 * within this collection.
                 */
                firstRange<C>(other: C):C.Element;
                /**
                 * Returns the first index where the specified value appears in the
                 *  
                 * collection.
                 */
                index(element: Self.Element):Self.Index | null;
                /**
                 * Returns an iterator over the elements of the collection.
                 */
                makeIterator():IndexingIterator<Self>;
                /**
                 * Returns an array containing the results of mapping the given closure
                 *  
                 * over the sequence’s elements.
                 */
                map<T>(transform: T):T[];
                /**
                 * Returns a subsequence, up to the specified maximum length, containing
                 *  
                 * the initial elements of the collection.
                 */
                prefix(maxLength: number):Self.SubSequence;
                /**
                 * Returns a random element of the collection.
                 */
                randomElement():Self.Element | null;
                /**
                 * Returns a random element of the collection, using the given generator as
                 *  
                 * a source for randomness.
                 */
                randomElement<T>(generator: T):RandomNumberGenerator;
                /**
                 * Finds and returns the ranges of the all occurrences of a given sequence
                 *  
                 * within the collection.
                 */
                ranges<C>(other: C):C.Element;
                /**
                 * Returns the longest possible subsequences of the collection, in order,
                 *  
                 * that don’t contain elements satisfying the given predicate.
                 */
                split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
                /**
                 * Returns a new collection of the same type by removing initial elements
                 *  
                 * that satisfy the given predicate from the start.
                 */
                trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
                trimmingPrefix(predicate: Bool):Self.SubSequence;
                /**
                 * Returns a Boolean value indicating whether every element of a sequence
                 *  
                 * satisfies a given predicate.
                 */
                allSatisfy(predicate: Bool):boolean;
                /**
                 * Returns an array containing the non-
                 *  results of calling the given
                 *  
                 * transformation with each element of this sequence.
                 */
                compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
                /**
                 * If 
                 *  is ordered before 
                 *  in the ordering described by the given
                 *  
                 * sequence of 
                 * s
                 */
                compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
                /**
                 * Returns a Boolean value indicating whether the sequence contains the
                 *  
                 * given element.
                 */
                contains(element: Self.Element):boolean;
                /**
                 * Returns a Boolean value indicating whether this sequence and another
                 *  
                 * sequence contain the same elements in the same order.
                 */
                elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
                /**
                 * Returns a sequence of pairs (
                 * , 
                 * ), where 
                 *  represents a
                 *  
                 * consecutive integer starting at zero and 
                 *  represents an element of
                 *  
                 * the sequence.
                 */
                enumerated():EnumeratedSequence<Self>;
                /**
                 * Returns an array containing, in order, the elements of the sequence
                 *  
                 * that satisfy the given predicate.
                 */
                filter(isIncluded: Bool):Self.Element[];
                flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
                /**
                 * Returns an array containing the concatenated results of calling the
                 *  
                 * given transformation with each element of this sequence.
                 */
                flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
                /**
                 * Calls the given closure on each element in the sequence in the same order
                 *  
                 * as a 
                 * -
                 *  loop.
                 */
                forEach(body: Void):void;
                formatted<S>(style: S):FormatStyle;
                /**
                 * Returns a Boolean value indicating whether the sequence precedes another
                 *  
                 * sequence in a lexicographical (dictionary) ordering, using the given
                 *  
                 * predicate to compare elements.
                 */
                lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
                /**
                 * Returns the maximum element in the sequence, using the given predicate
                 *  
                 * as the comparison between elements.
                 */
                max(areInIncreasingOrder: Bool):Self.Element | null;
                /**
                 * Returns the minimum element in the sequence, using the given predicate as
                 *  
                 * the comparison between elements.
                 */
                min(areInIncreasingOrder: Bool):Self.Element | null;
                /**
                 * Returns the result of combining the elements of the sequence using the
                 *  
                 * given closure.
                 */
                reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
                /**
                 * Returns the elements of the sequence, shuffled.
                 */
                shuffled():Self.Element[];
                /**
                 * Returns the elements of the sequence, shuffled using the given generator
                 *  
                 * as a source for randomness.
                 */
                shuffled<T>(generator: T):RandomNumberGenerator;
                /**
                 * Returns the elements of the sequence, sorted using the given predicate as
                 *  
                 * the comparison between elements.
                 */
                sorted(areInIncreasingOrder: Bool):Self.Element[];
                /**
                 * Returns the elements of the sequence, sorted using the given array of
                 *  
                 * s to compare elements.
                 */
                sorted<S, Comparator>(comparators: S):Comparator.Compared;
                /**
                 * Returns the elements of the sequence, sorted using the given comparator
                 *  
                 * to compare elements.
                 */
                sorted<Comparator>(comparator: Comparator):Comparator.Compared;
                /**
                 * Returns a Boolean value indicating whether the initial elements of the
                 *  
                 * sequence are the same as the elements in another sequence.
                 */
                starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
                /**
                 * Executes a closure on the sequence’s contiguous storage.
                 */
                withContiguousStorageIfAvailable<R>(body: R):R | null;
            }
        }
        export class ColumnNames {
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A custom playground description for this instance.
             */
            playgroundDescription: any;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            publisher: any;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Finds and returns the range of the first occurrence of a given collection
             *  
             * within this collection.
             */
            firstRange<C>(other: C):C.Element;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns a new string by concatenating the elements of the sequence,
             *  
             * adding the given separator between each element.
             */
            joined(separator: string):string;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            index(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Finds and returns the ranges of the all occurrences of a given sequence
             *  
             * within the collection.
             */
            ranges<C>(other: C):C.Element;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a new collection of the same type by removing initial elements
             *  
             * that satisfy the given predicate from the start.
             */
            trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            formatted():string;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export enum PackType {}
    }
    export class MLDecisionTreeRegressor {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLDecisionTreeRegressor.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * feature the regressor predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * regressor.
         */
        featureColumns: string[];
        /**
         * Measurements of the regressor’s performance on the training data set.
         */
        trainingMetrics: MLRegressorMetrics;
        /**
         * Measurements of the regressor’s performance on the validation data set.
         */
        validationMetrics: MLRegressorMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the decision tree regressor.
         */
        description: string;
        /**
         * A text representation of the decision tree regressor that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the decision tree regressor shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Decision Tree Regressor from the feature columns in the
         *  
         * training data to predict the values in the target column.
         */
        constructor ();
        /**
         * Creates a decision tree regressor  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: DataFrame, targetColumn: string, featureColumns: string[] | null, parameters: MLDecisionTreeRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLDecisionTreeRegressor>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLDecisionTreeRegressor>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLDecisionTreeRegressor>):MLJob<MLDecisionTreeRegressor>;
        /**
         * Trains a decision tree regressor.
         */
        static train(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLDecisionTreeRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLDecisionTreeRegressor>;
        /**
         * Returns metrics describing the regressor’s performance on the provided
         *  
         * labeled data.
         */
        evaluation(labeledData: MLDataTable):MLRegressorMetrics;
        /**
         * Predicts the target value from the provided data.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLDecisionTreeRegressor
     */
    export namespace MLDecisionTreeRegressor {
        export class ModelParameters {
            maxDepth: number;
            minChildWeight: number;
            minLossReduction: number;
            randomSeed: number;
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            /**
             * A text representation of the model parameters for a decision tree
             *  
             * regressor.
             */
            description: string;
            /**
             * A text representation of the model parameters for a decision tree
             *  
             * regressor that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A text representation of the model parameters for a decision tree
             *  
             * regressor.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLDecisionTreeRegressor.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxDepth: number, minLossReduction: number, minChildWeight: number, randomSeed: number);
            constructor (validation: MLDecisionTreeRegressor.ModelParameters.ValidationData, maxDepth: number, minLossReduction: number, minChildWeight: number, randomSeed: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export class MLBoostedTreeClassifier {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLBoostedTreeClassifier.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * categories the classifier predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * classifier.
         */
        featureColumns: string[];
        /**
         * Measurements of the classifier’s performance on the training data set.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the classifier’s performance on the validation data set.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the boosted tree classifier.
         */
        description: string;
        /**
         * A text representation of the boosted tree classifier that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the boosted tree classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Boosted Tree Classifier from the feature columns in the
         *  
         * training data to predict the categories in the target column.
         */
        constructor ();
        /**
         * Creates a boosted tree classifierclassifier  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLBoostedTreeClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLBoostedTreeClassifier>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLBoostedTreeClassifier>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLBoostedTreeClassifier>):MLJob<MLBoostedTreeClassifier>;
        /**
         * Trains a boosted tree classifier.
         */
        static train(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLBoostedTreeClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLBoostedTreeClassifier>;
        /**
         * Evaluates the classifier on the provided labeled data.
         */
        evaluation(labeledData: MLDataTable):MLClassifierMetrics;
        /**
         * Classifies the provided data into the target categories.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLBoostedTreeClassifier
     */
    export namespace MLBoostedTreeClassifier {
        export class ModelParameters {
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            maxDepth: number;
            maxIterations: number;
            minLossReduction: number;
            minChildWeight: number;
            randomSeed: number;
            /**
             * Must be in the range (0, 1).
             */
            stepSize: number;
            /**
             * Validation data must be specified for an early stop.
             */
            earlyStoppingRounds: number;
            /**
             * Must be in the range (0, 1).
             */
            rowSubsample: number;
            /**
             * Must be in the range (0, 1).
             */
            columnSubsample: number;
            /**
             * A text representation of the model parameters for a boosted tree
             *  
             * classifier.
             */
            description: string;
            /**
             * A text representation of the model parameters for a boosted tree
             *  
             * classifier that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a boosted tree classifier
             *  
             * shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLBoostedTreeClassifier.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters defining how a boosted tree
             *  
             * classifier should be built.
             */
            constructor (validationData: MLDataTable | null, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, stepSize: number, earlyStoppingRounds: number, rowSubsample: number, columnSubsample: number);
            constructor (validation: MLBoostedTreeClassifier.ModelParameters.ValidationData, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, stepSize: number, earlyStoppingRounds: number, rowSubsample: number, columnSubsample: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export class MLHandPoseClassifier {
        /**
         * A text representation of the hand pose classifier suitable for
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A description of the hand pose classifier that’s viewable in a
         *  
         * playground.
         */
        playgroundDescription: any;
        /**
         * A text representation of the hand pose classifier.
         */
        description: string;
    }
    /**
     * the same name namespace of class MLHandPoseClassifier
     */
    export namespace MLHandPoseClassifier {
        export enum DataSource {}
        export class ModelParameters {
            /**
             * The largest number of training iterations you allow the training
             *  
             * session to use.
             */
            maximumIterations: number;
            /**
             * The number of images the model training session uses for each
             *  
             * training iteration.
             */
            batchSize: number;
            /**
             * The algorithm the training session uses to create the hand pose
             *  
             * classifier.
             */
            algorithm: MLHandPoseClassifier.ModelParameters.ModelAlgorithmType;
            /**
             * The variations the training session uses to add more variety to its
             *  
             * training dataset.
             */
            augmentationOptions: MLHandPoseClassifier.ImageAugmentationOptions;
            /**
             * A dataset the hand pose classifier task uses to evaluate the model
             *  
             * that’s distinct from the training dataset.
             */
            validation: MLHandPoseClassifier.ModelParameters.ValidationData;
            /**
             * A text representation of the hand pose parameters.
             */
            description: string;
            /**
             * A text representation of the hand pose parameters suitable for
             *  
             * debugging.
             */
            debugDescription: string;
            /**
             * A description of the hand pose parameters that’s viewable in a
             *  
             * playground.
             */
            playgroundDescription: any;
            /**
             * Creates a set of training session parameters for a hand pose
             *  
             * classifier task.
             */
            constructor (validation: MLHandPoseClassifier.ModelParameters.ValidationData, batchSize: number, maximumIterations: number, augmentationOptions: MLHandPoseClassifier.ImageAugmentationOptions, algorithm: MLHandPoseClassifier.ModelParameters.ModelAlgorithmType);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
            export enum ModelAlgorithmType {}
        }
        export class ImageAugmentationOptions {
            /**
             * Apply left-right flips to the pose in an image.
             */
            static horizontallyFlip: MLHandPoseClassifier.ImageAugmentationOptions;
            /**
             * Randomly rotate the pose in an image.
             */
            static rotate: MLHandPoseClassifier.ImageAugmentationOptions;
            /**
             * Randomly scale the pose in an image.
             */
            static scale: MLHandPoseClassifier.ImageAugmentationOptions;
            /**
             * Randomly translate the pose in an image.
             */
            static translate: MLHandPoseClassifier.ImageAugmentationOptions;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates an option set from an integer.
             */
            constructor (rawValue: number);
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a new instance by decoding from the given decoder, when the
             *  
             * type’s 
             *  is 
             * .
             */
            constructor (decoder: Decoder);
            /**
             * Returns a Boolean value that indicates whether a given element is a
             *  
             * member of the option set.
             */
            contains(member: Self):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Returns a new option set of the elements contained in this set, in the
             *  
             * given set, or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Returns a new option set with only the elements contained in both this
             *  
             * set and the given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes all elements of this option set that are not
             *  
             * also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Returns a new option set with the elements contained in this set or in
             *  
             * the given set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Replaces this set with a new set containing all elements
             *  
             * contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur
             *  
             * in the given set.
             */
            subtracting(other: Self):Self;
            /**
             * Returns a Boolean value that indicates whether the set has no members in
             *  
             * common with the given set.
             */
            isDisjoint(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of
             *  
             * another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * subset of the given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of
             *  
             * the given set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * superset of the given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Encodes this value into the given encoder, when the type’s 
             *  
             * is 
             * .
             */
            encode(encoder: Encoder):void;
        }
    }
    export class MLRecommenderMetrics {
        /**
         * A Boolean value that indicates whether the recommender omitted training
         *  
         * data from the recommendations.
         */
        excludingObserved: boolean;
        /**
         * A data table with the recall and precision for each item.
         */
        precisionRecall: MLDataTable;
        /**
         * A Boolean value indicating whether the recommender model was able to
         *  
         * calculate metrics.
         */
        isValid: boolean;
        /**
         * The underlying error present when the metrics are invalid.
         */
        error: Error | null;
        /**
         * Creates metrics for a recommender, given a data table with precision and
         *  
         * recall metric columns, and whether the recommender omitted training
         *  
         * data.
         */
        constructor (precisionRecall: MLDataTable, excludingObserved: boolean);
    }
    export enum MLDataValue {}
    export class MLRandomForestRegressor {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLRandomForestRegressor.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * feature the regressor predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * regressor.
         */
        featureColumns: string[];
        /**
         * Measurements of the regressor’s performance on the training data set.
         */
        trainingMetrics: MLRegressorMetrics;
        /**
         * Measurements of the regressor’s performance on the validation data set.
         */
        validationMetrics: MLRegressorMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the random forest regressor.
         */
        description: string;
        /**
         * A text representation of the random forest regressor that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the random forest regressor shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Random Forest Regressor from the feature columns in the
         *  
         * training data to predict the values in the target column.
         */
        constructor ();
        /**
         * Creates a random forest regressor  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLRandomForestRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLRandomForestRegressor>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLRandomForestRegressor>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLRandomForestRegressor>):MLJob<MLRandomForestRegressor>;
        /**
         * Trains a random forest regressor.
         */
        static train(trainingData: MLDataTable, targetColumn: string, featureColumns: string[] | null, parameters: MLRandomForestRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLRandomForestRegressor>;
        /**
         * Returns metrics describing the regressor’s performance on the provided
         *  
         * labeled data.
         */
        evaluation(labeledData: MLDataTable):MLRegressorMetrics;
        /**
         * Predicts the target value from the provided data.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLRandomForestRegressor
     */
    export namespace MLRandomForestRegressor {
        export class ModelParameters {
            /**
             * Must be in the range (0, 1).
             */
            columnSubsample: number;
            maxDepth: number;
            maxIterations: number;
            minChildWeight: number;
            minLossReduction: number;
            randomSeed: number;
            /**
             * Must be in the range (0, 1).
             */
            rowSubsample: number;
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            /**
             * A text representation of the model parameters for a random forest
             *  
             * regressor.
             */
            description: string;
            /**
             * A text representation of the model parameters for a random forest
             *  
             * regressor that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a random forest regressor
             *  
             * shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLRandomForestRegressor.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, rowSubsample: number, columnSubsample: number);
            constructor (validation: MLRandomForestRegressor.ModelParameters.ValidationData, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, rowSubsample: number, columnSubsample: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export class MLDataColumn {
        /**
         * The number of elements in the column.
         */
        count: number;
        /**
         * A text representation of the column.
         */
        description: string;
        /**
         * A description of the column shown in a playground.
         */
        playgroundDescription: any;
        /**
         * A text representation of the column for debugging.
         */
        debugDescription: string;
        /**
         * A Boolean value that indicates whether the column is valid.
         */
        isValid: boolean;
        /**
         * The underlying error present when the column is invalid.
         */
        error: Error | null;
        isEmpty: boolean;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * Creates a new column with a repeating element.
         */
        constructor (repeatedValue: Element, count: number);
        /**
         * Creates a new column from a given sequence of elements.
         */
        constructor (source: S);
        /**
         * Creates a new column of integers from a given column whose elements can
         *  
         * be converted to integers.
         */
        constructor (column: MLDataColumn<T>);
        /**
         * Constructs an invalid Column.
         */
        constructor ();
        /**
         * Creates a new column by converting this column to the given type.
         */
        map<T>(type: T.Type):MLDataValueConvertible;
        /**
         * Accesses the element at the given index.
         */
        element(index: number):Element | null;
        /**
         * Appends the elements of the given column to the end of this column.
         */
        append(newColumn: MLDataColumn<Element>):void;
        /**
         * Returns a new MLDataColumn by copying the original MLDataColumn
         */
        copy():MLDataColumn<Element>;
        /**
         * Returns a new MLDataColumn containing values sorted by the specified order.
         */
        sort(byIncreasingOrder: boolean):MLDataColumn<Element>;
        /**
         * Creates a new column, potentially with missing elements, by applying the
         *  
         * given thread-safe transform to every element of the column, including
         *  
         * missing elements.
         */
        mapMissing<T>(lazyTransform: ()=>any | null):MLDataValueConvertible;
        /**
         * Creates a subset of the column by removing all elements without a value.
         */
        dropMissing():MLDataColumn<Element>;
        /**
         * Creates a subset of the column by removing all duplicate elements.
         */
        dropDuplicates():MLDataColumn<Element>;
        /**
         * Creates a subset of the column, given a number of initial elements.
         */
        prefix(maxLength: number):MLDataColumn<Element>;
        /**
         * Creates a subset of the column, given a number of final elements.
         */
        suffix(maxLength: number):MLDataColumn<Element>;
        /**
         * Creates a modified copy of the column such that every missing element is
         *  
         * replaced with the given value.
         */
        fillMissing(value: Element):MLDataColumn<Element>;
        /**
         * Creates a new column by immediately evaluating any lazily applied data
         *  
         * processing operations stored in the column.
         */
        materialize():MLDataColumn<Element>;
        /**
         * Returns the element with the lowest value in a column of integers.
         */
        min():number;
        /**
         * Returns the element with the highest value in a column of integers.
         */
        max():number;
        /**
         * Returns the sum of the elements in a column of integers.
         */
        sum():number;
        /**
         * Returns the arithmetic mean of the elements in a column of integers.
         */
        mean():number;
        /**
         * Returns the standard deviation of the elements in a column of integers.
         */
        std():number;
        /**
         * Returns the standard deviation of the elements in a column of doubles.
         */
        stdev():number;
        /**
         * Provides a visualization for the data in the column.
         */
        show():MLStreamingVisualizable;
    }
    export class MLLogisticRegressionClassifier {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLLogisticRegressionClassifier.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * categories the classifier predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * classifier.
         */
        featureColumns: string[];
        /**
         * Measurements of the classifier’s performance on the training data set.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the classifier’s performance on the validation data set.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the logistic regression classifier.
         */
        description: string;
        /**
         * A text representation of the logistic regression classifier that’s
         *  
         * suitable for output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the logistic regression classifier shown in a
         *  
         * playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Logistic Regression Classifier from the feature columns in the
         *  
         * training data to predict the categories in the target column.
         */
        constructor ();
        /**
         * Creates a logistic regression classifier  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: DataFrame, targetColumn: string, featureColumns: string[] | null, parameters: MLLogisticRegressionClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLLogisticRegressionClassifier>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLLogisticRegressionClassifier>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLLogisticRegressionClassifier>):MLJob<MLLogisticRegressionClassifier>;
        /**
         * Trains a logistic regression classifier.
         */
        static train(trainingData: DataFrame, targetColumn: string, featureColumns: string[] | null, parameters: MLLogisticRegressionClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLLogisticRegressionClassifier>;
        /**
         * Evaluates the classifier on the provided labeled data.
         */
        evaluation(labeledData: MLDataTable):MLClassifierMetrics;
        /**
         * Classifies the provided data into the target categories.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLLogisticRegressionClassifier
     */
    export namespace MLLogisticRegressionClassifier {
        export class ModelParameters {
            convergenceThreshold: number;
            featureRescaling: boolean;
            l1Penalty: number;
            l2Penalty: number;
            maxIterations: number;
            stepSize: number;
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            /**
             * A text representation of the model parameters for a logistic regression
             *  
             * classifier.
             */
            description: string;
            /**
             * A text representation of the model parameters for a logistic regression
             *  
             * classifier that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a logistic regression
             *  
             * classifier shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLLogisticRegressionClassifier.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxIterations: number, l1Penalty: number, l2Penalty: number, stepSize: number, convergenceThreshold: number, featureRescaling: boolean);
            constructor (validation: MLLogisticRegressionClassifier.ModelParameters.ValidationData, maxIterations: number, l1Penalty: number, l2Penalty: number, stepSize: number, convergenceThreshold: number, featureRescaling: boolean);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export class MLBoostedTreeRegressor {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLBoostedTreeRegressor.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * feature the regressor predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * regressor.
         */
        featureColumns: string[];
        /**
         * Measurements of the regressor’s performance on the training data set.
         */
        trainingMetrics: MLRegressorMetrics;
        /**
         * Measurements of the regressor’s performance on the validation data set.
         */
        validationMetrics: MLRegressorMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the boosted tree regressor.
         */
        description: string;
        /**
         * A text representation of the boosted tree regressor that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the boosted tree regressor shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Boosted Tree Regressor from the feature columns in the
         *  
         * training data to predict the values in the target column.
         */
        constructor ();
        /**
         * Creates a boosted tree regressor  from a checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates or restores a training session.
         */
        static makeTrainingSession(trainingData: DataFrame, targetColumn: string, featureColumns: string[] | null, parameters: MLBoostedTreeRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLBoostedTreeRegressor>;
        /**
         * Restores an existing training session.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLBoostedTreeRegressor>;
        /**
         * Resumes a training session from the last checkpoint if available.
         */
        static resume(session: MLTrainingSession<MLBoostedTreeRegressor>):MLJob<MLBoostedTreeRegressor>;
        /**
         * Trains a boosted tree regressor.
         */
        static train(trainingData: DataFrame, targetColumn: string, featureColumns: string[] | null, parameters: MLBoostedTreeRegressor.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLBoostedTreeRegressor>;
        /**
         * Returns metrics describing the regressor’s performance on the provided
         *  
         * labeled data.
         */
        evaluation(labeledData: MLDataTable):MLRegressorMetrics;
        /**
         * Predicts the target value from the provided data.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLBoostedTreeRegressor
     */
    export namespace MLBoostedTreeRegressor {
        export class ModelParameters {
            /**
             * Must be in the range (0, 1).
             */
            columnSubsample: number;
            /**
             * Validation data must be specified for an early stop.
             */
            earlyStoppingRounds: number;
            maxDepth: number;
            maxIterations: number;
            minChildWeight: number;
            minLossReduction: number;
            randomSeed: number;
            /**
             * Must be in the range (0, 1).
             */
            rowSubsample: number;
            /**
             * Must be in the range (0, 1).
             */
            stepSize: number;
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            /**
             * A text representation of the model parameters for a boosted tree
             *  
             * regressor.
             */
            description: string;
            /**
             * A text representation of the model parameters for a boosted tree
             *  
             * regressor that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a boosted tree regressor shown
             *  
             * in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLBoostedTreeRegressor.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, stepSize: number, earlyStoppingRounds: number, rowSubsample: number, columnSubsample: number);
            constructor (validation: MLBoostedTreeRegressor.ModelParameters.ValidationData, maxDepth: number, maxIterations: number, minLossReduction: number, minChildWeight: number, randomSeed: number, stepSize: number, earlyStoppingRounds: number, rowSubsample: number, columnSubsample: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export enum MLBoundingBoxUnits {}
    export class MLUntypedColumn {
        /**
         * The number of elements in the column.
         */
        count: number;
        /**
         * The underlying type of the column.
         */
        type: MLDataValue.ValueType;
        /**
         * A cloned data column of integers.
         */
        ints: MLDataColumn<Int> | null;
        /**
         * A cloned data column of doubles.
         */
        doubles: MLDataColumn<Double> | null;
        /**
         * A cloned data column of strings.
         */
        strings: MLDataColumn<String> | null;
        /**
         * A cloned data column of machine learning sequences.
         */
        sequences: MLDataColumn<MLDataValue.SequenceType> | null;
        /**
         * A cloned data column of machine learning dictionaries.
         */
        dictionaries: MLDataColumn<MLDataValue.DictionaryType> | null;
        /**
         * A cloned data column of machine learning multi-arrays.
         */
        multiArrays: MLDataColumn<MLDataValue.MultiArrayType> | null;
        /**
         * A text representation of the column.
         */
        description: string;
        /**
         * A description of the column shown in a playground.
         */
        playgroundDescription: any;
        /**
         * A text representation of the column for debugging.
         */
        debugDescription: string;
        /**
         * A view of the column for Xcode Playgrounds and lldb.
         */
        customMirror: Mirror;
        /**
         * A Boolean value that indicates whether the column is valid.
         */
        isValid: boolean;
        /**
         * The underlying error present when the column is invalid.
         */
        error: Error | null;
        isEmpty: boolean;
        /**
         * Creates a new column with a repeating value.
         */
        constructor (repeatedValue: T, count: number);
        /**
         * Creates a new column of integers from a given range.
         */
        constructor (range: Range<Int>);
        /**
         * Creates an empty, invalid column used to remove an existing column from
         *  
         * a data table.
         */
        constructor ();
        /**
         * Creates a new column of integers by converting the elements of another
         *  
         * column.
         */
        constructor (ints: MLUntypedColumn);
        /**
         * Creates a new column of doubles by converting the elements of another
         *  
         * column.
         */
        constructor (doubles: MLUntypedColumn);
        /**
         * Creates a new column of strings by converting the elements of another
         *  
         * column.
         */
        constructor (strings: MLUntypedColumn);
        /**
         * Creates a new column of machine learning sequences by converting the
         *  
         * elements of another column.
         */
        constructor (sequences: MLUntypedColumn);
        /**
         * Creates a new column of machine learning dictionaries by converting the
         *  
         * elements of another column.
         */
        constructor (dictionaries: MLUntypedColumn);
        /**
         * Creates a MLUntypedColumn of type MLMultiArray from the specified MLUntypedColumn if the values of
         *  
         * the given MLUntypedColumn are convertible to MLDataValue.MultiArrayType.
         */
        constructor (multiArrays: MLUntypedColumn);
        /**
         * Appends the elements of the given column to the end of this column.
         */
        append(newColumn: MLUntypedColumn):void;
        /**
         * Returns a new MLUntypedColumn by copying the original MLUntypedColumn
         */
        copy():MLUntypedColumn;
        /**
         * Returns a new MLUntypedColumn containing values sorted by the specified order.
         */
        sort(byIncreasingOrder: boolean):MLUntypedColumn;
        /**
         * Creates a new column of typed values by converting this untyped column
         *  
         * to the given type.
         */
        map<T>(type: T.Type):MLDataValueConvertible;
        /**
         * Clones the column to a data column of the given type.
         */
        column<T>(type: T.Type):MLDataValueConvertible;
        /**
         * Creates a new column of typed values by applying the given thread-safe
         *  
         * transform to every element of this untyped column, including missing
         *  
         * elements.
         */
        mapMissing<T>(lazyTransform: ()=>any | null):MLDataValueConvertible;
        /**
         * Creates a subset of the column by removing all elements without a value.
         */
        dropMissing():MLUntypedColumn;
        /**
         * Creates a subset of the column by removing all duplicate elements.
         */
        dropDuplicates():MLUntypedColumn;
        /**
         * Creates a subset of the column, given a number of initial elements.
         */
        prefix(maxLength: number):MLUntypedColumn;
        /**
         * Creates a subset of the column, given a number of final elements.
         */
        suffix(maxLength: number):MLUntypedColumn;
        /**
         * Creates a modified copy of the column such that every missing element is
         *  
         * replaced with the given value.
         */
        fillMissing(value: MLDataValue):MLUntypedColumn;
        /**
         * Creates a new column by immediately evaluating any lazily applied data
         *  
         * processing operations stored in the column.
         */
        materialize():MLUntypedColumn;
        /**
         * Provides a visualization for the data in the column.
         */
        show():MLStreamingVisualizable;
    }
    export class MLSupportVectorClassifier {
        /**
         * The underlying parameters used when training the model.
         */
        modelParameters: MLSupportVectorClassifier.ModelParameters;
        /**
         * The name of the column you selected at initialization to define which
         *  
         * categories the classifier predicts.
         */
        targetColumn: string;
        /**
         * The names of the columns you selected at initialization to train the
         *  
         * classifier.
         */
        featureColumns: string[];
        /**
         * Measurements of the classifier’s performance on the training data set.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the classifier’s performance on the validation data set.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the support vector classifier.
         */
        description: string;
        /**
         * A text representation of the support vector classifier that’s suitable
         *  
         * for output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the support vector classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a Support Vector Classifier from the feature columns in the
         *  
         * training data to predict the categories in the target column.
         */
        constructor ();
        /**
         * Evaluates the classifier on the provided labeled data.
         */
        evaluation(labeledData: MLDataTable):MLClassifierMetrics;
        /**
         * Classifies the provided data into the target categories.
         */
        predictions(data: MLDataTable):MLUntypedColumn;
        /**
         * Exports a Core ML model file for use in your app.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLSupportVectorClassifier
     */
    export namespace MLSupportVectorClassifier {
        export class ModelParameters {
            convergenceThreshold: number;
            featureRescaling: boolean;
            maxIterations: number;
            penalty: number;
            /**
             * Validation data represented as a 
             * .
             */
            validationData: MLDataTable | null;
            /**
             * A text representation of the model parameters for a support vector
             *  
             * classifier.
             */
            description: string;
            /**
             * A text representation of the model parameters for a support vector
             *  
             * classifier that’s suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters for a support vector classifier
             *  
             * shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Validation data.
             */
            validation: MLSupportVectorClassifier.ModelParameters.ValidationData;
            /**
             * Creates a new set of parameters.
             */
            constructor (validationData: MLDataTable | null, maxIterations: number, penalty: number, convergenceThreshold: number, featureRescaling: boolean);
            constructor (validation: MLSupportVectorClassifier.ModelParameters.ValidationData, maxIterations: number, penalty: number, convergenceThreshold: number, featureRescaling: boolean);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
        }
    }
    export enum MLBoundingBoxAnchor {}
    export class MLClassifierMetrics {
        /**
         * The fraction of incorrectly labeled examples.
         */
        classificationError: number;
        /**
         * A data table listing the precision and recall percentages for each
         *  
         * category.
         */
        precisionRecall: MLDataTable;
        /**
         * A table comparing the actual and predicted labels for each
         *  
         * classification category.
         */
        confusion: MLDataTable;
        /**
         * A Boolean value indicating whether the classifier model was able to
         *  
         * calculate metrics.
         */
        isValid: boolean;
        /**
         * The underlying error present when the metrics are invalid.
         */
        error: Error | null;
        /**
         * A text representation of the classifier metrics.
         */
        description: string;
        /**
         * A text representation of the classifier metrics that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the classifier metrics shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates classifier metrics describing the quality of your model.
         */
        constructor (classificationError: number, confusion: MLDataTable, precisionRecall: MLDataTable);
    }
    export class MLRegressorMetrics {
        /**
         * The largest absolute difference between the expected values and the
         *  
         * model’s predicted values during testing or training.
         */
        maximumError: number;
        /**
         * A common metric used to determine the deviation between correct and
         *  
         * predicted values.
         */
        rootMeanSquaredError: number;
        /**
         * A Boolean value indicating whether the regressor model was able to
         *  
         * calculate metrics.
         */
        isValid: boolean;
        /**
         * The underlying error present when the metrics are invalid.
         */
        error: Error | null;
        /**
         * A text representation of the regressor metrics.
         */
        description: string;
        /**
         * A text representation of the regressor metrics that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the regressor metrics shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates regressor metrics describing the quality of your model.
         */
        constructor (maximumError: number, rootMeanSquaredError: number);
    }
    export enum MLBoundingBoxCoordinatesOrigin {}
    export class MLWordTaggerMetrics {
        /**
         * The fraction of incorrectly tagged examples.
         */
        taggingError: number;
        /**
         * A data table listing the precision and recall percentages for each
         *  
         * category.
         */
        precisionRecall: MLDataTable;
        /**
         * A table comparing the actual and predicted labels for each tagging
         *  
         * category.
         */
        confusion: MLDataTable;
        /**
         * A Boolean value indicating whether the metrics were calculated.
         */
        isValid: boolean;
        /**
         * The underlying error present when the metrics are invalid.
         */
        error: Error | null;
        /**
         * A text representation of the word tagger metrics.
         */
        description: string;
        /**
         * A text representation of the word tagger metrics that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the word tagger metrics shown in a playground.
         */
        playgroundDescription: any;
    }
    export class MLObjectDetectorMetrics {
        /**
         * Two dictionaries of average precisions at different threshholds.
         */
        averagePrecision: any;
        /**
         * Two mean-average precisions at different threshholds.
         */
        meanAveragePrecision: any;
        /**
         * A Boolean value indicating whether the object detector model was able to
         *  
         * calculate metrics.
         */
        isValid: boolean;
        /**
         * The underlying error present when the metrics are invalid.
         */
        error: Error | null;
        /**
         * A text representation of the object detector metrics.
         */
        description: string;
        /**
         * A text representation of the object detector metrics that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the object detector metrics shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates metrics for an object detector given an average precision and a
         *  
         * mean average precision.
         */
        constructor (averagePrecision: any, meanAveragePrecision: any);
    }
    export class MLJob {
        /**
         * A publisher that sends a checkpoint for each of the session’s checkpoint
         *  
         * intervals.
         */
        checkpoints: any;
        /**
         * A publisher that provides a result when the training session has
         *  
         * finished.
         */
        result: any;
        /**
         * A Boolean value that indicates whether you canceled the job.
         */
        isCanceled: boolean;
        /**
         * The date and time when the training session began.
         */
        startDate: Date;
        /**
         * The training session’s current progress.
         */
        progress: Progress;
        /**
         * Phase publisher.
         */
        phase: any;
        /**
         * Stores this cancellable instance in the specified set.
         */
        store(set: Set<AnyCancellable>):void;
        /**
         * Stops the training session’s execution.
         */
        cancel():void;
    }
    export class MLProgress {
        /**
         * The key that accesses the elapsed time value.
         */
        static elapsedTimeKey: ProgressUserInfoKey;
        /**
         * The key that accesses the current phase value.
         */
        static phaseKey: ProgressUserInfoKey;
        /**
         * The key that accesses the current item count value.
         */
        static itemCountKey: ProgressUserInfoKey;
        /**
         * The key that accesses the total item count value.
         */
        static totalItemCountKey: ProgressUserInfoKey;
        /**
         * The key that accesses the training accuracy value.
         */
        static accuracyKey: ProgressUserInfoKey;
        /**
         * The key that accesses the training loss value.
         */
        static lossKey: ProgressUserInfoKey;
        /**
         * The key that accesses the validation accuracy value.
         */
        static validationAccuracyKey: ProgressUserInfoKey;
        /**
         * The key that accesses the validation loss value.
         */
        static validationLossKey: ProgressUserInfoKey;
        /**
         * The key that accesses the content image loss value.
         */
        static contentLossKey: ProgressUserInfoKey;
        /**
         * The key that accesses the style image loss value.
         */
        static styleLossKey: ProgressUserInfoKey;
        /**
         * The key that accesses the stylized image value.
         */
        static stylizedImageKey: ProgressUserInfoKey;
        /**
         * The time, in seconds, since the training session started.
         */
        elapsedTime: TimeInterval;
        /**
         * The current phase of the training session.
         */
        phase: MLPhase;
        /**
         * The current number of files processed during a feature extraction phase,
         *  
         * or the completed iterations during a training phase.
         */
        itemCount: number;
        /**
         * The total number of files during a feature extraction phase, or total
         *  
         * iterations during a training phase.
         */
        totalItemCount: number;
        /**
         * Measurements of the model’s performance during the training or
         *  
         * evaluation phases of a training session.
         */
        metrics: Record<MLProgress.Metric, any>;
        /**
         * Creates a training session progress instance from a training phase.
         */
        constructor (phase: MLPhase);
        /**
         * Creates a training session progress instance from a foundation progress
         *  
         * object.
         */
        constructor (progress: Progress);
        /**
         * Creates a progress instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes the progress value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class MLProgress
     */
    export namespace MLProgress {
        export enum Metric {}
    }
    export class MLTrainingSession {
        /**
         * The training session’s current state.
         */
        phase: MLPhase;
        /**
         * The iteration number of a training session’s phase.
         */
        iteration: number;
        /**
         * An array of checkpoints the training session has created so far.
         */
        checkpoints: MLCheckpoint[];
        /**
         * The time when you created this training session.
         */
        date: Date;
        /**
         * The parameters you used to create the training session.
         */
        parameters: MLTrainingSessionParameters;
        /**
         * Removes the checkpoints that satisfy your closure from the training
         *  
         * session.
         */
        removeCheckpoints(predicate: ()=>any):void;
        /**
         * Uses the features another session has already extracted from its
         *  
         * dataset.
         */
        reuseExtractedFeatures(session: MLTrainingSession<Task>):void;
    }
    export enum MLPhase {}
    export class MLTrainingSessionParameters {
        /**
         * The location in the file system where the session stores its progress.
         */
        sessionDirectory: URL | null;
        /**
         * The number of iterations the session completes before it reports its
         *  
         * progress.
         */
        reportInterval: number;
        /**
         * The number of iterations the session completes before it saves a
         *  
         * checkpoint.
         */
        checkpointInterval: number;
        /**
         * The total number of iterations for the session.
         */
        iterations: number;
        /**
         * Creates a set of parameters for a training session.
         */
        constructor (sessionDirectory: URL | null, reportInterval: number, checkpointInterval: number, iterations: number);
    }
    export class MLCheckpoint {
        /**
         * The training session’s phase when it created the checkpoint.
         */
        phase: MLPhase;
        /**
         * The iteration number of a training session’s phase when it created the
         *  
         * checkpoint.
         */
        iteration: number;
        /**
         * The time when the training session created the checkpoint.
         */
        date: Date;
        /**
         * The location of the checkpoint in the file system.
         */
        url: URL;
        /**
         * Measurements of the model’s performance at the time the session saved
         *  
         * the checkpoint.
         */
        metrics: Record<MLProgress.Metric, any>;
        /**
         * Creates a new checkpoint by decoding from the decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes the checkpoint into the encoder.
         */
        encode(encoder: Encoder):void;
    }
    export enum MLCreateError {}
    export class MLActionClassifier {
        /**
         * Measurements of the action classifier’s performance on the training
         *  
         * dataset.
         */
        trainingMetrics: MLClassifierMetrics;
        /**
         * Measurements of the action classifier’s performance on the validation
         *  
         * dataset.
         */
        validationMetrics: MLClassifierMetrics;
        /**
         * The underlying Core ML model of the action classifier stored in memory.
         */
        model: MLModel;
        /**
         * The model configuration parameters the action classifier used during its
         *  
         * training session.
         */
        modelParameters: MLActionClassifier.ModelParameters;
        /**
         * A text representation of the action classifier.
         */
        description: string;
        /**
         * A text representation of the action classifier that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the action classifier shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates an action classifier from a training session checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates an action classifier with a training dataset represented by a
         *  
         * data source.
         */
        constructor (trainingData: MLActionClassifier.DataSource, parameters: MLActionClassifier.ModelParameters);
        /**
         * Begins an asynchronous action classifier training session.
         */
        static train(trainingData: MLActionClassifier.DataSource, parameters: MLActionClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLActionClassifier>;
        /**
         * Creates an asynchronous training session for an action classifier.
         */
        static makeTrainingSession(trainingData: MLActionClassifier.DataSource, parameters: MLActionClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLActionClassifier>;
        /**
         * Begins or continues an asynchronous action classifier training session.
         */
        static resume(session: MLTrainingSession<MLActionClassifier>):MLJob<MLActionClassifier>;
        /**
         * Creates an asynchronous training session for an action classifier by
         *  
         * restoring an existing training session’s state from its parameters.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLActionClassifier>;
        /**
         * Generates metrics describing the action classifier’s performance on
         *  
         * labeled videos represented by a data source.
         */
        evaluation(annotatedVideos: MLActionClassifier.DataSource):MLClassifierMetrics;
        /**
         * Generates a prediction for each action the classifier recognizes in the
         *  
         * video.
         */
        prediction(video: URL):MLActionClassifier.Prediction[];
        /**
         * Generates a sequence of predictions for each video input.
         */
        predictions(videos: URL[]):MLActionClassifier.Prediction[][];
        /**
         * Exports the action classifier as a Core ML model file to a location in
         *  
         * the file system.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLActionClassifier
     */
    export namespace MLActionClassifier {
        export class Prediction {
            /**
             * An array of prediction labels and their confidences for an action.
             */
            results: any;
            /**
             * The range of frame rates the action classifier used to make its
             *  
             * prediction.
             */
            frameRange: Range<Int>;
        }
        export enum DataSource {}
        export class ModelParameters {
            /**
             * The largest number of training iterations the training session can
             *  
             * use.
             */
            maximumIterations: number;
            /**
             * The number of videos the training session uses for each of its
             *  
             * training iterations.
             */
            batchSize: number;
            /**
             * The number of frames the training session uses per second of video
             *  
             * to train an action classifier.
             */
            targetFrameRate: number;
            /**
             * The number of frames the training session uses to train an action
             *  
             * classifier.
             */
            predictionWindowSize: number;
            /**
             * The algorithm the training session uses to train the action
             *  
             * classifier.
             */
            algorithm: MLActionClassifier.ModelParameters.ModelAlgorithmType;
            /**
             * The variations the training session uses to generate more variety in
             *  
             * the training dataset.
             */
            augmentationOptions: MLActionClassifier.VideoAugmentationOptions;
            /**
             * The action classifier’s validation dataset.
             */
            validation: MLActionClassifier.ModelParameters.ValidationData;
            /**
             * A text representation of the model parameters.
             */
            description: string;
            /**
             * A text representation of the model parameters that’s suitable for output
             *  
             * during debugging.
             */
            debugDescription: string;
            /**
             * A description of the model parameters shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Creates a new set of training parameters for an action classifier
             *  
             * with the validation dataset.
             */
            constructor (validation: MLActionClassifier.ModelParameters.ValidationData, batchSize: number, maximumIterations: number, predictionWindowSize: number, augmentationOptions: MLActionClassifier.VideoAugmentationOptions, algorithm: MLActionClassifier.ModelParameters.ModelAlgorithmType, targetFrameRate: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ValidationData {}
            export enum ModelAlgorithmType {}
        }
        export class VideoAugmentationOptions {
            /**
             * A video augmentation that creates a horizontally flipped copy of a
             *  
             * sample video.
             */
            static horizontalFlip: MLActionClassifier.VideoAugmentationOptions;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * Creates a video augmentation option set from a raw value.
             */
            constructor (rawValue: number);
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Creates a new instance by decoding from the given decoder, when the
             *  
             * type’s 
             *  is 
             * .
             */
            constructor (decoder: Decoder);
            /**
             * Returns a Boolean value that indicates whether a given element is a
             *  
             * member of the option set.
             */
            contains(member: Self):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Returns a new option set of the elements contained in this set, in the
             *  
             * given set, or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Returns a new option set with only the elements contained in both this
             *  
             * set and the given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes all elements of this option set that are not
             *  
             * also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Returns a new option set with the elements contained in this set or in
             *  
             * the given set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Replaces this set with a new set containing all elements
             *  
             * contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Returns a new set containing the elements of this set that do not occur
             *  
             * in the given set.
             */
            subtracting(other: Self):Self;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a Boolean value that indicates whether the set has no members in
             *  
             * common with the given set.
             */
            isDisjoint(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of
             *  
             * another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * subset of the given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of
             *  
             * the given set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * superset of the given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Encodes this value into the given encoder, when the type’s 
             *  
             * is 
             * .
             */
            encode(encoder: Encoder):void;
        }
    }
    export class MLModelMetadata {
        /**
         * The author of the model.
         */
        author: string;
        /**
         * A short text description of the model.
         */
        shortDescription: string;
        /**
         * The license governing the use of the model.
         */
        license: string;
        /**
         * The model version.
         */
        version: string;
        /**
         * A dictionary that encodes key value pairs to hold additional information
         *  
         * about the model.
         */
        additional: Record<string, string> | null;
        /**
         * Creates a new metadata instance for a machine learning model.
         */
        constructor (author: string, shortDescription: string, license: string, version: string, additional: Record<string, string> | null);
    }
    export enum MLSplitStrategy {}
    export class MLStyleTransfer {
        /**
         * A text representation of the style transfer model.
         */
        description: string;
        /**
         * A text representation of the style transfer model that’s suitable for
         *  
         * output during debugging.
         */
        debugDescription: string;
        /**
         * A description of the style transfer model shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a style transfer model from a training session checkpoint.
         */
        constructor (checkpoint: MLCheckpoint);
        /**
         * Creates a style transfer model with a training dataset represented by a
         *  
         * data source.
         */
        constructor (trainingData: MLStyleTransfer.DataSource, parameters: MLStyleTransfer.ModelParameters);
        /**
         * Begins an asynchronous style transfer model-training session.
         */
        static train(trainingData: MLStyleTransfer.DataSource, parameters: MLStyleTransfer.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLJob<MLStyleTransfer>;
        /**
         * Creates an asynchronous training session for a style transfer model.
         */
        static makeTrainingSession(trainingData: MLStyleTransfer.DataSource, parameters: MLStyleTransfer.ModelParameters, sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLStyleTransfer>;
        /**
         * Begins or continues an asynchronous style transfer model-training
         *  
         * session.
         */
        static resume(session: MLTrainingSession<MLStyleTransfer>):MLJob<MLStyleTransfer>;
        /**
         * Creates an asynchronous training session for a style transfer model by
         *  
         * restoring an existing training session’s state from its parameters.
         */
        static restoreTrainingSession(sessionParameters: MLTrainingSessionParameters):MLTrainingSession<MLStyleTransfer>;
        /**
         * Initiates a download of the mlmodel assets required for Style Transfer training. This will be performed
         *  
         * automatically if needed at training time, but can be run independently prior to training.
         */
        static downloadAssets():void;
        /**
         * Applies the style the model learned to an image.
         */
        stylize(image: CGImage):CGImage | null;
        /**
         * Exports the style transfer model as a Core ML model file to a location
         *  
         * in the file system.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLStyleTransfer
     */
    export namespace MLStyleTransfer {
        export enum DataSource {}
        export class ModelParameters {
            /**
             * The style transfer task’s training algorithm that prioritizes either
             *  
             * speed or quality.
             */
            algorithm: MLStyleTransfer.ModelParameters.ModelAlgorithmType;
            /**
             * A text representation of the style transfer model parameters that’s
             *  
             * suitable for output during debugging.
             */
            debugDescription: string;
            /**
             * A text representation of the style transfer model parameters.
             */
            description: string;
            /**
             * The largest number of iterations the style transfer model can use
             *  
             * during training.
             */
            maxIterations: number;
            /**
             * A description of the style transfer model parameters shown in a
             *  
             * playground.
             */
            playgroundDescription: any;
            /**
             * The amount of influence the input style image has in the stylized
             *  
             * image output.
             */
            styleStrength: number;
            /**
             * The amount of detail the task applies from the input style image to
             *  
             * the stylized image output.
             */
            textelDensity: number;
            /**
             * The style transfer model’s validation dataset.
             */
            validation: MLStyleTransfer.ModelParameters.ValidationData;
            /**
             * Creates a new set of training parameters for a style transfer model.
             */
            constructor (algorithm: MLStyleTransfer.ModelParameters.ModelAlgorithmType, validation: MLStyleTransfer.ModelParameters.ValidationData, maxIterations: number, textelDensity: number, styleStrength: number);
        }
        /**
         * the same name namespace of class ModelParameters
         */
        export namespace ModelParameters {
            export enum ModelAlgorithmType {}
            export enum ValidationData {}
        }
    }
    export class MLGazetteer {
        /**
         * The configuration parameters that the gazetteer used during
         *  
         * initialization.
         */
        modelParameters: MLGazetteer.ModelParameters;
        /**
         * The gazetteer contained within a Core ML model file stored in memory.
         */
        model: MLModel;
        /**
         * A text representation of the gazetteer.
         */
        description: string;
        /**
         * A text representation of the gazetteer that’s suitable for output during
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A description of the gazetteer shown in a playground.
         */
        playgroundDescription: any;
        /**
         * Creates a gazetteer from a set of labels for terms represented by a
         *  
         * dictionary.
         */
        constructor (dictionary: Record<string, string[]>, parameters: MLGazetteer.ModelParameters);
        /**
         * Creates a gazetteer from a set of labels for terms represented by a data
         *  
         * table.
         */
        constructor (labeledData: MLDataTable, textColumn: string, labelColumn: string, parameters: MLGazetteer.ModelParameters);
        /**
         * Retrieves the label for the given term.
         */
        prediction(text: string):string;
        /**
         * Retrieves the labels for the given terms.
         */
        predictions(texts: string[]):string[];
        /**
         * Exports the gazetteer contained within a Core ML model file at the given
         *  
         * URL.
         */
        write(fileURL: URL, metadata: MLModelMetadata | null):void;
    }
    /**
     * the same name namespace of class MLGazetteer
     */
    export namespace MLGazetteer {
        export class ModelParameters {
            /**
             * The gazetteer’s language setting.
             */
            language: NLLanguage | null;
            /**
             * A text representation of the gazetteer settings.
             */
            description: string;
            /**
             * A text representation of the gazetteer settings that’s suitable for
             *  
             * output during debugging.
             */
            debugDescription: string;
            /**
             * A description of the gazetteer settings shown in a playground.
             */
            playgroundDescription: any;
            /**
             * Creates a new set of gazetteer parameters.
             */
            constructor (language: NLLanguage | null);
        }
    }
}

/**
 * Analyze natural language text and deduce its language-specific metadata.
 */
declare module NaturalLanguage {
    export class NLLanguage {
        /**
         * The unique identifier string for the Amharic language.
         */
        static amharic: NLLanguage;
        /**
         * The unique identifier string for the Arabic language.
         */
        static arabic: NLLanguage;
        /**
         * The unique identifier string for the Armenian language.
         */
        static armenian: NLLanguage;
        /**
         * The unique identifier string for the Bengali language.
         */
        static bengali: NLLanguage;
        /**
         * The unique identifier string for the Bulgarian language.
         */
        static bulgarian: NLLanguage;
        /**
         * The unique identifier string for the Burmese language.
         */
        static burmese: NLLanguage;
        /**
         * The unique identifier string for the Catalan language.
         */
        static catalan: NLLanguage;
        /**
         * The unique identifier string for the Cherokee language.
         */
        static cherokee: NLLanguage;
        /**
         * The unique identifier string for the Croatian language.
         */
        static croatian: NLLanguage;
        /**
         * The unique identifier string for the Czech language.
         */
        static czech: NLLanguage;
        /**
         * The unique identifier string for the Danish language.
         */
        static danish: NLLanguage;
        /**
         * The unique identifier string for the Dutch language.
         */
        static dutch: NLLanguage;
        /**
         * The unique identifier string for the English language.
         */
        static english: NLLanguage;
        /**
         * The unique identifier string for the Finnish language.
         */
        static finnish: NLLanguage;
        /**
         * The unique identifier string for the French language.
         */
        static french: NLLanguage;
        /**
         * The unique identifier string for the Georgian language.
         */
        static georgian: NLLanguage;
        /**
         * The unique identifier string for the German language.
         */
        static german: NLLanguage;
        /**
         * The unique identifier string for the Greek language.
         */
        static greek: NLLanguage;
        /**
         * The unique identifier string for the Gujarati language.
         */
        static gujarati: NLLanguage;
        /**
         * The unique identifier string for the Hebrew language.
         */
        static hebrew: NLLanguage;
        /**
         * The unique identifier string for the Hindi language.
         */
        static hindi: NLLanguage;
        /**
         * The unique identifier string for the Hungarian language.
         */
        static hungarian: NLLanguage;
        /**
         * The unique identifier string for the Icelandic language.
         */
        static icelandic: NLLanguage;
        /**
         * The unique identifier string for the Indonesian language.
         */
        static indonesian: NLLanguage;
        /**
         * The unique identifier string for the Italian language.
         */
        static italian: NLLanguage;
        /**
         * The unique identifier string for the Japanese language.
         */
        static japanese: NLLanguage;
        /**
         * The unique identifier string for the Kannada language.
         */
        static kannada: NLLanguage;
        /**
         * The unique identifier string for the Kazakh language.
         */
        static kazakh: NLLanguage;
        /**
         * The unique identifier string for the Khmer language.
         */
        static khmer: NLLanguage;
        /**
         * The unique identifier string for the Korean language.
         */
        static korean: NLLanguage;
        /**
         * The unique identifier string for the Lao language.
         */
        static lao: NLLanguage;
        /**
         * The unique identifier string for the Malay language.
         */
        static malay: NLLanguage;
        /**
         * The unique identifier string for the Malayalam language.
         */
        static malayalam: NLLanguage;
        /**
         * The unique identifier string for the Marathi language.
         */
        static marathi: NLLanguage;
        /**
         * The unique identifier string for the Mongolian language.
         */
        static mongolian: NLLanguage;
        /**
         * The unique identifier string for the Norwegian language.
         */
        static norwegian: NLLanguage;
        /**
         * The unique identifier string for the Oriya language.
         */
        static oriya: NLLanguage;
        /**
         * The unique identifier string for the Persian language.
         */
        static persian: NLLanguage;
        /**
         * The unique identifier string for the Polish language.
         */
        static polish: NLLanguage;
        /**
         * The unique identifier string for the Portuguese language.
         */
        static portuguese: NLLanguage;
        /**
         * The unique identifier string for the Punjabi language.
         */
        static punjabi: NLLanguage;
        /**
         * The unique identifier string for the Romanian language.
         */
        static romanian: NLLanguage;
        /**
         * The unique identifier string for the Russian language.
         */
        static russian: NLLanguage;
        /**
         * The unique identifier string for the Simplified Chinese language.
         */
        static simplifiedChinese: NLLanguage;
        /**
         * The unique identifier string for the Sinhalese language.
         */
        static sinhalese: NLLanguage;
        /**
         * The unique identifier string for the Slovak language.
         */
        static slovak: NLLanguage;
        /**
         * The unique identifier string for the Spanish language.
         */
        static spanish: NLLanguage;
        /**
         * The unique identifier string for the Swedish language.
         */
        static swedish: NLLanguage;
        /**
         * The unique identifier string for the Tamil language.
         */
        static tamil: NLLanguage;
        /**
         * The unique identifier string for the Telugu language.
         */
        static telugu: NLLanguage;
        /**
         * The unique identifier string for the Thai language.
         */
        static thai: NLLanguage;
        /**
         * The unique identifier string for the Tibetan language.
         */
        static tibetan: NLLanguage;
        /**
         * The unique identifier string for the Traditional Chinese language.
         */
        static traditionalChinese: NLLanguage;
        /**
         * The unique identifier string for the Turkish language.
         */
        static turkish: NLLanguage;
        /**
         * The unique identifier string for the Ukrainian language.
         */
        static ukrainian: NLLanguage;
        /**
         * The unique identifier string for the Urdu language.
         */
        static urdu: NLLanguage;
        /**
         * The unique identifier string for the Vietnamese language.
         */
        static vietnamese: NLLanguage;
        /**
         * The unique identifier string for a language the Natural Language framework doesn’t recognize.
         */
        static undetermined: NLLanguage;
        /**
         * Creates a language tag with the given string.
         */
        constructor (rawValue: string);
        /**
         * Creates a language tag with the given string as its raw value.
         */
        constructor (rawValue: string);
    }
    export enum NLDistanceType {
        cosine = 0,
    }
    export class NLTokenizer extends NSObject {
        /**
         * The text to be tokenized.
         */
        string: string;
        /**
         * The linguistic unit that this tokenizer uses.
         */
        unit: NLTokenUnit;
        /**
         * Creates a tokenizer with the specified unit.
         */
        constructor (unit: NLTokenUnit);
        /**
         * Enumerates over a given range of the string and calls the specified block for each token.
         */
        enumerateTokens(range: Range<String.Index>, block: ()=>any):void;
        /**
         * Tokenizes the string within the provided range.
         */
        tokens(range: Range<String.Index>):Range<String.Index>[];
        /**
         * Finds the range of the token at the given index.
         */
        tokenRange(index: String.Index):Range<String.Index>;
        /**
         * Sets the language of the text to be tokenized.
         */
        setLanguage(language: NLLanguage):void;
    }
    /**
     * the same name namespace of class NLTokenizer
     */
    export namespace NLTokenizer {
        export class Attributes {
            /**
             * Creates an attribute with given value.
             */
            constructor (rawValue: number);
        }
    }
    export class NLTagScheme {
        /**
         * A scheme that supplies a stem form of a word token, if known.
         */
        static lemma: NLTagScheme;
        /**
         * A scheme that supplies the language for a token, if it can determine one.
         */
        static language: NLTagScheme;
        /**
         * A scheme that supplies the script for a token, if it can determine one.
         */
        static script: NLTagScheme;
        /**
         * A scheme that scores text as positive, negative, or neutral based on its sentiment polarity.
         */
        static sentimentScore: NLTagScheme;
        /**
         * Creates a tag scheme.
         */
        constructor (rawValue: string);
        /**
         * Creates a tag scheme with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class NLTagger extends NSObject {
        /**
         * The dominant language of the string set for the linguistic tagger.
         */
        dominantLanguage: NLLanguage | null;
        /**
         * Sets the language for a range of text within the tagger's string.
         */
        setLanguage(language: NLLanguage, range: Range<String.Index>):void;
        /**
         * Sets the orthography for the specified range.
         */
        setOrthography(orthography: NSOrthography, range: Range<String.Index>):void;
        /**
         * Enumerates a block over the tagger’s string, given a range, token unit, and tag scheme.
         */
        enumerateTags(range: Range<String.Index>, unit: NLTokenUnit, scheme: NLTagScheme, options: NLTagger.Options, block: ()=>any):void;
        /**
         * Finds an array of linguistic tags and token ranges for a given string range and linguistic unit.
         */
        tags(range: Range<String.Index>, unit: NLTokenUnit, scheme: NLTagScheme, options: NLTagger.Options):any;
        /**
         * Finds a tag for a given linguistic unit, for a single scheme, at the specified character position.
         */
        tag(index: String.Index, unit: NLTokenUnit, scheme: NLTagScheme):any;
        /**
         * Finds multiple possible tags for a given linguistic unit, for a single scheme, at the specified character position.
         */
        tagHypotheses(index: String.Index, unit: NLTokenUnit, scheme: NLTagScheme, maximumCount: number):Record<string, number>;
        /**
         * Returns the range of the linguistic unit containing the specified character index.
         */
        tokenRange(index: String.Index, unit: NLTokenUnit):Range<String.Index>;
        /**
         * Assigns models for a tag scheme.
         */
        setModels(models: NLModel[], tagScheme: NLTagScheme):void;
        /**
         * Returns the models that apply to the given tag scheme.
         */
        models(tagScheme: NLTagScheme):NLModel[];
        /**
         * Attaches gazetteers to a tag scheme, typically one gazetteer per language or one language-independent gazetteer.
         */
        setGazetteers(gazetteers: NLGazetteer[], tagScheme: NLTagScheme):void;
        /**
         * Retrieves the gazetteers attached to a tag scheme.
         */
        gazetteers(tagScheme: NLTagScheme):NLGazetteer[];
    }
    /**
     * the same name namespace of class NLTagger
     */
    export namespace NLTagger {
        export class Options {
            /**
             * Omit tokens of type 
             *  (items considered to be words).
             */
            static omitWords: NLTagger.Options;
            /**
             * Omit tokens of type 
             *  (all punctuation).
             */
            static omitPunctuation: NLTagger.Options;
            /**
             * Omit tokens of type 
             *  (whitespace of all sorts).
             */
            static omitWhitespace: NLTagger.Options;
            /**
             * Omit tokens of type 
             *  (non-linguistic items, such as symbols).
             */
            static omitOther: NLTagger.Options;
            /**
             * Typically, multiple-word names will be returned as multiple tokens, following the standard tokenization practice of the tagger.
             */
            static joinNames: NLTagger.Options;
            /**
             * Contractions will be returned as one token.
             */
            static joinContractions: NLTagger.Options;
            /**
             * Creates the option with a raw value.
             */
            constructor (rawValue: number);
        }
    }
    export class NLTag {
        /**
         * A tag indicating that the token is a word.
         */
        static word: NLTag;
        /**
         * A tag indicating that the token is punctuation.
         */
        static punctuation: NLTag;
        /**
         * A tag indicating that the token is white space of any sort.
         */
        static whitespace: NLTag;
        /**
         * A tag indicating that the token is a non-linguistic item, such as a symbol.
         */
        static other: NLTag;
        /**
         * A tag indicating that the token is a noun.
         */
        static noun: NLTag;
        /**
         * A tag indicating that the token is a verb.
         */
        static verb: NLTag;
        /**
         * A tag indicating that the token is an adjective
         */
        static adjective: NLTag;
        /**
         * A tag indicating that the token is an adverb.
         */
        static adverb: NLTag;
        /**
         * A tag indicating that the token is a pronoun.
         */
        static pronoun: NLTag;
        /**
         * A tag indicating that the token is a determiner.
         */
        static determiner: NLTag;
        /**
         * A tag indicating that the token is a particle.
         */
        static particle: NLTag;
        /**
         * A tag indicating that the token is a preposition.
         */
        static preposition: NLTag;
        /**
         * A tag indicating that the token is a number.
         */
        static number: NLTag;
        /**
         * A tag indicating that the token is a conjunction.
         */
        static conjunction: NLTag;
        /**
         * A tag indicating that the token is an interjection.
         */
        static interjection: NLTag;
        /**
         * A tag indicating that the token is a classifier.
         */
        static classifier: NLTag;
        /**
         * A tag indicating that the token is an idiom.
         */
        static idiom: NLTag;
        /**
         * A tag indicating that the token is a word other than a kind described by other lexical classes (noun, verb, adjective, adverb, pronoun, determiner, particle, preposition, number, conjunction, interjection, classifier, and idiom).
         */
        static otherWord: NLTag;
        /**
         * A tag indicating that the token is punctuation at the end of a sentence.
         */
        static sentenceTerminator: NLTag;
        /**
         * A tag indicating that the token is an open quote.
         */
        static openQuote: NLTag;
        /**
         * A tag indicating that the token is a close quote.
         */
        static closeQuote: NLTag;
        /**
         * A tag indicating that the token is an open parenthesis.
         */
        static openParenthesis: NLTag;
        /**
         * A tag indicating that the token is a close parenthesis.
         */
        static closeParenthesis: NLTag;
        /**
         * A tag indicating that the token is a word joiner, signifying that two tokens on each side should not be broken up.
         */
        static wordJoiner: NLTag;
        /**
         * A tag indicating that the token is a dash.
         */
        static dash: NLTag;
        /**
         * A tag indicating that the token is punctuation other than a kind described by other lexical classes (sentence terminator, open or close quote, open or close parenthesis, word joiner, and dash).
         */
        static otherPunctuation: NLTag;
        /**
         * A tag indicating that the token is a paragraph break.
         */
        static paragraphBreak: NLTag;
        /**
         * A tag indicating that the token is whitespace other than a kind described by other lexical classes (paragraph break).
         */
        static otherWhitespace: NLTag;
        /**
         * A tag indicating that the token is a personal name.
         */
        static personalName: NLTag;
        /**
         * A tag indicating that the token is an organization name.
         */
        static organizationName: NLTag;
        /**
         * A tag indicating that the token is a place name.
         */
        static placeName: NLTag;
        /**
         * Creates a new tag.
         */
        constructor (rawValue: string);
        /**
         * Creates a new tag from the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class NLLanguageRecognizer extends NSObject {
        /**
         * A dictionary that maps languages to their probabilities in the language identification process.
         */
        languageHints: Record<NLLanguage, number>;
        /**
         * Limits the set of possible languages that the recognizer will return.
         */
        languageConstraints: NLLanguage[];
        /**
         * Creates a recognizer that you can customize.
         */
        constructor ();
        /**
         * Finds the most likely language of a piece of text.
         */
        static dominantLanguage(_string: string):NLLanguage | null;
        /**
         * Analyzes the piece of text to determine its dominant language.
         */
        processString(_string: string):void;
        /**
         * Generates the probabilities of possible languages for the processed text.
         */
        languageHypotheses(maxHypotheses: number):Record<NLLanguage, number>;
        /**
         * Resets the recognizer to its initial state.
         */
        reset():void;
    }
    export enum NLTokenUnit {
        word = 0,
        sentence = 1,
        paragraph = 2,
        document = 3,
    }
    export class NLGazetteer extends NSObject {
        /**
         * The gazetteer represented as a data instance.
         */
        data: Data;
        /**
         * The language of the gazetteer.
         */
        language: NLLanguage | null;
        /**
         * Creates a Natural Language gazetteer from a model created with the Create ML framework.
         */
        constructor (url: URL);
        /**
         * Creates a gazetteer from a data instance.
         */
        constructor (data: Data);
        /**
         * Creates a gazetteer from a set of labels for terms represented by a dictionary.
         */
        constructor (dictionary: Record<string, string[]>, language: NLLanguage | null);
        /**
         * Creates a gazetteer from a set of labels for terms represented by a dictionary and saves the gazetteer to a file.
         */
        static write(dictionary: Record<string, string[]>, language: NLLanguage | null, url: URL):void;
        /**
         * Retrieves the label for the given term.
         */
        label(_string: string):string;
    }
    export class NLEmbedding extends NSObject {
        /**
         * The number of dimensions in the vocabulary’s vector space.
         */
        dimension: number;
        /**
         * The number of words in the vocabulary.
         */
        vocabularySize: number;
        /**
         * The language of the text in the word embedding.
         */
        language: NLLanguage | null;
        /**
         * The revision of the word embedding.
         */
        revision: number;
        /**
         * Creates a word embedding from a model file.
         */
        constructor (url: URL);
        /**
         * Retrieves a word embedding for a given language.
         */
        static wordEmbedding(language: NLLanguage):NLEmbedding | null;
        /**
         * Retrieves a sentence embedding for a given language.
         */
        static sentenceEmbedding(language: NLLanguage):NLEmbedding | null;
        /**
         * Exports the word embedding contained within a Core ML model file at the given URL.
         */
        static write(dictionary: Record<string, number[]>, language: NLLanguage | null, revision: number, url: URL):void;
        /**
         * Retrieves the current version of a word embedding for the given language.
         */
        static currentRevision(language: NLLanguage):number;
        /**
         * Retrieves all version numbers of a word embedding for the given language.
         */
        static supportedRevisions(language: NLLanguage):IndexSet;
        /**
         * Retrieves the current version of a sentence embedding for the given language.
         */
        static currentSentenceEmbeddingRevision(language: NLLanguage):number;
        /**
         * Retrieves all version numbers of a sentence embedding for the given language.
         */
        static supportedSentenceEmbeddingRevisions(language: NLLanguage):IndexSet;
        /**
         * Retrieves a limited number of strings near a string in the vocabulary.
         */
        neighbors(_string: string, maxCount: number, distanceType: NLDistanceType):any;
        /**
         * Passes the nearest strings of a string in the vocabulary to a closure.
         */
        enumerateNeighbors(_string: string, maxCount: number, distanceType: NLDistanceType, block: ()=>any):void;
        /**
         * Calculates the distance between two strings in the vocabulary space.
         */
        distance(firstString: string, secondString: string, distanceType: NLDistanceType):NLDistance;
        /**
         * Requests a Boolean value that indicates whether the term is in the vocabulary.
         */
        contains(_string: string):boolean;
        /**
         * Requests the vector for the given term.
         */
        vector(_string: string):number[] | null;
    }
    export class NLModel extends NSObject {
        /**
         * A configuration describing the natural language model.
         */
        configuration: NLModelConfiguration;
        /**
         * Creates a new natural language model based on the given Core ML model instance.
         */
        constructor (mlModel: MLModel);
        /**
         * Creates a new natural language model based on a compiled Core ML model at the given URL.
         */
        constructor (url: URL);
        /**
         * Predicts a label for the given input string.
         */
        predictedLabel(_string: string):string;
        /**
         * Predicts a label for each string in the given array.
         */
        predictedLabels(tokens: string[]):string[];
        /**
         * Predicts multiple possible labels for the given input string.
         */
        predictedLabelHypotheses(_string: string, maxCount: number):Record<string, number>;
    }
    /**
     * the same name namespace of class NLModel
     */
    export namespace NLModel {
        export enum ModelType {
            sequence = 1,
            classifier = 0,
        }
    }
    export class NLModelConfiguration extends NSObject {
        /**
         * The language the model supports.
         */
        language: NLLanguage | null;
        /**
         * The version of the Natural Language framework that trained the model.
         */
        revision: number;
        /**
         * The natural language model type of the model.
         */
        type: NLModel.ModelType;
        /**
         * Returns the versions of the Natural Language framework the OS supports.
         */
        static supportedRevisions(type: NLModel.ModelType):IndexSet;
        /**
         * Returns the current Natural Language framework version in the OS.
         */
        static currentRevision(type: NLModel.ModelType):number;
    }
}

/**
 * Perform cryptographic operations securely and efficiently.
 */
declare module AppleCryptoKit {
    export class SHA384Digest {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Hashes the essential components of the digest by feeding them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class SHA384 {
        /**
         * The number of bytes in a SHA384 digest.
         */
        static byteCount: number;
        /**
         * The number of bytes that represents the hash function’s internal state.
         */
        static blockByteCount: number;
        /**
         * Creates a SHA384 hash function.
         */
        constructor ();
        /**
         * Computes the SHA384 digest of the bytes in the given data instance and returns
         *  
         * the computed digest.
         */
        static hash<D>(data: D):DataProtocol;
        /**
         * Incrementally updates the hash function with the given data.
         */
        update<D>(data: D):void;
        /**
         * Incrementally updates the hash function with the contents of the buffer.
         */
        update(bufferPointer: UnsafeRawBufferPointer):void;
        /**
         * Finalizes the hash function and returns the computed digest.
         */
        finalize():SHA384.Digest;
    }
    export class SHA256 {
        /**
         * The number of bytes in a SHA256 digest.
         */
        static byteCount: number;
        /**
         * The number of bytes that represents the hash function’s internal state.
         */
        static blockByteCount: number;
        /**
         * Creates a SHA256 hash function.
         */
        constructor ();
        /**
         * Computes the SHA256 digest of the bytes in the given data instance and returns
         *  
         * the computed digest.
         */
        static hash<D>(data: D):DataProtocol;
        /**
         * Incrementally updates the hash function with the given data.
         */
        update<D>(data: D):void;
        /**
         * Incrementally updates the hash function with the contents of the buffer.
         */
        update(bufferPointer: UnsafeRawBufferPointer):void;
        /**
         * Finalizes the hash function and returns the computed digest.
         */
        finalize():SHA256.Digest;
    }
    export class SHA256Digest {
        /**
         * The number of bytes in the SHA256 digest.
         */
        static byteCount: number;
        /**
         * A human-readable description of the digest.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Invokes the given closure with a buffer pointer covering the raw bytes of
         *  
         * the digest.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Hashes the essential components of the digest by feeding them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class SHA512 {
        /**
         * The number of bytes in a SHA512 digest.
         */
        static byteCount: number;
        /**
         * The number of bytes that represents the hash function’s internal state.
         */
        static blockByteCount: number;
        /**
         * Creates a SHA512 hash function.
         */
        constructor ();
        /**
         * Computes the SHA512 digest of the bytes in the given data instance and
         *  
         * returns the computed digest.
         */
        static hash<D>(data: D):DataProtocol;
        /**
         * Incrementally updates the hash function with the given data.
         */
        update<D>(data: D):void;
        /**
         * Incrementally updates the hash function with the contents of the buffer.
         */
        update(bufferPointer: UnsafeRawBufferPointer):void;
        /**
         * Finalizes the hash function and returns the computed digest.
         */
        finalize():SHA512.Digest;
    }
    export class SHA512Digest {
        /**
         * The number of bytes in the SHA512 digest.
         */
        static byteCount: number;
        /**
         * A human-readable description of the digest.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Invokes the given closure with a buffer pointer covering the raw bytes of the
         *  
         * digest.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Hashes the essential components of the digest by feeding them into the
         *  
         * given hash function.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class HMAC {
        /**
         * Creates a message authentication code generator.
         */
        constructor (key: SymmetricKey);
        /**
         * Computes a message authentication code for the given data.
         */
        static authenticationCode<D>(data: D, key: SymmetricKey):DataProtocol;
        /**
         * Returns a Boolean value indicating whether the given message authentication
         *  
         * code is valid for a block of data.
         */
        static isValidAuthenticationCode<D>(authenticationCode: any, authenticatedData: D, key: SymmetricKey):DataProtocol;
        /**
         * Returns a Boolean value indicating whether the given message authentication
         *  
         * code is valid for a block of data stored in a buffer.
         */
        static isValidAuthenticationCode(mac: any, bufferPointer: UnsafeRawBufferPointer, key: SymmetricKey):boolean;
        /**
         * Returns a Boolean value indicating whether the given message authentication
         *  
         * code represented as contiguous bytes is valid for a block of data.
         */
        static isValidAuthenticationCode<C, D>(authenticationCode: C, authenticatedData: D, key: SymmetricKey):DataProtocol;
        /**
         * Updates the message authentication code computation with a block of data.
         */
        update<D>(data: D):void;
        /**
         * Finalizes the message authentication computation and returns the computed code.
         */
        finalize():any;
    }
    export class SymmetricKey {
        /**
         * The number of bits in the key.
         */
        bitCount: number;
        /**
         * Creates a key from the given data.
         */
        constructor (data: D);
        /**
         * Generates a new random key of the given size.
         */
        constructor (size: SymmetricKeySize);
        /**
         * Invokes the given closure with a buffer pointer covering the raw bytes of
         *  
         * the key.
         */
        withUnsafeBytes<R>(body: R):R;
    }
    export class HashedAuthenticationCode {
        /**
         * The number of bytes in the message authentication code.
         */
        byteCount: number;
        /**
         * A human-readable description of the code.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Invokes the given closure with a buffer pointer covering the raw bytes of the
         *  
         * code.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class SymmetricKeySize {
        /**
         * A size of 128 bits.
         */
        static bits128: SymmetricKeySize;
        /**
         * A size of 192 bits.
         */
        static bits192: SymmetricKeySize;
        /**
         * A size of 256 bits.
         */
        static bits256: SymmetricKeySize;
        /**
         * The number of bits in the key.
         */
        bitCount: number;
        /**
         * Creates a new key size of the given length.
         */
        constructor (bitCount: number);
    }
    export enum AES {}
    export enum ChaChaPoly {}
    export enum Curve25519 {}
    export class SharedSecret {
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Derives a symmetric encryption key from the secret using HKDF key derivation.
         */
        hkdfDerivedSymmetricKey<H, Salt, SI>(hashFunction: H.Type, salt: Salt, sharedInfo: SI, outputByteCount: number):DataProtocol;
        /**
         * Derives a symmetric encryption key from the secret using x9.63 key derivation.
         */
        x963DerivedSymmetricKey<H, SI>(hashFunction: H.Type, sharedInfo: SI, outputByteCount: number):DataProtocol;
        /**
         * Invokes the given closure with a buffer pointer covering the raw bytes of
         *  
         * the shared secret.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export enum P521 {}
    export enum P384 {}
    export enum P256 {}
    export enum SecureEnclave {}
    export class HKDF {
        /**
         * Derives a symmetric encryption key from a main key or passcode using HKDF key
         *  
         * derivation.
         */
        static deriveKey(inputKeyMaterial: SymmetricKey, outputByteCount: number):SymmetricKey;
        /**
         * Derives a symmetric encryption key from a main key or passcode using HKDF key
         *  
         * derivation with information you specify.
         */
        static deriveKey<Info>(inputKeyMaterial: SymmetricKey, info: Info, outputByteCount: number):DataProtocol;
        /**
         * Derives a symmetric encryption key from a main key or passcode using HKDF key
         *  
         * derivation with salt that you specify.
         */
        static deriveKey<Salt>(inputKeyMaterial: SymmetricKey, salt: Salt, outputByteCount: number):DataProtocol;
        /**
         * Derives a symmetric encryption key from a main key or passcode using HKDF key
         *  
         * derivation with information  and salt you specify.
         */
        static deriveKey<Salt, Info>(inputKeyMaterial: SymmetricKey, salt: Salt, info: Info, outputByteCount: number):DataProtocol;
        /**
         * Creates cryptographically strong key material from a main key or passcode that
         *  
         * you specify.
         */
        static extract<Salt>(inputKeyMaterial: SymmetricKey, salt: Salt | null):DataProtocol;
        /**
         * Expands cryptographically strong key material into a derived symmetric key.
         */
        static expand<PRK, Info>(prk: PRK, info: Info | null, outputByteCount: number):DataProtocol;
    }
    export enum CryptoKitError {}
    export enum CryptoKitASN1Error {}
    export enum Insecure {}
}

/**
 * Access security tokens and the cryptographic assets they store.
 */
declare module CryptoTokenKit {
    export class TKSmartCardSlotManager extends NSObject {
        /**
         * The shared singleton Smart Card reader slot manager.
         */
        static default: TKSmartCardSlotManager | null;
        /**
         * A list of identifiers for all the Smart Card reader slots available to the system.
         */
        slotNames: string[];
        /**
         * Asynchronously calls a block with a Smart Card reader slot for a specified name.
         */
        getSlot(name: string, reply: ()=>any):void;
        /**
         * Returns the Smart Card slot with a given name.
         */
        slotNamed(name: string):TKSmartCardSlot | null;
    }
    export class TKSmartCardSlot extends NSObject {
        /**
         * The name of the Smart Card reader slot.
         */
        name: string;
        /**
         * The maximum length of input APDU (Application Protocol Data Unit) that the Smart Card reader slot is able to transfer to the Smart Card.
         */
        maxInputLength: number;
        /**
         * The maximum length of output APDU (Application Protocol Data Unit) that the Smart Card reader slot is able to transfer from the Smart Card.
         */
        maxOutputLength: number;
        /**
         * The ATR (Answer to Reset) of the inserted Smart Card, or 
         *  if no Smart Card is inserted or the inserted Smart Card is mute.
         */
        atr: TKSmartCardATR | null;
    }
    /**
     * the same name namespace of class TKSmartCardSlot
     */
    export namespace TKSmartCardSlot {
        export enum State {
            missing = 0,
            empty = 1,
            probing = 2,
            muteCard = 3,
            validCard = 4,
        }
    }
    export class TKSmartCardUserInteractionForSecurePINChange extends TKSmartCardUserInteractionForPINOperation {}
    /**
     * the same name namespace of class TKSmartCardUserInteractionForSecurePINChange
     */
    export namespace TKSmartCardUserInteractionForSecurePINChange {
        export class Confirmation {
            static current: TKSmartCardUserInteractionForSecurePINChange.Confirmation;
            static new: TKSmartCardUserInteractionForSecurePINChange.Confirmation;
            constructor (rawValue: number);
        }
    }
    export class TKSmartCardUserInteractionForSecurePINVerification extends TKSmartCardUserInteractionForPINOperation {}
    export class TKSmartCard extends NSObject {
        /**
         * The CLA byte used for APDU transmission. 
         *  by default.
         */
        cla: UInt8;
        /**
         * Whether to use extended length APDU.
         */
        useExtendedLength: boolean;
        /**
         * Whether to use command chaining of APDU with a data field longer than 255 bytes.
         */
        useCommandChaining: boolean;
        /**
         * Asynchronously transmits an APDU command to the card, returning the response in a completion handler.
         */
        send(ins: UInt8, p1: UInt8, p2: UInt8, data: Data | null, le: number, reply: ()=>any):void;
    }
    export class TKSmartCardTokenDriver extends TKTokenDriver {}
    export interface TKSmartCardTokenDriverDelegate extends TKTokenDriverDelegate {
        /**
         * Tells the delegate that a new Smart Card is detected.
         */
        tokenDriver(driver: TKSmartCardTokenDriver, smartCard: TKSmartCard, AID: Data | null):TKSmartCardToken;
    }
    export class TKSmartCardToken extends TKToken {
        /**
         * The ISO 7816-4 application identifiers of the Smart Card.
         */
        aid: Data | null;
        /**
         * Initializes a smart card token with the specified smart card, application identifier, and token driver.
         */
        constructor (smartCard: TKSmartCard, AID: Data | null, instanceID: string, tokenDriver: TKSmartCardTokenDriver);
    }
    export class TKSmartCardProtocol {
        static t0: TKSmartCardProtocol;
        static t1: TKSmartCardProtocol;
        static t15: TKSmartCardProtocol;
        static any: TKSmartCardProtocol;
        constructor (rawValue: number);
    }
    export class TKSmartCardPINFormat extends NSObject {
        /**
         * The format of PIN characters. 
         *  by default.
         */
        charset: TKSmartCardPINFormat.Charset;
        /**
         * The encoding of PIN characters. 
         *  by default.
         */
        encoding: TKSmartCardPINFormat.Encoding;
        /**
         * The minimum number of characters to form a valid PIN. 
         *  by default.
         */
        minPINLength: number;
        /**
         * The maximum number of characters to form a valid PIN. 
         *  by default.
         */
        maxPINLength: number;
        /**
         * The total length of the PIN block in bytes. 
         *  by default.
         */
        pinBlockByteLength: number;
        /**
         * The justification within the PIN block. 
         *  by default.
         */
        pinJustification: TKSmartCardPINFormat.Justification;
        /**
         * The offset, in bits, within the PIN block to mark a location for filling in the formatted PIN, which is justified with respect to the 
         *  property value. 
         *  by default.
         */
        pinBitOffset: number;
        /**
         * The offset, in bits, within the PIN block to mark a location for filling in the PIN length, which is always left justified. 
         *  by default.
         */
        pinLengthBitOffset: number;
        /**
         * The size, in bits, of the PIN length field. If set to 
         * , PIN length is not written. 
         *  by default.
         */
        pinLengthBitSize: number;
    }
    /**
     * the same name namespace of class TKSmartCardPINFormat
     */
    export namespace TKSmartCardPINFormat {
        export enum Charset {
            numeric = 0,
            alphanumeric = 1,
            upperAlphanumeric = 2,
        }
        export enum Encoding {
            binary = 0,
            ascii = 1,
            bcd = 2,
        }
        export enum Justification {
            left = 0,
            right = 1,
        }
    }
    export class TKSmartCardUserInteraction extends NSObject {
        /**
         * The delegate for observing events that occur during the user interaction.
         */
        delegate: TKSmartCardUserInteractionDelegate | null;
        /**
         * The timeout, in seconds, for initial interaction. If set to 
         * , the reader-defined default timeout is used. 
         *  by default.
         */
        initialTimeout: TimeInterval;
        /**
         * The timeout, in seconds, after the first key stroke. If set to 
         * , the reader-defined default timeout is used. 
         *  by default.
         */
        interactionTimeout: TimeInterval;
        /**
         * Runs the user interaction and asynchronously receives a reply.
         */
        run(reply: ()=>any):void;
        /**
         * Attempts to cancel an interaction started by calling 
         * . For certain interactions, cancellation may not be available.
         */
        cancel():boolean;
    }
    export interface TKSmartCardUserInteractionDelegate {
        /**
         * Tells the delegate that a valid character has been entered.
         */
        characterEntered(interaction: TKSmartCardUserInteraction):void;
        /**
         * Tells the delegate that a correction key has been pressed.
         */
        correctionKeyPressed(interaction: TKSmartCardUserInteraction):void;
        /**
         * Tells the delegate that the validation key has been pressed, indicating the end of PIN entry.
         */
        validationKeyPressed(interaction: TKSmartCardUserInteraction):void;
        /**
         * Tells the delegate that an invalid character has been entered.
         */
        invalidCharacterEntered(interaction: TKSmartCardUserInteraction):void;
        /**
         * Tells the delegate that the old PIN needs to be entered.
         */
        oldPINRequested(interaction: TKSmartCardUserInteraction):void;
        /**
         * Tells the delegate that the new PIN needs to be entered.
         */
        newPINRequested(interaction: TKSmartCardUserInteraction):void;
        /**
         * Tells the delegate that the new PIN needs to be re-entered for confirmation.
         */
        newPINConfirmationRequested(interaction: TKSmartCardUserInteraction):void;
    }
    export class TKSmartCardUserInteractionForPINOperation extends TKSmartCardUserInteraction {
        /**
         * The conditions under which PIN entry should be considered complete.
         */
        pinCompletion: TKSmartCardUserInteractionForPINOperation.Completion;
        /**
         * A list of message indices referring to a predefined message table, used to specify the type and number of messages displayed during the PIN operation. 
         *  by default.
         */
        pinMessageIndices: NSNumber[] | null;
        /**
         * The locale for the displayed messages. If 
         * , the user’s current locale is used. By default, this value is the current locale of the system.
         */
        locale: Locale!;
        /**
         * The SW1-SW2 status bytes.
         */
        resultSW: UInt16;
        /**
         * The returned data without SW1-SW2 bytes, if any.
         */
        resultData: Data | null;
    }
    /**
     * the same name namespace of class TKSmartCardUserInteractionForPINOperation
     */
    export namespace TKSmartCardUserInteractionForPINOperation {
        export class Completion {
            static key: TKSmartCardUserInteractionForPINOperation.Completion;
            static maxLength: TKSmartCardUserInteractionForPINOperation.Completion;
            static timeout: TKSmartCardUserInteractionForPINOperation.Completion;
            constructor (rawValue: number);
        }
    }
    export class TKSmartCardATR extends NSObject {
        /**
         * An array of protocols indicated in the ATR
         */
        protocols: NSNumber[];
        /**
         * The ATR message data.
         */
        bytes: Data;
        /**
         * The ATR historical bytes, not including interface bytes or the TCK (check byte).
         */
        historicalBytes: Data;
        /**
         * A list of compact TLV records parsed from historical bytes.
         */
        historicalRecords: TKCompactTLVRecord[] | null;
        /**
         * Initializes a 
         *  object from a provided data object.
         */
        constructor (bytes: Data);
        /**
         * Initializes a 
         *  object from a provided data source.
         */
        constructor (source: ()=>any);
        /**
         * Returns the interface group at the specified index.
         */
        interfaceGroup(index: number):TKSmartCardATR.InterfaceGroup | null;
    }
    /**
     * the same name namespace of class TKSmartCardATR
     */
    export namespace TKSmartCardATR {
        export class InterfaceGroup extends NSObject {
            /**
             * The protocol for this group.
             */
            protocol: NSNumber | null;
            /**
             * The TA interface byte of ATR group, or 
             *  if TA is not present.
             */
            ta: NSNumber | null;
            /**
             * The TB interface byte of ATR group, or 
             *  if TB is not present.
             */
            tb: NSNumber | null;
            /**
             * The TC interface byte of ATR group, or 
             *  if TC is not present.
             */
            tc: NSNumber | null;
        }
    }
    export class TKTLVRecord extends NSObject {
        /**
         * The tag field of the record.
         */
        tag: TKTLVTag;
        /**
         * The value field of the record.
         */
        value: Data;
        /**
         * The record data, including the tag, length, and value fields.
         */
        data: Data;
        /**
         * Creates and returns a TLV record from by parsing the specified data.
         */
        constructor (data: Data);
        /**
         * Creates and returns an array of TLV records from the specified data.
         */
        static sequenceOfRecords(data: Data):TKTLVRecord[] | null;
    }
    export class TKBERTLVRecord extends TKTLVRecord {
        /**
         * Initializes a BER-TLV record with the specified tag and value.
         */
        constructor (tag: TKTLVTag, value: Data);
        /**
         * Initializes a BER-TLV record with the specified tag and an array of TLV subrecords.
         */
        constructor (tag: TKTLVTag, records: TKTLVRecord[]);
        /**
         * Encodes a specified tag using BER-TLV tag encoding rules.
         */
        static data(tag: TKTLVTag):Data;
    }
    export class TKCompactTLVRecord extends TKTLVRecord {
        /**
         * Initializes a TLV record with the specified tag and value.
         */
        constructor (tag: UInt8, value: Data);
    }
    export class TKSimpleTLVRecord extends TKTLVRecord {
        /**
         * Initializes a TLV record with the specified tag and value.
         */
        constructor (tag: UInt8, value: Data);
    }
    export class TKSmartCardTokenSession extends TKTokenSession {
        /**
         * The smart card for the active exclusive session and selected application.
         */
        smartCard: TKSmartCard;
    }
    export class TKTokenWatcher extends NSObject {
        /**
         * The token IDs currently available in the system.
         */
        tokenIDs: string[];
        /**
         * Initializes a token watcher.
         */
        constructor ();
        /**
         * Initializes a token watcher with the specified insertion handler.
         */
        constructor (insertionHandler: ()=>any);
        /**
         * Adds a removal handler for the specified token ID.
         */
        addRemovalHandler(removalHandler: ()=>any, tokenID: string):void;
        /**
         * Sets an insertion handler closure to be called when a new token is inserted into the system.
         */
        setInsertionHandler(insertionHandler: ()=>any):void;
        tokenInfo(tokenID: string):TKTokenWatcher.TokenInfo | null;
    }
    /**
     * the same name namespace of class TKTokenWatcher
     */
    export namespace TKTokenWatcher {
        export class TokenInfo extends NSObject {
            driverName: string;
            slotName: string;
            tokenID: string;
        }
    }
    export class TKTokenDriver extends NSObject {
        /**
         * The token driver delegate.
         */
        delegate: TKTokenDriverDelegate | null;
    }
    /**
     * the same name namespace of class TKTokenDriver
     */
    export namespace TKTokenDriver {
        export class Configuration extends NSObject {
            /**
             * A dictionary of token class configurations which the class identifier of the token driver keys.
             */
            static driverConfigurations: Record<TKTokenDriver.ClassID, TKTokenDriver.Configuration>;
            /**
             * The class identifier of the token driver.
             */
            classID: TKTokenDriver.ClassID;
            /**
             * A dictionary of all currently configured tokens for this token class, which the token instance identifier keys.
             */
            tokenConfigurations: Record<TKToken.InstanceID, TKToken.Configuration>;
            /**
             * Creates a configuration object for a token with the token instance identifier you specify.
             */
            addTokenConfiguration(instanceID: TKToken.InstanceID):TKToken.Configuration;
            /**
             * Removes a configuration for a token with the token instance identifier you specify.
             */
            removeTokenConfiguration(instanceID: TKToken.InstanceID):void;
        }
    }
    export interface TKTokenDriverDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to terminate the token you specify.
         */
        tokenDriver(driver: TKTokenDriver, token: TKToken):void;
    }
    export class TKToken extends NSObject {
        /**
         * The token delegate.
         */
        delegate: TKTokenDelegate | null;
        /**
         * The token driver.
         */
        tokenDriver: TKTokenDriver;
        /**
         * The contents of the keychain for this token.
         */
        keychainContents: TKTokenKeychainContents | null;
        /**
         * The current configuration for a token.
         */
        configuration: TKToken.Configuration;
        /**
         * Initializes a token with the driver you specify.
         */
        constructor (tokenDriver: TKTokenDriver, instanceID: TKToken.InstanceID);
    }
    /**
     * the same name namespace of class TKToken
     */
    export namespace TKToken {
        export class Configuration extends NSObject {
            /**
             * The unique, persistent identifier of this token that the token implementation creates.
             */
            instanceID: TKToken.InstanceID;
            /**
             * Additional configuration information for the token instance.
             */
            configurationData: Data | null;
            /**
             * The keychain items associated with this token.
             */
            keychainItems: TKTokenKeychainItem[];
            /**
             * Returns a certificate from the keychain with the object identifier you specify.
             */
            certificate(objectID: TKToken.ObjectID):TKTokenKeychainCertificate;
            /**
             * Returns a key from the keychain with the object identifier you specify.
             */
            key(objectID: TKToken.ObjectID):TKTokenKeychainKey;
        }
    }
    export interface TKTokenDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to create a session for the specified token.
         */
        createSession(token: TKToken):TKTokenSession;
        /**
         * Tells the delegate to terminate the specified token session.
         */
        token(token: TKToken, session: TKTokenSession):void;
    }
    export class TKTokenKeychainContents extends NSObject {
        /**
         * Returns all items for token in the keychain.
         */
        items: TKTokenKeychainItem[];
        /**
         * Fills the keychain with the specified items.
         */
        fill(items: TKTokenKeychainItem[]):void;
        /**
         * Returns the key for a specified object identifier.
         */
        key(objectID: TKToken.ObjectID):TKTokenKeychainKey;
        /**
         * Returns the key for a specified object identifier.
         */
        certificate(objectID: TKToken.ObjectID):TKTokenKeychainCertificate;
    }
    export class TKTokenKeychainItem extends NSObject {
        /**
         * Returns the object ID used for keychain item identification.
         */
        objectID: TKToken.ObjectID;
        /**
         * The user-visible label for the keychain item.
         */
        label: string;
        /**
         * Access constraints for the keychain item, keyed by 
         *  values wrapped in 
         *  objects.
         */
        constraints: Record<NSNumber, any> | null;
        /**
         * Initializes a token keychain item with the specified object ID.
         */
        constructor (objectID: TKToken.ObjectID);
    }
    export class TKTokenKeychainCertificate extends TKTokenKeychainItem {
        /**
         * Returns a DER-encoded representation of an X.509 certificate.
         */
        data: Data;
        /**
         * Initializes a token keychain certificate with data from the specified certificate reference and a given object ID.
         */
        constructor (certificateRef: SecCertificate, objectID: TKToken.ObjectID);
    }
    export class TKTokenKeychainKey extends TKTokenKeychainItem {
        /**
         * The type of the key. Currently, only 
         *  and 
         *  are supported values.
         */
        keyType: string;
        keySizeInBits: number;
        /**
         * The private tag data.
         */
        applicationTag: Data | null;
        /**
         * The public key data.
         */
        publicKeyData: Data | null;
        /**
         * The SHA1 hash of the raw public key.
         */
        publicKeyHash: Data | null;
        /**
         * Whether the key can be used to decrypt data.
         */
        canDecrypt: boolean;
        /**
         * Whether the key can be used to sign data.
         */
        canSign: boolean;
        /**
         * Whether the key can be used to perform Diffie-Hellman style cryptographic key exchange.
         */
        canPerformKeyExchange: boolean;
        /**
         * Whether the key can be used for system login.
         */
        isSuitableForLogin: boolean;
        /**
         * Initializes a token keychain key with data from the specified certificate reference and a given object ID.
         */
        constructor (certificateRef: SecCertificate | null, objectID: TKToken.ObjectID);
    }
    export class TKTokenSession extends NSObject {
        /**
         * The token session delegate.
         */
        delegate: TKTokenSessionDelegate | null;
        /**
         * The token to which the session is bound.
         */
        token: TKToken;
        /**
         * Initializes a token session with the specified token.
         */
        constructor (token: TKToken);
    }
    export interface TKTokenSessionDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate whether the token session supports a given operation using the specified key and algorithm.
         */
        tokenSession(session: TKTokenSession, operation: TKTokenOperation, keyObjectID: TKToken.ObjectID, algorithm: TKTokenKeyAlgorithm):boolean;
    }
    export enum TKTokenOperation {
        none = 0,
        readData = 1,
        signData = 2,
        decryptData = 3,
        performKeyExchange = 4,
    }
    export class TKTokenKeyAlgorithm extends NSObject {
        /**
         * Returns whether the specified algorithm is the target operation algorithm.
         */
        isAlgorithm(algorithm: SecKeyAlgorithm):boolean;
        /**
         * Whether the specified algorithm is the target operation algorithm, or one of the other algorithms used.
         */
        supportsAlgorithm(algorithm: SecKeyAlgorithm):boolean;
    }
    export class TKTokenAuthOperation extends NSObject {
        /**
         * Finishes the authentication operation.
         */
        finish():void;
    }
    export class TKTokenPasswordAuthOperation extends TKTokenAuthOperation {
        /**
         * The password to be filled in when the 
         *  is called.
         */
        password: string;
    }
    export class TKTokenSmartCardPINAuthOperation extends TKTokenAuthOperation {
        /**
         * The PIN format.
         */
        pinFormat: TKSmartCardPINFormat;
        /**
         * The template into which the PIN is filled in. 
         *  by default.
         */
        apduTemplate: Data | null;
        /**
         * The offset, in bytes, within the APDU template to mark the location for filling in the PIN.
         */
        pinByteOffset: number;
        /**
         * A Smart Card to which the formatted APDU is sent in order to authenticate.
         */
        smartCard: TKSmartCard | null;
        /**
         * The PIN value resulting from performing the operation.
         */
        pin: string;
    }
    export class TKTokenKeyExchangeParameters extends NSObject {
        /**
         * Returns the requested output size, in bytes, of key exchange result.
         */
        requestedSize: number;
        /**
         * Returns shared information typically used during the key derivation (KDF) step of a key exchange algorithm.
         */
        sharedInfo: Data | null;
    }
    export class TKError {
        /**
         * The system doesn’t implement the requested functionality.
         */
        static notImplemented: TKError.Code;
        /**
         * The system had a communication error.
         */
        static communicationError: TKError.Code;
        /**
         * The system idenfitied the data as corrupted.
         */
        static corruptedData: TKError.Code;
        /**
         * The user canceled the operation.
         */
        static canceledByUser: TKError.Code;
        /**
         * Authentication failed.
         */
        static authenticationFailed: TKError.Code;
        /**
         * The system didn’t find the object.
         */
        static objectNotFound: TKError.Code;
        /**
         * The system didn’t find the token.
         */
        static tokenNotFound: TKError.Code;
        /**
         * An invalid parameter was provided.
         */
        static badParameter: TKError.Code;
        /**
         * Authentication is needed.
         */
        static authenticationNeeded: TKError.Code;
        static TKErrorAuthenticationFailed: TKError.Code;
        static TKErrorObjectNotFound: TKError.Code;
        static TKErrorTokenNotFound: TKError.Code;
        /**
         * The error domain that the framework uses when issuing errors.
         */
        static errorDomain: string;
        /**
         * The CryptoTokenKit error code.
         */
        code: Code;
        /**
         * An integer that the framework uses to describe an error.
         */
        errorCode: number;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        userInfo: Record<string, any>;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A human-readable, localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value of the error.
         */
        hashValue: number;
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class TKError
     */
    export namespace TKError {
        export enum Code {
            notImplemented = -1,
            communicationError = -2,
            corruptedData = -3,
            canceledByUser = -4,
            authenticationFailed = -5,
            objectNotFound = -6,
            tokenNotFound = -7,
            badParameter = -8,
            authenticationNeeded = -9,
        }
    }
}

/**
 * Expose custom views and modifiers in the Xcode library.
 */
declare module DeveloperToolsSupport {
    export class LibraryItem {
        /**
         * Creates a new library item.
         */
        constructor (snippet: ()=>any, visible: boolean, title: string, category: LibraryItem.Category, matchingSignature: string);
    }
    /**
     * the same name namespace of class LibraryItem
     */
    export namespace LibraryItem {
        export class Category {
            /**
             * A category for controls, like buttons and context menus.
             */
            static control: LibraryItem.Category;
            /**
             * A category for effects, like opacity and saturation modifiers.
             */
            static effect: LibraryItem.Category;
            /**
             * A category for items that manage layout, like stack views and frame
             *  
             * modifiers.
             */
            static layout: LibraryItem.Category;
            /**
             * A general category.
             */
            static other: LibraryItem.Category;
        }
    }
    export class LibraryContentBuilder {
        static buildBlock(...segments: LibraryItem[]):LibraryItem[];
        static buildExpression(item: LibraryItem):LibraryItem[];
    }
}

/**
 * Monitor device activity with your app extension while maintaining user privacy.
 */
declare module DeviceActivity {
    export class DeviceActivityEvent {
        /**
         * A Boolean value that indicates whether the event includes all applications, categories, and web domains.
         */
        includesAllActivity: boolean;
        /**
         * The applications that the event includes.
         */
        applications: Set<ApplicationToken>;
        /**
         * The categories that the event includes.
         */
        categories: Set<ActivityCategoryToken>;
        /**
         * The web domains that the event includes.
         */
        webDomains: Set<WebDomainToken>;
        /**
         * The amount of time to monitor the provided applications, categories, and web domains.
         */
        threshold: DateComponents;
        /**
         * Creates a new event.
         */
        constructor (applications: Set<ApplicationToken>, categories: Set<ActivityCategoryToken>, webDomains: Set<WebDomainToken>, threshold: DateComponents);
    }
    /**
     * the same name namespace of class DeviceActivityEvent
     */
    export namespace DeviceActivityEvent {
        export class Name {
            /**
             * The corresponding value of the raw type.
             */
            rawValue: string;
        }
    }
    export class DeviceActivityData {
        /**
         * The activity of the user divided into segments.
         */
        activitySegments: DeviceActivityResults<DeviceActivityData.ActivitySegment>;
        /**
         * The device associated with the activity report.
         */
        device: DeviceActivityData.Device;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The date when the system last updated the data for this device.
         */
        lastUpdatedDate: Date;
        /**
         * The segment interval of each 
         *  in 
         * .
         */
        segmentInterval: DeviceActivityFilter.SegmentInterval;
        /**
         * The user associated with the activity report.
         */
        user: DeviceActivityData.User;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class DeviceActivityData
     */
    export namespace DeviceActivityData {
        export class ActivitySegment {
            /**
             * The user’s categorized device activity during the activity segment.
             */
            categories: DeviceActivityResults<DeviceActivityData.CategoryActivity>;
            /**
             * The date interval of the activity segment.
             */
            dateInterval: DateInterval;
            /**
             * The first time the user picked up the device during the activity segment.
             */
            firstPickup: Date | null;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The date interval of the user’s longest activity session during the activity segment.
             */
            longestActivity: DateInterval | null;
            /**
             * The total activity during the activity segment.
             */
            totalActivityDuration: TimeInterval;
            /**
             * The number of times the user picked up the device but did not use any applications.
             */
            totalPickupsWithoutApplicationActivity: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class ApplicationActivity {
            /**
             * The application that accumulated the activity.
             */
            application: Application;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The number of notifications made by the application.
             */
            numberOfNotifications: number;
            /**
             * The number of pickups made directly to the application.
             */
            numberOfPickups: number;
            /**
             * The total activity for this application.
             */
            totalActivityDuration: TimeInterval;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class CategoryActivity {
            /**
             * The user’s application activity that contributed to this category’s 
             * .
             */
            applications: DeviceActivityResults<DeviceActivityData.ApplicationActivity>;
            /**
             * The category of the activity.
             */
            category: ActivityCategory;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The user’s total activity for this category.
             */
            totalActivityDuration: TimeInterval;
            /**
             * The user’s web domain activity that contributed to this category’s 
             * .
             */
            webDomains: DeviceActivityResults<DeviceActivityData.WebDomainActivity>;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Device {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The model of the device.
             */
            model: DeviceActivityData.Device.Model;
            /**
             * The name of the device set by the user.
             */
            name: string;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class Device
         */
        export namespace Device {
            export enum Model {}
        }
        export class User {
            /**
             * The AppleID of the user.
             */
            appleID: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The user’s name.
             */
            nameComponents: PersonNameComponents | null;
            /**
             * The type of the user.
             */
            role: DeviceActivityData.User.FamilyRole;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class User
         */
        export namespace User {
            export enum FamilyRole {}
        }
        export class WebDomainActivity {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The total activity for this web domain.
             */
            totalActivityDuration: TimeInterval;
            /**
             * The web domain that accumulated the activity.
             */
            webDomain: WebDomain;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class DeviceActivityFilter {
        /**
         * An optional set of applications to include in a report.
         */
        applications: Set<ApplicationToken>;
        /**
         * An optional set of categories to include in a report.
         */
        categories: Set<ActivityCategoryToken>;
        /**
         * The devices to include in a report.
         */
        devices: DeviceActivityFilter.Devices | null;
        /**
         * The interval at which the system subdivides the report’s device activity data during a specified date interval.
         */
        segmentInterval: DeviceActivityFilter.SegmentInterval;
        /**
         * The users to include in a report.
         */
        users: DeviceActivityFilter.Users | null;
        /**
         * An optional set of web domains to include in a report.
         */
        webDomains: Set<WebDomainToken>;
        /**
         * Creates a new filter for the current user.
         */
        constructor (segmentInterval: DeviceActivityFilter.SegmentInterval, devices: DeviceActivityFilter.Devices | null, applications: Set<ApplicationToken>, categories: Set<ActivityCategoryToken>, webDomains: Set<WebDomainToken>);
        /**
         * Creates a new filter for the specified users and devices.
         */
        constructor (segmentInterval: DeviceActivityFilter.SegmentInterval, users: DeviceActivityFilter.Users, devices: DeviceActivityFilter.Devices, applications: Set<ApplicationToken>, categories: Set<ActivityCategoryToken>, webDomains: Set<WebDomainToken>);
    }
    /**
     * the same name namespace of class DeviceActivityFilter
     */
    export namespace DeviceActivityFilter {
        export class Devices {
            /**
             * Filters data for all devices that are sharing activity data with the current device.
             */
            static all: DeviceActivityFilter.Devices;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Filters data for the provided device models.
             */
            constructor (models: Set<DeviceActivityData.Device.Model>);
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Users {
            /**
             * Filters data for all users that the current iCloud user has permission to report device activity.
             */
            static all: DeviceActivityFilter.Users;
            /**
             * Filters data for the children in the current user’s iCloud family.
             */
            static children: DeviceActivityFilter.Users;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export enum SegmentInterval {}
    }
    export class DeviceActivityReport {
        /**
         * The content of the device activity report.
         */
        body: View;
        /**
         * Creates a new device activity report.
         */
        constructor (context: DeviceActivityReport.Context, filter: DeviceActivityFilter);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    /**
     * the same name namespace of class DeviceActivityReport
     */
    export namespace DeviceActivityReport {
        export class Context {
            /**
             * The underlying value that represents the given context.
             */
            rawValue: string;
            hashValue: number;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: string);
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: string);
            hash(hasher: Hasher):void;
        }
    }
    export class DeviceActivityReportBuilder {
        static buildBlock<Scene>(scene: Scene):DeviceActivityReportScene;
        static buildBlock<S0, S1>(s0: S0, s1: S1):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2>(s0: S0, s1: S1, s2: S2):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3>(s0: S0, s1: S1, s2: S2, s3: S3):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3, S4>(s0: S0, s1: S1, s2: S2, s3: S3, s4: S4):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3, S4, S5>(s0: S0, s1: S1, s2: S2, s3: S3, s4: S4, s5: S5):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3, S4, S5, S6>(s0: S0, s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3, S4, S5, S6, S7>(s0: S0, s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6, s7: S7):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3, S4, S5, S6, S7, S8>(s0: S0, s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6, s7: S7, s8: S8):DeviceActivityReportScene;
        static buildBlock<S0, S1, S2, S3, S4, S5, S6, S7, S8, S9>(s0: S0, s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6, s7: S7, s8: S8, s9: S9):DeviceActivityReportScene;
    }
    export class DeviceActivityResults {
        /**
         * A non-blocking sequence of 
         *  created by decoding the elements of 
         *  as UTF8.
         */
        characters: AsyncCharacterSequence<Self>;
        /**
         * A non-blocking sequence of newline-separated 
         *  created by decoding the elements of 
         *  as UTF8.
         */
        lines: AsyncLineSequence<Self>;
        /**
         * A non-blocking sequence of 
         *  created by decoding the elements of 
         *  as UTF8.
         */
        unicodeScalars: AsyncUnicodeScalarSequence<Self>;
        /**
         * Creates the asynchronous iterator that produces elements of this asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class DeviceActivityResults
     */
    export namespace DeviceActivityResults {
        export class Iterator {
            /**
             * Asynchronously advances to the next element and returns it, or ends the sequence if there is no next element.
             */
            next():Element | null;
        }
    }
    export class DeviceActivityName {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class DeviceActivitySchedule {
        /**
         * The date components that represent the end time for a schedule’s interval.
         */
        intervalEnd: DateComponents;
        /**
         * The date components that represent the start time for a schedule’s interval.
         */
        intervalStart: DateComponents;
        /**
         * The schedule’s next interval or the current interval if one is ongoing.
         */
        nextInterval: DateInterval | null;
        /**
         * A Boolean value that indicates whether the schedule recurs.
         */
        repeats: boolean;
        /**
         * Optional components that generate a warning prior to regularly scheduled events.
         */
        warningTime: DateComponents | null;
        /**
         * Creates a new schedule.
         */
        constructor (intervalStart: DateComponents, intervalEnd: DateComponents, repeats: boolean, warningTime: DateComponents | null);
    }
    export class DeviceActivityCenter {
        /**
         * The activities that the application’s extension currently monitors.
         */
        activities: DeviceActivityName[];
        /**
         * Creates an activity center to manage which device activities your application monitors.
         */
        constructor ();
        /**
         * Starts monitoring the specified device activity.
         */
        startMonitoring(activity: DeviceActivityName, schedule: DeviceActivitySchedule, events: Record<DeviceActivityEvent.Name, DeviceActivityEvent>):void;
        /**
         * Stops monitoring the specified device activities.
         */
        stopMonitoring(activities: DeviceActivityName[]):void;
        /**
         * Fetches the events of a device activity.
         */
        events(activity: DeviceActivityName):Record<DeviceActivityEvent.Name, DeviceActivityEvent>;
        /**
         * Fetches the schedule of a device activity.
         */
        schedule(activity: DeviceActivityName):DeviceActivitySchedule | null;
    }
    /**
     * the same name namespace of class DeviceActivityCenter
     */
    export namespace DeviceActivityCenter {
        export enum MonitoringError {}
    }
    export class DeviceActivityMonitor extends NSObject {
        /**
         * Creates a new monitor implemented by subclasses.
         */
        constructor ();
        /**
         * Indicates that the device activity interval ended.
         */
        intervalDidEnd(activity: DeviceActivityName):void;
        /**
         * Indicates that the device activity interval started.
         */
        intervalDidStart(activity: DeviceActivityName):void;
        /**
         * Warns your app of an ongoing activity’s conclusion a specified time before the activity ends.
         */
        intervalWillEndWarning(activity: DeviceActivityName):void;
        /**
         * Warns your app of an upcoming activity a specified time before the activity starts.
         */
        intervalWillStartWarning(activity: DeviceActivityName):void;
        /**
         * Indicates that the activity reached its threshold.
         */
        eventDidReachThreshold(event: DeviceActivityEvent.Name, activity: DeviceActivityName):void;
        /**
         * Warns your app that an activity is about to reach its threshold.
         */
        eventWillReachThresholdWarning(event: DeviceActivityEvent.Name, activity: DeviceActivityName):void;
    }
}

/**
 * Reduce fraudulent use of your services by managing device state and asserting app integrity.
 */
declare module DeviceCheck {
    export class DCDevice extends NSObject {
        /**
         * A representation of the device for which you want to query the two bits of data.
         */
        static current: DCDevice;
        /**
         * A Boolean value that indicates whether the device supports the DeviceCheck API.
         */
        isSupported: boolean;
        /**
         * Generates a token that identifies the current device.
         */
        generateToken(completion: ()=>any):void;
    }
    export class DCAppAttestService extends NSObject {
        /**
         * Creates a block of data that demonstrates the legitimacy of an instance of your app running on a device.
         */
        generateAssertion(keyId: string, clientDataHash: Data, completionHandler: ()=>any):void;
    }
    export class DCError {
        /**
         * DeviceCheck is not available on this device.
         */
        static featureUnsupported: DCError.Code;
        /**
         * An error code that indicates when your app provides data that isn’t formatted correctly.
         */
        static invalidInput: DCError.Code;
        /**
         * An error caused by a failed attempt to use the App Attest key.
         */
        static invalidKey: DCError.Code;
        /**
         * An error that indicates a failed attempt to contact the App Attest service during an attestation.
         */
        static serverUnavailable: DCError.Code;
        /**
         * A failure has occurred, such as the failure to generate a token. 
         */
        static unknownSystemFailure: DCError.Code;
        /**
         * The error domain for errors associated with DeviceCheck APIs.
         */
        static errorDomain: string;
        /**
         * The error code.
         */
        errorCode: number;
        /**
         * The error code.
         */
        code: Code;
        /**
         * Additional details about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * Additional details about an error.
         */
        userInfo: Record<string, any>;
        /**
         * A user-facing, localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class DCError
     */
    export namespace DCError {
        export enum Code {
            featureUnsupported = 1,
            invalidInput = 2,
            invalidKey = 3,
            serverUnavailable = 4,
            unknownSystemFailure = 0,
        }
    }
}

/**
 * Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system.
 */
declare module Dispatch {
    export class DispatchQueue extends DispatchObject {
        /**
         * The dispatch queue associated with the main thread of the current process.
         */
        static main: DispatchQueue;
        /**
         * The label you assigned to the dispatch queue at creation time. 
         */
        label: string;
        /**
         * The quality-of-service level assgined to the queue. 
         */
        qos: DispatchQoS;
        /**
         * The minimum tolerance allowed by the dispatch queue scheduler.
         */
        minimumTolerance: DispatchQueue.SchedulerTimeType.Stride;
        /**
         * The dispatch queue scheduler’s definition of the current moment in time.
         */
        now: DispatchQueue.SchedulerTimeType;
        /**
         * Creates a new dispatch queue to which you can submit blocks.
         */
        constructor (label: string, qos: DispatchQoS, attributes: DispatchQueue.Attributes, autoreleaseFrequency: DispatchQueue.AutoreleaseFrequency, target: DispatchQueue | null);
        static global(priority: DispatchQueue.GlobalQueuePriority):DispatchQueue;
        /**
         * Submits a single block to the dispatch queue and causes the block to be executed the specified number of times. 
         */
        static concurrentPerform(iterations: number, work: ()=>any):void;
        asyncAndWait(workItem: DispatchWorkItem):void;
        /**
         * Submits a block object for execution and returns after that block finishes executing.
         */
        sync(block: ()=>any):void;
        /**
         * Schedules a work item for immediate execution, and returns immediately.
         */
        async(workItem: DispatchWorkItem):void;
        /**
         * Schedules a work item for execution at the specified time, and returns immediately.
         */
        asyncAfter(deadline: DispatchTime, execute: DispatchWorkItem):void;
        /**
         * Performs the action at some time after the specified date, using the scheduler’s minimum tolerance.
         */
        schedule(options: DispatchQueue.SchedulerOptions | null, action: ()=>any):void;
    }
    /**
     * the same name namespace of class DispatchQueue
     */
    export namespace DispatchQueue {
        export class SchedulerTimeType {
            /**
             * The dispatch time represented by this type.
             */
            dispatchTime: DispatchTime;
            hashValue: number;
            advanced(n: DispatchQueue.SchedulerTimeType.Stride):DispatchQueue.SchedulerTimeType;
            distance(other: DispatchQueue.SchedulerTimeType):DispatchQueue.SchedulerTimeType.Stride;
            hash(hasher: Hasher):void;
            encode(encoder: Encoder):void;
        }
        /**
         * the same name namespace of class SchedulerTimeType
         */
        export namespace SchedulerTimeType {
            export class Stride {
                /**
                 * The value of this time interval in seconds.
                 */
                magnitude: number;
                /**
                 * The value of this time interval in seconds.
                 */
                timeInterval: DispatchTimeInterval;
                hashValue: number;
                /**
                 * Converts the specified number of microseconds into an instance of this scheduler time type.
                 */
                static microseconds(us: number):DispatchQueue.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of milliseconds into an instance of this scheduler time type.
                 */
                static milliseconds(ms: number):DispatchQueue.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of nanoseconds into an instance of this scheduler time type.
                 */
                static nanoseconds(ns: number):DispatchQueue.SchedulerTimeType.Stride;
                /**
                 * Converts the specified number of seconds, as a floating-point value, into an instance of this scheduler time type.
                 */
                static seconds(s: number):DispatchQueue.SchedulerTimeType.Stride;
                /**
                 * Replaces this value with its additive inverse.
                 */
                negate():void;
                hash(hasher: Hasher):void;
                encode(encoder: Encoder):void;
            }
        }
        export class SchedulerOptions {
            /**
             * The dispatch queue quality of service.
             */
            qos: DispatchQoS;
            /**
             * The dispatch queue work item flags.
             */
            flags: DispatchWorkItemFlags;
            /**
             * The dispatch group, if any, to use when performing actions.
             */
            group: DispatchGroup | null;
            /**
             * Creates a dispatch queue scheduler options instance with the given options.
             */
            constructor (qos: DispatchQoS, flags: DispatchWorkItemFlags, group: DispatchGroup | null);
        }
        export enum GlobalQueuePriority {
            default,
            high,
            low,
            background,
        }
        export class Attributes {
            /**
             * The queue schedules tasks concurrently.
             */
            static concurrent: DispatchQueue.Attributes;
            /**
             * The newly created queue is inactive. 
             */
            static initiallyInactive: DispatchQueue.Attributes;
            rawValue: UInt64;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchQueue.Attributes);
            constructor (rawValue: UInt64);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchQueue.Attributes):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchQueue.Attributes):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchQueue.Attributes):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchQueue.Attributes):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchQueue.Attributes):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchQueue.Attributes):DispatchQueue.Attributes;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchQueue.Attributes):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchQueue.Attributes):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchQueue.Attributes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchQueue.Attributes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchQueue.Attributes):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchQueue.Attributes):DispatchQueue.Attributes | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchQueue.Attributes):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchQueue.Attributes):DispatchQueue.Attributes;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchQueue.Attributes):DispatchQueue.Attributes;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchQueue.Attributes):DispatchQueue.Attributes;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchQueue.Attributes):DispatchQueue.Attributes | null;
        }
        export enum AutoreleaseFrequency {
            inherit,
            workItem,
            never,
        }
    }
    export class DispatchQoS {}
    /**
     * the same name namespace of class DispatchQoS
     */
    export namespace DispatchQoS {
        export enum QoSClass {
            background,
            unspecified,
        }
    }
    export class DispatchWorkItem {
        /**
         * A Boolean value indicating whether the work item has been canceled.
         */
        isCancelled: boolean;
        /**
         * Creates a new dispatch work item from an existing block and assigns it the specified quality-of-service class.
         */
        constructor (qos: DispatchQoS, flags: DispatchWorkItemFlags, block: ()=>any);
        constructor (flags: DispatchWorkItemFlags, block: ()=>any);
        /**
         * Executes the work item's block synchronously on the current thread.
         */
        perform():void;
        /**
         * Schedules the execution of the specified work item after the completion of the current work item. 
         */
        notify(queue: DispatchQueue, execute: DispatchWorkItem):void;
        /**
         * Causes the caller to wait synchronously until the dispatch work item finishes executing.
         */
        wait():void;
        /**
         * Cancels the current work item asynchronously.
         */
        cancel():void;
    }
    export class DispatchWorkItemFlags {
        /**
         * Set the attributes of the work item to match the attributes of the current execution context.
         */
        static assignCurrentContext: DispatchWorkItemFlags;
        /**
         * Cause the work item to act as a barrier block when submitted to a concurrent queue.
         */
        static barrier: DispatchWorkItemFlags;
        /**
         * Disassociate the work item's attributes from the current execution context.
         */
        static detached: DispatchWorkItemFlags;
        /**
         * Prefer the quality-of-service class associated with the block.
         */
        static enforceQoS: DispatchWorkItemFlags;
        /**
         * Prefer the quality-of-service class associated with the current execution context.
         */
        static inheritQoS: DispatchWorkItemFlags;
        /**
         * Execute the work item without assigning a quality-of-service class. 
         */
        static noQoS: DispatchWorkItemFlags;
        rawValue: number;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: DispatchWorkItemFlags);
        constructor (rawValue: number);
        /**
         * Returns a Boolean value that indicates whether a given element is a member of the option set.
         */
        contains(member: DispatchWorkItemFlags):boolean;
        /**
         * Removes all elements of this option set that are not also present in the given set.
         */
        formIntersection(other: DispatchWorkItemFlags):void;
        /**
         * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: DispatchWorkItemFlags):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: DispatchWorkItemFlags):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: DispatchWorkItemFlags):any;
        /**
         * Returns a new option set with only the elements contained in both this set and the given set.
         */
        intersection(other: DispatchWorkItemFlags):DispatchWorkItemFlags;
        /**
         * Returns a Boolean value that indicates whether the set has no members in common with the given set.
         */
        isDisjoint(other: DispatchWorkItemFlags):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
         */
        isStrictSubset(other: DispatchWorkItemFlags):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
         */
        isStrictSuperset(other: DispatchWorkItemFlags):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of another set.
         */
        isSubset(other: DispatchWorkItemFlags):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of the given set.
         */
        isSuperset(other: DispatchWorkItemFlags):boolean;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: DispatchWorkItemFlags):DispatchWorkItemFlags | null;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: DispatchWorkItemFlags):void;
        /**
         * Returns a new set containing the elements of this set that do not occur in the given set.
         */
        subtracting(other: DispatchWorkItemFlags):DispatchWorkItemFlags;
        /**
         * Returns a new option set with the elements contained in this set or in the given set, but not in both.
         */
        symmetricDifference(other: DispatchWorkItemFlags):DispatchWorkItemFlags;
        /**
         * Returns a new option set of the elements contained in this set, in the given set, or in both.
         */
        union(other: DispatchWorkItemFlags):DispatchWorkItemFlags;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: DispatchWorkItemFlags):DispatchWorkItemFlags | null;
    }
    export class DispatchTime {
        /**
         * A time in the distant future.
         */
        static distantFuture: DispatchTime;
        /**
         * Returns the underlying time value.
         */
        rawValue: dispatch_time_t;
        /**
         * Returns the number of nanoseconds since boot, excluding any time the system spent asleep.
         */
        uptimeNanoseconds: UInt64;
        /**
         * Creates a time relative to the amount of time the system has been running. 
         */
        constructor (uptimeNanoseconds: UInt64);
        /**
         * Returns the current time.
         */
        static now():DispatchTime;
        advanced(n: DispatchTimeInterval):DispatchTime;
        distance(other: DispatchTime):DispatchTimeInterval;
    }
    export class DispatchWallTime {
        /**
         * A time in the distant future.
         */
        static distantFuture: DispatchWallTime;
        /**
         * The underlying time value.
         */
        rawValue: dispatch_time_t;
        /**
         * Creates an absolute time for a specified value.
         */
        constructor (timespec: timespec);
        /**
         * Returns the current time.
         */
        static now():DispatchWallTime;
    }
    export class DispatchGroup extends DispatchObject {
        /**
         * Creates a new group to which you can assign block objects.
         */
        constructor ();
        /**
         * Schedules the submission of a block with the specified attributes to a queue when all tasks in the current group have finished executing.
         */
        notify(qos: DispatchQoS, flags: DispatchWorkItemFlags, queue: DispatchQueue, work: ()=>any):void;
        /**
         * Waits synchronously for the previously submitted work to finish.
         */
        wait():void;
        /**
         * Explicitly indicates that a block has entered the group.
         */
        enter():void;
        /**
         * Explicitly indicates that a block in the group finished executing.
         */
        leave():void;
    }
    export class DispatchObject {
        /**
         * Specifies the dispatch queue on which to perform work associated with the current object.
         */
        setTarget(queue: DispatchQueue | null):void;
    }
    export class DispatchSource extends DispatchObject {
        /**
         * Creates a new dispatch source object for monitoring timer events. 
         */
        static makeTimerSource(flags: DispatchSource.TimerFlags, queue: DispatchQueue | null):DispatchSourceTimer;
        /**
         * Creates a new dispatch source object for reading bytes from the specified file. 
         */
        static makeReadSource(fileDescriptor: Int32, queue: DispatchQueue | null):DispatchSourceRead;
        /**
         * Creates a new dispatch source object for writing data to the specified file. 
         */
        static makeWriteSource(fileDescriptor: Int32, queue: DispatchQueue | null):DispatchSourceWrite;
        /**
         * Creates a new dispatch source object for monitoring file-system events. 
         */
        static makeFileSystemObjectSource(fileDescriptor: Int32, eventMask: DispatchSource.FileSystemEvent, queue: DispatchQueue | null):DispatchSourceFileSystemObject;
        /**
         * Creates a new dispatch source object for monitoring the specified process. 
         */
        static makeProcessSource(identifier: pid_t, eventMask: DispatchSource.ProcessEvent, queue: DispatchQueue | null):DispatchSourceProcess;
        /**
         * Creates a new dispatch source object that monitors the system for changes in the memory pressure condition. 
         */
        static makeMemoryPressureSource(eventMask: DispatchSource.MemoryPressureEvent, queue: DispatchQueue | null):DispatchSourceMemoryPressure;
        /**
         * Creates a new dispatch source object that monitors the arrival of a UNIX signal. 
         */
        static makeSignalSource(signal: Int32, queue: DispatchQueue | null):DispatchSourceSignal;
        /**
         * Creates a new dispatch source object for monitoring a Mach port for pending messages. 
         */
        static makeMachReceiveSource(port: mach_port_t, queue: DispatchQueue | null):DispatchSourceMachReceive;
        /**
         * A dispatch source that monitors a Mach port for dead name notifications.
         */
        static makeMachSendSource(port: mach_port_t, eventMask: DispatchSource.MachSendEvent, queue: DispatchQueue | null):DispatchSourceMachSend;
        /**
         * Creates a new dispatch source object that you use to coalesce custom app data using an AND operator. 
         */
        static makeUserDataAddSource(queue: DispatchQueue | null):DispatchSourceUserDataAdd;
        /**
         * Creates a new dispatch source object that you use to coalesce custom app data using an OR operator.
         */
        static makeUserDataOrSource(queue: DispatchQueue | null):DispatchSourceUserDataOr;
        /**
         * Creates a new dispatch source object that you use to track custom app data.
         */
        static makeUserDataReplaceSource(queue: DispatchQueue | null):DispatchSourceUserDataReplace;
    }
    /**
     * the same name namespace of class DispatchSource
     */
    export namespace DispatchSource {
        export class TimerFlags {
            /**
             * The system makes its best effort to observe the timer's specified leeway value, even if the value is smaller than the default leeway. 
             */
            static strict: DispatchSource.TimerFlags;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchSource.TimerFlags);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchSource.TimerFlags):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchSource.TimerFlags):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchSource.TimerFlags):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchSource.TimerFlags):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchSource.TimerFlags):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchSource.TimerFlags):DispatchSource.TimerFlags;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchSource.TimerFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchSource.TimerFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchSource.TimerFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchSource.TimerFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchSource.TimerFlags):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchSource.TimerFlags):DispatchSource.TimerFlags | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchSource.TimerFlags):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchSource.TimerFlags):DispatchSource.TimerFlags;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchSource.TimerFlags):DispatchSource.TimerFlags;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchSource.TimerFlags):DispatchSource.TimerFlags;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchSource.TimerFlags):DispatchSource.TimerFlags | null;
        }
        export class FileSystemEvent {
            /**
             * All changes related to the file system object.
             */
            static all: DispatchSource.FileSystemEvent;
            /**
             * Changes to the metadata of the file system object. 
             */
            static attrib: DispatchSource.FileSystemEvent;
            /**
             * The deletion of the file system object. 
             */
            static delete: DispatchSource.FileSystemEvent;
            /**
             * Changes to the size of the file system object.
             */
            static extend: DispatchSource.FileSystemEvent;
            /**
             * The unlocking of the file system object.
             */
            static funlock: DispatchSource.FileSystemEvent;
            /**
             * Changes to the link count of the file system object.
             */
            static link: DispatchSource.FileSystemEvent;
            /**
             * Changes to the name of the file system object.
             */
            static rename: DispatchSource.FileSystemEvent;
            /**
             * The revocation of the file system object. 
             */
            static revoke: DispatchSource.FileSystemEvent;
            /**
             * The writing of data to the file system object.
             */
            static write: DispatchSource.FileSystemEvent;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchSource.FileSystemEvent);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchSource.FileSystemEvent):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchSource.FileSystemEvent):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchSource.FileSystemEvent):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchSource.FileSystemEvent):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchSource.FileSystemEvent):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchSource.FileSystemEvent):DispatchSource.FileSystemEvent;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchSource.FileSystemEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchSource.FileSystemEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchSource.FileSystemEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchSource.FileSystemEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchSource.FileSystemEvent):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchSource.FileSystemEvent):DispatchSource.FileSystemEvent | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchSource.FileSystemEvent):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchSource.FileSystemEvent):DispatchSource.FileSystemEvent;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchSource.FileSystemEvent):DispatchSource.FileSystemEvent;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchSource.FileSystemEvent):DispatchSource.FileSystemEvent;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchSource.FileSystemEvent):DispatchSource.FileSystemEvent | null;
        }
        export class ProcessEvent {
            /**
             * All process-related events.
             */
            static all: DispatchSource.ProcessEvent;
            /**
             * The process became another executable image. 
             */
            static exec: DispatchSource.ProcessEvent;
            /**
             * The process has exited (perhaps cleanly, perhaps not).
             */
            static exit: DispatchSource.ProcessEvent;
            /**
             * The process created one or more child processes. 
             */
            static fork: DispatchSource.ProcessEvent;
            /**
             * The process received a UNIX signal.
             */
            static signal: DispatchSource.ProcessEvent;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchSource.ProcessEvent);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchSource.ProcessEvent):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchSource.ProcessEvent):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchSource.ProcessEvent):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchSource.ProcessEvent):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchSource.ProcessEvent):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchSource.ProcessEvent):DispatchSource.ProcessEvent;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchSource.ProcessEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchSource.ProcessEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchSource.ProcessEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchSource.ProcessEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchSource.ProcessEvent):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchSource.ProcessEvent):DispatchSource.ProcessEvent | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchSource.ProcessEvent):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchSource.ProcessEvent):DispatchSource.ProcessEvent;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchSource.ProcessEvent):DispatchSource.ProcessEvent;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchSource.ProcessEvent):DispatchSource.ProcessEvent;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchSource.ProcessEvent):DispatchSource.ProcessEvent | null;
        }
        export class MemoryPressureEvent {
            /**
             * All memory pressure events.
             */
            static all: DispatchSource.MemoryPressureEvent;
            /**
             * An event indicating that the system memory pressure condition changed to normal.
             */
            static normal: DispatchSource.MemoryPressureEvent;
            /**
             * An event indicating that the system memory pressure condition changed to warning.
             */
            static warning: DispatchSource.MemoryPressureEvent;
            /**
             * An event indicating that the system memory pressure condition changed to critical.
             */
            static critical: DispatchSource.MemoryPressureEvent;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchSource.MemoryPressureEvent);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchSource.MemoryPressureEvent):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchSource.MemoryPressureEvent):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchSource.MemoryPressureEvent):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchSource.MemoryPressureEvent):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchSource.MemoryPressureEvent):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchSource.MemoryPressureEvent):DispatchSource.MemoryPressureEvent;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchSource.MemoryPressureEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchSource.MemoryPressureEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchSource.MemoryPressureEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchSource.MemoryPressureEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchSource.MemoryPressureEvent):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchSource.MemoryPressureEvent):DispatchSource.MemoryPressureEvent | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchSource.MemoryPressureEvent):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchSource.MemoryPressureEvent):DispatchSource.MemoryPressureEvent;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchSource.MemoryPressureEvent):DispatchSource.MemoryPressureEvent;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchSource.MemoryPressureEvent):DispatchSource.MemoryPressureEvent;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchSource.MemoryPressureEvent):DispatchSource.MemoryPressureEvent | null;
        }
        export class MachSendEvent {
            /**
             * The receive right corresponding to the given send right was destroyed.
             */
            static dead: DispatchSource.MachSendEvent;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchSource.MachSendEvent);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchSource.MachSendEvent):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchSource.MachSendEvent):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchSource.MachSendEvent):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchSource.MachSendEvent):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchSource.MachSendEvent):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchSource.MachSendEvent):DispatchSource.MachSendEvent;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchSource.MachSendEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchSource.MachSendEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchSource.MachSendEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchSource.MachSendEvent):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchSource.MachSendEvent):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchSource.MachSendEvent):DispatchSource.MachSendEvent | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchSource.MachSendEvent):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchSource.MachSendEvent):DispatchSource.MachSendEvent;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchSource.MachSendEvent):DispatchSource.MachSendEvent;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchSource.MachSendEvent):DispatchSource.MachSendEvent;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchSource.MachSendEvent):DispatchSource.MachSendEvent | null;
        }
    }
    export interface DispatchSourceProtocol extends NSObjectProtocol {
        /**
         * Activates the dispatch source.
         */
        activate():void;
        /**
         * Suspends the dispatch source.
         */
        suspend():void;
        /**
         * Resumes the dispatch source.
         */
        resume():void;
        /**
         * Asynchronously cancels the dispatch source, preventing any further invocation of its event handler block.
         */
        cancel():void;
        /**
         * Returns a Boolean indicating whether the given dispatch source has been canceled.
         */
        isCancelled: boolean;
        /**
         * Sets the cancellation handler block for the dispatch source.
         */
        setCancelHandler(handler: DispatchWorkItem):void;
        /**
         * Sets the event handler work item for the dispatch source.
         */
        setEventHandler(handler: DispatchWorkItem):void;
        /**
         * Sets the registration handler work item for the dispatch source.
         */
        setRegistrationHandler(handler: DispatchWorkItem):void;
        /**
         * Returns the underlying system handle associated with the specified dispatch source.
         */
        handle: number;
        /**
         * Returns pending data for the dispatch source.
         */
        data: number;
        /**
         * Returns the mask of events monitored by the dispatch source.
         */
        mask: number;
    }
    export interface DispatchSourceTimer extends DispatchSourceProtocol {
        /**
         * Schedules a timer with the specified deadline, repeat interval, and leeway values.
         */
        schedule(deadline: DispatchTime, interval: DispatchTimeInterval, leeway: DispatchTimeInterval):void;
        /**
         * Schedules a timer to fire once with the specified deadline and leeway values.
         */
        scheduleOneshot(deadline: DispatchTime, leeway: DispatchTimeInterval):void;
        /**
         * Schedules a repeating timer with the specified deadline, repeat interval, and leeway values.
         */
        scheduleRepeating(deadline: DispatchTime, interval: DispatchTimeInterval, leeway: DispatchTimeInterval):void;
    }
    export interface DispatchSourceRead extends DispatchSourceProtocol {}
    export interface DispatchSourceWrite extends DispatchSourceProtocol {}
    export interface DispatchSourceFileSystemObject extends DispatchSourceProtocol {
        /**
         * The file descriptor of the file or socket. 
         */
        handle: Int32;
        /**
         * The type of the last file system event.
         */
        data: DispatchSource.FileSystemEvent;
        /**
         * The file descriptor attributes being monitored by the dispatch source.
         */
        mask: DispatchSource.FileSystemEvent;
    }
    export interface DispatchSourceProcess extends DispatchSourceProtocol {
        /**
         * The process identifier of the process being monitored by the dispatch source.
         */
        handle: pid_t;
        /**
         * Data associated with the last process-related event.
         */
        data: DispatchSource.ProcessEvent;
        /**
         * The process events being monitored by the dispatch source. 
         */
        mask: DispatchSource.ProcessEvent;
    }
    export interface DispatchSourceMemoryPressure extends DispatchSourceProtocol {
        data: DispatchSource.MemoryPressureEvent;
        mask: DispatchSource.MemoryPressureEvent;
    }
    export interface DispatchSourceSignal extends DispatchSourceProtocol {}
    export interface DispatchSourceMachReceive extends DispatchSourceProtocol {
        handle: mach_port_t;
    }
    export interface DispatchSourceMachSend extends DispatchSourceProtocol {
        handle: mach_port_t;
        data: DispatchSource.MachSendEvent;
        mask: DispatchSource.MachSendEvent;
    }
    export interface DispatchSourceUserDataAdd extends DispatchSourceProtocol {
        /**
         * Adds the value to the current pending data. 
         */
        add(data: number):void;
    }
    export interface DispatchSourceUserDataOr extends DispatchSourceProtocol {
        or(data: number):void;
    }
    export interface DispatchSourceUserDataReplace extends DispatchSourceProtocol {
        /**
         * Replaces the current pending data with the new value you provide. 
         */
        replace(data: number):void;
    }
    export class DispatchIO extends DispatchObject {
        /**
         * Returns the file descriptor associated with the specified channel.
         */
        fileDescriptor: Int32;
        /**
         * Creates a new I/O channel that accesses the specified file descriptor.
         */
        constructor (type: DispatchIO.StreamType, fileDescriptor: Int32, queue: DispatchQueue, cleanupHandler: ()=>any);
        /**
         * Creates a new I/O channel that accesses the file at the specified path, potentially creating that file in the process. 
         */
        constructor (type: DispatchIO.StreamType, path: UnsafePointer<Int8>, oflag: Int32, mode: mode_t, queue: DispatchQueue, cleanupHandler: ()=>any);
        /**
         * Creates a new I/O channel from an existing I/O channel.
         */
        constructor (type: DispatchIO.StreamType, io: DispatchIO, queue: DispatchQueue, cleanupHandler: ()=>any);
        /**
         * Schedules an asynchronous read operation on the specified channel.
         */
        read(offset: off_t, length: number, queue: DispatchQueue, ioHandler: ()=>any):void;
        /**
         * Schedules an asynchronous write operation for the specified channel.
         */
        write(offset: off_t, data: DispatchData, queue: DispatchQueue, ioHandler: ()=>any):void;
        /**
         * Closes the channel to new read and write operations.
         */
        close(flags: DispatchIO.CloseFlags):void;
        /**
         * Sets the maximum number of bytes to process before enqueueing a handler block. 
         */
        setLimit(high_water: number):void;
        /**
         * Sets the interval, in nanoseconds, at which to invoke the I/O handlers for the channel.
         */
        setInterval(interval: DispatchTimeInterval, flags: DispatchIO.IntervalFlags):void;
        /**
         * Schedules a barrier operation on the specified channel. 
         */
        barrier(barrier: ()=>any):void;
    }
    /**
     * the same name namespace of class DispatchIO
     */
    export namespace DispatchIO {
        export enum StreamType {
            stream,
            random,
        }
        export class CloseFlags {
            /**
             * Stop any in-progress read/write operations when closed. 
             */
            static stop: DispatchIO.CloseFlags;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchIO.CloseFlags);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchIO.CloseFlags):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchIO.CloseFlags):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchIO.CloseFlags):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchIO.CloseFlags):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchIO.CloseFlags):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchIO.CloseFlags):DispatchIO.CloseFlags;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchIO.CloseFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchIO.CloseFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchIO.CloseFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchIO.CloseFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchIO.CloseFlags):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchIO.CloseFlags):DispatchIO.CloseFlags | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchIO.CloseFlags):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchIO.CloseFlags):DispatchIO.CloseFlags;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchIO.CloseFlags):DispatchIO.CloseFlags;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchIO.CloseFlags):DispatchIO.CloseFlags;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchIO.CloseFlags):DispatchIO.CloseFlags | null;
        }
        export class IntervalFlags {
            /**
             * Enqueue handlers for a channel at strict intervals regardless of how much data has been read or written.
             */
            static strictInterval: DispatchIO.IntervalFlags;
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: DispatchIO.IntervalFlags);
            constructor (nilLiteral: any);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: DispatchIO.IntervalFlags):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: DispatchIO.IntervalFlags):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: DispatchIO.IntervalFlags):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: DispatchIO.IntervalFlags):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: DispatchIO.IntervalFlags):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: DispatchIO.IntervalFlags):DispatchIO.IntervalFlags;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: DispatchIO.IntervalFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: DispatchIO.IntervalFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: DispatchIO.IntervalFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: DispatchIO.IntervalFlags):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: DispatchIO.IntervalFlags):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: DispatchIO.IntervalFlags):DispatchIO.IntervalFlags | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: DispatchIO.IntervalFlags):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: DispatchIO.IntervalFlags):DispatchIO.IntervalFlags;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: DispatchIO.IntervalFlags):DispatchIO.IntervalFlags;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: DispatchIO.IntervalFlags):DispatchIO.IntervalFlags;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: DispatchIO.IntervalFlags):DispatchIO.IntervalFlags | null;
        }
    }
    export class OS_dispatch_queue_main extends OS_dispatch_queue_serial {}
    export class OS_dispatch_queue_global extends DispatchQueue {}
    export class OS_dispatch_queue_serial extends DispatchQueue {}
    export class OS_dispatch_queue_concurrent extends DispatchQueue {}
    export class DispatchData {
        /**
         * A dispatch data object representing a zero-length memory region. 
         */
        static empty: DispatchData;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<DispatchData>;
        regions: DispatchData.Region[];
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: UInt8 | null;
        /**
         * The last element of the collection.
         */
        last: UInt8 | null;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        startIndex: DispatchData.Index;
        endIndex: DispatchData.Index;
        /**
         * The indices that are valid for subscripting the collection, in ascending order.
         */
        indices: DefaultIndices<DispatchData>;
        publisher: any;
        /**
         * Creates a new dispatch data object from the specified memory buffer.
         */
        constructor (buffer: UnsafeRawBufferPointer);
        /**
         * Creates a new dispatch data object using the specified memory buffer and deallocator. 
         */
        constructor (bytes: UnsafeRawBufferPointer, deallocator: DispatchData.Deallocator);
        append(other: DispatchData):void;
        copyBytes(pointer: UnsafeMutableRawBufferPointer, count: number):void;
        /**
         * Returns a random element of the collection.
         */
        randomElement():UInt8 | null;
        region(location: number):any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UInt8 | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UInt8 | null;
        /**
         * Returns the distance between two indexes.
         */
        distance(start: number, end: number):number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first index where the specified value appears in the collection.
         */
        firstIndex(element: UInt8):number;
        /**
         * Returns the last index where the specified value appears in the collection.
         */
        lastIndex(element: UInt8):number;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: number, distance: number):number;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):UInt8[];
        makeIterator():DispatchData.Iterator;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        enumerateBytes(block: ()=>any):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<DispatchData>;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<DispatchData>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<DispatchData>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<DispatchData>;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<DispatchData>;
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<DispatchData>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<DispatchData>;
        subdata(range: Range<DispatchData.Index>):DispatchData;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UInt8):boolean;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UInt8[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UInt8[];
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<DispatchData>;
        trimmingPrefix(predicate: Bool):Slice<DispatchData>;
    }
    /**
     * the same name namespace of class DispatchData
     */
    export namespace DispatchData {
        export enum Deallocator {
            free,
            unmap,
            custom,
        }
        export class Region {
            regions: CollectionOfOne<DispatchData.Region>;
            endIndex: DispatchData.Index;
            startIndex: DispatchData.Index;
        }
    }
    export class DispatchDataIterator {
        /**
         * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<DispatchDataIterator>;
        publisher: any;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():DispatchDataIterator;
        /**
         * Returns a Boolean value indicating whether the sequence contains the given element.
         */
        contains(element: UInt8):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):UInt8 | null;
        /**
         * Returns the maximum element in the sequence.
         */
        max():UInt8 | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():UInt8 | null;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):UInt8[];
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<DispatchDataIterator>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<DispatchDataIterator>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):UInt8[];
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<DispatchDataIterator>;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        next():DispatchData.Element | null;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():UInt8[];
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():UInt8[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():UInt8[];
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<DispatchDataIterator>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
         */
        suffix(maxLength: number):UInt8[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<UInt8>[];
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
    }
    export class DispatchSemaphore extends DispatchObject {
        /**
         * Creates new counting semaphore with an initial value.
         */
        constructor (value: number);
        /**
         * Signals (increments) a semaphore.
         */
        signal():number;
        /**
         * Waits for, or decrements, a semaphore.
         */
        wait():void;
    }
    export enum DispatchTimeInterval {
        seconds,
        milliseconds,
        microseconds,
        nanoseconds,
        never,
    }
    export enum DispatchTimeoutResult {
        success,
        timedOut,
    }
    export enum DispatchPredicate {
        onQueue,
        onQueueAsBarrier,
        notOnQueue,
    }
}

/**
 * Discover, publish, and resolve network services on a local area or wide area network.
 */
declare module dnssd {
    export class CompileTimeAssertionChecks_DNS_SD {
        assert0: (CChar);
        constructor ();
        constructor (assert0: (CChar));
    }
    export class DNSServiceAAAAPolicy {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
}

/**
 * Create, view, and edit calendar and reminder events.
 */
declare module EventKit {
    export class EKEventStore extends NSObject {
        /**
         * An unordered array of objects that represent accounts containing calendars.
         */
        sources: EKSource[];
        /**
         * The event sources delegated to the user.
         */
        delegateSources: EKSource[];
        /**
         * The calendar that events are added to by default, as specified by user settings.
         */
        defaultCalendarForNewEvents: EKCalendar | null;
        /**
         * The unique identifier for the event store.
         */
        eventStoreIdentifier: string;
        /**
         * Creates a new event store.
         */
        constructor ();
        /**
         * Creates an event store that contains data for the specified sources.
         */
        constructor (sources: EKSource[]);
        /**
         * Determines the authorization status for the given entity type.
         */
        static authorizationStatus(entityType: EKEntityType):EKAuthorizationStatus;
        /**
         * Locates an event source with the specified identifier.
         */
        source(identifier: string):EKSource | null;
        /**
         * Commits all unsaved changes to the event store.
         */
        commit():void;
        /**
         * Reverts the event store to its saved state.
         */
        reset():void;
        /**
         * Pulls new data from remote sources, if necessary.
         */
        refreshSourcesIfNecessary():void;
        /**
         * Identifies the calendar that reminders are added to by default, as specified by user settings.
         */
        defaultCalendarForNewReminders():EKCalendar | null;
        /**
         * Identifies the calendars that support a given entity type, such as reminders or events.
         */
        calendars(entityType: EKEntityType):EKCalendar[];
        /**
         * Locates a calendar with the specified identifier.
         */
        calendar(identifier: string):EKCalendar | null;
        /**
         * Saves a calendar to the event store by either committing or batching the changes.
         */
        saveCalendar(calendar: EKCalendar, commit: boolean):void;
        /**
         * Removes a calendar from the event store by either committing or batching the changes.
         */
        removeCalendar(calendar: EKCalendar, commit: boolean):void;
        /**
         * Locates the first occurrence of an event with a given identifier.
         */
        event(identifier: string):EKEvent | null;
        /**
         * Locates an event’s first occurrence or a reminder with the specified identifier.
         */
        calendarItem(identifier: string):EKCalendarItem | null;
        /**
         * Locates all reminders or the first occurrences of all events with the specified external identifier.
         */
        calendarItems(externalIdentifier: string):EKCalendarItem[];
        /**
         * Removes an event from the event store.
         */
        remove(event: EKEvent, span: EKSpan):void;
        /**
         * Saves changes to an event permanently. 
         */
        save(event: EKEvent, span: EKSpan):void;
        /**
         * Finds all events that match a given predicate and calls a given callback for each event found.
         */
        enumerateEvents(predicate: NSPredicate, block: EKEventSearchCallback):void;
        /**
         * Finds all events that match a given predicate. 
         */
        events(predicate: NSPredicate):EKEvent[];
        /**
         * Fetches reminders matching a given predicate.
         */
        fetchReminders(predicate: NSPredicate, completion: ()=>any):any;
        /**
         * Cancels the request to fetch reminders.
         */
        cancelFetchRequest(fetchIdentifier: any):void;
        /**
         * Creates a predicate to identify events that fall within a given date range.
         */
        predicateForEvents(startDate: Date, endDate: Date, calendars: EKCalendar[] | null):NSPredicate;
        /**
         * Creates a predicate to identify all reminders in a collection of calendars.
         */
        predicateForReminders(calendars: EKCalendar[] | null):NSPredicate;
        /**
         * Creates a predicate to identify all completed reminders that fall within a given date range.
         */
        predicateForCompletedReminders(startDate: Date | null, endDate: Date | null, calendars: EKCalendar[] | null):NSPredicate;
        /**
         * Creates a predicate to identify all incomplete reminders that fall within a given date range. 
         */
        predicateForIncompleteReminders(startDate: Date | null, endDate: Date | null, calendars: EKCalendar[] | null):NSPredicate;
        /**
         * Prompts the user to grant or deny access to event or reminder data.
         */
        requestAccess(entityType: EKEntityType, completion: EKEventStoreRequestAccessCompletionHandler):void;
    }
    export enum EKAuthorizationStatus {
        denied = 2,
        notDetermined = 0,
        restricted = 1,
    }
    export class EKCalendarEventAvailabilityMask {
        /**
         * The calendar supports the tentative event availability setting.
         */
        static tentative: EKCalendarEventAvailabilityMask;
        /**
         * The calendar supports the unavailable event availability setting.
         */
        static unavailable: EKCalendarEventAvailabilityMask;
    }
    export class EKCalendar extends EKObject {
        /**
         * A Boolean value that indicates whether you can add, edit, and delete items in the calendar.
         */
        allowsContentModifications: boolean;
        /**
         * The calendar’s color.
         */
        cgColor: CGColor!;
        /**
         * The calendar’s color.
         */
        color: NSColor!;
        /**
         * A Boolean value indicating whether the calendar’s properties can be edited or deleted.
         */
        isImmutable: boolean;
        /**
         * The calendar’s title.
         */
        title: string;
        /**
         * The calendar’s type.
         */
        type: EKCalendarType;
        /**
         * The entity types this calendar can contain.
         */
        allowedEntityTypes: EKEntityMask;
        /**
         * The source object representing the account to which this calendar belongs.
         */
        source: EKSource!;
        /**
         * A Boolean value indicating whether the calendar is a subscribed calendar.
         */
        isSubscribed: boolean;
        /**
         * The event availability settings supported by this calendar, as indicated by a bitmask.
         */
        supportedEventAvailabilities: EKCalendarEventAvailabilityMask;
        /**
         * A unique identifier for the calendar.
         */
        calendarIdentifier: string;
    }
    export enum EKParticipantRole {
        unknown = 0,
        required = 1,
        optional = 2,
        chair = 3,
        nonParticipant = 4,
    }
    export enum EKParticipantType {
        unknown = 0,
        person = 1,
        room = 2,
        resource = 3,
        group = 4,
    }
    export enum EKWeekday {
        sunday = 1,
        monday = 2,
        tuesday = 3,
        wednesday = 4,
        thursday = 5,
        friday = 6,
        saturday = 7,
    }
    export class EKRecurrenceEnd extends NSObject {
        /**
         * The end date of the recurrence end, or 
         *  if the recurrence end is count-based.
         */
        endDate: Date | null;
        /**
         * The occurrence count of the recurrence end, or 
         *  if the recurrence end is date-based.
         */
        occurrenceCount: number;
        /**
         * Initializes and returns a date-based recurrence end with a given end date.
         */
        constructor (endDate: Date);
        /**
         * Initializes and returns a count-based recurrence end with a given maximum occurrence count.
         */
        constructor (occurrenceCount: number);
    }
    export enum EKParticipantStatus {
        unknown = 0,
        pending = 1,
        accepted = 2,
        declined = 3,
        tentative = 4,
        delegated = 5,
        completed = 6,
        inProcess = 7,
    }
    export class EKRecurrenceDayOfWeek extends NSObject {
        /**
         * The day of the week.
         */
        dayOfTheWeek: EKWeekday;
        /**
         * The week number of the day of the week.
         */
        weekNumber: number;
        /**
         * Creates and returns a day of the week with a given day.
         */
        constructor (dayOfTheWeek: EKWeekday);
        /**
         * Creates and returns an autoreleased day of the week with a given day and week number.
         */
        constructor (dayOfTheWeek: EKWeekday, weekNumber: number);
        /**
         * Initializes and returns a day of the week with a given day and week number.
         */
        constructor (dayOfTheWeek: EKWeekday, weekNumber: number);
    }
    export class EKRecurrenceRule extends EKObject {
        /**
         * The identifier for the recurrence rule’s calendar.
         */
        calendarIdentifier: string;
        /**
         * Indicates when the recurrence rule ends. 
         */
        recurrenceEnd: EKRecurrenceEnd | null;
        /**
         * The frequency of the recurrence rule.
         */
        frequency: EKRecurrenceFrequency;
        /**
         * Specifies how often the recurrence rule repeats over the unit of time indicated by its frequency. 
         */
        interval: number;
        /**
         * Indicates which day of the week the recurrence rule treats as the first day of the week. 
         */
        firstDayOfTheWeek: number;
        /**
         * The days of the week associated with the recurrence rule, as an array of 
         *  objects. 
         */
        daysOfTheWeek: EKRecurrenceDayOfWeek[] | null;
        /**
         * The days of the month associated with the recurrence rule, as an array of 
         *  objects. 
         */
        daysOfTheMonth: NSNumber[] | null;
        /**
         * The days of the year associated with the recurrence rule, as an array of 
         *  objects. 
         */
        daysOfTheYear: NSNumber[] | null;
        /**
         * The weeks of the year associated with the recurrence rule, as an array of 
         *  objects. 
         */
        weeksOfTheYear: NSNumber[] | null;
        /**
         * The months of the year associated with the recurrence rule, as an array of 
         *  objects. 
         */
        monthsOfTheYear: NSNumber[] | null;
        /**
         * An array of ordinal numbers that filters which recurrences to include in the recurrence rule’s frequency. 
         */
        setPositions: NSNumber[] | null;
        /**
         * Initializes and returns a simple recurrence rule with a given frequency, interval, and end.
         */
        constructor (type: EKRecurrenceFrequency, interval: number, end: EKRecurrenceEnd | null);
        /**
         * Initializes and returns a recurrence rule with a given frequency and additional scheduling information.
         */
        constructor (type: EKRecurrenceFrequency, interval: number, days: EKRecurrenceDayOfWeek[] | null, monthDays: NSNumber[] | null, months: NSNumber[] | null, weeksOfTheYear: NSNumber[] | null, daysOfTheYear: NSNumber[] | null, setPositions: NSNumber[] | null, end: EKRecurrenceEnd | null);
    }
    export enum EKParticipantScheduleStatus {
        none = 0,
        pending = 1,
        sent = 2,
        delivered = 3,
        recipientNotRecognized = 4,
        noPrivileges = 5,
        deliveryFailed = 6,
        cannotDeliver = 7,
        recipientNotAllowed = 8,
    }
    export enum EKSpan {
        thisEvent = 0,
        futureEvents = 1,
    }
    export class EKAlarm extends EKObject {
        /**
         * The absolute date for the alarm.
         */
        absoluteDate: Date | null;
        /**
         * The offset from the start of an event, at which the alarm fires.
         */
        relativeOffset: TimeInterval;
        /**
         * A value indicating how a location-based alarm is triggered.
         */
        proximity: EKAlarmProximity;
        /**
         * The location to trigger an alarm.
         */
        structuredLocation: EKStructuredLocation | null;
        /**
         * The type of action to trigger when the alarm fires.
         */
        type: EKAlarmType;
        /**
         * The recipient of an email to send when the alarm triggers.
         */
        emailAddress: string;
        /**
         * The name of the sound to play when the alarm triggers.
         */
        soundName: string;
        /**
         * Creates and returns an alarm with an absolute date.
         */
        constructor (date: Date);
        /**
         * Creates and returns an alarm with a relative offset.
         */
        constructor (offset: TimeInterval);
    }
    export class EKParticipant extends EKObject {
        /**
         * A Boolean value indicating whether this participant represents the owner of this account.
         */
        isCurrentUser: boolean;
        /**
         * The participant’s name.
         */
        name: string;
        /**
         * The participant’s role in the event.
         */
        participantRole: EKParticipantRole;
        /**
         * The participant’s attendance status.
         */
        participantStatus: EKParticipantStatus;
        /**
         * The participant’s type.
         */
        participantType: EKParticipantType;
        /**
         * The URL representing this participant.
         */
        url: URL;
        /**
         * A predicate to use with the Contacts framework to retrieve the corresponding contact instance.
         */
        contactPredicate: NSPredicate;
        /**
         * Returns the address book record that represents the participant.
         */
        abRecord(addressBook: ABAddressBook):ABRecord | null;
        /**
         * Returns the address book record that represents the participant.
         */
        abPerson(addressBook: ABAddressBook):ABPerson | null;
    }
    export enum EKRecurrenceFrequency {
        daily = 0,
        weekly = 1,
        monthly = 2,
        yearly = 3,
    }
    export enum EKAlarmProximity {
        none = 0,
        enter = 1,
        leave = 2,
    }
    export class EKStructuredLocation extends EKObject {
        /**
         * The title of the location.
         */
        title: string;
        /**
         * The core location.
         */
        geoLocation: CLLocation | null;
        /**
         * A minimum distance from the core location that would trigger the alarm or reminder.
         */
        radius: number;
        /**
         * Creates a new structured location with the specified title.
         */
        constructor (title: string);
        /**
         * Creates a new structured location with the specified map item.
         */
        constructor (mapItem: MKMapItem);
    }
    export class EKCalendarItem extends EKObject {
        /**
         * The calendar item’s unique identifier.
         */
        calendarItemIdentifier: string;
        /**
         * The calendar item’s external identifier as provided by the calendar server.
         */
        calendarItemExternalIdentifier: String!;
        /**
         * The calendar item’s unique identifier.
         */
        uuid: string;
        /**
         * The calendar for the calendar item.
         */
        calendar: EKCalendar!;
        /**
         * The title for the calendar item.
         */
        title: String!;
        /**
         * The location associated with the calendar item.
         */
        location: string;
        /**
         * The date that this calendar item was created.
         */
        creationDate: Date | null;
        /**
         * The date that the calendar item was last modified.
         */
        lastModifiedDate: Date | null;
        /**
         * The time zone for the calendar item.
         */
        timeZone: TimeZone | null;
        /**
         * The URL for the calendar item.
         */
        url: URL | null;
        /**
         * A Boolean value that indicates whether the calendar item has notes.
         */
        hasNotes: boolean;
        /**
         * The notes associated with the calendar item.
         */
        notes: string;
        /**
         * A Boolean value that indicates whether the calendar item has attendees.
         */
        hasAttendees: boolean;
        /**
         * The attendees associated with the calendar item, as an array of 
         *  objects.
         */
        attendees: EKParticipant[] | null;
        /**
         * A Boolean value that indicates whether the calendar item has alarms.
         */
        hasAlarms: boolean;
        /**
         * The alarms associated with the calendar item, as an array of 
         *  objects.
         */
        alarms: EKAlarm[] | null;
        /**
         * A Boolean value that indicates whether the calendar item has recurrence rules.
         */
        hasRecurrenceRules: boolean;
        /**
         * The recurrence rules for the calendar item.
         */
        recurrenceRules: EKRecurrenceRule[] | null;
        /**
         * Adds an alarm to the receiver.
         */
        addAlarm(alarm: EKAlarm):void;
        /**
         * Removes an alarm from the calendar item.
         */
        removeAlarm(alarm: EKAlarm):void;
        /**
         * Adds a recurrence rule to the recurrence rule array.
         */
        addRecurrenceRule(rule: EKRecurrenceRule):void;
        /**
         * Removes a recurrence rule from the recurrence rule array.
         */
        removeRecurrenceRule(rule: EKRecurrenceRule):void;
    }
    export enum EKAlarmType {
        display = 0,
        audio = 1,
        procedure = 2,
        email = 3,
    }
    export class EKObject extends NSObject {
        /**
         * Returns whether this object or any of the objects it contains has uncommitted changes.
         */
        hasChanges: boolean;
        /**
         * A Boolean value that indicates whether this object has ever been saved.
         */
        isNew: boolean;
        /**
         * Merges changes to this object with the latest saved values.
         */
        refresh():boolean;
        /**
         * Returns this object to its saved state.
         */
        reset():void;
        /**
         * Rolls back the property values of this object to its original state when it was first fetched.
         */
        rollback():void;
    }
    export class EKSource extends EKObject {
        /**
         * A unique identifier for the source object.
         */
        sourceIdentifier: string;
        /**
         * The type of this source object.
         */
        sourceType: EKSourceType;
        /**
         * The name of this source object.
         */
        title: string;
        isDelegate: boolean;
        /**
         * Returns the calendars that belong to this source object that support a particular entity type.
         */
        calendars(entityType: EKEntityType):Set<EKCalendar>;
    }
    export enum EKSourceType {
        local = 0,
        exchange = 1,
        calDAV = 2,
        mobileMe = 3,
        subscribed = 4,
        birthdays = 5,
    }
    export class EKVirtualConferenceProvider extends NSObject {
        /**
         * Provides an array of room types where events take place.
         */
        fetchAvailableRoomTypes(completionHandler: ()=>any):void;
        /**
         * Provides details about a virtual conference that takes place in a room the user selects.
         */
        fetchVirtualConference(identifier: EKVirtualConferenceRoomTypeIdentifier, completionHandler: ()=>any):void;
    }
    export class EKVirtualConferenceDescriptor extends NSObject {
        /**
         * The user-visible name of the virtual conference.
         */
        title: string;
        /**
         * An array that contains objects with details about where to join the virtual conference.
         */
        urlDescriptors: EKVirtualConferenceURLDescriptor[];
        /**
         * Additional information about the conference that users may find helpful.
         */
        conferenceDetails: string;
        /**
         * Creates an object that describes a virtual conference, including a name and URL to join the conference.
         */
        constructor (title: string, URLDescriptors: EKVirtualConferenceURLDescriptor[], conferenceDetails: string);
    }
    export enum EKEntityType {
        event = 0,
        reminder = 1,
    }
    export class EKVirtualConferenceURLDescriptor extends NSObject {
        /**
         * The user-visible name of a room where virtual conferences take place, such as Personal Room or Team Room.
         */
        title: string;
        /**
         * The URL that users open to join a virtual conference.
         */
        url: URL;
        /**
         * Creates a URL descriptor with the given title and URL.
         */
        constructor (title: string, URL: URL);
    }
    export class EKVirtualConferenceRoomTypeDescriptor extends NSObject {
        /**
         * The user-visible name of a room where virtual conferences take place, such as Personal Room or Team Room.
         */
        title: string;
        /**
         * A unique string you choose that identifies the room.
         */
        identifier: EKVirtualConferenceRoomTypeIdentifier;
        /**
         * Creates an object that describes a location where a virtual conference takes place.
         */
        constructor (title: string, identifier: EKVirtualConferenceRoomTypeIdentifier);
    }
    export class EKEntityMask {
        /**
         * Represents an event.
         */
        static event: EKEntityMask;
        /**
         * Represents a reminder.
         */
        static reminder: EKEntityMask;
        /**
         * Creates an entity mask with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class EKError {
        /**
         * The event isn't mutable and you can't save or delete it.
         */
        static eventNotMutable: EKError.Code;
        /**
         * The event isn't associated with a calendar.
         */
        static noCalendar: EKError.Code;
        /**
         * The event has no start date set.
         */
        static noEndDate: EKError.Code;
        /**
         * The event has no end date set.
         */
        static noStartDate: EKError.Code;
        /**
         * The event’s end date occurs before its start date.
         */
        static datesInverted: EKError.Code;
        /**
         * An internal error occurred.
         */
        static internalFailure: EKError.Code;
        /**
         * The calendar is read-only and you can't add events to it.
         */
        static calendarReadOnly: EKError.Code;
        /**
         * The duration of an event is greater than its recurrence interval.
         */
        static durationGreaterThanRecurrence: EKError.Code;
        /**
         * The alarm interval is greater than the recurrence interval.
         */
        static alarmGreaterThanRecurrence: EKError.Code;
        /**
         * The start date is further into the future than the calendar can display.
         */
        static startDateTooFarInFuture: EKError.Code;
        /**
         * The event’s start date collides with another occurrence of the event.
         */
        static startDateCollidesWithOtherOccurrence: EKError.Code;
        /**
         * The object belongs to a different calendar store.
         */
        static objectBelongsToDifferentStore: EKError.Code;
        /**
         * You can't move the event because it's an invitation.
         */
        static invitesCannotBeMoved: EKError.Code;
        /**
         * The system encountered an invalid span during a save or deletion. 
         */
        static invalidSpan: EKError.Code;
        /**
         * You can't save the calendar without setting a source first.
         */
        static calendarHasNoSource: EKError.Code;
        /**
         * You can't move the calendar to another source.
         */
        static calendarSourceCannotBeModified: EKError.Code;
        /**
         * The calendar is immutable and you can't modify or delete it.
         */
        static calendarIsImmutable: EKError.Code;
        /**
         * The source doesn’t allow you to add or delete calendars.
         */
        static sourceDoesNotAllowCalendarAddDelete: EKError.Code;
        /**
         * The recurring reminder requires a due date.
         */
        static recurringReminderRequiresDueDate: EKError.Code;
        /**
         * The source to which this calendar belongs doesn't support structured locations.
         */
        static structuredLocationsNotSupported: EKError.Code;
        /**
         * The source doesn't support locations on reminders.
         */
        static reminderLocationsNotSupported: EKError.Code;
        /**
         * The source doesn't allow geofences on alarms.
         */
        static alarmProximityNotSupported: EKError.Code;
        /**
         * The calendar doesn't allow you to add events.
         */
        static calendarDoesNotAllowEvents: EKError.Code;
        /**
         * The calendar doesn’t allow you to add reminders. 
         */
        static calendarDoesNotAllowReminders: EKError.Code;
        /**
         * The source doesn't allow calendars supporting reminder entity types.
         */
        static sourceDoesNotAllowReminders: EKError.Code;
        /**
         * The source doesn't allow calendars supporting event entity types.
         */
        static sourceDoesNotAllowEvents: EKError.Code;
        /**
         * The priority number for the reminder is invalid.
         */
        static priorityIsInvalid: EKError.Code;
        /**
         * The entity type is invalid.
         */
        static invalidEntityType: EKError.Code;
        /**
         * You can't create or modify procedure alarms.
         */
        static procedureAlarmsNotMutable: EKError.Code;
        /**
         * The user hasn't authorized your app to access events or reminders.
         */
        static eventStoreNotAuthorized: EKError.Code;
        /**
         * The action isn't supported on the current operating system.
         */
        static osNotSupported: EKError.Code;
        /**
         * The calendar is invalid or nil.
         */
        static invalidInviteReplyCalendar: EKError.Code;
        /**
         * The notification collection doesn't have the notifications collection flag.
         */
        static notificationsCollectionFlagNotSet: EKError.Code;
        /**
         *  The object's source doesn't match its container's source.
         */
        static sourceMismatch: EKError.Code;
        /**
         * The notification collection that contains this notification doesn't match the collection the system is trying to save.
         */
        static notificationCollectionMismatch: EKError.Code;
        /**
         * The notification can't save because you haven't added it to a notification collection and saved the collection first.
         */
        static notificationSavedWithoutCollection: EKError.Code;
        /**
         * This error is for internal use.
         */
        static last: EKError.Code;
        /**
         * The error domain that identifies an error as an EventKit error.
         */
        static errorDomain: string;
        static reminderAlarmContainsEmailOrUrl: EKError.Code;
        /**
         * The error code associated with the EventKit error.
         */
        errorCode: number;
        /**
         * A dictionary for providing additional details about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class EKError
     */
    export namespace EKError {
        export enum Code {
            eventNotMutable = 0,
            noCalendar = 1,
            noStartDate = 2,
            noEndDate = 3,
            datesInverted = 4,
            internalFailure = 5,
            calendarReadOnly = 6,
            durationGreaterThanRecurrence = 7,
            alarmGreaterThanRecurrence = 8,
            startDateTooFarInFuture = 9,
            startDateCollidesWithOtherOccurrence = 10,
            objectBelongsToDifferentStore = 11,
            invitesCannotBeMoved = 12,
            invalidSpan = 13,
            calendarHasNoSource = 14,
            calendarSourceCannotBeModified = 15,
            calendarIsImmutable = 16,
            sourceDoesNotAllowCalendarAddDelete = 17,
            recurringReminderRequiresDueDate = 18,
            structuredLocationsNotSupported = 19,
            reminderLocationsNotSupported = 20,
            alarmProximityNotSupported = 21,
            calendarDoesNotAllowEvents = 22,
            calendarDoesNotAllowReminders = 23,
            sourceDoesNotAllowReminders = 24,
            sourceDoesNotAllowEvents = 25,
            priorityIsInvalid = 26,
            invalidEntityType = 27,
            procedureAlarmsNotMutable = 28,
            eventStoreNotAuthorized = 29,
            osNotSupported = 30,
            invalidInviteReplyCalendar = 31,
            notificationsCollectionFlagNotSet = 32,
            sourceMismatch = 33,
            notificationCollectionMismatch = 34,
            notificationSavedWithoutCollection = 35,
            last = 37,
            reminderAlarmContainsEmailOrUrl = 36,
        }
    }
    export class EKEvent extends EKCalendarItem {
        /**
         * A unique identifier for the event.
         */
        eventIdentifier: String!;
        /**
         * The availability setting for the event.
         */
        availability: EKEventAvailability;
        /**
         * The start date of the event.
         */
        startDate: Date!;
        /**
         * The end date for the event.
         */
        endDate: Date!;
        /**
         * A Boolean value that indicates whether the event is an all-day event.
         */
        isAllDay: boolean;
        /**
         * The original occurrence date of an event if it is part of a recurring series.
         */
        occurrenceDate: Date!;
        /**
         * A Boolean value that indicates whether an event is a detached instance of a repeating event.
         */
        isDetached: boolean;
        /**
         * The organizer associated with the event.
         */
        organizer: EKParticipant | null;
        /**
         * The status of the event.
         */
        status: EKEventStatus;
        /**
         * The contact identifier of the person for this birthday event.
         */
        birthdayContactIdentifier: string;
        /**
         * The event's location with a potential geocoordinate.
         */
        structuredLocation: EKStructuredLocation | null;
        /**
         * The Address Book framework record identifier of the person for this birthday event.
         */
        birthdayPersonID: number;
        /**
         * The Address Book framework record identifier of the person for this birthday event.
         */
        birthdayPersonUniqueID: string;
        /**
         * Creates and returns a new event belonging to a specified event store.
         */
        constructor (eventStore: EKEventStore);
        /**
         * Compares the start date of the receiving event with the start date of another event.
         */
        compareStartDate(other: EKEvent):ComparisonResult;
        /**
         * Updates the event’s data with the current information in the Calendar database.
         */
        refresh():boolean;
    }
    export enum EKEventStatus {
        none = 0,
        confirmed = 1,
        tentative = 2,
        canceled = 3,
    }
    export class EKReminder extends EKCalendarItem {
        /**
         * The reminder's priority.
         */
        priority: number;
        /**
         * The start date of the task.
         */
        startDateComponents: DateComponents | null;
        /**
         * The date by which the reminder should be completed.
         */
        dueDateComponents: DateComponents | null;
        /**
         * A Boolean value determining whether or not the reminder is marked completed.
         */
        isCompleted: boolean;
        /**
         * The date on which the reminder was completed.
         */
        completionDate: Date | null;
        /**
         * Creates and returns a new reminder in the given event store.
         */
        constructor (eventStore: EKEventStore);
    }
    export enum EKEventAvailability {
        notSupported = -1,
        busy = 0,
        free = 1,
        tentative = 2,
        unavailable = 3,
    }
    export enum EKReminderPriority {
        none = 0,
        high = 1,
        medium = 5,
        low = 9,
    }
    export enum EKCalendarType {
        local = 0,
        calDAV = 1,
        exchange = 2,
        subscription = 3,
        birthday = 4,
    }
}

/**
 * Display an interface for viewing, selecting, and editing calendar events and reminders.
 */
declare module EventKitUI {
    export class EKEventViewController extends UIViewController {
        /**
         * The event view controller’s delegate.
         */
        delegate: EKEventViewDelegate | null;
        /**
         * The event this view controller displays to the user.
         */
        event: EKEvent!;
        /**
         * A Boolean that determines whether the user can preview the event in a calendar day.
         */
        allowsCalendarPreview: boolean;
        /**
         * A Boolean that determines whether the user may edit the event.
         */
        allowsEditing: boolean;
    }
    export interface EKEventEditViewDelegate extends NSObjectProtocol {
        /**
         * The default calendar to use when creating new events.
         */
        eventEditViewControllerDefaultCalendar(controller: EKEventEditViewController):EKCalendar;
        /**
         * Invoked when the user finishes editing an event.
         */
        eventEditViewController(controller: EKEventEditViewController, action: EKEventEditViewAction):void;
    }
    export class EKCalendarChooser extends UIViewController {
        /**
         * The calendar chooser’s delegate.
         */
        delegate: EKCalendarChooserDelegate | null;
        /**
         * The calendars selected by the user.
         */
        selectedCalendars: Set<EKCalendar>;
        /**
         * Determines whether to allow selection of multiple calendars.
         */
        selectionStyle: EKCalendarChooserSelectionStyle;
        /**
         * A Boolean that determines whether to display a Cancel button.
         */
        showsCancelButton: boolean;
        /**
         * A Boolean that determines whether to display a Done button.
         */
        showsDoneButton: boolean;
        /**
         * Initializes a newly created calendar chooser.
         */
        constructor (selectionStyle: EKCalendarChooserSelectionStyle, displayStyle: EKCalendarChooserDisplayStyle, eventStore: EKEventStore);
        /**
         * Initializes a newly created calendar chooser for a specific entity type.
         */
        constructor (style: EKCalendarChooserSelectionStyle, displayStyle: EKCalendarChooserDisplayStyle, entityType: EKEntityType, eventStore: EKEventStore);
    }
    export enum EKEventViewAction {
        done = 0,
        responded = 1,
        deleted = 2,
    }
    export interface EKEventViewDelegate extends NSObjectProtocol {
        /**
         * Invoked when closing the event view controller.
         */
        eventViewController(controller: EKEventViewController, action: EKEventViewAction):void;
    }
    export enum EKEventEditViewAction {
        canceled = 0,
        saved = 1,
        deleted = 2,
    }
    export class EKEventEditViewController extends UINavigationController {
        /**
         * The event the user creates or edits using this view controller.
         */
        event: EKEvent | null;
        /**
         * The event store used to save the event.
         */
        eventStore: EKEventStore!;
        /**
         * Ends the editing session and discards any changes that were made to the event.
         */
        cancelEditing():void;
    }
    export interface EKCalendarChooserDelegate extends NSObjectProtocol {
        /**
         * Sent when a user selects one or more calendars.
         */
        calendarChooserDidFinish(calendarChooser: EKCalendarChooser):void;
        /**
         * Sent when a user changes the selection.
         */
        calendarChooserSelectionDidChange(calendarChooser: EKCalendarChooser):void;
        /**
         * Sent when the user cancels a calendar selection.
         */
        calendarChooserDidCancel(calendarChooser: EKCalendarChooser):void;
    }
    export enum EKCalendarChooserSelectionStyle {
        single = 0,
        multiple = 1,
    }
    export enum EKCalendarChooserDisplayStyle {
        allCalendars = 0,
        writableCalendarsOnly = 1,
    }
}

/**
 * Implement a COVID-19 exposure notification system that protects user privacy.
 */
declare module ExposureNotification {
    export class ENManager extends NSObject {
        /**
         * A property that reports the current authorization status of the app, and never prompts the user.
         */
        static authorizationStatus: ENAuthorizationStatus;
        /**
         * The handler that the framework invokes when the app activates a notification manager.
         */
        activityHandler: ENActivityHandler | null;
        /**
         * A property that indicates the status of exposure notifications. 
         */
        exposureNotificationStatus: ENStatus;
        /**
         * A property that indicates that a user enabled exposure notification.
         */
        exposureNotificationEnabled: boolean;
        /**
         * The dispatch queue on which to invoke handlers.
         */
        dispatchQueue: DispatchQueue;
        /**
         * The handler that receives available diagnosis keys after a successful preauthorization.
         */
        diagnosisKeysAvailableHandler: ENDiagnosisKeysAvailableHandler | null;
        /**
         * The handler that the framework invokes when invalidation completes. 
         */
        invalidationHandler: ()=>any | null;
        /**
         * Enables or disables exposure notification. 
         */
        setExposureNotificationEnabled(enabled: boolean, completionHandler: ENErrorHandler):void;
        /**
         * Detects exposures using the configuration that you specify for controlling the scoring algorithm. 
         */
        detectExposures(configuration: ENExposureConfiguration, diagnosisKeyURLs: URL[], completionHandler: ENDetectExposuresHandler):Progress;
        /**
         * Obtains information from the provided summary about the user’s exposure within a window of time.
         */
        getExposureWindows(summary: ENExposureDetectionSummary, completionHandler: ENGetExposureWindowsHandler):Progress;
        /**
         * Prepares the manager for use.
         */
        activate(completionHandler: ENErrorHandler):void;
        /**
         * Obtains information about the user’s travel within an exposure period.
         */
        getUserTraveled(completionHandler: ENGetUserTraveledHandler):void;
        /**
         * Returns information about each exposure.
         */
        getExposureInfo(summary: ENExposureDetectionSummary, userExplanation: string, completionHandler: ENGetExposureInfoHandler):Progress;
        /**
         * Requests the temporary exposure keys from the user’s device to share with a server. 
         */
        getDiagnosisKeys(completionHandler: ENGetDiagnosisKeysHandler):void;
        /**
         * Requests the temporary exposure keys, including the current key, used by this device for testing.
         */
        getTestDiagnosisKeys(completionHandler: ENGetDiagnosisKeysHandler):void;
        /**
         * Requests diagnosis keys after the user authorizes sharing them.
         */
        requestPreAuthorizedDiagnosisKeys(completionHandler: ENErrorHandler):void;
        /**
         * Allows users to authorize a one-time release of diagnosis keys within five days of the authorization.
         */
        preAuthorizeDiagnosisKeys(completionHandler: ENErrorHandler):void;
        /**
         * Stops any outstanding operations and invalidates the manager.
         */
        invalidate():void;
    }
    export class ENActivityFlags {
        /**
         * This property is reserved.
         */
        static reserved2: ENActivityFlags;
        /**
         * The property that specifies launching the app in the background for periodic operation in iOS 12.5.
         */
        static periodicRun: ENActivityFlags;
        /**
         * The property that specifies launching the app in the foreground to display preauthorized key-release information.
         */
        static preAuthorizedKeyReleaseNotificationTapped: ENActivityFlags;
        /**
         * This property is reserved.
         */
        static reserved1: ENActivityFlags;
    }
    export enum ENVariantOfConcernType {
        type2 = 2,
        type3 = 3,
        type4 = 4,
        typeUnknown = 0,
    }
    export class ENScanInstance extends NSObject {
        /**
         * The minimum attenuation of beacons received during the scan.
         */
        minimumAttenuation: ENAttenuation;
        /**
         * The number of seconds elapsed since the previous scan.
         */
        secondsSinceLastScan: number;
        /**
         * The aggregation of the attenuations of beacons received during the scan.
         */
        typicalAttenuation: ENAttenuation;
    }
    export enum ENCalibrationConfidence {
        high = 3,
        medium = 2,
        low = 1,
        lowest = 0,
    }
    export enum ENDiagnosisReportType {
        confirmedClinicalDiagnosis = 2,
        confirmedTest = 1,
        recursive = 4,
        revoked = 5,
        selfReported = 3,
        unknown = 0,
    }
    export enum ENInfectiousness {
        high = 2,
        none = 0,
        standard = 1,
    }
    export class ENExposureDetectionSummary extends NSObject {
        /**
         * An array of durations at specific radio signal attenuations.
         */
        attenuationDurations: NSNumber[];
        /**
         * Number of days since the most recent exposure.
         */
        daysSinceLastExposure: number;
        /**
         * The number of keys that matched for an exposure detection.
         */
        matchedKeyCount: UInt64;
        /**
         * The vaue that represents the highest risk score of all exposure incidents.
         */
        maximumRiskScore: ENRiskScore;
        /**
         * The value that represents the highest, full-range risk score of all the exposures for the user.
         */
        maximumRiskScoreFullRange: number;
        /**
         * The sum of the full-range risk scores for all exposures for the user. 
         */
        riskScoreSumFullRange: number;
        /**
         * The metadata associated with the summary.
         */
        metadata: Record<AnyHashable, any> | null;
        /**
         * The summary of each day that contains an exposure.
         */
        daySummaries: ENExposureDaySummary[];
    }
    export class ENExposureDaySummary extends NSObject {
        /**
         * The date that the exposure occurred.
         */
        date: Date;
        /**
         * The summary of exposures from a clinically-originated diagnosis.
         */
        confirmedClinicalDiagnosisSummary: ENExposureSummaryItem | null;
        /**
         * The summary of exposures with a confirmed diagnosis.
         */
        confirmedTestSummary: ENExposureSummaryItem | null;
        /**
         * The summary of exposures that came from someone else who was exposed.
         */
        recursiveSummary: ENExposureSummaryItem | null;
        /**
         * The summary of self-reported exposures.
         */
        selfReportedSummary: ENExposureSummaryItem | null;
        /**
         * The summary of all exposures for the day.
         */
        daySummary: ENExposureSummaryItem;
    }
    export class ENExposureSummaryItem extends NSObject {
        /**
         * The highest score of all exposures for this item.
         */
        maximumScore: number;
        /**
         * The sum of scores for all exposure for this item.
         */
        scoreSum: number;
        /**
         * The sum of exposure durations weighted by their attenuation.
         */
        weightedDurationSum: TimeInterval;
    }
    export enum ENAuthorizationStatus {
        authorized = 3,
        notAuthorized = 2,
        restricted = 1,
        unknown = 0,
    }
    export enum ENStatus {
        active = 1,
        bluetoothOff = 3,
        disabled = 2,
        restricted = 4,
        unknown = 0,
        paused = 5,
        unauthorized = 6,
    }
    export class ENError {
        /**
         * The API use is incorrect.
         */
        static apiMisuse: ENError.Code;
        /**
         * A file is formated incorrectly. 
         */
        static badFormat: ENError.Code;
        /**
         * The parameter is missing or incorrect.
         */
        static badParameter: ENError.Code;
        /**
         * Bluetooth is turned off.
         */
        static bluetoothOff: ENError.Code;
        /**
         * A domain for the error.
         */
        static errorDomain: string;
        /**
         * The memory is insufficient to perform the operation.
         */
        static insufficientMemory: ENError.Code;
        /**
         * The storage is insufficient to enable notifications.
         */
        static insufficientStorage: ENError.Code;
        /**
         * A bug in the internal notification framework.
         */
        static internal: ENError.Code;
        /**
         * A call to invalidate before the operation completes normally.
         */
        static invalidated: ENError.Code;
        /**
         * The user has denied access to the notification framework.
         */
        static notAuthorized: ENError.Code;
        /**
         * Notification is not enabled.
         */
        static notEnabled: ENError.Code;
        /**
         * Process of calling is not entitled.
         */
        static notEntitled: ENError.Code;
        /**
         * API calls are too frequent.
         */
        static rateLimited: ENError.Code;
        /**
         * Exposure notification is disabled due to system policies.
         */
        static restricted: ENError.Code;
        /**
         * Failure has an unknown cause.
         */
        static unknown: ENError.Code;
        /**
         * Operation is not supported.
         */
        static unsupported: ENError.Code;
        /**
         * The user must unlock the device before it can access data.
         */
        static dataInaccessible: ENError.Code;
        /**
         * The system can’t determine whether the user is traveling.
         */
        static travelStatusNotAvailable: ENError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The computed hash value for the error.
         */
        hashValue: number;
        /**
         * A dictionary of user-supplied values.
         */
        userInfo: Record<string, any>;
        /**
         * A dictionary of user-supplied, error-related information.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The description for the error that is localized for the user. 
         */
        localizedDescription: string;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Creates an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by moving them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ENError
     */
    export namespace ENError {
        export enum Code {
            apiMisuse = 10,
            badFormat = 15,
            badParameter = 2,
            restricted = 14,
            bluetoothOff = 7,
            insufficientMemory = 12,
            insufficientStorage = 8,
            internal = 11,
            invalidated = 6,
            notAuthorized = 4,
            notEnabled = 9,
            notEntitled = 3,
            rateLimited = 13,
            unknown = 1,
            unsupported = 5,
            dataInaccessible = 16,
            travelStatusNotAvailable = 17,
        }
    }
    export class ENTemporaryExposureKey extends NSObject {
        /**
         * The risk of transmission associated with the person a key came from.
         */
        transmissionRiskLevel: ENRiskLevel;
        /**
         * The length of time that this key is valid.
         */
        rollingPeriod: ENIntervalNumber;
        /**
         * The temporary exposure key information.
         */
        keyData: Data;
        /**
         * A number that indicates when a key’s rolling period started.
         */
        rollingStartNumber: ENIntervalNumber;
    }
    export class ENExposureConfiguration extends NSObject {
        /**
         * The configurable signal-loss thresholds for calculating exposure risk.
         */
        attenuationDurationThresholds: NSNumber[];
        /**
         * The weight assigned to a risk level indicating the duration of the user’s exposure at immediate distance.
         */
        immediateDurationWeight: number;
        /**
         * The weight assigned to a risk level indicating the duration of the user’s exposure at medium distance.
         */
        mediumDurationWeight: number;
        /**
         * The weight assigned to a risk level indicating the duration of the user’s exposure at close distance.
         */
        nearDurationWeight: number;
        /**
         * The weight assigned to a risk level indicating the duration of the user’s exposure at a large distance.
         */
        otherDurationWeight: number;
        /**
         * The number of days to consider when calculating the risk level.
         */
        daysSinceLastExposureThreshold: number;
        /**
         * The mapping between the days since onset of symptoms to the degree of infectiousness.
         */
        infectiousnessForDaysSinceOnsetOfSymptoms: Record<NSNumber, NSNumber> | null;
        /**
         * The weight to apply for severe infectiousness.
         */
        infectiousnessHighWeight: number;
        /**
         * The weight to apply for mild infectiousness.
         */
        infectiousnessStandardWeight: number;
        /**
         * The weight assigned to a risk level based on a confirmed clinical diagnosis.
         */
        reportTypeConfirmedClinicalDiagnosisWeight: number;
        /**
         * The weight assigned to a risk level based on a confirmed test.
         */
        reportTypeConfirmedTestWeight: number;
        /**
         * The weight assigned to a risk level based on an exposure to someone exposed to someone else.
         */
        reportTypeRecursiveWeight: number;
        /**
         * The weight assigned to a risk level based on a self-reported diagnoisis.
         */
        reportTypeSelfReportedWeight: number;
        /**
         * The report type to map an unknown diagnosis to.
         */
        reportTypeNoneMap: ENDiagnosisReportType;
        /**
         * The level values for attenuation.
         */
        attenuationLevelValues: NSNumber[];
        /**
         * The level values for days since last exposure.
         */
        daysSinceLastExposureLevelValues: NSNumber[];
        /**
         * The level values for duration.
         */
        durationLevelValues: NSNumber[];
        /**
         * The level values for transmission risk.
         */
        transmissionRiskLevelValues: NSNumber[];
        /**
         * The metadata you use to configure the exposure calculations.
         */
        metadata: Record<AnyHashable, any> | null;
        /**
         * The value that is the user’s minimum risk score.
         */
        minimumRiskScore: ENRiskScore;
        /**
         * The value that is the user’s full-range minimum risk score. 
         */
        minimumRiskScoreFullRange: number;
        /**
         * The weight assigned to a score for the Bluetooth signal strength.
         */
        attenuationWeight: number;
        /**
         * The weight assigned to a score for the days since the user’s exposure.
         */
        daysSinceLastExposureWeight: number;
        /**
         * The weight assigned to a score for the duration of the user’s exposure.
         */
        durationWeight: number;
        /**
         * The weight assigned to a score for the affected user’s estimated risk of transmission.
         */
        transmissionRiskWeight: number;
    }
    export class ENExposureInfo extends NSObject {
        /**
         * An array of durations at specific radio signal attenuations.
         */
        attenuationDurations: NSNumber[];
        /**
         * The attenutation risk level value for the exposure.
         */
        attenuationValue: ENAttenuation;
        /**
         * The date the exposure occurred.
         */
        date: Date;
        /**
         * The length of time that the contact was in proximity to the user. 
         */
        duration: TimeInterval;
        /**
         * The value that represents the total risk score the framework calculates for this exposure incident.  
         */
        totalRiskScore: ENRiskScore;
        /**
         * The value that represents the full-range total risk score the framework calculates for this exposure incident. 
         */
        totalRiskScoreFullRange: number;
        /**
         * The transmission risk associated with a diagnosis key.
         */
        transmissionRiskLevel: ENRiskLevel;
        /**
         * The metadata associated with the exposure information.
         */
        metadata: Record<AnyHashable, any> | null;
        /**
         * The number of days since the onset of symptoms.
         */
        daysSinceOnsetOfSymptoms: number;
        /**
         * The method used to report the positive diagnosis.
         */
        diagnosisReportType: ENDiagnosisReportType;
    }
    export class ENExposureWindow extends NSObject {
        /**
         * The transmitting device’s calibration confidence.
         */
        calibrationConfidence: ENCalibrationConfidence;
        /**
         * The date that the exposure occurred.
         */
        date: Date;
        /**
         * The report type of the observed diagnosis.
         */
        diagnosisReportType: ENDiagnosisReportType;
        /**
         * How infectious the user is, based on the number of days since the onset of symptoms.
         */
        infectiousness: ENInfectiousness;
        /**
         * An array of scans corresponding to a beacon associated with an exposure.
         */
        scanInstances: ENScanInstance[];
        /**
         * The variant of concern associated with this user.
         */
        variantOfConcernType: ENVariantOfConcernType;
    }
}

/**
 * Communicate with accessories that connect to a device with the Apple Lightning connector, or with Bluetooth wireless technology.
 */
declare module ExternalAccessory {
    export class EAAccessoryManager extends NSObject {
        /**
         * Displays an alert that allows the user to pair the device with a Bluetooth accessory.
         */
        showBluetoothAccessoryPicker(predicate: NSPredicate | null, completion: EABluetoothAccessoryPickerCompletion | null):void;
    }
    export class EABluetoothAccessoryPickerError {
        static alreadyConnected: EABluetoothAccessoryPickerError.Code;
        static errorDomain: string;
        static resultCancelled: EABluetoothAccessoryPickerError.Code;
        static resultFailed: EABluetoothAccessoryPickerError.Code;
        static resultNotFound: EABluetoothAccessoryPickerError.Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class EABluetoothAccessoryPickerError
     */
    export namespace EABluetoothAccessoryPickerError {
        export enum Code {
            alreadyConnected = 0,
            resultNotFound = 1,
            resultCancelled = 2,
            resultFailed = 3,
        }
    }
    export class EAAccessory extends NSObject {
        /**
         * The object that acts as the delegate of the accessory.
         */
        delegate: EAAccessoryDelegate | null;
        /**
         * A Boolean value indicating whether the accessory is currently connected to the iOS-based device.
         */
        isConnected: boolean;
        /**
         * The accessory’s unique ID for connecting to the iOS-based device.
         */
        connectionID: number;
        /**
         * The display name of the accessory.
         */
        name: string;
        /**
         * The name of the accessory’s manufacturer.
         */
        manufacturer: string;
        /**
         * The model information for the accessory.
         */
        modelNumber: string;
        /**
         * The serial number of the accessory.
         */
        serialNumber: string;
        /**
         * The current firmware version for the accessory.
         */
        firmwareRevision: string;
        /**
         * The hardware version of the accessory.
         */
        hardwareRevision: string;
        /**
         * The communication protocols supported by the accessory.
         */
        protocolStrings: string[];
        dockType: string;
    }
    export interface EAAccessoryDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the specified accessory was disconnected from the device.
         */
        accessoryDidDisconnect(accessory: EAAccessory):void;
    }
    export class EASession extends NSObject {
        /**
         * The accessory attached to the session.
         */
        accessory: EAAccessory | null;
        /**
         * The protocol being used for communication with the accessory.
         */
        protocolString: string;
        /**
         * The stream to use for receiving data from the accessory.
         */
        inputStream: InputStream | null;
        /**
         * The stream to use for sending data to the accessory.
         */
        outputStream: OutputStream | null;
        /**
         * Initializes the session for the specified accessory and protocol.
         */
        constructor (accessory: EAAccessory, protocolString: string);
    }
    export class EAWiFiUnconfiguredAccessoryBrowser extends NSObject {
        /**
         * The object that acts as the delegate of the browser and receives browser events.
         */
        delegate: EAWiFiUnconfiguredAccessoryBrowserDelegate | null;
        /**
         * The set of unconfigured accessories that have been discovered.
         */
        unconfiguredAccessories: Set<EAWiFiUnconfiguredAccessory>;
        /**
         * Creates a browser object that scans for unconfigured accessories.
         */
        constructor (delegate: EAWiFiUnconfiguredAccessoryBrowserDelegate | null, queue: DispatchQueue | null);
        /**
         * Begins the configuration process for the specified accessory.
         */
        configureAccessory(accessory: EAWiFiUnconfiguredAccessory, viewController: UIViewController):void;
        /**
         * Starts the search for unconfigured accessories that match the specified predicate.
         */
        startSearchingForUnconfiguredAccessories(predicate: NSPredicate | null):void;
        /**
         * Stops the search for unconfigured accessories.
         */
        stopSearchingForUnconfiguredAccessories():void;
    }
    export interface EAWiFiUnconfiguredAccessoryBrowserDelegate extends NSObjectProtocol {
        /**
         * Indicates that the browser’s state has changed.
         */
        accessoryBrowser(browser: EAWiFiUnconfiguredAccessoryBrowser, state: EAWiFiUnconfiguredAccessoryBrowserState):void;
    }
    export enum EAWiFiUnconfiguredAccessoryBrowserState {
        wiFiUnavailable = 0,
        stopped = 1,
        searching = 2,
        configuring = 3,
    }
    export enum EAWiFiUnconfiguredAccessoryConfigurationStatus {
        success = 0,
        userCancelledConfiguration = 1,
        failed = 2,
    }
    export class EAWiFiUnconfiguredAccessory extends NSObject {
        /**
         * The name of the accessory.
         */
        name: string;
        /**
         * The name of the accessory's manufacturer.
         */
        manufacturer: string;
        /**
         * The model name of accessory.
         */
        model: string;
        /**
         * The Wi-Fi SSID of the accessory.
         */
        ssid: string;
        /**
         * The primary MAC address of the accessory.
         */
        macAddress: string;
        /**
         * The properties the accessory supports.
         */
        properties: EAWiFiUnconfiguredAccessoryProperties;
    }
    export class EAWiFiUnconfiguredAccessoryProperties {
        /**
         * The accessory indicates that it supports AirPlay.
         */
        static propertySupportsAirPlay: EAWiFiUnconfiguredAccessoryProperties;
        /**
         * The accessory indicates that it supports AirPrint.
         */
        static propertySupportsAirPrint: EAWiFiUnconfiguredAccessoryProperties;
        /**
         * The accessory indicates that it supports HomeKit.
         */
        static propertySupportsHomeKit: EAWiFiUnconfiguredAccessoryProperties;
        constructor (rawValue: number);
    }
}

/**
 * Authorize your app to provide parental controls on a child’s device.
 */
declare module FamilyControls {
    export class AuthorizationCenter {
        /**
         * The shared center for requesting and revoking authorization.
         */
        static shared: AuthorizationCenter;
        /**
         * A publisher that emits before the object has changed.
         */
        objectWillChange: ObservableObjectPublisher;
        /**
         * The status of your app’s authorization to provide parental controls.
         */
        authorizationStatus: AuthorizationStatus;
        /**
         * Requests authorization to provide parental controls for a child.
         */
        requestAuthorization(completionHandler: ()=>any):void;
        /**
         * Revokes authorization to provide parental controls.
         */
        revokeAuthorization(completionHandler: ()=>any):void;
    }
    export class FamilyActivityPicker {
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Defines a keyboard shortcut and assigns it to the modified control.
         */
        keyboardShortcut(key: KeyEquivalent, modifiers: EventModifiers):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds a context menu to a view.
         */
        contextMenu<MenuItems>(menuItems: ()=>any):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Positions this view within an invisible frame with the specified size.
         */
        frame(width: CGFloat | null, height: CGFloat | null, alignment: Alignment):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(alignment: Alignment, mask: ()=>any):View;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture.
         */
        onTapGesture(count: number, action: ()=>any):View;
    }
    export enum AuthorizationStatus {}
    export class FamilyActivitySelection {
        /**
         * A set of category instances selected by the user.
         */
        categories: Set<ActivityCategory>;
        /**
         * Tokens that represent categories selected by the user.
         */
        categoryTokens: Set<ActivityCategoryToken>;
        /**
         * A set of application instances selected by the user.
         */
        applications: Set<Application>;
        /**
         * Tokens that represent applications selected by the user.
         */
        applicationTokens: Set<ApplicationToken>;
        /**
         * A set of web domain instances selected by the user.
         */
        webDomains: Set<WebDomain>;
        /**
         * Tokens that represent web domains selected by the user.
         */
        webDomainTokens: Set<WebDomainToken>;
        /**
         * A Boolean value that indicates whether the selection should include applications and web domains from the selected categories.
         */
        includeEntireCategory: boolean;
        /**
         * Creates a new activity selection instance.
         */
        constructor ();
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates a new activity selection instance.
         */
        constructor (includeEntireCategory: boolean);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class FamilyActivityTitleView {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Presents an activity picker view as a sheet.
         */
        familyActivityPicker(headerText: string, footerText: string, isPresented: Binding<Bool>, selection: Binding<FamilyActivitySelection>):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export enum FamilyControlsError {}
    export class FamilyActivityIconView {
        /**
         * The content and behavior of the view.
         */
        body: View;
    }
    export enum FamilyControlsMember {}
}

/**
 * An extension other apps use to access files and folders managed by your app and synced with a remote storage.
 */
declare module FileProvider {
    export interface NSFileProviderReplicatedExtension extends NSFileProviderEnumerating,NSObjectProtocol {
        /**
         * Tells the file provider to create or import an item based on a template.
         */
        createItem(itemTemplate: NSFileProviderItem, fields: NSFileProviderItemFields, url: URL | null, options: NSFileProviderCreateItemOptions, request: NSFileProviderRequest, completionHandler: ()=>any):Progress;
        /**
         * Tells the file provider that the set of materialized items changed.
         */
        materializedItemsDidChange(completionHandler: ()=>any):void;
        /**
         * Tells the file provider extension that the set of pending items has changed.
         */
        pendingItemsDidChange(completionHandler: ()=>any):void;
        /**
         * Tells the File Provider extension that the system finished importing items.
         */
        importDidFinish(completionHandler: ()=>any):void;
    }
    export interface NSFileProviderEnumerator extends NSObjectProtocol {
        /**
         * Requests the next batch of items, starting at the specified page.
         */
        enumerateItems(observer: NSFileProviderEnumerationObserver, page: NSFileProviderPage):void;
        /**
         * Requests the next batch of changes after the specified sync anchor.
         */
        enumerateChanges(observer: NSFileProviderChangeObserver, syncAnchor: NSFileProviderSyncAnchor):void;
        /**
         * Returns the current sync anchor. 
         */
        currentSyncAnchor(completionHandler: ()=>any):void;
        /**
         * Stops the enumeration of items and changes.
         */
        invalidate():void;
    }
    export interface NSFileProviderEnumerationObserver extends NSObjectProtocol {
        /**
         * Provides a batch of enumerated items.
         */
        didEnumerate(updatedItems: NSFileProviderItemProtocol[]):void;
        /**
         * Tells the observer that all of the items have been enumerated up to the specified page.
         */
        finishEnumerating(nextPage: NSFileProviderPage | null):void;
        /**
         * Tells the observer that an error occurred during item enumeration.
         */
        finishEnumeratingWithError(error: Error):void;
        /**
         * The page size that the system recommends.
         */
        suggestedPageSize: number;
    }
    export interface NSFileProviderServiceSource {
        /**
         * A name that uniquely identifies the service (reverse domain name notation is recommended).
         */
        serviceName: NSFileProviderServiceName;
        /**
         * Returns an endpoint object that lets the host app communicate with the File Provider extension.
         */
        makeListenerEndpoint():NSXPCListenerEndpoint;
        isRestricted: boolean;
    }
    export class NSFileProviderExtension extends NSObject {
        /**
         * The root URL for all shared documents.
         */
        documentStorageURL: URL;
        /**
         * A purpose identifier for coordinated reads and writes.
         */
        providerIdentifier: string;
        /**
         * Returns a placeholder URL for a given document URL.
         */
        static placeholderURL(url: URL):URL;
        /**
         * Writes a document placeholder with the provided metadata.
         */
        static writePlaceholder(placeholderURL: URL, metadata: Record<URLResourceKey, any>):void;
        /**
         * Returns a unique identifier for the given URL.
         */
        persistentIdentifierForItem(url: URL):NSFileProviderItemIdentifier | null;
        /**
         * Returns the URL for a given persistent identifier.
         */
        urlForItem(identifier: NSFileProviderItemIdentifier):URL | null;
        /**
         * Returns a description of the item associated with the persistent identifier.
         */
        item(identifier: NSFileProviderItemIdentifier):NSFileProviderItem;
        /**
         * Returns an enumerator for the specified item.
         */
        enumerator(containerItemIdentifier: NSFileProviderItemIdentifier):NSFileProviderEnumerator;
    }
    export class NSFileProviderCreateItemOptions {
        /**
         * An option indicating that the item may already exist in your remote storage.
         */
        static mayAlreadyExist: NSFileProviderCreateItemOptions;
        /**
         * A value indicating a conflict for a deleted item.
         */
        static deletionConflicted: NSFileProviderCreateItemOptions;
        /**
         * Creates an option instance from the raw value.
         */
        constructor (rawValue: number);
    }
    export interface NSFileProviderServicing extends NSObjectProtocol {
        /**
         * Asks the File Provider extension for an array of custom communication channels.
         */
        supportedServiceSources(itemIdentifier: NSFileProviderItemIdentifier, completionHandler: ()=>any):Progress;
    }
    export interface NSFileProviderCustomAction extends NSObjectProtocol {
        /**
         * Tells the File Provider extension to perform a custom action.
         */
        performAction(actionIdentifier: NSFileProviderExtensionActionIdentifier, itemIdentifiers: NSFileProviderItemIdentifier[], completionHandler: ()=>any):Progress;
    }
    export class NSFileProviderFetchContentsOptions {
        /**
         * An option that indicates the system requires an exact match of the requested item’s version.
         */
        static strictVersioning: NSFileProviderFetchContentsOptions;
        /**
         * Creates an option instance from the raw value.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderMaterializationFlags {
        /**
         * A flag indicating that the system should consider the file fully materialized, even if it’s a sparse file.
         */
        static knownSparseRanges: NSFileProviderMaterializationFlags;
        /**
         * Creates a new materialization flag.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderItemIdentifier {
        /**
         * The persistent identifier for the root directory of the file provider's shared file hierarchy.
         */
        static rootContainer: NSFileProviderItemIdentifier;
        /**
         * The persistent identifier representing the working set of documents and directories.
         */
        static workingSet: NSFileProviderItemIdentifier;
        /**
         * The persistent identifier for the parent of all trashed items.
         */
        static trashContainer: NSFileProviderItemIdentifier;
        /**
         * Returns a newly instantiated persistent identifier.
         */
        constructor (rawValue: string);
        /**
         * Returns a newly instantiated persistent identifier.
         */
        constructor (rawValue: string);
    }
    export interface NSFileProviderEnumerating extends NSObjectProtocol {
        /**
         * Tells the file provider to return an enumerator for the provided directory.
         */
        enumerator(containerItemIdentifier: NSFileProviderItemIdentifier, request: NSFileProviderRequest):NSFileProviderEnumerator;
    }
    export class NSFileProviderItemCapabilities {
        /**
         * A value indicating that the user can add subitems.
         */
        static allowsAddingSubItems: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the item's contents can be enumerated.
         */
        static allowsContentEnumerating: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the item can be deleted.
         */
        static allowsDeleting: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the system can delete the local copy of the item.
         */
        static allowsEvicting: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the value can be read from.
         */
        static allowsReading: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the item can be renamed.
         */
        static allowsRenaming: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the item can be moved.
         */
        static allowsReparenting: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the item can be moved to the trash.
         */
        static allowsTrashing: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the item can be written to.
         */
        static allowsWriting: NSFileProviderItemCapabilities;
        /**
         * A value indicating that the user can exclude the item from sync operations.
         */
        static allowsExcludingFromSync: NSFileProviderItemCapabilities;
        /**
         * A convenience value for enabling all capabilities.
         */
        static allowsAll: NSFileProviderItemCapabilities;
        /**
         * Returns a newly created item capabilities value.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderManager extends NSObject {
        /**
         * A property that returns the shared file provider manager object.
         */
        static default: NSFileProviderManager;
        /**
         * The root URL for all shared documents.
         */
        documentStorageURL: URL;
        /**
         * A purpose identifier for coordinated reads and writes.
         */
        providerIdentifier: string;
        /**
         * Returns a newly created file provider manager for the specified domain.
         */
        constructor (domain: NSFileProviderDomain);
        /**
         * Returns the identifier and domain for a user-visible URL.
         */
        static getIdentifierForUserVisibleFile(url: URL, completionHandler: ()=>any):void;
        /**
         * Returns a placeholder URL for a given document URL.
         */
        static placeholderURL(url: URL):URL;
        /**
         * Writes a document placeholder with the provided metadata.
         */
        static writePlaceholder(placeholderURL: URL, metadata: NSFileProviderItem):void;
        /**
         * Creates a new domain that takes ownership of on-disk data that your app previously managed without a file provider.
         */
        static import(domain: NSFileProviderDomain, url: URL, completionHandler: ()=>any):void;
        /**
         * Adds a domain to the File Provider extension.  
         */
        static add(domain: NSFileProviderDomain, completionHandler: ()=>any):void;
        /**
         * Returns all of the File Provider extension's domains.
         */
        static getDomainsWithCompletionHandler(completionHandler: ()=>any):void;
        /**
         * Removes a domain from the File Provider extension. 
         */
        static remove(domain: NSFileProviderDomain, completionHandler: ()=>any):void;
        /**
         * Reconnects the domain with the extension.
         */
        reconnect(completionHandler: ()=>any):void;
        /**
         * Requests a notification after the domain stabilizes.
         */
        waitForStabilization(completionHandler: ()=>any):void;
        /**
         * Returns the URL of a directory that the File Provider extension can use to temporarily store files before passing them to the system.
         */
        temporaryDirectoryURL():URL;
        getService(serviceName: NSFileProviderServiceName, itemIdentifier: NSFileProviderItemIdentifier, completionHandler: ()=>any):void;
        /**
         * Lists all the operations that are ready for scheduling.
         */
        listAvailableTestingOperations():NSFileProviderTestingOperation[];
        /**
         * Asks the system to schedule and execute the specified operations.
         */
        run(operations: NSFileProviderTestingOperation[]):Record<AnyHashable, Error>;
        /**
         * Indicates a resolved error.
         */
        signalErrorResolved(error: Error, completionHandler: ()=>any):void;
        /**
         * Returns the user-visible URL for an item.
         */
        getUserVisibleURL(itemIdentifier: NSFileProviderItemIdentifier, completionHandler: ()=>any):void;
        /**
         * Tells the system to reimport the item and its content recursively.
         */
        reimportItems(itemIdentifier: NSFileProviderItemIdentifier, completionHandler: ()=>any):void;
        /**
         * Asks the system to remove an item from its cache.
         */
        evictItem(itemIdentifier: NSFileProviderItemIdentifier, completionHandler: ()=>any):void;
        requestModification(fields: NSFileProviderItemFields, itemIdentifier: NSFileProviderItemIdentifier, options: NSFileProviderModifyItemOptions, completionHandler: ()=>any):void;
        /**
         * Returns an enumerator for all the items the system currently stores on disk.
         */
        enumeratorForMaterializedItems():NSFileProviderEnumerator;
        /**
         * Returns an enumerator for the set of pending items.
         */
        enumeratorForPendingItems():NSFileProviderPendingSetEnumerator;
        /**
         * Registers the URL session task responsible for the specified item.
         */
        register(task: URLSessionTask, identifier: NSFileProviderItemIdentifier, completion: ()=>any):void;
        /**
         * Alerts the system to changes in the specified folder’s content.
         */
        signalEnumerator(containerItemIdentifier: NSFileProviderItemIdentifier, completion: ()=>any):void;
        /**
         * Requests a notification after the system completes all the specified changes.
         */
        waitForChanges(itemIdentifier: NSFileProviderItemIdentifier, completionHandler: ()=>any):void;
        /**
         * Returns a progress object that tracks either the uploading or downloading of items from the File Provider extension’s remote storage.
         */
        globalProgress(kind: Progress.FileOperationKind):Progress;
    }
    /**
     * the same name namespace of class NSFileProviderManager
     */
    export namespace NSFileProviderManager {
        export class DisconnectionOptions {
            /**
             * A temporary disconnection.
             */
            static temporary: NSFileProviderManager.DisconnectionOptions;
            /**
             * Initializes the options from the raw value.
             */
            constructor (rawValue: number);
        }
    }
    export enum NSFileProviderContentPolicy {
        downloadEagerlyAndKeepDownloaded = 3,
        downloadLazily = 1,
        downloadLazilyAndEvictOnRemoteUpdate = 2,
        inherited = 0,
    }
    export interface NSFileProviderItemProtocol extends NSObjectProtocol {
        /**
         * The persistent identifier of the item's parent folder.
         */
        parentItemIdentifier: NSFileProviderItemIdentifier;
        /**
         * A Boolean value that indicates whether an item is in the trash.
         */
        isTrashed: boolean;
        /**
         * The target of the symlink.
         */
        symlinkTargetPath: string;
        /**
         * The date the item was last modified.
         */
        contentModificationDate: Date | null;
        /**
         * The date the item was created.
         */
        creationDate: Date | null;
        /**
         * The date the item was last used.
         */
        lastUsedDate: Date | null;
        /**
         * A version object that tracks changes to an item.
         */
        itemVersion: NSFileProviderItemVersion;
        /**
         * A data value used to determine when the item changes.
         */
        versionIdentifier: Data | null;
        /**
         * A Boolean value that indicates whether the item is the most recent version downloaded from the server.
         */
        isMostRecentVersionDownloaded: boolean;
        /**
         * A Boolean value that indicates whether the item is currently uploading to your remote server.
         */
        isUploading: boolean;
        /**
         * A Boolean value that indicates whether the item has been uploaded to your remote server.
         */
        isUploaded: boolean;
        /**
         * An object describing an error that occurred while uploading the item.
         */
        uploadingError: Error | null;
        /**
         * A Boolean value that indicates whether the item is currently downloading from your remote server.
         */
        isDownloading: boolean;
        /**
         * A Boolean value that indicates whether the item has been downloaded from your remote server.
         */
        isDownloaded: boolean;
        /**
         * An object describing an error that occurred while downloading the item.
         */
        downloadingError: Error | null;
        /**
         * A Boolean value that indicates whether the item is shared with other users.
         */
        isShared: boolean;
        /**
         * A Boolean value that indicates whether the item was shared by the current user.
         */
        isSharedByCurrentUser: boolean;
        /**
         * The most recent editor's name.
         */
        mostRecentEditorNameComponents: PersonNameComponents | null;
        /**
         * The name of the item's owner.
         */
        ownerNameComponents: PersonNameComponents | null;
        /**
         * The extended file attributes synced by the File Provider extension.
         */
        extendedAttributes: Record<string, Data>;
        /**
         * Flags that define an item’s on-disk properties and its appearance in the user interface.
         */
        fileSystemFlags: NSFileProviderFileSystemFlags;
        /**
         * An abstract data blob representing the tags associated with the item.
         */
        tagData: Data | null;
        /**
         * A property list that contains additional data about the item.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * A 64-bit, unsigned integer indicating the order of the favorite item in the Favorites list.
         */
        favoriteRank: NSNumber | null;
        /**
         * The file type and creator codes for the item.
         */
        typeAndCreator: NSFileProviderTypeAndCreator;
    }
    export interface NSFileProviderIncrementalContentFetching extends NSObjectProtocol {
        /**
         * Asks the file provider for an update of the specified item.
         */
        fetchContents(itemIdentifier: NSFileProviderItemIdentifier, requestedVersion: NSFileProviderItemVersion | null, existingContents: URL, existingVersion: NSFileProviderItemVersion, request: NSFileProviderRequest, completionHandler: ()=>any):Progress;
    }
    export class NSFileProviderFileSystemFlags {
        /**
         * The user can read the item.
         */
        static userReadable: NSFileProviderFileSystemFlags;
        /**
         * The user can modify the item.
         */
        static userWritable: NSFileProviderFileSystemFlags;
        /**
         * The user can execute the item.
         */
        static userExecutable: NSFileProviderFileSystemFlags;
        /**
         * By default, the system hides the item when the user views the file system.
         */
        static hidden: NSFileProviderFileSystemFlags;
        /**
         * By default, the system hides the item’s extension when showing its filename.
         */
        static pathExtensionHidden: NSFileProviderFileSystemFlags;
        /**
         * Creates a new file system flag from the provided value.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderPage {
        /**
         * The initial batch of items when sorted by name.
         */
        static initialPageSortedByName: NSData;
        /**
         * The initial batch of items when sorted by date.
         */
        static initialPageSortedByDate: NSData;
        /**
         * Creates a new page structure from the given raw value.
         */
        constructor (rawValue: Data);
        /**
         * Creates a new page structure from the given raw value.
         */
        constructor (rawValue: Data);
    }
    export class NSFileProviderDeleteItemOptions {
        /**
         * A value indicating that the delete operation removes the item and all of its children.
         */
        static recursive: NSFileProviderDeleteItemOptions;
        /**
         * Creates an option instance from the raw value.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderExtensionActionIdentifier {
        /**
         * Creates a new identifier from the provided string.
         */
        constructor (rawValue: string);
        /**
         * Creates a new identifier from the provided value.
         */
        constructor (rawValue: string);
    }
    export interface NSFileProviderChangeObserver extends NSObjectProtocol {
        /**
         * Tells the observer that the specified items have been deleted.
         */
        didDeleteItems(deletedItemIdentifiers: NSFileProviderItemIdentifier[]):void;
        /**
         * Tells the observer that the specified items have been updated.
         */
        didUpdate(updatedItems: NSFileProviderItemProtocol[]):void;
        /**
         * Tells the observer that all of the changes have been enumerated up to the specified sync anchor.
         */
        finishEnumeratingChanges(anchor: NSFileProviderSyncAnchor, moreComing: boolean):void;
        /**
         * Tells the observer that an error occurred during change notification.
         */
        finishEnumeratingWithError(error: Error):void;
        /**
         * The batch size that the system recommends.
         */
        suggestedBatchSize: number;
    }
    export class NSFileProviderTypeAndCreator {
        /**
         * The item’s creator code.
         */
        creator: OSType;
        /**
         * The item’s type code.
         */
        type: OSType;
        /**
         * Returns a new type and creator structure with both codes set to 
         * .
         */
        constructor ();
        /**
         * Creates a structure that contains the provided type and creator codes.
         */
        constructor (type: OSType, creator: OSType);
    }
    export interface NSFileProviderThumbnailing extends NSObjectProtocol {
        /**
         * Asks the file provider for a thumbnail of the specified items.
         */
        fetchThumbnails(itemIdentifiers: NSFileProviderItemIdentifier[], size: CGSize, perThumbnailCompletionHandler: ()=>any, completionHandler: ()=>any):Progress;
    }
    export class NSFileProviderSyncAnchor {
        /**
         * Returns a new sync anchor.
         */
        constructor (rawValue: Data);
        /**
         * Returns a new sync anchor from the provided data object.
         */
        constructor (rawValue: Data);
    }
    export interface NSFileProviderPendingSetEnumerator extends NSFileProviderEnumerator {
        /**
         * The domain version when the system last refreshed the pending set.
         */
        domainVersion: NSFileProviderDomainVersion | null;
        /**
         * The amount of time, in seconds, between updates to the pending set.
         */
        refreshInterval: TimeInterval;
        isMaximumSizeReached: boolean;
    }
    export class NSFileProviderDomain extends NSObject {
        /**
         * The name of the domain displayed in the user interface.
         */
        displayName: string;
        /**
         * The domain's unique identifier.
         */
        identifier: NSFileProviderDomainIdentifier;
        isReplicated: boolean;
        /**
         * A unique identifier for the backing store used by the system.
         */
        backingStoreIdentity: Data | null;
        /**
         * The path of the domain's subdirectory relative to the file provider's shared container.
         */
        pathRelativeToDocumentStorage: string;
        /**
         * A Boolean value that determines whether the domain is visible to users.
         */
        isHidden: boolean;
        /**
         * A Boolean value that indicates whether the user has enabled or disabled the domain.
         */
        userEnabled: boolean;
        /**
         * A Boolean value indicating that the domain is present, but disconnected from the file extension.
         */
        isDisconnected: boolean;
        supportsSyncingTrash: boolean;
        /**
         * A mode that gives the File Provider extension more control over the system’s behavior during testing.
         */
        testingModes: NSFileProviderDomain.TestingModes;
        /**
         * Returns a newly instantiated domain.
         */
        constructor (identifier: NSFileProviderDomainIdentifier, displayName: string, pathRelativeToDocumentStorage: string);
        /**
         * Creates a new file provider domain with the specified identifier and display name.
         */
        constructor (identifier: NSFileProviderDomainIdentifier, displayName: string);
    }
    /**
     * the same name namespace of class NSFileProviderDomain
     */
    export namespace NSFileProviderDomain {
        export class TestingModes {
            /**
             * A testing mode that automatically enables the domain.
             */
            static alwaysEnabled: NSFileProviderDomain.TestingModes;
            /**
             * A testing mode where the extension can deterministically test asynchronous operations.
             */
            static interactive: NSFileProviderDomain.TestingModes;
            /**
             * Returns a newly-created testing mode.
             */
            constructor (rawValue: number);
        }
    }
    export class NSFileProviderItemFields {
        /**
         * The item’s filename.
         */
        static filename: NSFileProviderItemFields;
        /**
         * The item’s content.
         */
        static contents: NSFileProviderItemFields;
        /**
         * The identity of the directory that contains the item.
         */
        static parentItemIdentifier: NSFileProviderItemFields;
        /**
         * The item’s modification date.
         */
        static contentModificationDate: NSFileProviderItemFields;
        /**
         * The item’s creation date.
         */
        static creationDate: NSFileProviderItemFields;
        /**
         * The date the item was last used.
         */
        static lastUsedDate: NSFileProviderItemFields;
        /**
         * The item’s extended attributes.
         */
        static extendedAttributes: NSFileProviderItemFields;
        /**
         * The flags describing the item’s on-disk representation.
         */
        static fileSystemFlags: NSFileProviderItemFields;
        /**
         * The tags for the item.
         */
        static tagData: NSFileProviderItemFields;
        /**
         * The item’s favorite rank.
         */
        static favoriteRank: NSFileProviderItemFields;
        /**
         * The file type and creator codes for the item.
         */
        static typeAndCreator: NSFileProviderItemFields;
        /**
         * Creates an option instance from the raw value.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderDomainIdentifier {
        /**
         * Returns a newly initialized domain identifier. 
         */
        constructor (rawValue: string);
        /**
         * Returns a newly initialized domain identifier. 
         */
        constructor (rawValue: string);
    }
    export class NSFileProviderError {
        /**
         * A string that identifies the error domain.
         */
        static errorDomain: string;
        /**
         * An error indicating that an item with the same name already exists in the same directory.
         */
        static filenameCollision: NSFileProviderError.Code;
        /**
         * An error indicating that the File Provider extension can’t upload the item because it would push the account over its quota.
         */
        static insufficientQuota: NSFileProviderError.Code;
        /**
         * An error indicating that the specified item doesn’t exist.
         */
        static noSuchItem: NSFileProviderError.Code;
        /**
         * An error indicating that you can’t verify the user’s credentials.
         */
        static notAuthenticated: NSFileProviderError.Code;
        /**
         * An error indicating that the page is too old, and that the system must restart the enumeration operation from the beginning.
         */
        static pageExpired: NSFileProviderError.Code;
        /**
         * An error indicating that the File Provider extension can’t reach the remote server.
         */
        static serverUnreachable: NSFileProviderError.Code;
        /**
         * An error indicating that the sync anchor is too old, and that the system must restart the sync operation from the beginning.
         */
        static syncAnchorExpired: NSFileProviderError.Code;
        /**
         * An error indicating an attempt to nonrecursively delete a directory that isn’t empty.
         */
        static directoryNotEmpty: NSFileProviderError.Code;
        /**
         * An error indicating that the File Provider manager can’t find the specified provider.
         */
        static providerNotFound: NSFileProviderError.Code;
        /**
         * An error indicating the File Provider extension is in a disabled state due to Gatekeeper’s restrictions for apps from outside the App Store.
         */
        static providerTranslocated: NSFileProviderError.Code;
        /**
         * An error indicating that the registered provider in the system is an older version than the one the app uses.
         */
        static olderExtensionVersionRunning: NSFileProviderError.Code;
        /**
         * An error indicating that the registered provider in the system is a newer version than the one the app uses.
         */
        static newerExtensionVersionFound: NSFileProviderError.Code;
        /**
         * An error indicating that the File Provider extension can’t evict an item.
         */
        static nonEvictable: NSFileProviderError.Code;
        /**
         * An error indicating that the File Provider extension can’t evict a directory because it contains nonevictable items.
         */
        static nonEvictableChildren: NSFileProviderError.Code;
        /**
         * An error indicating that the item contains unsynced changes.
         */
        static unsyncedEdits: NSFileProviderError.Code;
        /**
         * An error indicating a failed sync attempt.
         */
        static cannotSynchronize: NSFileProviderError.Code;
        /**
         * An error indicating a failed deletion action.
         */
        static deletionRejected: NSFileProviderError.Code;
        /**
         * An error that indicates whether the specified version is no longer available.
         */
        static versionNoLongerAvailable: NSFileProviderError.Code;
        static domainDisabled: NSFileProviderError.Code;
        static excludedFromSync: NSFileProviderError.Code;
        /**
         * A code that represents the error.
         */
        errorCode: number;
        /**
         * A code that represents the error.
         */
        code: Code;
        /**
         * A dictionary that contains additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A dictionary that contains additional information about the error.
         */
        userInfo: Record<string, any>;
        /**
         * A string that contains the localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value for the instance.
         */
        hashValue: number;
        /**
         * Returns an error object with the specified error code and user info dictionary.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them to the specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NSFileProviderError
     */
    export namespace NSFileProviderError {
        export enum Code {
            filenameCollision = -1001,
            insufficientQuota = -1003,
            noSuchItem = -1005,
            notAuthenticated = -1000,
            serverUnreachable = -1004,
            syncAnchorExpired = -1002,
            directoryNotEmpty = -1007,
            providerNotFound = -2001,
            providerTranslocated = -2002,
            olderExtensionVersionRunning = -2003,
            newerExtensionVersionFound = -2004,
            nonEvictable = -2008,
            nonEvictableChildren = -2006,
            unsyncedEdits = -2007,
            cannotSynchronize = -2005,
            deletionRejected = -1006,
            versionNoLongerAvailable = -2009,
            domainDisabled = -2011,
            excludedFromSync = -2010,
        }
    }
    export class NSFileProviderItemVersion extends NSObject {
        /**
         * A Boolean value indicating that this version predates the version returned by the file provider extension.
         */
        static beforeFirstSyncComponent: Data;
        /**
         * An opaque object used to track versions of the item’s content.
         */
        contentVersion: Data;
        /**
         * An opaque object used to track versions of the item’s metadata.
         */
        metadataVersion: Data;
        /**
         * Creates a new version object.
         */
        constructor (contentVersion: Data, metadataVersion: Data);
    }
    export class NSFileProviderModifyItemOptions {
        /**
         * An option indicating that the changes may already exist in your remote storage.
         */
        static mayAlreadyExist: NSFileProviderModifyItemOptions;
        /**
         * Creates an option instance from the raw value.
         */
        constructor (rawValue: number);
    }
    export class NSFileProviderRequest extends NSObject {
        /**
         * The version of the domain for the request.
         */
        domainVersion: NSFileProviderDomainVersion | null;
        /**
         * The URL of the requesting executable.
         */
        requestingExecutable: URL | null;
        /**
         * A Boolean value that indicates whether the request came from Finder or related system file browsers.
         */
        isFileViewerRequest: boolean;
        /**
         * A Boolean value that indicates whether the request came from a system process.
         */
        isSystemRequest: boolean;
    }
    export interface NSFileProviderPartialContentFetching extends NSObjectProtocol {
        /**
         * Tells the file provider to download the requested item from remote storage.
         */
        fetchPartialContents(itemIdentifier: NSFileProviderItemIdentifier, requestedVersion: NSFileProviderItemVersion, request: NSFileProviderRequest, requestedRange: NSRange, alignment: number, options: NSFileProviderFetchContentsOptions, completionHandler: ()=>any):Progress;
    }
    export interface NSFileProviderItemDecorating extends NSFileProviderItemProtocol {
        /**
         * Asks the item for an array of decorations.
         */
        decorations: NSFileProviderItemDecorationIdentifier[] | null;
    }
    export class NSFileProviderItemDecorationIdentifier {
        /**
         * Returns a new decoration identifier matching the provided String.
         */
        constructor (rawValue: string);
        /**
         * Returns a new decoration identifier matching the provided value.
         */
        constructor (rawValue: string);
    }
    export class NSFileProviderDomainVersion extends NSObject {
        /**
         * Creates a new version that supersedes the current version.
         */
        next():NSFileProviderDomainVersion;
    }
    export interface NSFileProviderDomainState extends NSObjectProtocol {
        /**
         * An opaque object that uniquely identifies the domain’s version.
         */
        domainVersion: NSFileProviderDomainVersion;
        /**
         * Global state information about the current domain version.
         */
        userInfo: Record<AnyHashable, any>;
    }
    export interface NSFileProviderTestingChildrenEnumeration extends NSFileProviderTestingOperation {
        /**
         * The containing identifier’s unique identifier.
         */
        itemIdentifier: NSFileProviderItemIdentifier;
        /**
         * The item’s location.
         */
        side: NSFileProviderTestingOperationSide;
    }
    export interface NSFileProviderTestingCollisionResolution extends NSFileProviderTestingOperation {
        /**
         * A description of the renamed item.
         */
        renamedItem: NSFileProviderItem;
        /**
         * The item’s location.
         */
        side: NSFileProviderTestingOperationSide;
    }
    export interface NSFileProviderTestingContentFetch extends NSFileProviderTestingOperation {
        /**
         * The containing item’s unique identifier.
         */
        itemIdentifier: NSFileProviderItemIdentifier;
        /**
         * The item’s location.
         */
        side: NSFileProviderTestingOperationSide;
    }
    export interface NSFileProviderTestingCreation extends NSFileProviderTestingOperation {
        /**
         * A description of the item stored at the source.
         */
        sourceItem: NSFileProviderItem;
        /**
         * The target location for the new item.
         */
        targetSide: NSFileProviderTestingOperationSide;
        /**
         * The domain’s version when the system discovered the item at the source location.
         */
        domainVersion: NSFileProviderDomainVersion | null;
    }
    export interface NSFileProviderTestingDeletion extends NSFileProviderTestingOperation {
        /**
         * The unique identifier for the source item.
         */
        sourceItemIdentifier: NSFileProviderItemIdentifier;
        /**
         * The target location for the delete operation.
         */
        targetSide: NSFileProviderTestingOperationSide;
        /**
         * The unique identifier for the target item.
         */
        targetItemIdentifier: NSFileProviderItemIdentifier;
        /**
         * The version of the deleted item.
         */
        targetItemBaseVersion: NSFileProviderItemVersion;
        /**
         * The domain’s version when the source location deleted the item.
         */
        domainVersion: NSFileProviderDomainVersion | null;
    }
    export interface NSFileProviderTestingIngestion extends NSFileProviderTestingOperation {
        /**
         * The unique identifier for the item that changed.
         */
        itemIdentifier: NSFileProviderItemIdentifier;
        /**
         * A description of the item that changed.
         */
        item: NSFileProviderItem | null;
        /**
         * The location where the change occurred.
         */
        side: NSFileProviderTestingOperationSide;
    }
    export interface NSFileProviderTestingLookup extends NSFileProviderTestingOperation {
        /**
         * The unique identifier for the item.
         */
        itemIdentifier: NSFileProviderItemIdentifier;
        /**
         * The location where the lookup occurs.
         */
        side: NSFileProviderTestingOperationSide;
    }
    export interface NSFileProviderTestingModification extends NSFileProviderTestingOperation {
        /**
         * A description of the source item.
         */
        sourceItem: NSFileProviderItem;
        /**
         * A list of the fields that changed.
         */
        changedFields: NSFileProviderItemFields;
        /**
         * The target location for the modification operation.
         */
        targetSide: NSFileProviderTestingOperationSide;
        /**
         * The unique identifier for the target item.
         */
        targetItemIdentifier: NSFileProviderItemIdentifier;
        /**
         * The version of the changed item.
         */
        targetItemBaseVersion: NSFileProviderItemVersion;
        /**
         * The domain’s version when the change occurred.
         */
        domainVersion: NSFileProviderDomainVersion | null;
    }
    export interface NSFileProviderTestingOperation extends NSObjectProtocol {
        /**
         * The operation’s type.
         */
        type: NSFileProviderTestingOperationType;
    }
    export interface NSFileProviderUserInteractionSuppressing extends NSObjectProtocol {
        /**
         * Asks the File Provider extension if the user suppressed the specified interaction.
         */
        isInteractionSuppressed(suppressionIdentifier: string):boolean;
        /**
         * Tells the File Provider extension that the user wants to suppress the user interaction.
         */
        setInteractionSuppressed(suppression: boolean, suppressionIdentifier: string):void;
    }
    export enum NSFileProviderTestingOperationSide {
        disk = 0,
        fileProvider = 1,
    }
    export enum NSFileProviderTestingOperationType {
        childrenEnumeration = 6,
        collisionResolution = 7,
        contentFetch = 5,
        creation = 2,
        deletion = 4,
        ingestion = 0,
        lookup = 1,
        modification = 3,
    }
}

/**
 * Add actions to the document browser's context menu.
 */
declare module FileProviderUI {
    export class FPUIActionExtensionViewController extends NSViewController,UIViewController {
        /**
         * The extension context provided by the host app.
         */
        extensionContext: FPUIActionExtensionContext;
        /**
         * Performs any necessary setup or configuration for the specified action.
         */
        prepare(actionIdentifier: string, itemIdentifiers: NSFileProviderItemIdentifier[]):void;
    }
    export enum FPUIExtensionErrorCode {
        failed = 1,
        userCancelled = 0,
    }
    export class FPUIActionIdentifier {
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export class FPUIActionExtensionContext extends NSExtensionContext {
        /**
         * The identifier for the domain managed by the current file provider.
         */
        domainIdentifier: NSFileProviderDomainIdentifier | null;
        /**
         * Marks the action as complete.
         */
        completeRequest():void;
        /**
         * Cancels the action and returns the provided error.
         */
        cancelRequest(error: Error):void;
    }
}

/**
 * Build apps using a powerful open language.
 */
declare module Swift {
    export class Int {
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: number;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: Int.Words;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero. Any fractional part of the value passed as 
         *  is removed.
         */
        constructor (source: T);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: T);
        /**
         * Creates a new value with the bit pattern of the given pointer.
         */
        constructor (pointer: P | null);
    }
    /**
     * the same name namespace of class Int
     */
    export namespace Int {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Int.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: number);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class Array {
        /**
         * The underlying type the conforming type uses when it wraps itself in a
         *  
         * data value.
         */
        static dataValueType: MLDataValue.ValueType;
        /**
         * An empty result.
         */
        static empty: Array<Element>;
        static defaultResolverSpecification: EmptyResolverSpecification<Array<Element>>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The number of elements in the array.
         */
        count: number;
        /**
         * The total number of elements that the array can contain without
         *  
         * allocating new storage.
         */
        capacity: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The position of the first element in a nonempty array.
         */
        startIndex: number;
        /**
         * The array’s “past the end” position—that is, the position one greater
         *  
         * than the last valid subscript argument.
         */
        endIndex: number;
        /**
         * A textual representation of the array and its elements.
         */
        description: string;
        /**
         * A textual representation of the array and its elements, suitable for
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the array.
         */
        customMirror: Mirror;
        /**
         * The value of the conforming type’s instance wrapped in a data value.
         */
        dataValue: MLDataValue;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: CollectionOfOne<Array<UInt8>>;
        /**
         * All result items.
         */
        items: Element.ValueType[];
        /**
         * A text prompt shown at the top of the view that presents the options.
         */
        promptLabel: LocalizedStringResource | null;
        /**
         * If set to true, presents the list of options with an alphabetical index on the right side
         *  
         * of the screen (table view section index titles).
         */
        usesIndexedCollation: boolean;
        /**
         * Creates a new, empty array.
         */
        constructor ();
        /**
         * Creates a new instance of a collection containing the elements of a
         *  
         * sequence.
         */
        constructor (elements: S);
        /**
         * Creates a new array containing the specified number of a single, repeated
         *  
         * value.
         */
        constructor (repeatedValue: Element, count: number);
        /**
         * Creates an array with the specified capacity, then calls the given
         *  
         * closure with a buffer covering the array’s uninitialized memory.
         */
        constructor (unsafeUninitializedCapacity: number, initializer: Void);
        /**
         * Creates a new array by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        constructor (decoder: Decoder, configuration: Element.DecodingConfiguration);
        /**
         * Creates an array from the given array literal.
         */
        constructor (...elements: Element);
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Adds a new element at the end of the array.
         */
        append(newElement: Element):void;
        /**
         * Inserts a new element at the specified position.
         */
        insert(newElement: Element, i: number):void;
        /**
         * Inserts the elements of a sequence into the collection at the specified
         *  
         * position.
         */
        insert<C>(newElements: C, i: Self.Index):void;
        /**
         * Replaces a range of elements with the elements in the specified
         *  
         * collection.
         */
        replaceSubrange<C>(subrange: Range<Int>, newElements: C):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C, R>(subrange: R, newElements: C):void;
        /**
         * Adds the elements of a sequence to the end of the array.
         */
        append<S>(newElements: S):void;
        /**
         * Removes and returns the element at the specified position.
         */
        remove(index: number):Element;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange(bounds: Range<Self.Index>):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange<R>(bounds: R):void;
        /**
         * Removes all the elements that satisfy the given predicate.
         */
        removeAll(shouldBeRemoved: Bool):void;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<Self.Element>):Self | null;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Replaces the given index with its successor.
         */
        formIndex(i: Int):void;
        /**
         * Returns the distance between two indices.
         */
        distance(start: number, end: number):number;
        /**
         * Calls a closure with a pointer to the array’s contiguous storage.
         */
        withUnsafeBufferPointer<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the array’s mutable contiguous
         *  
         * storage.
         */
        withUnsafeMutableBufferPointer<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the underlying bytes of the
         *  
         * array’s contiguous storage.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the underlying bytes of the
         *  
         * array’s mutable contiguous storage.
         */
        withUnsafeMutableBytes<R>(body: R):R;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Encodes the elements of this array into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):void;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Replaces the contents of the buffer at the given range with zeroes.
         */
        resetBytes<R>(range: R):void;
        /**
         * Prepares the collection to store the specified number of elements, when
         *  
         * doing so is appropriate for the underlying type.
         */
        reserveCapacity(n: number):void;
        filter(isIncluded: Bool):Self.Element[];
    }
    export class ContiguousArray {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the array.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the array and its elements, suitable for
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the array.
         */
        customMirror: Mirror;
        /**
         * A textual representation of the array and its elements.
         */
        description: string;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: CollectionOfOne<ContiguousArray<UInt8>>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The array’s “past the end” position—that is, the position one greater
         *  
         * than the last valid subscript argument.
         */
        endIndex: number;
        /**
         * The position of the first element in a nonempty array.
         */
        startIndex: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * The total number of elements that the array can contain without
         *  
         * allocating new storage.
         */
        capacity: number;
        /**
         * Creates an array with the specified capacity, then calls the given
         *  
         * closure with a buffer covering the array’s uninitialized memory.
         */
        constructor (unsafeUninitializedCapacity: number, initializer: Void);
        /**
         * Creates a new contiguous array by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an array from the given array literal.
         */
        constructor (...elements: Element);
        /**
         * Creates a new, empty array.
         */
        constructor ();
        /**
         * Creates a new instance of a collection containing the elements of a
         *  
         * sequence.
         */
        constructor (elements: S);
        /**
         * Creates a new collection containing the specified number of a single,
         *  
         * repeated value.
         */
        constructor (repeatedValue: Self.Element, count: number);
        /**
         * Calls a closure with a pointer to the array’s contiguous storage.
         */
        withUnsafeBufferPointer<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the array’s mutable contiguous
         *  
         * storage.
         */
        withUnsafeMutableBufferPointer<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the underlying bytes of the
         *  
         * array’s mutable contiguous storage.
         */
        withUnsafeMutableBytes<R>(body: R):R;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):void;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Encodes the elements of this contiguous array into the given encoder
         *  
         * in an unkeyed container.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Replaces the contents of the buffer at the given range with zeroes.
         */
        resetBytes<R>(range: R):void;
        /**
         * Returns the distance between two indices.
         */
        distance(start: number, end: number):number;
        /**
         * Adds an element to the end of the collection.
         */
        append(newElement: Self.Element):void;
        /**
         * Adds the elements of a sequence or collection to the end of this
         *  
         * collection.
         */
        append<S>(newElements: S):void;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<Self.Element>):Self | null;
        /**
         * Inserts a new element into the collection at the specified position.
         */
        insert(newElement: Self.Element, i: Self.Index):void;
        /**
         * Inserts the elements of a sequence into the collection at the specified
         *  
         * position.
         */
        insert<C>(newElements: C, i: Self.Index):void;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the element at the specified position.
         */
        remove(position: Self.Index):Self.Element;
        /**
         * Removes all elements from the collection.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange(bounds: Range<Self.Index>):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange<R>(bounds: R):void;
        /**
         * Replaces a range of elements with the elements in the specified
         *  
         * collection.
         */
        replaceSubrange<C>(subrange: Range<Int>, newElements: C):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C, R>(subrange: R, newElements: C):void;
        /**
         * Prepares the collection to store the specified number of elements, when
         *  
         * doing so is appropriate for the underlying type.
         */
        reserveCapacity(n: number):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Calls the given closure with a pointer to the underlying bytes of the
         *  
         * array’s contiguous storage.
         */
        withUnsafeBytes<R>(body: R):R;
    }
    export class ArraySlice {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the array and its elements, suitable for
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the array.
         */
        customMirror: Mirror;
        /**
         * A textual representation of the array and its elements.
         */
        description: string;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: CollectionOfOne<ArraySlice<UInt8>>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The array’s “past the end” position—that is, the position one greater
         *  
         * than the last valid subscript argument.
         */
        endIndex: number;
        /**
         * The position of the first element in a nonempty array.
         */
        startIndex: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * The total number of elements that the array can contain without
         *  
         * allocating new storage.
         */
        capacity: number;
        /**
         * Creates an array from the given array literal.
         */
        constructor (...elements: Element);
        /**
         * Creates a new, empty array.
         */
        constructor ();
        /**
         * Creates a new instance of a collection containing the elements of a
         *  
         * sequence.
         */
        constructor (elements: S);
        /**
         * Creates a new collection containing the specified number of a single,
         *  
         * repeated value.
         */
        constructor (repeatedValue: Self.Element, count: number);
        /**
         * Calls a closure with a pointer to the array’s contiguous storage.
         */
        withUnsafeBufferPointer<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the underlying bytes of the
         *  
         * array’s contiguous storage.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the array’s mutable contiguous
         *  
         * storage.
         */
        withUnsafeMutableBufferPointer<R>(body: R):R;
        /**
         * Calls the given closure with a pointer to the underlying bytes of the
         *  
         * array’s mutable contiguous storage.
         */
        withUnsafeMutableBytes<R>(body: R):R;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):void;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Returns the distance between two indices.
         */
        distance(start: number, end: number):number;
        /**
         * Adds a new element at the end of the array.
         */
        append(newElement: Element):void;
        /**
         * Adds the elements of a sequence to the end of the array.
         */
        append<S>(newElements: S):void;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<Self.Element>):Self | null;
        /**
         * Inserts a new element into the collection at the specified position.
         */
        insert(newElement: Self.Element, i: Self.Index):void;
        /**
         * Inserts the elements of a sequence into the collection at the specified
         *  
         * position.
         */
        insert<C>(newElements: C, i: Self.Index):void;
        /**
         * Removes and returns the element at the specified position.
         */
        remove(position: Self.Index):Self.Element;
        /**
         * Removes all elements from the collection.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange<R>(bounds: R):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange(bounds: Range<Self.Index>):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C, R>(subrange: R, newElements: C):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C>(subrange: Range<Self.Index>, newElements: C):void;
        /**
         * Prepares the collection to store the specified number of elements, when
         *  
         * doing so is appropriate for the underlying type.
         */
        reserveCapacity(n: number):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        filter(isIncluded: Bool):Self.Element[];
    }
    export class Dictionary {
        /**
         * The underlying type the conforming type uses when it wraps itself in a
         *  
         * data value.
         */
        static dataValueType: MLDataValue.ValueType;
        /**
         * A Boolean value that indicates whether the dictionary is empty.
         */
        isEmpty: boolean;
        /**
         * The number of key-value pairs in the dictionary.
         */
        count: number;
        /**
         * The total number of key-value pairs that the dictionary can contain without
         *  
         * allocating new storage.
         */
        capacity: number;
        /**
         * A collection containing just the keys of the dictionary.
         */
        keys: any;
        /**
         * A collection containing just the values of the dictionary.
         */
        values: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The position of the first element in a nonempty dictionary.
         */
        startIndex: any;
        /**
         * The dictionary’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A string that represents the contents of the dictionary.
         */
        description: string;
        /**
         * A string that represents the contents of the dictionary, suitable for
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the dictionary.
         */
        customMirror: Mirror;
        /**
         * The value of the conforming type’s instance wrapped in a data value.
         */
        dataValue: MLDataValue;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an empty dictionary.
         */
        constructor ();
        /**
         * Creates an empty dictionary with preallocated space for at least the
         *  
         * specified number of elements.
         */
        constructor (minimumCapacity: number);
        /**
         * Creates a new dictionary from the key-value pairs in the given sequence.
         */
        constructor (keysAndValues: any);
        /**
         * Creates a new dictionary from the key-value pairs in the given sequence,
         *  
         * using a combining closure to determine the value for any duplicate keys.
         */
        constructor (keysAndValues: S, combine: any);
        /**
         * Creates a new dictionary whose keys are the groupings returned by the
         *  
         * given closure and whose values are arrays of the elements that returned
         *  
         * each key.
         */
        constructor (values: S, keyForValue: Key);
        /**
         * Creates a new dictionary by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        constructor (container: AttributeContainer, scope: S.Type);
        constructor (container: AttributeContainer);
        /**
         * Creates a dictionary initialized with a dictionary literal.
         */
        constructor (...elements: any);
        /**
         * Returns the index for the given key.
         */
        index(key: Key):any;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Updates the value stored in the dictionary for the given key, or adds a
         *  
         * new key-value pair if the key does not exist.
         */
        updateValue(value: Value, key: Key):Value | null;
        /**
         * Merges the given dictionary into this dictionary, using a combining
         *  
         * closure to determine the value for any duplicate keys.
         */
        merge(other: Record<Key, Value>, combine: Value):void;
        /**
         * Merges the key-value pairs in the given sequence into the dictionary,
         *  
         * using a combining closure to determine the value for any duplicate keys.
         */
        merge<S>(other: S, combine: any):void;
        /**
         * Creates a dictionary by merging the given dictionary into this
         *  
         * dictionary, using a combining closure to determine the value for
         *  
         * duplicate keys.
         */
        merging(other: Record<Key, Value>, combine: Value):Record<Key, Value>;
        /**
         * Creates a dictionary by merging key-value pairs in a sequence into the
         *  
         * dictionary, using a combining closure to determine the value for
         *  
         * duplicate keys.
         */
        merging<S>(other: S, combine: Value):Record<Key, Value>;
        /**
         * Reserves enough space to store the specified number of key-value pairs.
         */
        reserveCapacity(minimumCapacity: number):void;
        /**
         * Returns a new dictionary containing the key-value pairs of the dictionary
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Record<Key, Value>;
        /**
         * Removes the given key and its associated value from the dictionary.
         */
        removeValue(key: Key):Value | null;
        /**
         * Removes and returns the key-value pair at the specified index.
         */
        remove(index: any):any;
        /**
         * Removes all key-value pairs from the dictionary.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an iterator over the dictionary’s key-value pairs.
         */
        makeIterator():any;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a new dictionary containing the keys of this dictionary with the
         *  
         * values transformed by the given closure.
         */
        mapValues<T>(transform: T):any;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a new dictionary containing only the key-value pairs that have
         *  
         * non-
         *  values as the result of transformation by the given closure.
         */
        compactMapValues<T>(transform: T | null):any;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Replaces the given index with its successor.
         */
        formIndex(i: any):void;
        /**
         * Returns the distance between two indices.
         */
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Removes and returns the first key-value pair of the dictionary if the
         *  
         * dictionary isn’t empty.
         */
        popFirst():any;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Encodes the contents of this dictionary into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Dictionary
     */
    export namespace Dictionary {
        export class Keys {
            /**
             * The number of keys in the dictionary.
             */
            count: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: any;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: any;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * Replaces the given index with its successor.
             */
            formIndex(i: any):void;
            /**
             * Returns the position immediately after the given index.
             */
            index(i: any):any;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():any;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        /**
         * the same name namespace of class Keys
         */
        export namespace Keys {
            export class Iterator {
                /**
                 * Advances to the next element and returns it, or 
                 *  if no next element
                 *  
                 * exists.
                 */
                next():Key | null;
            }
        }
        export class Values {
            /**
             * The number of values in the dictionary.
             */
            count: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: any;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: any;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * Replaces the given index with its successor.
             */
            formIndex(i: any):void;
            /**
             * Returns the position immediately after the given index.
             */
            index(i: any):any;
            /**
             * Exchanges the values at the specified indices of the collection.
             */
            swapAt(i: any, j: any):void;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():any;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Reorders the elements of the collection such that all the elements
             *  
             * that match the given predicate are after all the elements that don’t
             *  
             * match.
             */
            partition(belongsInSecondPartition: Bool):Self.Index;
            /**
             * Executes a closure on the collection’s contiguous storage.
             */
            withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        /**
         * the same name namespace of class Values
         */
        export namespace Values {
            export class Iterator {
                /**
                 * Advances to the next element and returns it, or 
                 *  if no next element
                 *  
                 * exists.
                 */
                next():Value | null;
            }
        }
        export class Index {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Iterator {
            /**
             * A mirror that reflects the iterator.
             */
            customMirror: Mirror;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
        }
    }
    export class Set {
        static defaultResolverSpecification: ResolverSpecification;
        /**
         * A Boolean value that indicates whether the set is empty.
         */
        isEmpty: boolean;
        /**
         * The number of elements in the set.
         */
        count: number;
        /**
         * The total number of elements that the set can contain without
         *  
         * allocating new storage.
         */
        capacity: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The starting position for iterating members of the set.
         */
        startIndex: any;
        /**
         * The “past the end” position for the set—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A string that represents the contents of the set.
         */
        description: string;
        /**
         * A string that represents the contents of the set, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the set.
         */
        customMirror: Mirror;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an empty set.
         */
        constructor ();
        /**
         * Creates an empty set with preallocated space for at least the specified
         *  
         * number of elements.
         */
        constructor (minimumCapacity: number);
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a new set by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...elements: Element);
        /**
         * Returns a Boolean value that indicates whether the given element exists
         *  
         * in the set.
         */
        contains(member: Element):boolean;
        /**
         * Inserts the given element in the set if it is not already present.
         */
        insert(newMember: Element):any;
        insert<ConcreteElement>(newMember: ConcreteElement):Hashable;
        /**
         * Inserts the given element into the set unconditionally.
         */
        update(newMember: Element):Element | null;
        update<ConcreteElement>(newMember: ConcreteElement):Hashable;
        /**
         * Reserves enough space to store the specified number of elements.
         */
        reserveCapacity(minimumCapacity: number):void;
        /**
         * Returns a new set containing the elements of the set that satisfy the
         *  
         * given predicate.
         */
        filter(isIncluded: Bool):Set<Element>;
        /**
         * Removes the specified element from the set.
         */
        remove(member: Element):Element | null;
        remove<ConcreteElement>(member: ConcreteElement):Hashable;
        /**
         * Removes the first element of the set.
         */
        removeFirst():Element;
        /**
         * Removes all members from the set.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Returns a new set with the elements of both this set and the given
         *  
         * sequence.
         */
        union<S>(other: S):Sequence;
        /**
         * Inserts the elements of the given sequence into the set.
         */
        formUnion<S>(other: S):void;
        /**
         * Returns a new set with the elements that are common to both this set and
         *  
         * the given sequence.
         */
        intersection(other: Set<Element>):Set<Element>;
        /**
         * Returns a new set with the elements that are common to both this set and
         *  
         * the given sequence.
         */
        intersection<S>(other: S):Sequence;
        /**
         * Removes the elements of the set that aren’t also in the given sequence.
         */
        formIntersection<S>(other: S):void;
        /**
         * Returns a new set with the elements that are either in this set or in the
         *  
         * given sequence, but not in both.
         */
        symmetricDifference<S>(other: S):Sequence;
        /**
         * Removes the elements of the set that are also in the given sequence and
         *  
         * adds the members of the sequence that are not already in the set.
         */
        formSymmetricDifference(other: Set<Element>):void;
        /**
         * Replace this set with the elements contained in this set or the given
         *  
         * set, but not both.
         */
        formSymmetricDifference<S>(other: S):void;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Set<Element>):void;
        /**
         * Removes the elements of the given sequence from the set.
         */
        subtract<S>(other: S):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Set<Element>):Set<Element>;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given sequence.
         */
        subtracting<S>(other: S):Sequence;
        /**
         * Returns a Boolean value that indicates whether this set is a subset of
         *  
         * the given set.
         */
        isSubset(other: Set<Element>):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of the
         *  
         * given sequence.
         */
        isSubset<S>(possibleSuperset: S):Sequence;
        /**
         * Returns a Boolean value that indicates whether the set is a strict subset
         *  
         * of the given sequence.
         */
        isStrictSubset(other: Set<Element>):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a strict subset
         *  
         * of the given sequence.
         */
        isStrictSubset<S>(possibleStrictSuperset: S):Sequence;
        /**
         * Returns a Boolean value that indicates whether this set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Set<Element>):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given sequence.
         */
        isSuperset<S>(possibleSubset: S):Sequence;
        /**
         * Returns a Boolean value that indicates whether the set is a strict
         *  
         * superset of the given sequence.
         */
        isStrictSuperset(other: Set<Element>):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a strict
         *  
         * superset of the given sequence.
         */
        isStrictSuperset<S>(possibleStrictSubset: S):Sequence;
        /**
         * Returns a Boolean value that indicates whether this set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Set<Element>):boolean;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given sequence.
         */
        isDisjoint<S>(other: S):Sequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the index of the given element in the set, or 
         *  if the
         *  
         * element is not a member of the set.
         */
        firstIndex(member: Element):any;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns an iterator over the members of the set.
         */
        makeIterator():any;
        /**
         * Replaces the given index with its successor.
         */
        formIndex(i: any):void;
        /**
         * Returns the distance between two indices.
         */
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Removes and returns the first element of the set.
         */
        popFirst():Element | null;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Encodes the elements of this set into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class Set
     */
    export namespace Set {
        export class Index {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Iterator {
            /**
             * A mirror that reflects the iterator.
             */
            customMirror: Mirror;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():Element | null;
        }
    }
    export class String {
        /**
         * An array of the encodings that strings support in the application’s
         *  
         * environment.
         */
        static availableStringEncodings: String.Encoding[];
        /**
         * The C-string encoding assumed for any method accepting a C string as an
         *  
         * argument.
         */
        static defaultCStringEncoding: String.Encoding;
        /**
         * The underlying type the conforming type uses when it wraps itself in a
         *  
         * data value.
         */
        static dataValueType: MLDataValue.ValueType;
        /**
         * The representation used to import and export the item.
         */
        static transferRepresentation: TransferRepresentation;
        static defaultResolverSpecification: ResolverSpecification;
        /**
         * A Boolean value indicating whether a string has no characters.
         */
        isEmpty: boolean;
        /**
         * The number of characters in a string.
         */
        count: number;
        /**
         * Returns whether this string is capable of providing access to
         *  
         * validly-encoded UTF-8 contents in contiguous memory in O(1) time.
         */
        isContiguousUTF8: boolean;
        /**
         * The string’s value represented as a collection of Unicode scalar values.
         */
        unicodeScalars: String.UnicodeScalarView;
        /**
         * A UTF-16 encoding of 
         * .
         */
        utf16: String.UTF16View;
        /**
         * A UTF-8 encoding of 
         * .
         */
        utf8: String.UTF8View;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A contiguously stored null-terminated UTF-8 representation of the string.
         */
        utf8CString: ContiguousArray<CChar>;
        /**
         * The position of the first character in a nonempty string.
         */
        startIndex: String.Index;
        /**
         * A string’s “past the end” position—that is, the position one greater
         *  
         * than the last valid subscript argument.
         */
        endIndex: String.Index;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * The value of this string.
         */
        description: string;
        /**
         * A representation of the string that is suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The value of the conforming type’s instance wrapped in a data value.
         */
        dataValue: MLDataValue;
        /**
         * The value of the unique identifier wrapped in a data value.
         */
        identifierValue: MLDataValue;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * A view of the string’s contents as a collection of characters.
         */
        characters: string;
        codingKey: CodingKey;
        /**
         * The 
         * ’s identifier value as a 
         * .
         */
        entityIdentifierString: string;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        regex: Regex<String.Output>;
        /**
         * Creates a string by interpreting the file path’s content as UTF-8 on Unix
         *  
         * and UTF-16 on Windows.
         */
        constructor (path: FilePath);
        /**
         * Creates an empty string.
         */
        constructor ();
        /**
         * Creates a string containing the given character.
         */
        constructor (c: Character);
        /**
         * Creates a new string representing the given string repeated the specified
         *  
         * number of times.
         */
        constructor (repeatedValue: string, count: number);
        /**
         * Creates a new string with the specified capacity in UTF-8 code units, and
         *  
         * then calls the given closure with a buffer covering the string’s
         *  
         * uninitialized memory.
         */
        constructor (capacity: number, initializer: Int);
        /**
         * Returns a 
         *  initialized by converting given 
         *  into
         *  
         * Unicode characters using a given 
         * .
         */
        constructor (data: Data, encoding: String.Encoding);
        /**
         * Creates a new string by copying and validating the null-terminated UTF-8
         *  
         * data referenced by the given pointer.
         */
        constructor (cString: UnsafePointer<CChar>);
        /**
         * Creates a new string that contains the specified number of characters
         *  
         * from the given C array of Unicode characters.
         */
        constructor (utf16CodeUnits: UnsafePointer<unichar>, count: number);
        /**
         * Creates a new string that contains the specified number of characters
         *  
         * from the given C array of UTF-16 code units.
         */
        constructor (utf16CodeUnitsNoCopy: UnsafePointer<unichar>, count: number, flag: boolean);
        /**
         * Creates a string from the given Unicode code units in the specified
         *  
         * encoding.
         */
        constructor (codeUnits: C, sourceEncoding: Encoding.Type);
        /**
         * Returns a 
         *  object initialized by using a given
         *  
         * format string as a template into which the remaining argument
         *  
         * values are substituted.
         */
        constructor (format: string, ...arguments: CVarArg);
        /**
         * Returns a 
         *  object initialized by using a given
         *  
         * format string as a template into which the remaining argument
         *  
         * values are substituted according to the user’s default locale.
         */
        constructor (format: string, arguments: CVarArg[]);
        /**
         * Returns a 
         *  object initialized by using a given
         *  
         * format string as a template into which the remaining argument
         *  
         * values are substituted according to given locale information.
         */
        constructor (format: string, locale: Locale | null, ...args: CVarArg);
        /**
         * Returns a 
         *  object initialized by using a given
         *  
         * format string as a template into which the remaining argument
         *  
         * values are substituted according to given locale information.
         */
        constructor (format: string, locale: Locale | null, arguments: CVarArg[]);
        /**
         * Creates a string representing the given value in base 10, or some other
         *  
         * specified base.
         */
        constructor (value: T, radix: number, uppercase: boolean);
        /**
         * Creates a new string equivalent to the given bytes interpreted in the
         *  
         * specified encoding.
         */
        constructor (bytes: S, encoding: String.Encoding);
        /**
         * Creates a new string that contains the specified number of bytes from the
         *  
         * given buffer, interpreted in the specified encoding, and optionally
         *  
         * frees the buffer.
         */
        constructor (bytes: UnsafeMutableRawPointer, length: number, encoding: String.Encoding, flag: boolean);
        /**
         * Creates a new string by copying the null-terminated UTF-8 data referenced
         *  
         * by the given pointer.
         */
        constructor (nullTerminatedUTF8: UnsafePointer<CChar>);
        /**
         * Creates a string representing the given value.
         */
        constructor (instance: Subject);
        /**
         * Creates a string with a detailed representation of the given value,
         *  
         * suitable for debugging.
         */
        constructor (subject: Subject);
        constructor (url: URL);
        /**
         * Produces a string created by reading data from a given URL
         *  
         * interpreted using a given encoding.  Errors are written into the
         *  
         * inout 
         *  argument.
         */
        constructor (url: URL, enc: String.Encoding);
        /**
         * Produces a string created by reading data from a given URL
         *  
         * and returns by reference the encoding used to interpret the
         *  
         * data.  Errors are written into the inout 
         *  argument.
         */
        constructor (url: URL, usedEncoding: String.Encoding);
        constructor (path: string);
        /**
         * Produces a string created by reading data from the file at a
         *  
         * given path interpreted using a given encoding.
         */
        constructor (path: string, enc: String.Encoding);
        /**
         * Produces a string created by reading data from the file at
         *  
         * a given path and returns by reference the encoding used to
         *  
         * interpret the file.
         */
        constructor (path: string, usedEncoding: String.Encoding);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates a new instance from an interpolated string literal.
         */
        constructor (stringInterpolation: DefaultStringInterpolation);
        /**
         * Creates an instance initialized to the given string value.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        constructor (cString: CChar, enc: String.Encoding);
        constructor (nullTerminatedCodeUnits: string, sourceEncoding: Encoding.Type);
        constructor (resource: LocalizedStringResource);
        constructor (key: StaticString, defaultValue: String.LocalizationValue, options: String.LocalizationOptions, table: string, bundle: Bundle | null, locale: Locale, comment: StaticString | null);
        constructor (key: StaticString, defaultValue: String.LocalizationValue, table: string, bundle: Bundle | null, locale: Locale, comment: StaticString | null);
        constructor (resource: LocalizedStringResource, options: String.LocalizationOptions);
        constructor (keyAndValue: String.LocalizationValue, options: String.LocalizationOptions, table: string, bundle: Bundle | null, locale: Locale, comment: StaticString | null);
        constructor (keyAndValue: String.LocalizationValue, table: string, bundle: Bundle | null, locale: Locale, comment: StaticString | null);
        constructor (platformString: string);
        /**
         * Creates a string by copying the data from a given
         *  
         * null-terminated C array of UTF8-encoded bytes.
         */
        constructor (bytes: UnsafePointer<CChar>);
        /**
         * On Unix, creates the string 
         */
        constructor (root: FilePath.Root);
        /**
         * Creates a string by interpreting the null-terminated platform string as
         *  
         * UTF-8 on Unix and UTF-16 on Windows.
         */
        constructor (platformString: UnsafePointer<CInterop.PlatformChar>);
        constructor (codingKey: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a string created by using a given format string as a
         *  
         * template into which the remaining argument values are substituted
         *  
         * according to the user’s default locale.
         */
        static localizedStringWithFormat(format: string, ...arguments: CVarArg):string;
        /**
         * Returns a human-readable string giving the name of the specified encoding.
         */
        static localizedName(encoding: String.Encoding):string;
        static decodeCString<Encoding>(cString: Encoding.CodeUnit, encoding: Encoding.Type, isRepairing: boolean):_UnicodeEncoding;
        /**
         * Identifiers should be able to initialize via a 
         *  format.
         */
        static entityIdentifier(entityIdentifierString: string):string;
        /**
         * Appends the given string to this string.
         */
        write(other: string):void;
        /**
         * Writes the string into the given output stream.
         */
        write<Target>(target: Target):void;
        /**
         * Appends the given string to this string.
         */
        append(other: string):void;
        /**
         * Appends the characters in the given sequence to the string.
         */
        append<S>(newElements: S):void;
        /**
         * Reserves enough space in the string’s underlying storage to store the
         *  
         * specified number of ASCII characters.
         */
        reserveCapacity(n: number):void;
        /**
         * Inserts a new character at the specified position.
         */
        insert(newElement: Character, i: String.Index):void;
        /**
         * Inserts the elements of a sequence into the collection at the specified
         *  
         * position.
         */
        insert<C>(newElements: C, i: Self.Index):void;
        /**
         * Inserts a collection of characters at the specified position.
         */
        insert<S>(newElements: S, i: String.Index):void;
        /**
         * Replaces the text within the specified bounds with the given characters.
         */
        replaceSubrange<C>(subrange: Range<String.Index>, newElements: C):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C, R>(subrange: R, newElements: C):void;
        /**
         * Removes and returns the character at the specified position.
         */
        remove(i: String.Index):Character;
        /**
         * Replaces this string with the empty string.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Removes the characters in the given range.
         */
        removeSubrange(bounds: Range<String.Index>):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange<R>(bounds: R):void;
        /**
         * Returns a new collection of the same type containing, in order, the
         *  
         * elements of the original collection that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Returns a lowercase version of the string.
         */
        lowercased():string;
        /**
         * Returns an uppercase version of the string.
         */
        uppercased():string;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<Self.Element>):Self | null;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        hasPrefix(prefix: string):boolean;
        hasSuffix(suffix: string):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the last element of the sequence that satisfies the given
         *  
         * predicate.
         */
        last(predicate: Bool):Self.Element | null;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        max<T>(x: T, y: T):Comparable;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        min<T>(x: T, y: T):Comparable;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * If this string is not contiguous, make it so. If this mutates the string,
         *  
         * it will invalidate any pre-existing indices.
         */
        makeContiguousUTF8():void;
        /**
         * Runs 
         *  over the content of this string in contiguous memory. If this
         *  
         * string is not contiguous, this will first make it contiguous, which will
         *  
         * also speed up subsequent access. If this mutates the string,
         *  
         * it will invalidate any pre-existing indices.
         */
        withUTF8<R>(body: R):R;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():String.Iterator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Calls the given closure with a pointer to the contents of the string,
         *  
         * represented as a null-terminated sequence of UTF-8 code units.
         */
        withCString<Result>(body: Result):Result;
        /**
         * Calls the given closure with a pointer to the contents of the string,
         *  
         * represented as a null-terminated sequence of code units.
         */
        withCString<Result, TargetEncoding>(targetEncoding: TargetEncoding.Type, body: Result):_UnicodeEncoding;
        /**
         * Returns the position immediately after the given index.
         */
        index(i: String.Index):String.Index;
        /**
         * Replaces the given index with its successor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the distance between two indices.
         */
        distance(start: String.Index, end: String.Index):number;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Applies the given closure to a mutable view of the string’s characters.
         */
        withMutableCharacters<R>(body: ()=>any):R;
        /**
         * Calls the given closure with a pointer to the contents of the string,
         *  
         * represented as a null-terminated platform string.
         */
        withPlatformString<Result>(body: Result):Result;
    }
    /**
     * the same name namespace of class String
     */
    export namespace String {
        export class Index {
            /**
             * The offset into a string’s code units for this index.
             */
            encodedOffset: number;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates an index in the given UTF-16 view that corresponds exactly to the
             *  
             * specified string position.
             */
            constructor (idx: String.Index, target: String.UTF16View);
            /**
             * Creates a new index at the specified code unit offset.
             */
            constructor (offset: number);
            /**
             * Creates a new index at the specified UTF-16 code unit offset
             */
            constructor (offset: number, s: S);
            /**
             * Returns the position in the given UTF-8 view that corresponds exactly to
             *  
             * this index.
             */
            samePosition(utf8: String.UTF8View):String.UTF8View.Index | null;
            /**
             * The UTF-16 code unit offset corresponding to this index.
             */
            utf16Offset<S>(s: S):StringProtocol;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class UnicodeScalarView {
            /**
             * The “past the end” position—that is, the position one greater than
             *  
             * the last valid subscript argument.
             */
            endIndex: String.UnicodeScalarView.Index;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The position of the first Unicode scalar value if the string is
             *  
             * nonempty.
             */
            startIndex: String.UnicodeScalarView.Index;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * Returns a mirror that reflects the Unicode scalars view of a string.
             */
            customMirror: Mirror;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A custom playground Quick Look for this instance.
             */
            customPlaygroundQuickLook: _PlaygroundQuickLook;
            /**
             * Creates an empty view instance.
             */
            constructor ();
            /**
             * Creates a new instance of a collection containing the elements of a
             *  
             * sequence.
             */
            constructor (elements: S);
            /**
             * Creates a new collection containing the specified number of a single,
             *  
             * repeated value.
             */
            constructor (repeatedValue: Self.Element, count: number);
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns the distance between two indices.
             */
            distance(start: String.UnicodeScalarView.Index, end: String.UnicodeScalarView.Index):number;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: String.UnicodeScalarView.Index, distance: number):String.UnicodeScalarView.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():String.UnicodeScalarView.Iterator;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Adds an element to the end of the collection.
             */
            append(newElement: Self.Element):void;
            /**
             * Appends the Unicode scalar values in the given sequence to the view.
             */
            append<S>(newElements: S):void;
            /**
             * Applies the given difference to this collection.
             */
            applying(difference: CollectionDifference<Self.Element>):Self | null;
            /**
             * Returns a new collection of the same type containing, in order, the
             *  
             * elements of the original collection that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self;
            /**
             * Inserts a new element into the collection at the specified position.
             */
            insert(newElement: Self.Element, i: Self.Index):void;
            /**
             * Inserts the elements of a sequence into the collection at the specified
             *  
             * position.
             */
            insert<C>(newElements: C, i: Self.Index):void;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Self.Element | null;
            /**
             * Removes and returns the element at the specified position.
             */
            remove(position: Self.Index):Self.Element;
            /**
             * Removes all elements from the collection.
             */
            removeAll(keepCapacity: boolean):void;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Self.Element;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Self.Element;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange<R>(bounds: R):void;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange(bounds: Range<Self.Index>):void;
            /**
             * Replaces the specified subrange of elements with the given collection.
             */
            replaceSubrange<C, R>(subrange: R, newElements: C):void;
            /**
             * Replaces the specified subrange of elements with the given collection.
             */
            replaceSubrange<C>(subrange: Range<Self.Index>, newElements: C):void;
            /**
             * Reserves enough space in the view’s underlying storage to store the
             *  
             * specified number of ASCII characters.
             */
            reserveCapacity(n: number):void;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        /**
         * the same name namespace of class UnicodeScalarView
         */
        export namespace UnicodeScalarView {
            export class Iterator {
                /**
                 * Advances to the next element and returns it, or 
                 *  if no next element
                 *  
                 * exists.
                 */
                next():Unicode.Scalar | null;
            }
        }
        export class UTF16View {
            /**
             * The “past the end” position—that is, the position one greater than
             *  
             * the last valid subscript argument.
             */
            endIndex: String.UTF16View.Index;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The position of the first code unit if the 
             *  is
             *  
             * nonempty; identical to 
             *  otherwise.
             */
            startIndex: String.UTF16View.Index;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * Returns a mirror that reflects the UTF-16 view of a string.
             */
            customMirror: Mirror;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A custom playground Quick Look for this instance.
             */
            customPlaygroundQuickLook: _PlaygroundQuickLook;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns the distance between two indices.
             */
            distance(start: String.UTF16View.Index, end: String.UTF16View.Index):number;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: String.UTF16View.Index, n: number):String.UTF16View.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():String.UTF16View.Iterator;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        /**
         * the same name namespace of class UTF16View
         */
        export namespace UTF16View {
            export class Iterator {
                /**
                 * Advances to the next element and returns it, or 
                 *  if no next element
                 *  
                 * exists.
                 */
                next():UInt16 | null;
            }
        }
        export class UTF8View {
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: String.UTF8View.Index;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first code unit if the UTF-8 view is
             *  
             * nonempty.
             */
            startIndex: String.UTF8View.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * Returns a mirror that reflects the UTF-8 view of a string.
             */
            customMirror: Mirror;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A custom playground Quick Look for this instance.
             */
            customPlaygroundQuickLook: _PlaygroundQuickLook;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the position immediately before the given index.
             */
            index(i: String.UTF8View.Index):String.UTF8View.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns the distance between two indices.
             */
            distance(i: String.UTF8View.Index, j: String.UTF8View.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():Character | null;
        }
        export class Encoding {
            static ascii: String.Encoding;
            static iso2022JP: String.Encoding;
            static isoLatin1: String.Encoding;
            static isoLatin2: String.Encoding;
            static japaneseEUC: String.Encoding;
            static macOSRoman: String.Encoding;
            static nextstep: String.Encoding;
            static nonLossyASCII: String.Encoding;
            static shiftJIS: String.Encoding;
            static symbol: String.Encoding;
            static unicode: String.Encoding;
            static utf16: String.Encoding;
            static utf16BigEndian: String.Encoding;
            static utf16LittleEndian: String.Encoding;
            static utf32: String.Encoding;
            static utf32BigEndian: String.Encoding;
            static utf32LittleEndian: String.Encoding;
            static utf8: String.Encoding;
            static windowsCP1250: String.Encoding;
            static windowsCP1251: String.Encoding;
            static windowsCP1252: String.Encoding;
            static windowsCP1253: String.Encoding;
            static windowsCP1254: String.Encoding;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance with the specified raw value.
             */
            constructor (rawValue: number);
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Comparator {
            /**
             * Compares 
             * s using a localized comparison in the current
             *  
             * locale.
             */
            static localized: String.Comparator;
            /**
             * Compares 
             * s as compared by the Finder.
             */
            static localizedStandard: String.Comparator;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The locale to use for comparison if the comparator is localized,
             *  
             * otherwise nil.
             */
            locale: Locale | null;
            /**
             * The options to use for comparison.
             */
            options: String.CompareOptions;
            /**
             * If the 
             * s resulting order is forward or reverse.
             */
            order: SortOrder;
            /**
             * Creates a 
             *  that represents the same comparison
             *  
             * as the given 
             * .
             */
            constructor (standardComparison: String.StandardComparator);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates a 
             *  with the given 
             *  and
             *  
             * .
             */
            constructor (options: String.CompareOptions, locale: Locale | null, order: SortOrder);
            /**
             * The relative ordering of lhs, and rhs.
             */
            compare(lhs: string, rhs: string):ComparisonResult;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class IntentInputOptions {
            autocorrect: boolean;
            capitalizationType: String.IntentInputOptions.CapitalizationType;
            keyboardType: String.IntentInputOptions.KeyboardType;
            multiline: boolean;
            smartDashes: boolean;
            smartQuotes: boolean;
            constructor (keyboardType: String.IntentInputOptions.KeyboardType, capitalizationType: String.IntentInputOptions.CapitalizationType, multiline: boolean, autocorrect: boolean, smartQuotes: boolean, smartDashes: boolean);
        }
        /**
         * the same name namespace of class IntentInputOptions
         */
        export namespace IntentInputOptions {
            export enum CapitalizationType {}
            export enum KeyboardType {}
        }
        export class LocalizationOptions {
            replacements: CVarArg[] | null;
            constructor ();
        }
        export class LocalizationValue {
            constructor (value: string);
            /**
             * Creates an instance from a string interpolation.
             */
            constructor (stringInterpolation: String.LocalizationValue.StringInterpolation);
            /**
             * Creates an instance initialized to the given string value.
             */
            constructor (value: string);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: Self.StringLiteralType);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: Self.ExtendedGraphemeClusterLiteralType);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
        }
        /**
         * the same name namespace of class LocalizationValue
         */
        export namespace LocalizationValue {
            export class StringInterpolation {
                /**
                 * Creates an empty instance ready to be filled with string literal content.
                 */
                constructor (literalCapacity: number, interpolationCount: number);
                appendInterpolation<Subject>(subject: Subject):void;
                appendInterpolation(_string: string):void;
                appendInterpolation<T>(value: T):void;
                appendInterpolation<C>(value: C, format: any):void;
                appendInterpolation<T, F>(value: T, format: F):void;
                /**
                 * Appends a literal segment to the interpolation.
                 */
                appendLiteral(literal: string):void;
            }
            export enum Placeholder {}
        }
        export class StandardComparator {
            /**
             * Compares 
             * s lexically.
             */
            static lexical: String.StandardComparator;
            /**
             * Compares 
             * s using a localized comparison in the current
             *  
             * locale.
             */
            static localized: String.StandardComparator;
            /**
             * Compares 
             * s as compared by the Finder.
             */
            static localizedStandard: String.StandardComparator;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * If the 
             * s resulting order is forward or reverse.
             */
            order: SortOrder;
            /**
             * Create a 
             *  from the given 
             *  
             * with the given new 
             * .
             */
            constructor (base: String.StandardComparator, order: SortOrder);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * The relative ordering of lhs, and rhs.
             */
            compare(lhs: string, rhs: string):ComparisonResult;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class Substring {
        /**
         * Returns the underlying string from which this substring was derived.
         */
        base: string;
        /**
         * A view of the string’s contents as a collection of characters.
         */
        characters: Substring;
        /**
         * Returns whether this string is capable of providing access to
         *  
         * validly-encoded UTF-8 contents in contiguous memory in O(1) time.
         */
        isContiguousUTF8: boolean;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: Substring.Index;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: Substring.Index;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        regex: Regex<Substring.Output>;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        unicodeScalars: Substring.UnicodeScalarView;
        utf16: Substring.UTF16View;
        utf8: Substring.UTF8View;
        /**
         * A custom playground Quick Look for this instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an empty substring.
         */
        constructor ();
        /**
         * Creates a Substring having the given content.
         */
        constructor (content: Substring.UTF8View);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        /**
         * Creates a new instance from an interpolated string literal.
         */
        constructor (stringInterpolation: DefaultStringInterpolation);
        /**
         * Creates an instance initialized to the given string value.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Creates a new collection containing the specified number of a single,
         *  
         * repeated value.
         */
        constructor (repeatedValue: Self.Element, count: number);
        /**
         * Creates a string from the null-terminated, UTF-8 encoded sequence of
         *  
         * bytes at the given pointer.
         */
        constructor (nullTerminatedUTF8: UnsafePointer<CChar>);
        /**
         * Creates a string from the given Unicode code units in the specified
         *  
         * encoding.
         */
        constructor (codeUnits: C, sourceEncoding: Encoding.Type);
        /**
         * Creates a string from the null-terminated sequence of bytes at the given
         *  
         * pointer.
         */
        constructor (nullTerminatedCodeUnits: UnsafePointer<Encoding.CodeUnit>, sourceEncoding: Encoding.Type);
        filter(isIncluded: Bool):string;
        /**
         * If this string is not contiguous, make it so. If this mutates the
         *  
         * substring, it will invalidate any pre-existing indices.
         */
        makeContiguousUTF8():void;
        replaceSubrange(subrange: Range<Substring.Index>, newElements: Substring):void;
        /**
         * Applies the given closure to a mutable view of the string’s characters.
         */
        withMutableCharacters<R>(body: ()=>any):R;
        /**
         * Runs 
         *  over the content of this substring in contiguous memory. If
         *  
         * this substring is not contiguous, this will first make it contiguous,
         *  
         * which will also speed up subsequent access. If this mutates the substring,
         *  
         * it will invalidate any pre-existing indices.
         */
        withUTF8<R>(body: R):R;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns the distance between two indices.
         */
        distance(start: Substring.Index, end: Substring.Index):number;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: Substring.Index, distance: number):Substring.Index;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Adds an element to the end of the collection.
         */
        append(newElement: Self.Element):void;
        /**
         * Adds the elements of a sequence or collection to the end of this
         *  
         * collection.
         */
        append<S>(elements: S):void;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<Self.Element>):Self | null;
        /**
         * Inserts a new element into the collection at the specified position.
         */
        insert(newElement: Self.Element, i: Self.Index):void;
        /**
         * Inserts the elements of a sequence into the collection at the specified
         *  
         * position.
         */
        insert<C>(newElements: C, i: Self.Index):void;
        /**
         * Removes and returns the element at the specified position.
         */
        remove(position: Self.Index):Self.Element;
        /**
         * Removes all elements from the collection.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange(bounds: Range<Self.Index>):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange<R>(bounds: R):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C>(subrange: Range<Self.Index>, newElements: C):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C, R>(subrange: R, newElements: C):void;
        /**
         * Prepares the collection to store the specified number of elements, when
         *  
         * doing so is appropriate for the underlying type.
         */
        reserveCapacity(n: number):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Returns a Boolean value indicating whether the string begins with the
         *  
         * specified prefix.
         */
        hasPrefix<Prefix>(prefix: Prefix):StringProtocol;
        /**
         * Returns a Boolean value indicating whether the string ends with the
         *  
         * specified suffix.
         */
        hasSuffix<Suffix>(suffix: Suffix):StringProtocol;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        lowercased():string;
        uppercased():string;
        /**
         * Calls the given closure with a pointer to the contents of the string,
         *  
         * represented as a null-terminated sequence of UTF-8 code units.
         */
        withCString<Result>(body: Result):Result;
        /**
         * Calls the given closure with a pointer to the contents of the string,
         *  
         * represented as a null-terminated sequence of code units.
         */
        withCString<Result, TargetEncoding>(targetEncoding: TargetEncoding.Type, body: Result):_UnicodeEncoding;
        /**
         * Appends the given string to the stream.
         */
        write(other: string):void;
        /**
         * Writes a textual representation of this instance into the given output
         *  
         * stream.
         */
        write<Target>(target: Target):void;
    }
    /**
     * the same name namespace of class Substring
     */
    export namespace Substring {
        export class UTF16View {
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Substring.UTF16View.Indices;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: Substring.UTF16View.Index;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: Substring.UTF16View.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Substring.UTF16View.Index, end: Substring.UTF16View.Index):number;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its successor.
             */
            formIndex(i: Substring.UTF16View.Index):void;
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: Substring.UTF16View.Index, n: number):Substring.UTF16View.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Self.Element | null;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Self.Element;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Removes and returns the first element of the collection.
             */
            popFirst():Self.Element | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Self.Element;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class UTF8View {
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: Substring.UTF8View.Index;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Substring.UTF8View.Indices;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: Substring.UTF8View.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Substring.UTF8View.Index):void;
            /**
             * Returns the position immediately before the given index.
             */
            index(i: Substring.UTF8View.Index):Substring.UTF8View.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Self.Element | null;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Self.Element;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Substring.UTF8View.Index, end: Substring.UTF8View.Index):number;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Removes and returns the first element of the collection.
             */
            popFirst():Self.Element | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Self.Element;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class UnicodeScalarView {
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Substring.UnicodeScalarView.Indices;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: Substring.UnicodeScalarView.Index;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: Substring.UnicodeScalarView.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * Creates a new, empty collection.
             */
            constructor ();
            /**
             * Creates a new instance of a collection containing the elements of a
             *  
             * sequence.
             */
            constructor (elements: S);
            /**
             * Creates a new collection containing the specified number of a single,
             *  
             * repeated value.
             */
            constructor (repeatedValue: Self.Element, count: number);
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns the distance between two indices.
             */
            distance(start: Substring.UnicodeScalarView.Index, end: Substring.UnicodeScalarView.Index):number;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its successor.
             */
            formIndex(i: Substring.UnicodeScalarView.Index):void;
            /**
             * Returns an index that is the specified distance from the given index.
             */
            index(i: Substring.UnicodeScalarView.Index, n: number):Substring.UnicodeScalarView.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Self.Element | null;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Self.Element;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Removes and returns the first element of the collection.
             */
            popFirst():Self.Element | null;
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Self.Element;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Adds an element to the end of the collection.
             */
            append(newElement: Self.Element):void;
            /**
             * Adds the elements of a sequence or collection to the end of this
             *  
             * collection.
             */
            append<S>(newElements: S):void;
            /**
             * Applies the given difference to this collection.
             */
            applying(difference: CollectionDifference<Self.Element>):Self | null;
            /**
             * Returns a new collection of the same type containing, in order, the
             *  
             * elements of the original collection that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self;
            /**
             * Inserts a new element into the collection at the specified position.
             */
            insert(newElement: Self.Element, i: Self.Index):void;
            /**
             * Inserts the elements of a sequence into the collection at the specified
             *  
             * position.
             */
            insert<C>(newElements: C, i: Self.Index):void;
            /**
             * Removes and returns the element at the specified position.
             */
            remove(position: Self.Index):Self.Element;
            /**
             * Removes all elements from the collection.
             */
            removeAll(keepCapacity: boolean):void;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange<R>(bounds: R):void;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange(bounds: Range<Self.Index>):void;
            /**
             * Replaces the specified subrange of elements with the given collection.
             */
            replaceSubrange<C>(subrange: Range<Self.Index>, newElements: C):void;
            /**
             * Replaces the specified subrange of elements with the given collection.
             */
            replaceSubrange<C, R>(subrange: R, newElements: C):void;
            /**
             * Prepares the collection to store the specified number of elements, when
             *  
             * doing so is appropriate for the underlying type.
             */
            reserveCapacity(n: number):void;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class Double {
        /**
         * The 
         * , approximately equal to 3.14159.
         */
        static pi: number;
        /**
         * Positive infinity.
         */
        static infinity: number;
        /**
         * The greatest finite number representable by this type.
         */
        static greatestFiniteMagnitude: number;
        /**
         * A quiet NaN (“not a number”).
         */
        static nan: number;
        /**
         * A signaling NaN (“not a number”).
         */
        static signalingNaN: number;
        /**
         * The unit in the last place of 1.0.
         */
        static ulpOfOne: number;
        /**
         * The least positive number.
         */
        static leastNonzeroMagnitude: number;
        /**
         * The least positive normal number.
         */
        static leastNormalMagnitude: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * The available number of fractional significand bits.
         */
        static significandBitCount: number;
        /**
         * The number of bits used to represent the type’s exponent.
         */
        static exponentBitCount: number;
        /**
         * The radix, or base of exponentiation, for a floating-point type.
         */
        static radix: number;
        /**
         * The underlying type the conforming type uses when it wraps itself in a
         *  
         * data value.
         */
        static dataValueType: MLDataValue.ValueType;
        static mlMultiArrayDataType: MLMultiArrayDataType;
        static defaultResolverSpecification: ResolverSpecification;
        /**
         * The magnitude of this value.
         */
        magnitude: number;
        /**
         * Returns the dot-product of this vector arithmetic instance with itself.
         */
        magnitudeSquared: number;
        /**
         * The sign of the floating-point value.
         */
        sign: FloatingPointSign;
        /**
         * The unit in the last place of this value.
         */
        ulp: number;
        /**
         * The significand of the floating-point value.
         */
        significand: number;
        /**
         * The exponent of the floating-point value.
         */
        exponent: number;
        /**
         * The least representable value that compares greater than this value.
         */
        nextUp: number;
        /**
         * The greatest representable value that compares less than this value.
         */
        nextDown: Self;
        /**
         * The floating-point value with the same sign and exponent as this value,
         *  
         * but with a significand of 1.0.
         */
        binade: number;
        /**
         * The bit pattern of the value’s encoding.
         */
        bitPattern: UInt64;
        /**
         * The raw encoding of the value’s significand field.
         */
        significandBitPattern: UInt64;
        /**
         * The number of bits required to represent the value’s significand.
         */
        significandWidth: number;
        /**
         * The raw encoding of the value’s exponent field.
         */
        exponentBitPattern: number;
        /**
         * A Boolean value indicating whether the instance is equal to zero.
         */
        isZero: boolean;
        /**
         * A Boolean value indicating whether this instance is finite.
         */
        isFinite: boolean;
        /**
         * A Boolean value indicating whether the instance is infinite.
         */
        isInfinite: boolean;
        /**
         * A Boolean value indicating whether the instance is NaN (“not a number”).
         */
        isNaN: boolean;
        /**
         * A Boolean value indicating whether the instance is a signaling NaN.
         */
        isSignalingNaN: boolean;
        /**
         * A Boolean value indicating whether this instance is normal.
         */
        isNormal: boolean;
        /**
         * A Boolean value indicating whether the instance is subnormal.
         */
        isSubnormal: boolean;
        /**
         * A Boolean value indicating whether the instance’s representation is in
         *  
         * its canonical form.
         */
        isCanonical: boolean;
        /**
         * The classification of this value.
         */
        floatingPointClass: FloatingPointClassification;
        /**
         * A textual representation of the value.
         */
        description: string;
        /**
         * A textual representation of the value, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The value of the conforming type’s instance wrapped in a data value.
         */
        dataValue: MLDataValue;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * Creates a new value, rounded to the closest possible representation.
         */
        constructor (value: Source);
        /**
         * Creates a new value from the given sign, exponent, and significand.
         */
        constructor (sign: FloatingPointSign, exponent: number, significand: number);
        /**
         * Creates a new floating-point value using the sign of one value and the
         *  
         * magnitude of another.
         */
        constructor (sign: number, mag: number);
        constructor (_number: NSNumber);
        /**
         * Creates a new instance from the given value, if it can be represented
         *  
         * exactly.
         */
        constructor (value: Source);
        /**
         * Creates a new value with the given bit pattern.
         */
        constructor (bitPattern: UInt64);
        /**
         * Creates a new instance from the specified sign and bit patterns.
         */
        constructor (sign: FloatingPointSign, exponentBitPattern: number, significandBitPattern: UInt64);
        /**
         * Creates a NaN (“not a number”) value with the specified payload.
         */
        constructor (payload: Double.RawSignificand, signaling: boolean);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        constructor ();
        /**
         * Creates an instance initialized to the specified floating-point value.
         */
        constructor (value: number);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Int64);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: Range<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the lesser of the two given values.
         */
        static minimum(x: Self, y: Self):Self;
        /**
         * Returns the value with lesser magnitude.
         */
        static minimumMagnitude(x: Self, y: Self):Self;
        /**
         * Returns the greater of the two given values.
         */
        static maximum(x: Self, y: Self):Self;
        /**
         * Returns the value with greater magnitude.
         */
        static maximumMagnitude(x: Self, y: Self):Self;
        /**
         * Returns the result of adding the product of the two given values to this
         *  
         * value, computed without intermediate rounding.
         */
        addingProduct(lhs: Self, rhs: Self):Self;
        /**
         * Adds the product of the two given values to this value in place, computed
         *  
         * without intermediate rounding.
         */
        addProduct(lhs: number, rhs: number):void;
        /**
         * Returns the square root of the value, rounded to a representable value.
         */
        squareRoot():Self;
        /**
         * Replaces this value with its square root, rounded to a representable
         *  
         * value.
         */
        formSquareRoot():void;
        /**
         * Returns the remainder of this value divided by the given value.
         */
        remainder(other: Self):Self;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value.
         */
        formRemainder(other: number):void;
        /**
         * Returns the remainder of this value divided by the given value using
         *  
         * truncating division.
         */
        truncatingRemainder(other: Self):Self;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value using truncating division.
         */
        formTruncatingRemainder(other: number):void;
        /**
         * Multiplies each component of this value by the given value.
         */
        scale(rhs: number):void;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
        rounded():Self;
        round():void;
        /**
         * Returns a Boolean value indicating whether this instance is equal to the
         *  
         * given value.
         */
        isEqual(other: number):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than the
         *  
         * given value.
         */
        isLess(other: number):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than or
         *  
         * equal to the given value.
         */
        isLessThanOrEqualTo(other: number):boolean;
        /**
         * Returns a Boolean value indicating whether this instance should precede
         *  
         * or tie positions with the given value in an ascending sort.
         */
        isTotallyOrdered(other: Self):boolean;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(amount: number):number;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: number):number;
        /**
         * Writes a textual representation of this instance into the given output
         *  
         * stream.
         */
        write<Target>(target: Target):void;
    }
    /**
     * the same name namespace of class Double
     */
    export namespace Double {
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class SIMD2 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * The first element of the vector.
         */
        x: Scalar;
        /**
         * The second element of the vector.
         */
        y: Scalar;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of floating-point values.
         */
        constructor (other: SIMD2<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD2<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD2<Other>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD2<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (x: Scalar, y: Scalar);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest element in the vector.
         */
        max():Self.Scalar;
        /**
         * The least scalar in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMD3 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * The first element of the vector.
         */
        x: Scalar;
        /**
         * The second element of the vector.
         */
        y: Scalar;
        /**
         * The third element of the vector.
         */
        z: Scalar;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of integers.
         */
        constructor (other: SIMD3<Other>);
        /**
         * A three-element vector created by appending a scalar to a two-element vector.
         */
        constructor (xy: SIMD2<Scalar>, z: Scalar);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar, v2: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD3<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD3<Other>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD3<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (x: Scalar, y: Scalar, z: Scalar);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest element in the vector.
         */
        max():Self.Scalar;
        /**
         * The least scalar in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMD4 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * A half-length vector made up of the even elements of the vector.
         */
        evenHalf: SIMD2<Scalar>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A half-length vector made up of the high elements of the vector.
         */
        highHalf: SIMD2<Scalar>;
        /**
         * A half-length vector made up of the low elements of the vector.
         */
        lowHalf: SIMD2<Scalar>;
        /**
         * A half-length vector made up of the odd elements of the vector.
         */
        oddHalf: SIMD2<Scalar>;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * The fourth element of the vector.
         */
        w: Scalar;
        /**
         * The first element of the vector.
         */
        x: Scalar;
        /**
         * The second element of the vector.
         */
        y: Scalar;
        /**
         * The third element of the vector.
         */
        z: Scalar;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of integers.
         */
        constructor (other: SIMD4<Other>);
        /**
         * A four-element vector created by appending a scalar to a three-element vector.
         */
        constructor (xyz: SIMD3<Scalar>, w: Scalar);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar, v2: Scalar, v3: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD4<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD4<Other>);
        /**
         * Creates a new vector from two half-length vectors.
         */
        constructor (lowHalf: SIMD2<Scalar>, highHalf: SIMD2<Scalar>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD4<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (x: Scalar, y: Scalar, z: Scalar, w: Scalar);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest element in the vector.
         */
        max():Self.Scalar;
        /**
         * The least scalar in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMD8 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * A half-length vector made up of the even elements of the vector.
         */
        evenHalf: SIMD4<Scalar>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A half-length vector made up of the high elements of the vector.
         */
        highHalf: SIMD4<Scalar>;
        /**
         * A half-length vector made up of the low elements of the vector.
         */
        lowHalf: SIMD4<Scalar>;
        /**
         * A half-length vector made up of the odd elements of the vector.
         */
        oddHalf: SIMD4<Scalar>;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of floating-point values.
         */
        constructor (other: SIMD8<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar, v2: Scalar, v3: Scalar, v4: Scalar, v5: Scalar, v6: Scalar, v7: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD8<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD8<Other>);
        /**
         * Creates a new vector from two half-length vectors.
         */
        constructor (lowHalf: SIMD4<Scalar>, highHalf: SIMD4<Scalar>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD8<Other>);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest element in the vector.
         */
        max():Self.Scalar;
        /**
         * The least scalar in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMD16 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * A half-length vector made up of the even elements of the vector.
         */
        evenHalf: SIMD8<Scalar>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A half-length vector made up of the high elements of the vector.
         */
        highHalf: SIMD8<Scalar>;
        /**
         * A half-length vector made up of the low elements of the vector.
         */
        lowHalf: SIMD8<Scalar>;
        /**
         * A half-length vector made up of the odd elements of the vector.
         */
        oddHalf: SIMD8<Scalar>;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of floating-point values.
         */
        constructor (other: SIMD16<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar, v2: Scalar, v3: Scalar, v4: Scalar, v5: Scalar, v6: Scalar, v7: Scalar, v8: Scalar, v9: Scalar, v10: Scalar, v11: Scalar, v12: Scalar, v13: Scalar, v14: Scalar, v15: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD16<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD16<Other>);
        /**
         * Creates a new vector from two half-length vectors.
         */
        constructor (lowHalf: SIMD8<Scalar>, highHalf: SIMD8<Scalar>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD16<Other>);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: Range<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self.Scalar, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest scalar in the vector.
         */
        max():Self.Scalar;
        /**
         * The least element in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMD32 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * A half-length vector made up of the even elements of the vector.
         */
        evenHalf: SIMD16<Scalar>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A half-length vector made up of the high elements of the vector.
         */
        highHalf: SIMD16<Scalar>;
        /**
         * A half-length vector made up of the low elements of the vector.
         */
        lowHalf: SIMD16<Scalar>;
        /**
         * A half-length vector made up of the odd elements of the vector.
         */
        oddHalf: SIMD16<Scalar>;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of floating-point values.
         */
        constructor (other: SIMD32<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar, v2: Scalar, v3: Scalar, v4: Scalar, v5: Scalar, v6: Scalar, v7: Scalar, v8: Scalar, v9: Scalar, v10: Scalar, v11: Scalar, v12: Scalar, v13: Scalar, v14: Scalar, v15: Scalar, v16: Scalar, v17: Scalar, v18: Scalar, v19: Scalar, v20: Scalar, v21: Scalar, v22: Scalar, v23: Scalar, v24: Scalar, v25: Scalar, v26: Scalar, v27: Scalar, v28: Scalar, v29: Scalar, v30: Scalar, v31: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD32<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD32<Other>);
        /**
         * Creates a new vector from two half-length vectors.
         */
        constructor (lowHalf: SIMD16<Scalar>, highHalf: SIMD16<Scalar>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD32<Other>);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: Range<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self.Scalar, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest scalar in the vector.
         */
        max():Self.Scalar;
        /**
         * The least element in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMD64 {
        /**
         * A vector with one in all lanes.
         */
        static one: Self;
        /**
         * A vector with zero in all lanes.
         */
        static zero: Self;
        /**
         * A half-length vector made up of the even elements of the vector.
         */
        evenHalf: SIMD32<Scalar>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A half-length vector made up of the high elements of the vector.
         */
        highHalf: SIMD32<Scalar>;
        /**
         * A half-length vector made up of the low elements of the vector.
         */
        lowHalf: SIMD32<Scalar>;
        /**
         * A half-length vector made up of the odd elements of the vector.
         */
        oddHalf: SIMD32<Scalar>;
        /**
         * The number of scalars in the vector.
         */
        scalarCount: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        leadingZeroBitCount: Self;
        nonzeroBitCount: Self;
        trailingZeroBitCount: Self;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a new vector from the given vector of floating-point values.
         */
        constructor (other: SIMD64<Other>);
        /**
         * Creates a new vector from the given elements.
         */
        constructor (v0: Scalar, v1: Scalar, v2: Scalar, v3: Scalar, v4: Scalar, v5: Scalar, v6: Scalar, v7: Scalar, v8: Scalar, v9: Scalar, v10: Scalar, v11: Scalar, v12: Scalar, v13: Scalar, v14: Scalar, v15: Scalar, v16: Scalar, v17: Scalar, v18: Scalar, v19: Scalar, v20: Scalar, v21: Scalar, v22: Scalar, v23: Scalar, v24: Scalar, v25: Scalar, v26: Scalar, v27: Scalar, v28: Scalar, v29: Scalar, v30: Scalar, v31: Scalar, v32: Scalar, v33: Scalar, v34: Scalar, v35: Scalar, v36: Scalar, v37: Scalar, v38: Scalar, v39: Scalar, v40: Scalar, v41: Scalar, v42: Scalar, v43: Scalar, v44: Scalar, v45: Scalar, v46: Scalar, v47: Scalar, v48: Scalar, v49: Scalar, v50: Scalar, v51: Scalar, v52: Scalar, v53: Scalar, v54: Scalar, v55: Scalar, v56: Scalar, v57: Scalar, v58: Scalar, v59: Scalar, v60: Scalar, v61: Scalar, v62: Scalar, v63: Scalar);
        /**
         * Creates a new vector from the given vector, rounding the given vector’s
         *  
         * of elements using the specified rounding rule.
         */
        constructor (other: SIMD64<Other>, rule: FloatingPointRoundingRule);
        /**
         * Creates a new vector from the given vector, clamping the values of the
         *  
         * given vector’s elements if necessary.
         */
        constructor (other: SIMD64<Other>);
        /**
         * Creates a new vector from two half-length vectors.
         */
        constructor (lowHalf: SIMD32<Scalar>, highHalf: SIMD32<Scalar>);
        /**
         * Creates a new vector from the given vector, truncating the bit patterns
         *  
         * of the given vector’s elements if necessary.
         */
        constructor (other: SIMD64<Other>);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes.
         */
        static random(range: ClosedRange<Self.Scalar>):Self;
        /**
         * Returns a vector with random values from within the specified range in
         *  
         * all lanes, using the given generator as a source for randomness.
         */
        static random<T>(range: Range<Self.Scalar>, generator: T):RandomNumberGenerator;
        addProduct(a: Self.Scalar, b: Self):void;
        addingProduct(a: Self, b: Self.Scalar):Self;
        clamp(lowerBound: Self, upperBound: Self):void;
        clamped(lowerBound: Self, upperBound: Self):Self;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        formSquareRoot():void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * The greatest scalar in the vector.
         */
        max():Self.Scalar;
        /**
         * The least element in the vector.
         */
        min():Self.Scalar;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: Self, mask: SIMDMask<Self.MaskStorage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: Self, mask: SIMDMask<Self.MaskStorage>):Self;
        round(rule: FloatingPointRoundingRule):void;
        /**
         * A vector formed by rounding each lane of the source vector to an integral
         *  
         * value according to the specified rounding 
         * .
         */
        rounded(rule: FloatingPointRoundingRule):Self;
        squareRoot():Self;
        /**
         * The sum of the scalars in the vector.
         */
        sum():Self.Scalar;
        /**
         * Returns the sum of the scalars in the vector, computed with wrapping
         *  
         * addition.
         */
        wrappedSum():Self.Scalar;
    }
    export class SIMDMask {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The number of scalars, or elements, in the vector.
         */
        scalarCount: number;
        /**
         * A textual description of the vector.
         */
        description: string;
        /**
         * The valid indices for subscripting the vector.
         */
        indices: Range<Int>;
        /**
         * Creates a vector with zero in all lanes.
         */
        constructor ();
        /**
         * Creates a vector from the given sequence.
         */
        constructor (scalars: S);
        /**
         * Creates a vector from the specified elements.
         */
        constructor (...scalars: Self.Scalar);
        /**
         * Creates a new vector by decoding scalars from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * A vector with the specified value in all lanes.
         */
        constructor (value: Self.Scalar);
        /**
         * Returns a vector mask with 
         *  or 
         *  randomly assigned in each
         *  
         * lane.
         */
        static random():SIMDMask<Storage>;
        /**
         * Returns a vector mask with 
         *  or 
         *  randomly assigned in each
         *  
         * lane, using the given generator as a source for randomness.
         */
        static random<T>(generator: T):RandomNumberGenerator;
        /**
         * Replaces elements of this vector with elements of 
         *  in the lanes
         *  
         * where 
         *  is 
         * .
         */
        replace(other: SIMDMask<Storage>, mask: SIMDMask<Storage>):void;
        /**
         * Returns a copy of this vector, with elements replaced by elements of
         *  
         *  in the lanes where 
         *  is 
         * .
         */
        replacing(other: SIMDMask<Storage>, mask: SIMDMask<Storage>):SIMDMask<Storage>;
        /**
         * Encodes the scalars of this vector into the given encoder in an unkeyed
         *  
         * container.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the elements of the vector using the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class SystemRandomNumberGenerator {
        /**
         * Creates a new instance of the system’s default random number generator.
         */
        constructor ();
        /**
         * Returns a value from a uniform, independent distribution of binary data.
         */
        next():UInt64;
        /**
         * Returns a value from a uniform, independent distribution of binary data.
         */
        next<T>():UnsignedInteger;
    }
    export class Character {
        unicodeScalars: Character.UnicodeScalarView;
        /**
         * A Boolean value indicating whether this is an ASCII character.
         */
        isASCII: boolean;
        /**
         * The ASCII encoding value of this character, if it is an ASCII character.
         */
        asciiValue: UInt8 | null;
        /**
         * A Boolean value indicating whether this character is a letter.
         */
        isLetter: boolean;
        /**
         * A Boolean value indicating whether this character represents punctuation.
         */
        isPunctuation: boolean;
        /**
         * A Boolean value indicating whether this character represents a newline.
         */
        isNewline: boolean;
        /**
         * A Boolean value indicating whether this character represents whitespace,
         *  
         * including newlines.
         */
        isWhitespace: boolean;
        /**
         * A Boolean value indicating whether this character represents a symbol.
         */
        isSymbol: boolean;
        /**
         * A Boolean value indicating whether this character represents a symbol
         *  
         * that naturally appears in mathematical contexts.
         */
        isMathSymbol: boolean;
        /**
         * A Boolean value indicating whether this character represents a currency
         *  
         * symbol.
         */
        isCurrencySymbol: boolean;
        /**
         * A Boolean value indicating whether this character changes under any form
         *  
         * of case conversion.
         */
        isCased: boolean;
        /**
         * A Boolean value indicating whether this character is considered uppercase.
         */
        isUppercase: boolean;
        /**
         * A Boolean value indicating whether this character is considered lowercase.
         */
        isLowercase: boolean;
        /**
         * A Boolean value indicating whether this character represents a number.
         */
        isNumber: boolean;
        /**
         * A Boolean value indicating whether this character represents a whole
         *  
         * number.
         */
        isWholeNumber: boolean;
        /**
         * The numeric value this character represents, if it represents a whole
         *  
         * number.
         */
        wholeNumberValue: number;
        /**
         * A Boolean value indicating whether this character represents a
         *  
         * hexadecimal digit.
         */
        isHexDigit: boolean;
        /**
         * The numeric value this character represents, if it is a hexadecimal digit.
         */
        hexDigitValue: number;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A textual representation of the character, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * A UTF-16 encoding of 
         * .
         */
        utf16: Character.UTF16View;
        /**
         * A UTF-8 encoding of 
         * .
         */
        utf8: Character.UTF8View;
        /**
         * The hash value.
         */
        hashValue: number;
        regex: Regex<Character.Output>;
        /**
         * Creates a character from a single-character string.
         */
        constructor (s: string);
        /**
         * Creates a character with the specified value.
         */
        constructor (value: Character);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Writes the character into the given output stream.
         */
        write<Target>(target: Target):void;
        /**
         * Returns an uppercased version of this character.
         */
        uppercased():string;
        /**
         * Returns a lowercased version of this character.
         */
        lowercased():string;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class Regex {
        regex: Regex<Output>;
        constructor (content: ()=>any);
        /**
         * Creates a strongly-typed regex from a type-erased regex.
         */
        constructor (erased: Regex<AnyRegexOutput>, as: Output.Type);
        constructor (_string: string);
        /**
         * Produces a regex that matches 
         *  exactly, as though every
         *  
         * metacharacter in it was escaped.
         */
        constructor (verbatim: string);
        /**
         * Returns a regular expression where the start and end of input
         *  
         * anchors (
         *  and 
         * ) also match against the start and end of a line.
         */
        anchorsMatchLineEndings(matchLineEndings: boolean):any;
        /**
         * Returns a regular expression that matches only ASCII characters when
         *  
         * matching character classes.
         */
        asciiOnlyCharacterClasses(useASCII: boolean):any;
        /**
         * Returns a regular expression that matches only ASCII characters as digits.
         */
        asciiOnlyDigits(useASCII: boolean):any;
        /**
         * Returns a regular expression that matches only ASCII characters as space
         *  
         * characters.
         */
        asciiOnlyWhitespace(useASCII: boolean):any;
        /**
         * Returns a regular expression that matches only ASCII characters as word
         *  
         * characters.
         */
        asciiOnlyWordCharacters(useASCII: boolean):any;
        /**
         * Returns whether a named-capture with 
         *  exists
         */
        contains(name: string):boolean;
        /**
         * Returns a regular expression where the start and end of input
         *  
         * anchors (
         *  and 
         * ) also match against the start and end of a line.
         */
        dotMatchesNewlines(dotMatchesNewlines: boolean):any;
        /**
         * Finds the first match in a substring.
         */
        firstMatch(s: Substring):any;
        /**
         * Returns a regular expression that ignores case when matching.
         */
        ignoresCase(ignoresCase: boolean):any;
        /**
         * Returns a regular expression that matches with the specified semantic
         *  
         * level.
         */
        matchingSemantics(semanticLevel: RegexSemanticLevel):any;
        /**
         * Matches part of a substring, starting at its beginning.
         */
        prefixMatch(s: Substring):any;
        /**
         * Returns a regular expression where quantifiers use the specified behavior
         *  
         * by default.
         */
        repetitionBehavior(behavior: RegexRepetitionBehavior):any;
        /**
         * Matches a substring in its entirety.
         */
        wholeMatch(s: Substring):any;
        /**
         * Returns a regular expression that uses the specified word boundary algorithm.
         */
        wordBoundaryKind(wordBoundaryKind: RegexWordBoundaryKind):any;
    }
    /**
     * the same name namespace of class Regex
     */
    export namespace Regex {
        export class Match {
            /**
             * The output produced from the match operation.
             */
            output: Output;
            /**
             * The range of the overall match.
             */
            range: Range<String.Index>;
            /**
             * Creates a type-erased regex match from an existing match.
             */
            constructor (match: any);
        }
    }
    export class RegexRepetitionBehavior {
        /**
         * Match as much of the input string as possible, backtracking when
         *  
         * necessary.
         */
        static eager: RegexRepetitionBehavior;
        /**
         * Match as much of the input string as possible, performing no backtracking.
         */
        static possessive: RegexRepetitionBehavior;
        /**
         * Match as little of the input string as possible, expanding the matched
         *  
         * region as necessary to complete a match.
         */
        static reluctant: RegexRepetitionBehavior;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class RegexSemanticLevel {
        /**
         * Match at the character level.
         */
        static graphemeCluster: RegexSemanticLevel;
        /**
         * Match at the Unicode scalar level.
         */
        static unicodeScalar: RegexSemanticLevel;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class RegexWordBoundaryKind {
        /**
         * A word boundary algorithm that implements the “default word boundary”
         *  
         * Unicode recommendation.
         */
        static default: RegexWordBoundaryKind;
        /**
         * A word boundary algorithm that implements the “simple word boundary”
         *  
         * Unicode recommendation.
         */
        static simple: RegexWordBoundaryKind;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class AnyRegexOutput {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a type-erased regex output from an existing match.
         */
        constructor (match: any);
        /**
         * Returns a strongly-typed output by converting type-erased values to the specified type.
         */
        extractValues<Output>(type: Output.Type):Output | null;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Returns an index that is the specified distance from the given index,
         *  
         * unless that distance is beyond a given limiting index.
         */
        index(i: Self.Index, distance: number, limit: Self.Index):Self.Index | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class AnyRegexOutput
     */
    export namespace AnyRegexOutput {
        export class Element {
            /**
             * The name of this capture, if it has one, otherwise 
             * .
             */
            name: string;
            /**
             * The range over which a value was captured. 
             *  for no-capture.
             */
            range: Range<String.Index> | null;
            /**
             * The slice of the input over which a value was captured. 
             *  for no-capture.
             */
            substring: Substring | null;
            type: Any.Type;
            /**
             * The captured value, 
             *  for no-capture.
             */
            value: any;
        }
    }
    export enum Unicode {}
    export enum UnicodeDecodingResult {}
    export class StaticString {
        /**
         * A Boolean value that indicates whether the static string stores a
         *  
         * pointer to a null-terminated sequence of UTF-8 code units.
         */
        hasPointerRepresentation: boolean;
        /**
         * A Boolean value that indicates whether the static string represents only
         *  
         * ASCII code units (or an ASCII scalar value).
         */
        isASCII: boolean;
        /**
         * A single Unicode scalar value.
         */
        unicodeScalar: Unicode.Scalar;
        /**
         * The number of UTF-8 code units (excluding the null terminator).
         */
        utf8CodeUnitCount: number;
        /**
         * A pointer to a null-terminated sequence of UTF-8 code units.
         */
        utf8Start: UnsafePointer<UInt8>;
        /**
         * A textual representation of the static string, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of the static string.
         */
        description: string;
        /**
         * Creates an empty static string.
         */
        constructor ();
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        /**
         * Creates an instance initialized to the value of a string literal.
         */
        constructor (value: StaticString);
        /**
         * Creates an instance initialized to a single Unicode scalar.
         */
        constructor (value: StaticString);
        /**
         * Invokes the given closure with a buffer containing the static string’s
         *  
         * UTF-8 code unit sequence (excluding the null terminator).
         */
        withUTF8Buffer<R>(body: ()=>any):R;
    }
    export class Range {
        /**
         * A Boolean value indicating whether the range contains no elements.
         */
        isEmpty: boolean;
        /**
         * The range’s lower bound.
         */
        lowerBound: Bound;
        /**
         * The range’s upper bound.
         */
        upperBound: Bound;
        /**
         * A textual representation of the range.
         */
        description: string;
        /**
         * A textual representation of the range, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The indices that are valid for subscripting the range, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        constructor (range: NSRange, _string: string);
        constructor (range: NSRange);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance with the given bounds.
         */
        constructor (bounds: any);
        /**
         * Returns a requirement for a version range, starting at the given minimum
         *  
         * version and going up to the next major version. This is the recommended version requirement.
         */
        static upToNextMajor(version: Version):Version;
        /**
         * Returns a requirement for a version range, starting at the given minimum
         *  
         * version and going up to the next minor version.
         */
        static upToNextMinor(version: Version):Version;
        /**
         * Returns the range of indices described by this range expression within
         *  
         * the given collection.
         */
        relative<C>(collection: C):Collection;
        /**
         * Returns a Boolean value indicating whether the given element is contained
         *  
         * within the range.
         */
        contains(element: Bound):boolean;
        /**
         * Returns a copy of this range clamped to the given limiting range.
         */
        clamped(limits: Range<Bound>):Range<Bound>;
        /**
         * Returns a Boolean value indicating whether this range and the given range
         *  
         * contain an element in common.
         */
        overlaps(other: Range<Bound>):boolean;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Formats the date range as an interval.
         */
        formatted():string;
        /**
         * Formats the date range using the specified style.
         */
        formatted<S>(style: S):Range<Date>;
        /**
         * Returns the position immediately before the given index.
         */
        index(i: any):any;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
    }
    export class ClosedRange {
        /**
         * A Boolean value indicating whether the range contains no elements.
         */
        isEmpty: boolean;
        /**
         * The range’s lower bound.
         */
        lowerBound: Bound;
        /**
         * The range’s upper bound.
         */
        upperBound: Bound;
        /**
         * A textual representation of the range.
         */
        description: string;
        /**
         * A textual representation of the range, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The range’s “past the end” position—that is, the position one greater
         *  
         * than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The position of the first element in the range.
         */
        startIndex: any;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance with the given bounds.
         */
        constructor (bounds: any);
        /**
         * Creates an instance equivalent to the given 
         * .
         */
        constructor (other: Range<Bound>);
        /**
         * Returns the range of indices described by this range expression within
         *  
         * the given collection.
         */
        relative<C>(collection: C):Collection;
        /**
         * Returns a Boolean value indicating whether the given element is contained
         *  
         * within the range.
         */
        contains(element: Bound):boolean;
        /**
         * Returns a copy of this range clamped to the given limiting range.
         */
        clamped(limits: ClosedRange<Bound>):ClosedRange<Bound>;
        overlaps(other: Range<Bound>):boolean;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Returns the position immediately before the given index.
         */
        index(i: any):any;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
    }
    /**
     * the same name namespace of class ClosedRange
     */
    export namespace ClosedRange {
        export enum Index {}
    }
    export class CollectionOfOne {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the collection, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * The “past the end” position—that is, the position one greater than the
         *  
         * last valid subscript argument.
         */
        endIndex: any;
        /**
         * The position of the first element.
         */
        startIndex: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates an instance containing just the given element.
         */
        constructor (element: Element);
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of this collection.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class CollectionOfOne
     */
    export namespace CollectionOfOne {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():Element | null;
        }
    }
    export class EmptyCollection {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements (always zero).
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: EmptyCollection<Data>;
        /**
         * Always zero, just like 
         * .
         */
        endIndex: any;
        /**
         * Always zero, just like 
         * .
         */
        startIndex: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates an instance.
         */
        constructor ();
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<R>(body: R):R;
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):void;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * The distance between two indexes (always zero).
         */
        distance(start: any, end: any):number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an empty iterator.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class EmptyCollection
     */
    export namespace EmptyCollection {
        export class Iterator {
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Creates an instance.
             */
            constructor ();
            /**
             * Returns 
             * , indicating that there are no more elements.
             */
            next():Element | null;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class KeyValuePairs {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A string that represents the contents of the dictionary, suitable for
         *  
         * debugging.
         */
        debugDescription: string;
        /**
         * A string that represents the contents of the dictionary.
         */
        description: string;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a new 
         *  instance from the given dictionary
         *  
         * literal.
         */
        constructor (...elements: any);
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns an index that is the specified distance from the given index,
         *  
         * unless that distance is beyond a given limiting index.
         */
        index(i: Self.Index, distance: number, limit: Self.Index):Self.Index | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class Slice {
        /**
         * The underlying collection of the slice.
         */
        base: Base;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: Base.Regions.Element.SubSequence[];
        /**
         * Identical to 
         * .
         */
        elements: Self;
        lazy: Self.Elements;
        /**
         * Creates a view into the given collection that allows access to elements
         *  
         * within the specified range.
         */
        constructor (base: Base, bounds: Range<Base.Index>);
        /**
         * Creates a new, empty collection.
         */
        constructor ();
        /**
         * Creates a new instance of a collection containing the elements of a
         *  
         * sequence.
         */
        constructor (elements: S);
        /**
         * Creates a new collection containing the specified number of a single,
         *  
         * repeated value.
         */
        constructor (repeatedValue: Self.Element, count: number);
        insert(newElement: Base.Element, i: any):void;
        insert<S>(newElements: S, i: any):void;
        remove(i: any):Base.Element;
        removeSubrange(bounds: any):void;
        replaceSubrange<C>(subRange: any, newElements: C):void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: any):void;
        /**
         * Returns the position immediately before the given index.
         */
        index(i: any):any;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<ResultType>(body: ResultType):ResultType;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):R.Bound;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Adds an element to the end of the collection.
         */
        append(newElement: Self.Element):void;
        /**
         * Adds the elements of a sequence or collection to the end of this
         *  
         * collection.
         */
        append<S>(newElements: S):void;
        /**
         * Applies the given difference to this collection.
         */
        applying(difference: CollectionDifference<Self.Element>):Self | null;
        /**
         * Inserts the elements of a sequence into the collection at the specified
         *  
         * position.
         */
        insert<C>(newElements: C, i: Self.Index):void;
        /**
         * Removes all elements from the collection.
         */
        removeAll(keepCapacity: boolean):void;
        /**
         * Removes the elements in the specified subrange from the collection.
         */
        removeSubrange<R>(bounds: R):void;
        /**
         * Replaces the specified subrange of elements with the given collection.
         */
        replaceSubrange<C, R>(subrange: R, newElements: C):void;
        /**
         * Prepares the collection to store the specified number of elements, when
         *  
         * doing so is appropriate for the underlying type.
         */
        reserveCapacity(n: number):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class PartialRangeUpTo {
        upperBound: Bound;
        constructor (upperBound: Bound);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Returns a Boolean value indicating whether the given element is contained
         *  
         * within the range expression.
         */
        contains(element: Bound):boolean;
        /**
         * Returns the range of indices described by this range expression within
         *  
         * the given collection.
         */
        relative<C>(collection: C):Collection;
    }
    export class PartialRangeThrough {
        upperBound: Bound;
        constructor (upperBound: Bound);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Returns a Boolean value indicating whether the given element is contained
         *  
         * within the range expression.
         */
        contains(element: Bound):boolean;
        /**
         * Returns the range of indices described by this range expression within
         *  
         * the given collection.
         */
        relative<C>(collection: C):Collection;
    }
    export class PartialRangeFrom {
        lowerBound: Bound;
        constructor (lowerBound: Bound);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Returns a Boolean value indicating whether the given element is contained
         *  
         * within the range expression.
         */
        contains(element: Bound):boolean;
        /**
         * Returns the range of indices described by this range expression within
         *  
         * the given collection.
         */
        relative<C>(collection: C):Collection;
        /**
         * Returns an iterator for this sequence.
         */
        makeIterator():any;
    }
    /**
     * the same name namespace of class PartialRangeFrom
     */
    export namespace PartialRangeFrom {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next
             *  
             * element exists.
             */
            next():Bound | null;
        }
    }
    export enum UnboundedRange_ {}
    export class AnySequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Creates a sequence whose 
         *  method forwards to
         *  
         * .
         */
        constructor (makeUnderlyingIterator: ()=>any);
        drop(predicate: Bool):AnySequence<Element>;
        dropFirst(n: number):AnySequence<Element>;
        dropLast(n: number):Element[];
        filter(isIncluded: Bool):Element[];
        forEach(body: Void):void;
        map<T>(transform: T):T[];
        prefix(maxLength: number):AnySequence<Element>;
        suffix(maxLength: number):Element[];
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class AnyCollection {
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a non-empty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates an 
         *  having the same underlying collection as 
         * .
         */
        constructor (other: AnyCollection<Element>);
        drop(predicate: Bool):AnyCollection<Element>;
        dropFirst(n: number):AnyCollection<Element>;
        dropLast(n: number):AnyCollection<Element>;
        filter(isIncluded: Bool):Element[];
        forEach(body: Void):void;
        formIndex(i: any, n: number):void;
        map<T>(transform: T):T[];
        prefix(maxLength: number):AnyCollection<Element>;
        suffix(maxLength: number):AnyCollection<Element>;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: any, n: number):any;
        /**
         * Returns an iterator over the elements of this collection.
         */
        makeIterator():any;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class AnyBidirectionalCollection {
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The position of the first element in a non-empty collection.
         */
        startIndex: any;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates an 
         *  having the same underlying collection as 
         * .
         */
        constructor (other: AnyCollection<Element>);
        drop(predicate: Bool):AnyBidirectionalCollection<Element>;
        dropFirst(n: number):AnyBidirectionalCollection<Element>;
        dropLast(n: number):AnyBidirectionalCollection<Element>;
        filter(isIncluded: Bool):Element[];
        forEach(body: Void):void;
        formIndex(i: any, n: number):void;
        map<T>(transform: T):T[];
        prefix(maxLength: number):AnyBidirectionalCollection<Element>;
        suffix(maxLength: number):AnyBidirectionalCollection<Element>;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: any, n: number):any;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of this collection.
         */
        makeIterator():any;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class AnyRandomAccessCollection {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The position of the first element in a non-empty collection.
         */
        startIndex: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a type-erased collection that wraps the given collection.
         */
        constructor (base: C);
        drop(predicate: Bool):AnyRandomAccessCollection<Element>;
        dropFirst(n: number):AnyRandomAccessCollection<Element>;
        dropLast(n: number):AnyRandomAccessCollection<Element>;
        filter(isIncluded: Bool):Element[];
        forEach(body: Void):void;
        formIndex(i: any, n: number):void;
        map<T>(transform: T):T[];
        prefix(maxLength: number):AnyRandomAccessCollection<Element>;
        suffix(maxLength: number):AnyRandomAccessCollection<Element>;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of this collection.
         */
        makeIterator():any;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class AnyIterator {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Creates an iterator that wraps a base iterator but whose type depends
         *  
         * only on the base iterator’s element type.
         */
        constructor (base: I);
        /**
         * Advances to the next element and returns it, or 
         *  if no next element
         *  
         * exists.
         */
        next():Element | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():Self;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class AnyIndex {
        /**
         * Creates a new index wrapping 
         * .
         */
        constructor (base: BaseIndex);
    }
    export class AnyHashable {
        /**
         * The value wrapped by this instance.
         */
        base: any;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a type-erased hashable value that wraps the given instance.
         */
        constructor (base: H);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class LazySequence {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a non-empty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        lazy: LazyCollection<Self.Elements>;
        /**
         * Identical to 
         * .
         */
        elements: Self;
        /**
         * Returns a lazy sequence where the elements of the result are computed each time they
         *  
         * are read by calling transform function on the annotation of an annotated feature.
         */
        mapAnnotations<Feature, Input, Output>(transform: ()=>any):any;
        /**
         * Returns a lazy sequence where the elements of the result are computed each time they
         *  
         * are read by calling transform function on the feature of an annotated feature.
         */
        mapFeatures<Input, Output, Annotation>(transform: ()=>any):any;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence from the start of the collection through the
         *  
         * specified position.
         */
        prefix(position: Self.Index):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a subsequence from the specified position to the end of the
         *  
         * collection.
         */
        suffix(start: Self.Index):Self.SubSequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a lazy sequence that skips any initial elements that satisfy
         *  
         * .
         */
        drop(predicate: ()=>any):LazyDropWhileSequence<Self.Elements>;
        /**
         * Returns the elements of 
         *  that satisfy 
         * .
         */
        filter(isIncluded: ()=>any):LazyFilterSequence<Self.Elements>;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class LazyMapSequence {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: Base.Index;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: Base.Index;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        lazy: Self.Elements;
        /**
         * Identical to 
         * .
         */
        elements: Self;
        map<ElementOfResult>(transform: ()=>any):any;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: any):void;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence from the start of the collection through the
         *  
         * specified position.
         */
        prefix(position: Self.Index):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a subsequence from the specified position to the end of the
         *  
         * collection.
         */
        suffix(start: Self.Index):Self.SubSequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a lazy sequence that skips any initial elements that satisfy
         *  
         * .
         */
        drop(predicate: ()=>any):LazyDropWhileSequence<Self.Elements>;
        /**
         * Returns the elements of 
         *  that satisfy 
         * .
         */
        filter(isIncluded: ()=>any):LazyFilterSequence<Self.Elements>;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class LazyMapSequence
     */
    export namespace LazyMapSequence {
        export class Iterator {
            base: Base.Iterator;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():Element | null;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class LazyFilterSequence {
        underestimatedCount: number;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a non-empty collection.
         */
        startIndex: any;
        lazy: LazyCollection<Self.Elements>;
        /**
         * Identical to 
         * .
         */
        elements: Self;
        filter(isIncluded: ()=>any):LazyFilterSequence<Base>;
        formIndex(i: any, n: number):void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence from the start of the collection through the
         *  
         * specified position.
         */
        prefix(position: Self.Index):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a subsequence from the specified position to the end of the
         *  
         * collection.
         */
        suffix(start: Self.Index):Self.SubSequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a lazy sequence that skips any initial elements that satisfy
         *  
         * .
         */
        drop(predicate: ()=>any):LazyDropWhileSequence<Self.Elements>;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class LazyFilterSequence
     */
    export namespace LazyFilterSequence {
        export class Iterator {
            /**
             * The underlying iterator whose elements are being filtered.
             */
            base: Base.Iterator;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class LazyPrefixWhileSequence {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        lazy: LazyCollection<Self.Elements>;
        /**
         * Identical to 
         * .
         */
        elements: Self;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence from the start of the collection through the
         *  
         * specified position.
         */
        prefix(position: Self.Index):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a subsequence from the specified position to the end of the
         *  
         * collection.
         */
        suffix(start: Self.Index):Self.SubSequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a lazy sequence that skips any initial elements that satisfy
         *  
         * .
         */
        drop(predicate: ()=>any):LazyDropWhileSequence<Self.Elements>;
        /**
         * Returns the elements of 
         *  that satisfy 
         * .
         */
        filter(isIncluded: ()=>any):LazyFilterSequence<Self.Elements>;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class LazyPrefixWhileSequence
     */
    export namespace LazyPrefixWhileSequence {
        export class Index {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Iterator {
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class LazyDropWhileSequence {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        lazy: Self.Elements;
        /**
         * Identical to 
         * .
         */
        elements: Self;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence from the start of the collection through the
         *  
         * specified position.
         */
        prefix(position: Self.Index):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a subsequence from the specified position to the end of the
         *  
         * collection.
         */
        suffix(start: Self.Index):Self.SubSequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a lazy sequence that skips any initial elements that satisfy
         *  
         * .
         */
        drop(predicate: ()=>any):LazyDropWhileSequence<Self.Elements>;
        /**
         * Returns the elements of 
         *  that satisfy 
         * .
         */
        filter(isIncluded: ()=>any):LazyFilterSequence<Self.Elements>;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class LazyDropWhileSequence
     */
    export namespace LazyDropWhileSequence {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
        }
    }
    export class CollectionDifference {
        /**
         * The insertions contained by this difference, from lowest offset to
         *  
         * highest.
         */
        insertions: any;
        /**
         * The removals contained by this difference, from lowest offset to highest.
         */
        removals: any;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a new collection difference from a collection of changes.
         */
        constructor (changes: Changes);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        formIndex(index: any, distance: number):void;
        index(index: any):any;
        /**
         * Returns a new collection difference with associations between individual
         *  
         * elements that have been removed and inserted only once.
         */
        inferringMoves():CollectionDifference<ChangeElement>;
        inverse():CollectionDifference<ChangeElement>;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class CollectionDifference
     */
    export namespace CollectionDifference {
        export enum Change {}
        export class Index {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class DropFirstSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        constructor (base: Base, limit: number);
        dropFirst(k: number):DropFirstSequence<Base>;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class DropWhileSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        drop(predicate: Bool):DropWhileSequence<Base>;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class DropWhileSequence
     */
    export namespace DropWhileSequence {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
        }
    }
    export class EnumeratedSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class EnumeratedSequence
     */
    export namespace EnumeratedSequence {
        export class Iterator {
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains an
             *  
             * element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain equivalent elements in the same order, using the given
             *  
             * predicate as the equivalence test.
             */
            elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the given
             *  
             * predicate to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence, using the given predicate
             *  
             * as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as
             *  
             * the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as
             *  
             * the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are equivalent to the elements in another sequence, using
             *  
             * the given predicate as the equivalence test.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class FlattenSequence {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a non-empty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        formIndex(i: any, n: number):void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence from the start of the collection through the
         *  
         * specified position.
         */
        prefix(position: Self.Index):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
        /**
         * Returns a subsequence from the specified position to the end of the
         *  
         * collection.
         */
        suffix(start: Self.Index):Self.SubSequence;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class FlattenSequence
     */
    export namespace FlattenSequence {
        export class Index {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Iterator {
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class JoinedSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Creates an iterator that presents the elements of the sequences
         *  
         * traversed by 
         * , concatenated using 
         * .
         */
        constructor (base: Base, separator: Separator);
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Return an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class JoinedSequence
     */
    export namespace JoinedSequence {
        export class Iterator {
            /**
             * Creates an iterator that presents the elements of 
             *  sequences
             *  
             * concatenated using 
             * .
             */
            constructor (base: Base.Iterator, separator: Separator);
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
        }
    }
    export class PrefixSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        constructor (base: Base, maxLength: number);
        prefix(maxLength: number):PrefixSequence<Base>;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class PrefixSequence
     */
    export namespace PrefixSequence {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
        }
    }
    export class Repeated {
        /**
         * The number of elements in this collection.
         */
        count: number;
        /**
         * The value of every element in this collection.
         */
        repeatedValue: Element;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: Repeated<Data>;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class ReversedCollection {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Identical to 
         * .
         */
        elements: Self;
        lazy: LazySequence<Self.Elements>;
        /**
         * Reversing a reversed collection returns the original collection.
         */
        reversed():Base;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: any, n: number):any;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        compactMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns the concatenated results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<SegmentOfResult>(transform: ()=>any):Sequence;
        /**
         * Returns the non-
         *  results of mapping the given transformation over
         *  
         * this sequence.
         */
        flatMap<ElementOfResult>(transform: ()=>any | null):any;
        /**
         * Returns a 
         *  over this 
         * .  The elements of
         *  
         * the result are computed lazily, each time they are read, by
         *  
         * calling 
         *  function on a base element.
         */
        map<U>(transform: ()=>any):any;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class ReversedCollection
     */
    export namespace ReversedCollection {
        export class Index {
            /**
             * The position after this position in the underlying collection.
             */
            base: Base.Index;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new index into a reversed collection for the position before
             *  
             * the specified index.
             */
            constructor (base: Base.Index);
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Iterator {
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class StrideTo {
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():StrideToIterator<Element>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class StrideThrough {
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():StrideThroughIterator<Element>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class UnfoldSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Advances to the next element and returns it, or 
         *  if no next element
         *  
         * exists.
         */
        next():Element | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():Self;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class Zip2Sequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():any;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class Zip2Sequence
     */
    export namespace Zip2Sequence {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():any;
        }
    }
    export class DefaultIndices {
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the position immediately before the given index.
         */
        index(i: any):any;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class IteratorSequence {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Creates an instance whose iterator is a copy of 
         * .
         */
        constructor (base: Base);
        /**
         * Advances to the next element and returns it, or 
         *  if no next element
         *  
         * exists.
         */
        next():Base.Element | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():Self;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class IndexingIterator {
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Advances to the next element and returns it, or 
         *  if no next element
         *  
         * exists.
         */
        next():Elements.Element | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that
         *  
         * satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):DropFirstSequence<Self>;
        /**
         * Returns a sequence containing all but the given number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.Element[];
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this sequence.
         */
        makeIterator():Self;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the
         *  
         * initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns an array containing the elements of this sequence in reverse
         *  
         * order.
         */
        reversed():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that
         *  
         * don’t contain elements satisfying the given predicate. Elements that are
         *  
         * used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the sequence.
         */
        suffix(maxLength: number):Self.Element[];
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class StrideThroughIterator {
        /**
         * Advances to the next element and returns it, or 
         *  if no next element
         *  
         * exists.
         */
        next():Element | null;
    }
    export class StrideToIterator {
        /**
         * Advances to the next element and returns it, or 
         *  if no next element
         *  
         * exists.
         */
        next():Element | null;
    }
    export class ManagedBuffer {
        /**
         * The actual number of elements that can be stored in this object.
         */
        capacity: number;
        /**
         * The stored 
         *  instance.
         */
        header: Header;
        /**
         * Create a new instance of the most-derived class, calling
         *  
         *  on the partially-constructed object to generate
         *  
         * an initial 
         * .
         */
        static create(minimumCapacity: number, factory: Header):any;
        /**
         * Call 
         *  with an 
         *  to the 
         *  
         * storage.
         */
        withUnsafeMutablePointerToElements<R>(body: R):R;
        /**
         * Call 
         *  with an 
         *  to the stored
         *  
         * .
         */
        withUnsafeMutablePointerToHeader<R>(body: R):R;
        /**
         * Call 
         *  with 
         * s to the stored 
         *  
         * and raw 
         *  storage.
         */
        withUnsafeMutablePointers<R>(body: R):R;
    }
    export class ManagedBufferPointer {
        /**
         * The actual number of elements that can be stored in this object.
         */
        capacity: number;
        /**
         * The stored 
         *  instance.
         */
        header: Header;
        /**
         * Returns the object instance being used for storage.
         */
        buffer: AnyObject;
        /**
         * Create with new storage containing an initial 
         *  and space
         *  
         * for at least 
         *  
         * s.
         */
        constructor (bufferClass: AnyClass, minimumCapacity: number, factory: ()=>any);
        /**
         * Manage the given 
         * .
         */
        constructor (buffer: AnyObject);
        /**
         * Returns 
         *  if 
         *  holds the only strong reference to its
         *  
         * buffer; otherwise, returns 
         * .
         */
        isUniqueReference():boolean;
        /**
         * Call 
         *  with an 
         *  to the 
         *  
         * storage.
         */
        withUnsafeMutablePointerToElements<R>(body: R):R;
        /**
         * Call 
         *  with an 
         *  to the stored
         *  
         * .
         */
        withUnsafeMutablePointerToHeader<R>(body: R):R;
        /**
         * Call 
         *  with 
         * s to the stored 
         *  
         * and raw 
         *  storage.
         */
        withUnsafeMutablePointers<R>(body: R):R;
    }
    export class ContinuousClock {
        /**
         * The current continuous instant.
         */
        static now: ContinuousClock.Instant;
        /**
         * A clock that measures time that always increments but does not stop
         *  
         * incrementing while the system is asleep.
         */
        static continuous: ContinuousClock;
        /**
         * The minimum non-zero resolution between any two calls to 
         * .
         */
        minimumResolution: Duration;
        constructor ();
        /**
         * Measure the elapsed time to execute a closure.
         */
        measure(work: Void):Self.Instant.Duration;
        /**
         * Suspend task execution until a given deadline within a tolerance.
         *  
         * If no tolerance is specified then the system may adjust the deadline
         *  
         * to coalesce CPU wake-ups to more efficiently process the wake-ups in
         *  
         * a more power efficient manner.
         */
        sleep(deadline: ContinuousClock.Instant, tolerance: Duration | null):void;
    }
    /**
     * the same name namespace of class ContinuousClock
     */
    export namespace ContinuousClock {
        export class Instant {
            static now: ContinuousClock.Instant;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
            advanced(duration: Duration):ContinuousClock.Instant;
            duration(other: ContinuousClock.Instant):Duration;
        }
    }
    export class SuspendingClock {
        /**
         * The current instant accounting for machine suspension.
         */
        static now: SuspendingClock.Instant;
        /**
         * A clock that measures time that always increments but stops incrementing
         *  
         * while the system is asleep.
         */
        static suspending: SuspendingClock;
        /**
         * The minimum non-zero resolution between any two calls to 
         * .
         */
        minimumResolution: Duration;
        constructor ();
        /**
         * Measure the elapsed time to execute a closure.
         */
        measure(work: Void):Self.Instant.Duration;
        /**
         * Suspend task execution until a given deadline within a tolerance.
         *  
         * If no tolerance is specified then the system may adjust the deadline
         *  
         * to coalesce CPU wake-ups to more efficiently process the wake-ups in
         *  
         * a more power efficient manner.
         */
        sleep(deadline: SuspendingClock.Instant, tolerance: Duration | null):void;
    }
    /**
     * the same name namespace of class SuspendingClock
     */
    export namespace SuspendingClock {
        export class Instant {
            static now: SuspendingClock.Instant;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
            advanced(duration: Duration):SuspendingClock.Instant;
            duration(other: SuspendingClock.Instant):Duration;
        }
    }
    export class Duration {
        /**
         * The zero value.
         */
        static zero: Duration;
        /**
         * The composite components of the 
         * .
         */
        components: any;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Construct a 
         *  by adding attoseconds to a seconds value.
         */
        constructor (secondsComponent: Int64, attosecondsComponent: Int64);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Construct a 
         *  given a number of seconds microseconds as a
         *  
         *  by converting the value into the closest attosecond scale value.
         */
        static microseconds(microseconds: number):Duration;
        /**
         * Construct a 
         *  given a number of microseconds represented as a
         *  
         * .
         */
        static microseconds<T>(microseconds: T):BinaryInteger;
        /**
         * Construct a 
         *  given a number of milliseconds represented as a
         *  
         * .
         */
        static milliseconds<T>(milliseconds: T):BinaryInteger;
        /**
         * Construct a 
         *  given a number of seconds milliseconds as a
         *  
         *  by converting the value into the closest attosecond scale value.
         */
        static milliseconds(milliseconds: number):Duration;
        /**
         * Construct a 
         *  given a number of nanoseconds represented as a
         *  
         * .
         */
        static nanoseconds<T>(nanoseconds: T):BinaryInteger;
        /**
         * Construct a 
         *  given a number of seconds represented as a
         *  
         * .
         */
        static seconds<T>(seconds: T):BinaryInteger;
        /**
         * Construct a 
         *  given a number of seconds represented as a
         *  
         *  by converting the value into the closest attosecond scale value.
         */
        static seconds(seconds: number):Duration;
        /**
         * Formats 
         *  using the hour-minute-second time pattern
         */
        formatted():string;
        formatted<S>(v: S):Duration;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Duration
     */
    export namespace Duration {
        export class TimeFormatStyle {
            /**
             * The attributed format style corresponding to this style.
             */
            attributed: Duration.TimeFormatStyle.Attributed;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The locale to use when formatting the duration.
             */
            locale: Locale;
            /**
             * The pattern to display a Duration with.
             */
            pattern: Duration.TimeFormatStyle.Pattern;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates an instance using the provided pattern and locale.
             */
            constructor (pattern: Duration.TimeFormatStyle.Pattern, locale: Locale);
            static currency<V>(code: string):BinaryInteger;
            static currency<Value>(code: string):BinaryFloatingPoint;
            static list<MemberStyle, Base>(memberStyle: MemberStyle, type: any, width: any):String;
            static list<Base>(type: any, width: any):String;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            static measurement<UnitType>(width: any, usage: MeasurementFormatUnitUsage<UnitType>, numberFormatStyle: FloatingPointFormatStyle<Double> | null):Dimension;
            /**
             * A factory variable to create a time format style to format a duration.
             */
            static time(pattern: Duration.TimeFormatStyle.Pattern):Self;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Creates a locale-aware string representation from a duration value.
             */
            format(value: Duration):string;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class TimeFormatStyle
         */
        export namespace TimeFormatStyle {
            export class Attributed {
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                static currency<Value>(code: string):BinaryFloatingPoint;
                static currency<V>(code: string):BinaryInteger;
                static list<MemberStyle, Base>(memberStyle: MemberStyle, type: any, width: any):String;
                static list<Base>(type: any, width: any):String;
                static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
                static measurement<UnitType>(width: any, usage: MeasurementFormatUnitUsage<UnitType>, numberFormatStyle: FloatingPointFormatStyle<Double> | null):Dimension;
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Formats a duration as an attributed string with 
                 * .
                 */
                format(value: Duration):AttributedString;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
                /**
                 * Modifies the format style to use the specified locale.
                 */
                locale(locale: Locale):Duration.TimeFormatStyle.Attributed;
            }
            export class Pattern {
                /**
                 * Displays a duration in hours and minutes.
                 */
                static hourMinute: Duration.TimeFormatStyle.Pattern;
                /**
                 * Displays a duration in hours, minutes, and seconds.
                 */
                static hourMinuteSecond: Duration.TimeFormatStyle.Pattern;
                /**
                 * Displays a duration in minutes and seconds. For example, one hour is formatted as “60:00” in en_US locale.
                 */
                static minuteSecond: Duration.TimeFormatStyle.Pattern;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
        export class UnitsFormatStyle {
            /**
             * The units that may be included in the output string.
             */
            allowedUnits: Set<Duration.UnitsFormatStyle.Unit>;
            /**
             * Returns a 
             *  style to format a duration as an attributed string using the configuration of this format style. Units in the string are annotated with the 
             *  and 
             *  attribute keys and the 
             *  and 
             *  attribute values.
             */
            attributed: Duration.UnitsFormatStyle.Attributed;
            /**
             * The strategy for displaying a duration if it cannot be represented exactly with the allowed units.
             */
            fractionalPartDisplay: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The locale to use when formatting the duration.
             */
            locale: Locale;
            /**
             * The maximum number of time units to include in the output string.
             */
            maximumUnitCount: number;
            /**
             * The width of the unit and the spacing between the value and the unit.
             */
            unitWidth: Duration.UnitsFormatStyle.UnitWidth;
            /**
             * The padding or truncating behavior of the unit value.
             */
            valueLengthLimits: Range<Int> | null;
            /**
             * The strategy for how zero-value units are handled.
             */
            zeroValueUnitsDisplay: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy;
            /**
             * Creates an instance using the provided specifications.
             */
            constructor (allowedUnits: Set<Duration.UnitsFormatStyle.Unit>, width: Duration.UnitsFormatStyle.UnitWidth, maximumUnitCount: number, zeroValueUnits: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy, valueLength: number, fractionalPart: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy);
            /**
             * Creates an instance using the provided specifications.
             */
            constructor (allowedUnits: Set<Duration.UnitsFormatStyle.Unit>, width: Duration.UnitsFormatStyle.UnitWidth, maximumUnitCount: number, zeroValueUnits: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy, valueLengthLimits: ValueRange, fractionalPart: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            static currency<Value>(code: string):BinaryFloatingPoint;
            static currency<V>(code: string):BinaryInteger;
            static list<MemberStyle, Base>(memberStyle: MemberStyle, type: any, width: any):String;
            static list<Base>(type: any, width: any):String;
            static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
            static measurement<UnitType>(width: any, usage: MeasurementFormatUnitUsage<UnitType>, numberFormatStyle: FloatingPointFormatStyle<Double> | null):Dimension;
            /**
             * A factory function to create a units format style to format a duration.
             */
            static units(units: Set<Duration.UnitsFormatStyle.Unit>, width: Duration.UnitsFormatStyle.UnitWidth, maximumUnitCount: number, zeroValueUnits: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy, valueLength: number, fractionalPart: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy):Self;
            /**
             * A factory function to create a units format style to format a duration.
             */
            static units<ValueRange>(units: Set<Duration.UnitsFormatStyle.Unit>, width: Duration.UnitsFormatStyle.UnitWidth, maximumUnitCount: number, zeroValueUnits: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy, valueLengthLimits: ValueRange, fractionalPart: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy):Int;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Creates a locale-aware string representation from a duration value.
             */
            format(duration: Duration):string;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class UnitsFormatStyle
         */
        export namespace UnitsFormatStyle {
            export class Attributed {
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                static currency<V>(code: string):BinaryInteger;
                static currency<Value>(code: string):BinaryFloatingPoint;
                static list<MemberStyle, Base>(memberStyle: MemberStyle, type: any, width: any):String;
                static list<Base>(type: any, width: any):String;
                static measurement(width: any, usage: MeasurementFormatUnitUsage<UnitTemperature>, hidesScaleName: boolean, numberFormatStyle: FloatingPointFormatStyle<Double> | null):any;
                static measurement<UnitType>(width: any, usage: MeasurementFormatUnitUsage<UnitType>, numberFormatStyle: FloatingPointFormatStyle<Double> | null):Dimension;
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Formats a duration as an attributed string with 
                 * .
                 */
                format(duration: Duration):AttributedString;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
                /**
                 * A modifier to set the locale of the format style.
                 */
                locale(locale: Locale):Duration.UnitsFormatStyle.Attributed;
            }
            export class FractionalPartDisplayStrategy {
                /**
                 * Excludes the remaining part.
                 */
                static hide: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy;
                /**
                 * The hash value.
                 */
                hashValue: number;
                maximumLength: number;
                minimumLength: number;
                roundingIncrement: number;
                roundingRule: FloatingPointRoundingRule;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Displays the remaining part as the fractional part of the smallest unit.
                 */
                constructor (lengthLimits: Range, roundingRule: FloatingPointRoundingRule, roundingIncrement: number);
                /**
                 * Displays the remaining part as the fractional part of the smallest unit.
                 */
                static show(length: number, rule: FloatingPointRoundingRule, increment: number):Duration.UnitsFormatStyle.FractionalPartDisplayStrategy;
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class Unit {
                /**
                 * The unit for days. One day is always 86400 seconds.
                 */
                static days: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for hours. One day is 3600 seconds.
                 */
                static hours: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for microseconds.
                 */
                static microseconds: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for milliseconds.
                 */
                static milliseconds: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for minutes. One minute is 60 seconds.
                 */
                static minutes: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for nanoseconds.
                 */
                static nanoseconds: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for seconds.
                 */
                static seconds: Duration.UnitsFormatStyle.Unit;
                /**
                 * The unit for weeks. One week is always 604800 seconds.
                 */
                static weeks: Duration.UnitsFormatStyle.Unit;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class UnitWidth {
                /**
                 * Shows the abbreviated unit name, such as “3 hr” for a 3-hour duration in the en_US locale.
                 */
                static abbreviated: Duration.UnitsFormatStyle.UnitWidth;
                /**
                 * Shows the abbreviated unit name with a condensed space between the value and unit, such as “3hr” for a 3-hour duration in the en_US locale.
                 */
                static condensedAbbreviated: Duration.UnitsFormatStyle.UnitWidth;
                /**
                 * Shows the shortest unit name, such as “3h” for a 3-hour duration in the en_US locale.
                 */
                static narrow: Duration.UnitsFormatStyle.UnitWidth;
                /**
                 * Shows the full unit name, such as “3 hours” for a 3-hour duration in the en_US locale.
                 */
                static wide: Duration.UnitsFormatStyle.UnitWidth;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class ZeroValueUnitsDisplayStrategy {
                /**
                 * Excludes zero-value units from the formatted string.
                 */
                static hide: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Creates a new instance by decoding from the given decoder.
                 */
                constructor (decoder: Decoder);
                /**
                 * Displays zero-value units with zero padding to the specified length.
                 */
                static show(length: number):Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy;
                /**
                 * Encodes this value into the given encoder.
                 */
                encode(encoder: Encoder):void;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
    }
    export class Hasher {
        /**
         * Creates a new hasher.
         */
        constructor ();
        /**
         * Adds the given value to this hasher, mixing its essential parts into the
         *  
         * hasher state.
         */
        combine<H>(value: H):void;
        /**
         * Adds the contents of the given buffer to this hasher, mixing it into the
         *  
         * hasher state.
         */
        combine(bytes: UnsafeRawBufferPointer):void;
        /**
         * Finalizes the hasher state and returns the hash value.
         */
        finalize():number;
    }
    export class CodingUserInfoKey {
        /**
         * Key which is required to be set on a 
         * ’s 
         *  while attempting
         *  
         * to 
         *  a 
         * . The stored value under this key must
         *  
         * conform to 
         * .
         */
        static actorSystemKey: CodingUserInfoKey;
        /**
         * The key’s hash value.
         */
        hashValue: number;
        /**
         * The key’s string value.
         */
        rawValue: string;
        /**
         * Creates a new instance with the given raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export enum EncodingError {}
    export enum DecodingError {}
    export class KeyedEncodingContainer {
        /**
         * The path of coding keys taken to get to this point in encoding.
         */
        codingPath: CodingKey[];
        /**
         * Creates a new instance with the given container.
         */
        constructor (container: Container);
        encode<T, C>(wrapper: any, key: any):void;
        /**
         * Encodes the given value for the given key.
         */
        encode(value: number, key: any):void;
        /**
         * Encodes the given value for the given key.
         */
        encode<T>(value: T, key: any):void;
        /**
         * Encodes a reference to the given object only if it is encoded
         *  
         * unconditionally elsewhere in the payload (previously, or in the future).
         */
        encodeConditional<T>(object: T, key: any):void;
        /**
         * Encodes the given value for the given key if it is not 
         * .
         */
        encodeIfPresent(value: number, key: any):void;
        /**
         * Encodes the given value for the given key if it is not 
         * .
         */
        encodeIfPresent<T>(value: T | null, key: any):void;
        encodeIfPresent<T, C>(t: T | null, key: any, configuration: C.Type):void;
        /**
         * Encodes a null value for the given key.
         */
        encodeNil(key: any):void;
        /**
         * Stores a keyed encoding container for the given key and returns it.
         */
        nestedContainer<NestedKey>(keyType: NestedKey.Type, key: any):CodingKey;
        /**
         * Stores an unkeyed encoding container for the given key and returns it.
         */
        nestedUnkeyedContainer(key: any):UnkeyedEncodingContainer;
        /**
         * Stores a new nested container for the default 
         *  key and returns a
         *  
         * new encoder instance for encoding 
         *  into that container.
         */
        superEncoder():Encoder;
    }
    export class KeyedDecodingContainer {
        /**
         * All the keys the decoder has for this container.
         */
        allKeys: any;
        /**
         * The path of coding keys taken to get to this point in decoding.
         */
        codingPath: CodingKey[];
        /**
         * Creates a new instance with the given container.
         */
        constructor (container: Container);
        /**
         * Returns a Boolean value indicating whether the decoder contains a value
         *  
         * associated with the given key.
         */
        contains(key: any):boolean;
        /**
         * Decodes a value of the given type for the given key.
         */
        decode(type: Int32.Type, key: any):Int32;
        /**
         * Decodes a value of the given type for the given key.
         */
        decode<T>(type: T.Type, key: any):Decodable;
        decode<T, C>(_: any, key: any):C.EncodingConfiguration;
        /**
         * Decodes a value of the given type for the given key, if present.
         */
        decodeIfPresent(type: UInt8.Type, key: any):UInt8 | null;
        /**
         * Decodes a value of the given type for the given key, if present.
         */
        decodeIfPresent<T>(type: T.Type, key: any):Decodable;
        decodeIfPresent<T, C>(_: T.Type, key: any, configuration: C.Type):C.DecodingConfiguration;
        /**
         * Decodes a null value for the given key.
         */
        decodeNil(key: any):boolean;
        /**
         * Returns the data stored for the given key as represented in a container
         *  
         * keyed by the given key type.
         */
        nestedContainer<NestedKey>(type: NestedKey.Type, key: any):CodingKey;
        /**
         * Returns the data stored for the given key as represented in an unkeyed
         *  
         * container.
         */
        nestedUnkeyedContainer(key: any):UnkeyedDecodingContainer;
        /**
         * Returns a 
         *  instance for decoding 
         *  from the container
         *  
         * associated with the default 
         *  key.
         */
        superDecoder():Decoder;
    }
    export class DefaultStringInterpolation {
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a string interpolation with storage pre-sized for a literal
         *  
         * with the indicated attributes.
         */
        constructor (literalCapacity: number, interpolationCount: number);
        /**
         * Interpolates the given value’s textual representation into the
         *  
         * string literal being created.
         */
        appendInterpolation<T>(value: T):void;
        appendInterpolation(value: Any.Type):void;
        /**
         * Appends a literal segment of a string interpolation.
         */
        appendLiteral(literal: string):void;
        /**
         * Appends the given string to the stream.
         */
        write(_string: string):void;
    }
    export enum CommandLine {}
    export enum Never {}
    export class Mirror {
        /**
         * A collection of 
         *  elements describing the structure of the
         *  
         * reflected subject.
         */
        children: Mirror.Children;
        /**
         * A suggested display style for the reflected subject.
         */
        displayStyle: Mirror.DisplayStyle | null;
        /**
         * The static type of the subject being reflected.
         */
        subjectType: Any.Type;
        /**
         * A mirror of the subject’s superclass, if one exists.
         */
        superclassMirror: Mirror | null;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a mirror representing the given subject using a dictionary
         *  
         * literal for the structure.
         */
        constructor (subject: Subject, children: any, displayStyle: Mirror.DisplayStyle | null, ancestorRepresentation: Mirror.AncestorRepresentation);
        /**
         * Creates a mirror representing the given subject with unlabeled children.
         */
        constructor (subject: Subject, unlabeledChildren: C, displayStyle: Mirror.DisplayStyle | null, ancestorRepresentation: Mirror.AncestorRepresentation);
        /**
         * Creates a mirror that reflects on the given instance.
         */
        constructor (subject: any);
        /**
         * Returns a specific descendant of the reflected subject, or 
         *  if no
         *  
         * such descendant exists.
         */
        descendant(first: MirrorPath, ...rest: MirrorPath):any;
    }
    /**
     * the same name namespace of class Mirror
     */
    export namespace Mirror {
        export enum AncestorRepresentation {}
        export enum DisplayStyle {}
    }
    export class ObjectIdentifier {
        /**
         * A textual representation of the identifier, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an instance that uniquely identifies the given class instance.
         */
        constructor (x: AnyObject);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class Task {
        /**
         * The current task’s priority.
         */
        static currentPriority: TaskPriority;
        /**
         * The current task’s base priority.
         */
        static basePriority: TaskPriority | null;
        /**
         * The result from a throwing task, after it completes.
         */
        value: Success;
        /**
         * The result or error from a throwing task, after it completes.
         */
        result: any;
        /**
         * A Boolean value that indicates whether the task should stop executing.
         */
        isCancelled: boolean;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Runs the given nonthrowing operation asynchronously
         *  
         * as part of a new top-level task on behalf of the current actor.
         */
        constructor (priority: TaskPriority | null, operation: Success);
        /**
         * Runs the given throwing operation asynchronously
         *  
         * as part of a new top-level task.
         */
        static detached(priority: TaskPriority | null, operation: Success):any;
        /**
         * Throws an error if the task was canceled.
         */
        static checkCancellation():void;
        /**
         * Suspends the current task and allows other tasks to execute.
         */
        static yield():void;
        /**
         * Suspends the current task for at least the given duration
         *  
         * in nanoseconds.
         */
        static sleep(duration: UInt64):void;
        static CancellationError():CancellationError;
        static suspend():void;
        static runDetached(priority: TaskPriority | null, operation: Success):any;
        static withCancellationHandler<T>(handler: ()=>any, operation: T):T;
        /**
         * Suspends the current task until the given deadline within a tolerance.
         */
        static sleep<C>(deadline: C.Instant, tolerance: C.Instant.Duration | null, clock: C):void;
        static withGroup<TaskResult, BodyResult>(resultType: TaskResult.Type, returnType: BodyResult.Type, body: BodyResult):Sendable;
        /**
         * Indicates that the task should stop running.
         */
        cancel():void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        getResult():any;
        get():Success;
    }
    export class CancellationError {
        constructor ();
    }
    export class TaskGroup {
        /**
         * A Boolean value that indicates whether the group has any remaining tasks.
         */
        isEmpty: boolean;
        /**
         * A Boolean value that indicates whether the group was canceled.
         */
        isCancelled: boolean;
        /**
         * Adds a child task to the group.
         */
        addTask(priority: TaskPriority | null, operation: ChildTaskResult):void;
        /**
         * Adds a child task to the group, unless the group has been canceled.
         */
        addTaskUnlessCancelled(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
        /**
         * Wait for the next child task to complete,
         *  
         * and return the value it returned.
         */
        next():ChildTaskResult | null;
        /**
         * Wait for all of the group’s remaining tasks to complete.
         */
        waitForAll():void;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Cancel all of the remaining tasks in the group.
         */
        cancelAll():void;
        add(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
        async(priority: TaskPriority | null, operation: ChildTaskResult):void;
        asyncUnlessCancelled(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
        spawn(priority: TaskPriority | null, operation: ChildTaskResult):void;
        spawnUnlessCancelled(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
    }
    /**
     * the same name namespace of class TaskGroup
     */
    export namespace TaskGroup {
        export class Iterator {
            cancel():void;
            /**
             * Advances to and returns the result of the next child task.
             */
            next():any;
        }
    }
    export class ThrowingTaskGroup {
        /**
         * A Boolean value that indicates whether the group has any remaining tasks.
         */
        isEmpty: boolean;
        /**
         * A Boolean value that indicates whether the group was canceled.
         */
        isCancelled: boolean;
        /**
         * Adds a child task to the group.
         */
        addTask(priority: TaskPriority | null, operation: ChildTaskResult):void;
        /**
         * Adds a child task to the group, unless the group has been canceled.
         */
        addTaskUnlessCancelled(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
        /**
         * Wait for the next child task to complete,
         *  
         * and return the value it returned or rethrow the error it threw.
         */
        next():ChildTaskResult | null;
        /**
         * Wait for the next child task to complete,
         *  
         * and return a result containing either
         *  
         * the value that the child task returned or the error that it threw.
         */
        nextResult():any;
        /**
         * Wait for all of the group’s remaining tasks to complete.
         */
        waitForAll():void;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Cancel all of the remaining tasks in the group.
         */
        cancelAll():void;
        add(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
        async(priority: TaskPriority | null, operation: ChildTaskResult):void;
        asyncUnlessCancelled(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
        spawn(priority: TaskPriority | null, operation: ChildTaskResult):void;
        spawnUnlessCancelled(priority: TaskPriority | null, operation: ChildTaskResult):boolean;
    }
    /**
     * the same name namespace of class ThrowingTaskGroup
     */
    export namespace ThrowingTaskGroup {
        export class Iterator {
            cancel():void;
            /**
             * Advances to and returns the result of the next child task.
             */
            next():any;
        }
    }
    export class TaskPriority {
        static background: TaskPriority;
        static default: TaskPriority;
        static high: TaskPriority;
        static low: TaskPriority;
        static medium: TaskPriority;
        static unspecified: TaskPriority;
        static userInitiated: TaskPriority;
        static userInteractive: TaskPriority;
        static utility: TaskPriority;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: UInt8;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: UInt8);
        /**
         * Creates a new instance by decoding from the given decoder, when the
         *  
         * type’s 
         *  is 
         * .
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder, when the type’s 
         *  
         * is 
         * .
         */
        encode(encoder: Encoder):void;
    }
    export class UnsafeCurrentTask {
        /**
         * A Boolean value that indicates whether the current task was canceled.
         */
        isCancelled: boolean;
        /**
         * The current task’s priority.
         */
        priority: TaskPriority;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Cancel the current task.
         */
        cancel():void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class AsyncPrefixSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncPrefixSequence
     */
    export namespace AsyncPrefixSequence {
        export class Iterator {
            /**
             * Produces the next element in the prefix sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncPrefixWhileSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncPrefixWhileSequence
     */
    export namespace AsyncPrefixWhileSequence {
        export class Iterator {
            /**
             * Produces the next element in the prefix-while sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncThrowingPrefixWhileSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingPrefixWhileSequence
     */
    export namespace AsyncThrowingPrefixWhileSequence {
        export class Iterator {
            /**
             * Produces the next element in the prefix-while sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncDropFirstSequence {
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Base>;
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncDropFirstSequence
     */
    export namespace AsyncDropFirstSequence {
        export class Iterator {
            /**
             * Produces the next element in the drop-first sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncDropWhileSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates an instance of the drop-while sequence iterator.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncDropWhileSequence
     */
    export namespace AsyncDropWhileSequence {
        export class Iterator {
            /**
             * Produces the next element in the drop-while sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncThrowingDropWhileSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingDropWhileSequence
     */
    export namespace AsyncThrowingDropWhileSequence {
        export class Iterator {
            /**
             * Produces the next element in the drop-while sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncFilterSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncFilterSequence
     */
    export namespace AsyncFilterSequence {
        export class Iterator {
            /**
             * Produces the next element in the filter sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncThrowingFilterSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingFilterSequence
     */
    export namespace AsyncThrowingFilterSequence {
        export class Iterator {
            /**
             * Produces the next element in the filter sequence.
             */
            next():Base.Element | null;
        }
    }
    export class AsyncMapSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncMapSequence
     */
    export namespace AsyncMapSequence {
        export class Iterator {
            /**
             * Produces the next element in the map sequence.
             */
            next():Transformed | null;
        }
    }
    export class AsyncThrowingMapSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingMapSequence
     */
    export namespace AsyncThrowingMapSequence {
        export class Iterator {
            /**
             * Produces the next element in the map sequence.
             */
            next():Transformed | null;
        }
    }
    export class AsyncCompactMapSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncCompactMapSequence
     */
    export namespace AsyncCompactMapSequence {
        export class Iterator {
            /**
             * Produces the next element in the compact map sequence.
             */
            next():ElementOfResult | null;
        }
    }
    export class AsyncThrowingCompactMapSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingCompactMapSequence
     */
    export namespace AsyncThrowingCompactMapSequence {
        export class Iterator {
            /**
             * Produces the next element in the compact map sequence.
             */
            next():ElementOfResult | null;
        }
    }
    export class AsyncFlatMapSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps an error-throwing closure over
         *  
         * the base sequence’s elements, omitting results that don’t return a value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncFlatMapSequence
     */
    export namespace AsyncFlatMapSequence {
        export class Iterator {
            /**
             * Produces the next element in the flat map sequence.
             */
            next():SegmentOfResult.Element | null;
        }
    }
    export class AsyncThrowingFlatMapSequence {
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given error-throwing transformation with each element of this
         *  
         * sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
    }
    /**
     * the same name namespace of class AsyncThrowingFlatMapSequence
     */
    export namespace AsyncThrowingFlatMapSequence {
        export class Iterator {
            /**
             * Produces the next element in the flat map sequence.
             */
            next():SegmentOfResult.Element | null;
        }
    }
    export class AsyncStream {
        /**
         * Constructs an asynchronous stream for an element type, using the
         *  
         * specified buffering policy and element-producing closure.
         */
        constructor (elementType: Element.Type, limit: any, build: ()=>any);
        /**
         * Constructs an asynchronous stream from a given element-producing
         *  
         * closure, with an optional closure to handle cancellation.
         */
        constructor (produce: Element | null, onCancel: ()=>any | null);
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Creates an asynchronous sequence that maps the given error-throwing
         *  
         * closure over the asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
    }
    /**
     * the same name namespace of class AsyncStream
     */
    export namespace AsyncStream {
        export class Continuation {}
        /**
         * the same name namespace of class Continuation
         */
        export namespace Continuation {
            export enum BufferingPolicy {}
        }
        export class Iterator {
            /**
             * The next value from the asynchronous stream.
             */
            next():Element | null;
        }
    }
    export class AsyncThrowingStream {
        /**
         * Constructs an asynchronous stream for an element type, using the
         *  
         * specified buffering policy and element-producing closure.
         */
        constructor (elementType: Element.Type, limit: any, build: ()=>any);
        /**
         * Constructs an asynchronous throwing stream from a given element-producing
         *  
         * closure.
         */
        constructor (produce: Element | null);
        /**
         * Returns a Boolean value that indicates whether the asynchronous sequence
         *  
         * contains the given element.
         */
        contains(search: Self.Element):boolean;
        /**
         * Returns a Boolean value that indicates whether all elements produced by the
         *  
         * asynchronous sequence satisfy the given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns the minimum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        min():Self.Element | null;
        /**
         * Returns the maximum element in an asynchronous sequence of comparable
         *  
         * elements.
         */
        max():Self.Element | null;
        /**
         * Returns an asynchronous sequence, up to the specified maximum length,
         *  
         * containing the initial elements of the base asynchronous sequence.
         */
        prefix(count: number):AsyncPrefixSequence<Self>;
        /**
         * Omits a specified number of elements from the base asynchronous sequence,
         *  
         * then passes through all remaining elements.
         */
        dropFirst(count: number):AsyncDropFirstSequence<Self>;
        /**
         * Omits elements from the base asynchronous sequence until a given closure
         *  
         * returns false, after which it passes through all remaining elements.
         */
        drop(predicate: Bool):AsyncDropWhileSequence<Self>;
        /**
         * Creates an asynchronous sequence that contains, in order, the elements of
         *  
         * the base sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):AsyncFilterSequence<Self>;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements.
         */
        map<Transformed>(transform: Transformed):any;
        /**
         * Creates an asynchronous sequence that maps the given closure over the
         *  
         * asynchronous sequence’s elements, omitting results that don’t return a
         *  
         * value.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
        /**
         * Creates an asynchronous sequence that concatenates the results of calling
         *  
         * the given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
        /**
         * Returns the result of combining the elements of the asynchronous sequence
         *  
         * using the given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Creates the asynchronous iterator that produces elements of this
         *  
         * asynchronous sequence.
         */
        makeAsyncIterator():any;
    }
    /**
     * the same name namespace of class AsyncThrowingStream
     */
    export namespace AsyncThrowingStream {
        export class Continuation {}
        /**
         * the same name namespace of class Continuation
         */
        export namespace Continuation {
            export enum BufferingPolicy {}
        }
        export class Iterator {
            /**
             * The next value from the asynchronous stream.
             */
            next():Element | null;
        }
    }
    export class CheckedContinuation {
        /**
         * Creates a checked continuation from an unsafe continuation.
         */
        constructor (continuation: any, _function: string);
        /**
         * Resume the task awaiting the continuation by having it return normally
         *  
         * from its suspension point.
         */
        resume():void;
        /**
         * Resume the task awaiting the continuation by having it either
         *  
         * return normally or throw an error based on the state of the given
         *  
         *  value.
         */
        resume<Er>(result: any):void;
    }
    export class UnsafeContinuation {
        /**
         * Resume the task that’s awaiting the continuation by returning.
         */
        resume():void;
        /**
         * Resume the task that’s awaiting the continuation
         *  
         * by returning or throwing the given result value.
         */
        resume<Er>(result: any):void;
    }
    export class MainActor {
        /**
         * The shared actor instance that will be used to provide mutually-exclusive
         *  
         * access to declarations annotated with the given global actor type.
         */
        static shared: MainActor;
        /**
         * The shared executor instance that will be used to provide
         *  
         * mutually-exclusive access for the global actor.
         */
        static sharedUnownedExecutor: UnownedSerialExecutor;
        /**
         * Retrieve the executor for this actor as an optimized, unowned
         *  
         * reference.
         */
        unownedExecutor: UnownedSerialExecutor;
        /**
         * Execute the given body closure on the main actor.
         */
        static run<T>(resultType: T.Type, body: T):Sendable;
        enqueue(job: UnownedJob):void;
    }
    export class TaskLocal {
        /**
         * A textual representation of this instance.
         */
        description: string;
        projectedValue: TaskLocal<Value>;
        wrappedValue: Value;
        constructor (defaultValue: Value);
        /**
         * Gets the value currently bound to this task-local from the current task.
         */
        get():Value;
        /**
         * Binds the task-local to the specific value for the duration of the asynchronous operation.
         */
        withValue<R>(valueDuringOperation: Value, operation: R, file: string, line: number):R;
    }
    export class UnownedJob {}
    export class UnownedSerialExecutor {
        constructor (executor: E);
    }
    export class KeyPath extends PartialKeyPath {}
    export class PartialKeyPath extends AnyKeyPath {}
    export class AnyKeyPath {
        /**
         * The root type for this key path.
         */
        static rootType: Any.Type;
        /**
         * The value type for this key path.
         */
        static valueType: Any.Type;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a new key path created by appending the given key path to this
         *  
         * one.
         */
        appending(path: AnyKeyPath):AnyKeyPath | null;
    }
    export class WritableKeyPath extends KeyPath {}
    export class ReferenceWritableKeyPath extends WritableKeyPath {}
    export class UnsafePointer {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Accesses the instance referenced by this pointer.
         */
        pointee: Pointee;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A custom playground Quick Look for this instance.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Creates a new typed pointer from the given opaque pointer.
         */
        constructor (from: OpaquePointer);
        /**
         * Creates a new pointer from the given address, specified as a bit
         *  
         * pattern.
         */
        constructor (bitPattern: number);
        /**
         * Deallocates the memory block previously allocated at this pointer.
         */
        deallocate():void;
        /**
         * Obtain a pointer to the stored property referred to by a key path.
         */
        pointer<Property>(property: any):UnsafePointer<Property> | null;
        /**
         * Executes the given closure while temporarily binding memory to
         *  
         * the specified number of instances of type 
         * .
         */
        withMemoryRebound<T, Result>(type: T.Type, count: number, body: Result):Result;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a pointer offset from this pointer by the specified number of
         *  
         * instances.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this pointer to the given pointer, counted as
         *  
         * instances of the pointer’s 
         *  type.
         */
        distance(end: Self):number;
        /**
         * Returns a pointer to the previous consecutive instance.
         */
        predecessor():Self;
        /**
         * Returns a pointer to the next consecutive instance.
         */
        successor():Self;
    }
    export class UnsafeMutablePointer {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Accesses the instance referenced by this pointer.
         */
        pointee: Pointee;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A custom playground Quick Look for this instance.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Creates an immutable typed pointer referencing the same memory as the
         *  
         * given mutable pointer.
         */
        constructor (other: UnsafeMutablePointer<Pointee> | null);
        /**
         * Creates a mutable typed pointer referencing the same memory as the given
         *  
         * immutable pointer.
         */
        constructor (other: UnsafePointer<Pointee> | null);
        /**
         * Creates a new pointer from the given address, specified as a bit
         *  
         * pattern.
         */
        constructor (bitPattern: number);
        /**
         * Allocates uninitialized memory for the specified number of instances of
         *  
         * type 
         * .
         */
        static allocate(count: number):UnsafeMutablePointer<Pointee>;
        /**
         * Replaces this pointer’s initialized memory with the specified number of
         *  
         * instances from the given pointer’s memory.
         */
        assign(source: UnsafePointer<Pointee>, count: number):void;
        /**
         * Deallocates the memory block previously allocated at this pointer.
         */
        deallocate():void;
        deinitialize():UnsafeMutableRawPointer;
        initialize<C>(source: C):void;
        /**
         * Initializes the memory referenced by this pointer with the values
         *  
         * starting at the given pointer.
         */
        initialize(source: UnsafePointer<Pointee>, count: number):void;
        /**
         * Retrieves and returns the referenced instance, returning the pointer’s
         *  
         * memory to an uninitialized state.
         */
        move():Pointee;
        /**
         * Replaces the memory referenced by this pointer with the values
         *  
         * starting at the given pointer, leaving the source memory uninitialized.
         */
        moveAssign(source: UnsafeMutablePointer<Pointee>, count: number):void;
        /**
         * Moves instances from initialized source memory into the uninitialized
         *  
         * memory referenced by this pointer, leaving the source memory
         *  
         * uninitialized and the memory referenced by this pointer initialized.
         */
        moveInitialize(source: UnsafeMutablePointer<Pointee>, count: number):void;
        /**
         * Obtain a pointer to the stored property referred to by a key path.
         */
        pointer<Property>(property: any):UnsafePointer<Property> | null;
        /**
         * Executes the given closure while temporarily binding memory to
         *  
         * the specified number of instances of the given type.
         */
        withMemoryRebound<T, Result>(type: T.Type, count: number, body: Result):Result;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a pointer offset from this pointer by the specified number of
         *  
         * instances.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this pointer to the given pointer, counted as
         *  
         * instances of the pointer’s 
         *  type.
         */
        distance(end: Self):number;
        /**
         * Returns a pointer to the previous consecutive instance.
         */
        predecessor():Self;
        /**
         * Returns a pointer to the next consecutive instance.
         */
        successor():Self;
    }
    export class UnsafeBufferPointer {
        /**
         * A pointer to the first element of the buffer.
         */
        baseAddress: UnsafePointer<Element> | null;
        /**
         * The number of elements in the buffer.
         */
        count: number;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The “past the end” position—that is, the position one greater than the
         *  
         * last valid subscript argument.
         */
        endIndex: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The index of the first element in a nonempty buffer.
         */
        startIndex: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the buffer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: CollectionOfOne<UnsafeBufferPointer<UInt8>>;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates an immutable typed buffer pointer referencing the same memory as the
         *  
         * given mutable buffer pointer.
         */
        constructor (other: UnsafeMutableBufferPointer<Element>);
        /**
         * Creates a buffer over the same memory as the given buffer slice.
         */
        constructor (slice: Slice<UnsafeMutableBufferPointer<Element>>);
        /**
         * Creates a new buffer pointer over the specified number of contiguous
         *  
         * instances beginning at the given pointer.
         */
        constructor (start: UnsafePointer<Element> | null, count: number);
        /**
         * Deallocates the memory block previously allocated at this buffer pointer’s
         *  
         * base address.
         */
        deallocate():void;
        /**
         * Executes the given closure while temporarily binding the memory referenced
         *  
         * by this buffer to the given type.
         */
        withMemoryRebound<T, Result>(type: T.Type, body: Result):Result;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the distance between two indices.
         */
        distance(start: number, end: number):number;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: number, n: number):number;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<R>(body: R):R;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType>(ptr: UnsafeMutableBufferPointer<DestinationType>):number;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):void;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this buffer.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class UnsafeBufferPointer
     */
    export namespace UnsafeBufferPointer {
        export class Iterator {
            /**
             * Advances to the next element and returns it, or 
             *  if no next element
             *  
             * exists.
             */
            next():Element | null;
        }
    }
    export class UnsafeMutableBufferPointer {
        /**
         * A pointer to the first element of the buffer.
         */
        baseAddress: UnsafeMutablePointer<Element> | null;
        /**
         * The number of elements in the buffer.
         */
        count: number;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the buffer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The “past the end” position—that is, the position one greater than the
         *  
         * last valid subscript argument.
         */
        endIndex: number;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * The index of the first element in a nonempty buffer.
         */
        startIndex: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a mutable typed buffer pointer referencing the same memory as the
         *  
         * given immutable buffer pointer.
         */
        constructor (other: UnsafeBufferPointer<Element>);
        /**
         * Creates a buffer over the same memory as the given buffer slice.
         */
        constructor (slice: Slice<UnsafeMutableBufferPointer<Element>>);
        /**
         * Creates a new buffer pointer over the specified number of contiguous
         *  
         * instances beginning at the given pointer.
         */
        constructor (start: UnsafeMutablePointer<Element> | null, count: number);
        /**
         * Allocates uninitialized memory for the specified number of instances of
         *  
         * type 
         * .
         */
        static allocate(count: number):UnsafeMutableBufferPointer<Element>;
        /**
         * Assigns every element in this buffer’s memory to a copy of the given value.
         */
        assign(repeatedValue: Element):void;
        /**
         * Deallocates the memory block previously allocated at this buffer pointer’s
         *  
         * base address.
         */
        deallocate():void;
        /**
         * Initializes the buffer’s memory with the given elements.
         */
        initialize<S>(source: S):Sequence;
        /**
         * Initializes every element in this buffer’s memory to a copy of the given value.
         */
        initialize(repeatedValue: Element):void;
        /**
         * Executes the given closure while temporarily binding the memory referenced
         *  
         * by this buffer to the given type.
         */
        withMemoryRebound<T, Result>(type: T.Type, body: Result):Result;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the values at the specified indices of the buffer.
         */
        swapAt(i: number, j: number):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Returns the distance between two indices.
         */
        distance(start: number, end: number):number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the elements of this buffer.
         */
        makeIterator():any;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class UnsafeRawPointer {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A custom playground Quick Look for this instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Creates a new raw pointer from an 
         *  
         * instance.
         */
        constructor (other: AutoreleasingUnsafeMutablePointer<T>);
        /**
         * Creates a new pointer from the given address, specified as a bit
         *  
         * pattern.
         */
        constructor (bitPattern: number);
        /**
         * Obtain the preceding pointer properly aligned to store a value of type 
         * .
         */
        alignedDown<T>(type: T.Type):UnsafeRawPointer;
        /**
         * Obtain the preceding pointer whose bit pattern is a multiple of 
         * .
         */
        alignedDown(alignment: number):UnsafeRawPointer;
        /**
         * Obtain the next pointer properly aligned to store a value of type 
         * .
         */
        alignedUp<T>(type: T.Type):UnsafeRawPointer;
        /**
         * Obtain the next pointer whose bit pattern is a multiple of 
         * .
         */
        alignedUp(alignment: number):UnsafeRawPointer;
        /**
         * Returns a typed pointer to the memory referenced by this pointer,
         *  
         * assuming that the memory is already bound to the specified type.
         */
        assumingMemoryBound<T>(to: T.Type):UnsafePointer<T>;
        /**
         * Binds the memory to the specified type and returns a typed pointer to the
         *  
         * bound memory.
         */
        bindMemory<T>(type: T.Type, count: number):UnsafePointer<T>;
        /**
         * Deallocates the previously allocated memory block referenced by this pointer.
         */
        deallocate():void;
        /**
         * Returns a new instance of the given type, constructed from the raw memory
         *  
         * at the specified offset.
         */
        load<T>(offset: number, type: T.Type):T;
        /**
         * Returns a new instance of the given type, constructed from the raw memory
         *  
         * at the specified offset.
         */
        loadUnaligned<T>(offset: number, type: T.Type):T;
        /**
         * Executes the given closure while temporarily binding memory to
         *  
         * the specified number of instances of type 
         * .
         */
        withMemoryRebound<T, Result>(type: T.Type, count: number, body: Result):Result;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):UnsafeRawPointer;
        /**
         * Returns the distance from this pointer to the given pointer, counted as
         *  
         * instances of the pointer’s 
         *  type.
         */
        distance(end: Self):number;
        /**
         * Returns a pointer to the previous consecutive instance.
         */
        predecessor():Self;
        /**
         * Returns a pointer to the next consecutive instance.
         */
        successor():Self;
    }
    export class UnsafeMutableRawPointer {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A custom playground Quick Look for this instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Creates a new raw pointer from the given typed pointer.
         */
        constructor (other: UnsafeMutablePointer<T> | null);
        /**
         * Creates a new mutable raw pointer from the given immutable raw pointer.
         */
        constructor (other: UnsafeRawPointer | null);
        /**
         * Creates a new pointer from the given address, specified as a bit
         *  
         * pattern.
         */
        constructor (bitPattern: number);
        /**
         * Allocates uninitialized memory with the specified size and alignment.
         */
        static allocate(byteCount: number, alignment: number):UnsafeMutableRawPointer;
        /**
         * Obtain the preceding pointer properly aligned to store a value of type 
         * .
         */
        alignedDown<T>(type: T.Type):UnsafeMutableRawPointer;
        /**
         * Obtain the preceding pointer whose bit pattern is a multiple of 
         * .
         */
        alignedDown(alignment: number):UnsafeMutableRawPointer;
        /**
         * Obtain the next pointer properly aligned to store a value of type 
         * .
         */
        alignedUp<T>(type: T.Type):UnsafeMutableRawPointer;
        /**
         * Obtain the next pointer whose bit pattern is a multiple of 
         * .
         */
        alignedUp(alignment: number):UnsafeMutableRawPointer;
        /**
         * Returns a typed pointer to the memory referenced by this pointer,
         *  
         * assuming that the memory is already bound to the specified type.
         */
        assumingMemoryBound<T>(to: T.Type):UnsafeMutablePointer<T>;
        /**
         * Binds the memory to the specified type and returns a typed pointer to the
         *  
         * bound memory.
         */
        bindMemory<T>(type: T.Type, count: number):UnsafeMutablePointer<T>;
        copyBytes(source: UnsafeRawPointer, count: number):void;
        /**
         * Copies the specified number of bytes from the given raw pointer’s memory
         *  
         * into this pointer’s memory.
         */
        copyMemory(source: UnsafeRawPointer, byteCount: number):void;
        /**
         * Deallocates the previously allocated memory block referenced by this pointer.
         */
        deallocate():void;
        initializeMemory<T>(type: T.Type, offset: number, count: number, repeatedValue: T):UnsafeMutablePointer<T>;
        initializeMemory<C>(type: C.Element.Type, source: C):Collection;
        /**
         * Returns a new instance of the given type, constructed from the raw memory
         *  
         * at the specified offset.
         */
        load<T>(offset: number, type: T.Type):T;
        /**
         * Returns a new instance of the given type, constructed from the raw memory
         *  
         * at the specified offset.
         */
        loadUnaligned<T>(offset: number, type: T.Type):T;
        /**
         * Initializes the memory referenced by this pointer with the values
         *  
         * starting at the given pointer, binds the memory to the values’ type,
         *  
         * deinitializes the source memory, and returns a typed pointer to the
         *  
         * newly initialized memory.
         */
        moveInitializeMemory<T>(type: T.Type, source: UnsafeMutablePointer<T>, count: number):UnsafeMutablePointer<T>;
        /**
         * Stores the given value’s bytes into raw memory at the specified offset.
         */
        storeBytes<T>(value: T, offset: number, type: T.Type):void;
        /**
         * Executes the given closure while temporarily binding memory to
         *  
         * the specified number of instances of type 
         * .
         */
        withMemoryRebound<T, Result>(type: T.Type, count: number, body: Result):Result;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):UnsafeMutableRawPointer;
        /**
         * Returns the distance from this pointer to the given pointer, counted as
         *  
         * instances of the pointer’s 
         *  type.
         */
        distance(end: Self):number;
        /**
         * Returns a pointer to the previous consecutive instance.
         */
        predecessor():Self;
        /**
         * Returns a pointer to the next consecutive instance.
         */
        successor():Self;
    }
    export class UnsafeRawBufferPointer {
        /**
         * A pointer to the first byte of the buffer.
         */
        baseAddress: UnsafeRawPointer | null;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The “past the end” position—that is, the position one greater than the
         *  
         * last valid subscript argument.
         */
        endIndex: UnsafeRawBufferPointer.Index;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: UnsafeRawBufferPointer.Indices;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * Always zero, which is the index of the first byte in a nonempty buffer.
         */
        startIndex: UnsafeRawBufferPointer.Index;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the buffer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A 
         *  of 
         *  elements which compose a
         *  
         * discontiguous buffer of memory.  Each region is a contiguous buffer of
         *  
         * bytes.
         */
        regions: CollectionOfOne<UnsafeRawBufferPointer>;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a new buffer over the same memory as the given buffer.
         */
        constructor (bytes: UnsafeRawBufferPointer);
        /**
         * Creates a raw buffer over the same memory as the given raw buffer slice,
         *  
         * with the indices rebased to zero.
         */
        constructor (slice: Slice<UnsafeRawBufferPointer>);
        /**
         * Creates a buffer over the specified number of contiguous bytes starting
         *  
         * at the given pointer.
         */
        constructor (start: UnsafeRawPointer | null, count: number);
        /**
         * Returns a typed buffer to the memory referenced by this buffer,
         *  
         * assuming that the memory is already bound to the specified type.
         */
        assumingMemoryBound<T>(to: T.Type):UnsafeBufferPointer<T>;
        /**
         * Binds this buffer’s memory to the specified type and returns a typed buffer
         *  
         * of the bound memory.
         */
        bindMemory<T>(type: T.Type):UnsafeBufferPointer<T>;
        /**
         * Deallocates the memory block previously allocated at this buffer pointer’s
         *  
         * base address.
         */
        deallocate():void;
        /**
         * Returns a new instance of the given type, read from the buffer pointer’s
         *  
         * raw memory at the specified byte offset.
         */
        load<T>(offset: number, type: T.Type):T;
        /**
         * Returns a new instance of the given type, constructed from the raw memory
         *  
         * at the specified offset.
         */
        loadUnaligned<T>(offset: number, type: T.Type):T;
        /**
         * Executes the given closure while temporarily binding the buffer to
         *  
         * instances of type 
         * .
         */
        withMemoryRebound<T, Result>(type: T.Type, body: Result):Result;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<R>(body: R):R;
        copyBytes(ptr: UnsafeMutableRawBufferPointer):number;
        copyBytes<DestinationType, R>(ptr: UnsafeMutableBufferPointer<DestinationType>, range: R):void;
        copyBytes<R>(ptr: UnsafeMutableRawBufferPointer, range: R):R.Bound;
        firstRange<D>(data: D):DataProtocol;
        /**
         * Returns the first found range of the given data buffer.
         */
        firstRange<D, R>(data: D, range: R):R.Bound;
        lastRange<D>(data: D):DataProtocol;
        /**
         * Returns the last found range of the given data buffer.
         */
        lastRange<D, R>(data: D, range: R):R.Bound;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the bytes of this sequence.
         */
        makeIterator():UnsafeRawBufferPointer.Iterator;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class UnsafeRawBufferPointer
     */
    export namespace UnsafeRawBufferPointer {
        export class Iterator {
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Advances to the next byte and returns it, or 
             *  if no next byte
             *  
             * exists.
             */
            next():UInt8 | null;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that
             *  
             * satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):DropFirstSequence<Self>;
            /**
             * Returns a sequence containing all but the given number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.Element[];
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():Self;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns a sequence, up to the specified maximum length, containing the
             *  
             * initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns an array containing the elements of this sequence in reverse
             *  
             * order.
             */
            reversed():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that
             *  
             * don’t contain elements satisfying the given predicate. Elements that are
             *  
             * used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the sequence.
             */
            suffix(maxLength: number):Self.Element[];
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class UnsafeMutableRawBufferPointer {
        /**
         * A pointer to the first byte of the buffer.
         */
        baseAddress: UnsafeMutableRawPointer | null;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The “past the end” position—that is, the position one greater than the
         *  
         * last valid subscript argument.
         */
        endIndex: UnsafeMutableRawBufferPointer.Index;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: UnsafeMutableRawBufferPointer.Indices;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * Always zero, which is the index of the first byte in a nonempty buffer.
         */
        startIndex: UnsafeMutableRawBufferPointer.Index;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of the buffer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * Creates a new buffer over the same memory as the given buffer.
         */
        constructor (bytes: UnsafeMutableRawBufferPointer);
        /**
         * Creates a new mutable buffer over the same memory as the given buffer.
         */
        constructor (bytes: UnsafeRawBufferPointer);
        /**
         * Creates a raw buffer over the same memory as the given raw buffer slice,
         *  
         * with the indices rebased to zero.
         */
        constructor (slice: Slice<UnsafeMutableRawBufferPointer>);
        /**
         * Creates a buffer over the specified number of contiguous bytes starting
         *  
         * at the given pointer.
         */
        constructor (start: UnsafeMutableRawPointer | null, count: number);
        /**
         * Allocates uninitialized memory with the specified size and alignment.
         */
        static allocate(byteCount: number, alignment: number):UnsafeMutableRawBufferPointer;
        /**
         * Returns a typed buffer to the memory referenced by this buffer,
         *  
         * assuming that the memory is already bound to the specified type.
         */
        assumingMemoryBound<T>(to: T.Type):UnsafeMutableBufferPointer<T>;
        /**
         * Binds this buffer’s memory to the specified type and returns a typed buffer
         *  
         * of the bound memory.
         */
        bindMemory<T>(type: T.Type):UnsafeMutableBufferPointer<T>;
        /**
         * Copies from a collection of 
         *  into this buffer’s memory.
         */
        copyBytes<C>(source: C):void;
        copyBytes(source: UnsafeRawBufferPointer):void;
        /**
         * Copies the bytes from the given buffer to this buffer’s memory.
         */
        copyMemory(source: UnsafeRawBufferPointer):void;
        /**
         * Deallocates the memory block previously allocated at this buffer pointer’s
         *  
         * base address.
         */
        deallocate():void;
        /**
         * Initializes the buffer’s memory with the given elements, binding the
         *  
         * initialized memory to the elements’ type.
         */
        initializeMemory<S>(type: S.Element.Type, source: S):Sequence;
        /**
         * Initializes the memory referenced by this buffer with the given value,
         *  
         * binds the memory to the value’s type, and returns a typed buffer of the
         *  
         * initialized memory.
         */
        initializeMemory<T>(type: T.Type, repeatedValue: T):UnsafeMutableBufferPointer<T>;
        /**
         * Returns a new instance of the given type, read from the buffer pointer’s
         *  
         * raw memory at the specified byte offset.
         */
        load<T>(offset: number, type: T.Type):T;
        /**
         * Returns a new instance of the given type, constructed from the raw memory
         *  
         * at the specified offset.
         */
        loadUnaligned<T>(offset: number, type: T.Type):T;
        /**
         * Stores a value’s bytes into the buffer pointer’s raw memory at the
         *  
         * specified byte offset.
         */
        storeBytes<T>(value: T, offset: number, type: T.Type):void;
        /**
         * Executes the given closure while temporarily binding the buffer to
         *  
         * instances of type 
         * .
         */
        withMemoryRebound<T, Result>(type: T.Type, body: Result):Result;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Calls the given closure with the contents of underlying storage.
         */
        withUnsafeBytes<R>(body: R):R;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Sorts the collection in place.
         */
        sort():void;
        /**
         * Exchanges the byte values at the specified indices
         *  
         * in this buffer’s memory.
         */
        swapAt(i: number, j: number):void;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns an iterator over the bytes of this sequence.
         */
        makeIterator():UnsafeMutableRawBufferPointer.Iterator;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export enum MemoryLayout {}
    export class Unmanaged {
        /**
         * Unsafely turns an opaque C pointer into an unmanaged class reference.
         */
        static fromOpaque(value: UnsafeRawPointer):Unmanaged<Instance>;
        /**
         * Creates an unmanaged reference with an unbalanced retain.
         */
        static passRetained(value: Instance):Unmanaged<Instance>;
        /**
         * Creates an unmanaged reference without performing an unbalanced
         *  
         * retain.
         */
        static passUnretained(value: Instance):Unmanaged<Instance>;
        /**
         * Performs an unbalanced autorelease of the object.
         */
        autorelease():Unmanaged<Instance>;
        /**
         * Performs an unbalanced release of the object.
         */
        release():void;
        /**
         * Performs an unbalanced retain of the object.
         */
        retain():Unmanaged<Instance>;
        /**
         * Gets the value of this unmanaged reference as a managed
         *  
         * reference and consumes an unbalanced retain of it.
         */
        takeRetainedValue():Instance;
        /**
         * Gets the value of this unmanaged reference as a managed
         *  
         * reference without consuming an unbalanced retain of it.
         */
        takeUnretainedValue():Instance;
        /**
         * Unsafely converts an unmanaged class reference to a pointer.
         */
        toOpaque():UnsafeMutableRawPointer;
    }
    export class OpaquePointer {
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        constructor (from: UnsafeRawPointer);
        /**
         * Creates an 
         *  from a given address in memory.
         */
        constructor (bitPattern: number);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class AutoreleasingUnsafeMutablePointer {
        /**
         * Retrieve or set the 
         *  instance referenced by 
         * .
         */
        pointee: Pointee;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The custom mirror for this instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Explicit construction from an UnsafeMutablePointer.
         */
        constructor (from: UnsafeMutablePointer<U> | null);
        /**
         * Creates a new pointer from the given address, specified as a bit
         *  
         * pattern.
         */
        constructor (bitPattern: number);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a pointer offset from this pointer by the specified number of
         *  
         * instances.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this pointer to the given pointer, counted as
         *  
         * instances of the pointer’s 
         *  type.
         */
        distance(end: Self):number;
        /**
         * Returns a pointer to the previous consecutive instance.
         */
        predecessor():Self;
        /**
         * Returns a pointer to the next consecutive instance.
         */
        successor():Self;
    }
    export class CVaListPointer {
        /**
         * A textual representation of the pointer, suitable for debugging.
         */
        debugDescription: string;
    }
    export enum FloatingPointClassification {}
    export enum FloatingPointRoundingRule {}
    export enum FloatingPointSign {}
    export class Bool {
        /**
         * The underlying type the conforming type uses when it wraps itself in a
         *  
         * data value.
         */
        static dataValueType: MLDataValue.ValueType;
        static defaultResolverSpecification: ResolverSpecification;
        /**
         * A textual representation of the Boolean value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The value of the conforming type’s instance wrapped in a data value.
         */
        dataValue: MLDataValue;
        /**
         * Creates an instance equal to the given Boolean value.
         */
        constructor (value: boolean);
        constructor (_number: NSNumber);
        constructor (_number: NSNumber);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to 
         * .
         */
        constructor ();
        /**
         * Creates an instance initialized to the specified Boolean literal.
         */
        constructor (value: boolean);
        /**
         * Returns a random Boolean value.
         */
        static random():boolean;
        /**
         * Returns a random Boolean value, using the given generator as a source for
         *  
         * randomness.
         */
        static random<T>(generator: T):RandomNumberGenerator;
        /**
         * Toggles the Boolean variable’s value.
         */
        toggle():void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class Bool
     */
    export namespace Bool {
        export class IntentDisplayName {
            false: LocalizedStringResource;
            true: LocalizedStringResource;
            constructor (_true: LocalizedStringResource, _false: LocalizedStringResource);
        }
    }
    export class Float {
        /**
         * The 
         * , approximately equal to 3.14159.
         */
        static pi: Float;
        /**
         * Positive infinity.
         */
        static infinity: Float;
        /**
         * The greatest finite number representable by this type.
         */
        static greatestFiniteMagnitude: Float;
        /**
         * A quiet NaN (“not a number”).
         */
        static nan: Float;
        /**
         * A signaling NaN (“not a number”).
         */
        static signalingNaN: Float;
        /**
         * The unit in the last place of 1.0.
         */
        static ulpOfOne: Float;
        /**
         * The least positive normal number.
         */
        static leastNormalMagnitude: Float;
        /**
         * The least positive number.
         */
        static leastNonzeroMagnitude: Float;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * The available number of fractional significand bits.
         */
        static significandBitCount: number;
        /**
         * The number of bits used to represent the type’s exponent.
         */
        static exponentBitCount: number;
        /**
         * The radix, or base of exponentiation, for a floating-point type.
         */
        static radix: number;
        static mlMultiArrayDataType: MLMultiArrayDataType;
        /**
         * The magnitude of this value.
         */
        magnitude: Float;
        /**
         * The sign of the floating-point value.
         */
        sign: FloatingPointSign;
        /**
         * The unit in the last place of this value.
         */
        ulp: Float;
        /**
         * The significand of the floating-point value.
         */
        significand: Float;
        /**
         * The exponent of the floating-point value.
         */
        exponent: number;
        /**
         * The least representable value that compares greater than this value.
         */
        nextUp: Float;
        /**
         * The greatest representable value that compares less than this value.
         */
        nextDown: Self;
        /**
         * The floating-point value with the same sign and exponent as this value,
         *  
         * but with a significand of 1.0.
         */
        binade: Float;
        /**
         * The bit pattern of the value’s encoding.
         */
        bitPattern: UInt32;
        /**
         * The raw encoding of the value’s significand field.
         */
        significandBitPattern: UInt32;
        /**
         * The number of bits required to represent the value’s significand.
         */
        significandWidth: number;
        /**
         * The raw encoding of the value’s exponent field.
         */
        exponentBitPattern: number;
        /**
         * A Boolean value indicating whether the instance is equal to zero.
         */
        isZero: boolean;
        /**
         * A Boolean value indicating whether this instance is finite.
         */
        isFinite: boolean;
        /**
         * A Boolean value indicating whether the instance is infinite.
         */
        isInfinite: boolean;
        /**
         * A Boolean value indicating whether the instance is NaN (“not a number”).
         */
        isNaN: boolean;
        /**
         * A Boolean value indicating whether the instance is a signaling NaN.
         */
        isSignalingNaN: boolean;
        /**
         * A Boolean value indicating whether this instance is normal.
         */
        isNormal: boolean;
        /**
         * A Boolean value indicating whether the instance is subnormal.
         */
        isSubnormal: boolean;
        /**
         * A Boolean value indicating whether the instance’s representation is in
         *  
         * its canonical form.
         */
        isCanonical: boolean;
        /**
         * The classification of this value.
         */
        floatingPointClass: FloatingPointClassification;
        /**
         * A textual representation of the value.
         */
        description: string;
        /**
         * A textual representation of the value, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * The 
         * ’s identifier value as a 
         * .
         */
        entityIdentifierString: string;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * Returns the dot-product of this vector arithmetic instance with itself.
         */
        magnitudeSquared: number;
        /**
         * Creates a new value, rounded to the closest possible representation.
         */
        constructor (value: Source);
        /**
         * Creates a new floating-point value using the sign of one value and the
         *  
         * magnitude of another.
         */
        constructor (sign: Float, mag: Float);
        /**
         * Creates a new value from the given sign, exponent, and significand.
         */
        constructor (sign: FloatingPointSign, exponent: number, significand: Float);
        constructor (_number: NSNumber);
        /**
         * Creates a new instance from the given value, if it can be represented
         *  
         * exactly.
         */
        constructor (value: Source);
        /**
         * Creates a new value with the given bit pattern.
         */
        constructor (bitPattern: UInt32);
        /**
         * Creates a new instance from the specified sign and bit patterns.
         */
        constructor (sign: FloatingPointSign, exponentBitPattern: number, significandBitPattern: UInt32);
        /**
         * Creates a NaN (“not a number”) value with the specified payload.
         */
        constructor (payload: Float.RawSignificand, signaling: boolean);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        constructor ();
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Int64);
        /**
         * Creates an instance initialized to the specified floating-point value.
         */
        constructor (value: Float);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: Range<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the greater of the two given values.
         */
        static maximum(x: Self, y: Self):Self;
        /**
         * Returns the value with greater magnitude.
         */
        static maximumMagnitude(x: Self, y: Self):Self;
        /**
         * Returns the lesser of the two given values.
         */
        static minimum(x: Self, y: Self):Self;
        /**
         * Returns the value with lesser magnitude.
         */
        static minimumMagnitude(x: Self, y: Self):Self;
        /**
         * Identifiers should be able to initialize via a 
         *  format.
         */
        static entityIdentifier(entityIdentifierString: string):Float | null;
        /**
         * Returns the result of adding the product of the two given values to this
         *  
         * value, computed without intermediate rounding.
         */
        addingProduct(lhs: Self, rhs: Self):Self;
        /**
         * Adds the product of the two given values to this value in place, computed
         *  
         * without intermediate rounding.
         */
        addProduct(lhs: Float, rhs: Float):void;
        /**
         * Returns the square root of the value, rounded to a representable value.
         */
        squareRoot():Self;
        /**
         * Replaces this value with its square root, rounded to a representable
         *  
         * value.
         */
        formSquareRoot():void;
        /**
         * Returns the remainder of this value divided by the given value.
         */
        remainder(other: Self):Self;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value.
         */
        formRemainder(other: Float):void;
        /**
         * Returns the remainder of this value divided by the given value using
         *  
         * truncating division.
         */
        truncatingRemainder(other: Self):Self;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value using truncating division.
         */
        formTruncatingRemainder(other: Float):void;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
        rounded():Self;
        round():void;
        /**
         * Returns a Boolean value indicating whether this instance is equal to the
         *  
         * given value.
         */
        isEqual(other: Float):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than the
         *  
         * given value.
         */
        isLess(other: Float):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than or
         *  
         * equal to the given value.
         */
        isLessThanOrEqualTo(other: Float):boolean;
        /**
         * Returns a Boolean value indicating whether this instance should precede
         *  
         * or tie positions with the given value in an ascending sort.
         */
        isTotallyOrdered(other: Self):boolean;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(amount: Float):Float;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Float):Float;
        /**
         * Writes a textual representation of this instance into the given output
         *  
         * stream.
         */
        write<Target>(target: Target):void;
        /**
         * Multiplies each component of this value by the given value.
         */
        scale(rhs: number):void;
    }
    /**
     * the same name namespace of class Float
     */
    export namespace Float {
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export enum Result {}
    export enum Optional {}
    export class UInt {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: number;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: UInt.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * The magnitude of this value.
         */
        magnitude: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: number);
        /**
         * Creates a new value with the bit pattern of the given pointer.
         */
        constructor (pointer: P | null);
        constructor (_number: NSNumber);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: IntegerFormatStyle<Self>, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: ClosedRange<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: number):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: number):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: number):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: number):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: number):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():number;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: number):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format.
         */
        formatted<S>(format: S):FormatStyle;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UInt
     */
    export namespace UInt {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: UInt.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: number);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class UInt8 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: UInt8;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: UInt8.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: UInt8;
        /**
         * The magnitude of this value.
         */
        magnitude: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: Float16);
        /**
         * Construct with value 
         * .
         */
        constructor (v: Unicode.Scalar);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: Int8);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: number);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: UInt8);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: Range<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: UInt8):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: UInt8):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: UInt8):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: UInt8):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: UInt8):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():UInt8;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: UInt8):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format. 
         *  is first converted to 
         *  type, then format with the given format.
         */
        formatted<S>(format: S):BinaryInteger;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UInt8
     */
    export namespace UInt8 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: UInt8.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: UInt8);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class UInt16 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: UInt16;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: UInt16.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * The magnitude of this value.
         */
        magnitude: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: number);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: Int16);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: number);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: ClosedRange<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: UInt16):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: UInt16):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: UInt16):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: UInt16):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: UInt16):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():UInt16;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: UInt16):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format.
         */
        formatted<S>(format: S):FormatStyle;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UInt16
     */
    export namespace UInt16 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: UInt16.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: UInt16);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class UInt32 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: UInt32;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: UInt32.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * The magnitude of this value.
         */
        magnitude: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: Float);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: Int32);
        constructor (_number: NSNumber);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: ClosedRange<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: UInt32):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: UInt32):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: UInt32):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: UInt32):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: UInt32):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():UInt32;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: UInt32):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format.
         */
        formatted<S>(format: S):FormatStyle;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UInt32
     */
    export namespace UInt32 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: UInt32.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: UInt32);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class UInt64 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: UInt64;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: UInt64.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * The magnitude of this value.
         */
        magnitude: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: Float16);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: Int64);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: Float80);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: IntegerFormatStyle<Self>, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: ClosedRange<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: UInt64):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: UInt64):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: UInt64):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: UInt64):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: UInt64):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():UInt64;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: UInt64):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format.
         */
        formatted<S>(format: S):FormatStyle;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UInt64
     */
    export namespace UInt64 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: UInt64.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: UInt64);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class Int8 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: Int8;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The magnitude of this value.
         */
        magnitude: UInt8;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: Int8.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: Float16);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: UInt8);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: Float80);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: Range<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: Int8):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: Int8):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: Int8):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: Int8):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: Int8):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():Int8;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: Int8):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format.
         */
        formatted<S>(format: S):FormatStyle;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
    }
    /**
     * the same name namespace of class Int8
     */
    export namespace Int8 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Int8.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: Int8);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class Int16 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: Int16;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The magnitude of this value.
         */
        magnitude: UInt16;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: Int16.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Int16;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: Float16);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: UInt16);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: Float80);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Int16);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: Range<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: Int16):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: Int16):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: Int16):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: Int16):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: Int16):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():Int16;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: Int16):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format. 
         *  is first converted to 
         *  type, then format with the given format.
         */
        formatted<S>(format: S):BinaryInteger;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
    }
    /**
     * the same name namespace of class Int16
     */
    export namespace Int16 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Int16.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: Int16);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class Int32 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        static mlMultiArrayDataType: MLMultiArrayDataType;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: Int32;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The magnitude of this value.
         */
        magnitude: UInt32;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: Int32.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        /**
         * Creates an integer from the given floating-point value, rounding toward
         *  
         * zero.
         */
        constructor (source: Float80);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: UInt32);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: Float16);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        /**
         * Initialize an instance by parsing 
         *  with the given 
         * .
         */
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: Range<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: Int32):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: Int32):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: Int32):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: Int32):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: Int32):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():Int32;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: Int32):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format.
         */
        formatted<S>(format: S):FormatStyle;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
    }
    /**
     * the same name namespace of class Int32
     */
    export namespace Int32 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Int32.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: Int32);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class Int64 {
        /**
         * The number of bits used for the underlying binary representation of
         *  
         * values of this type.
         */
        static bitWidth: number;
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * The underlying type the conforming type uses when it wraps itself in a
         *  
         * data value.
         */
        static dataValueType: MLDataValue.ValueType;
        /**
         * A Boolean value indicating whether this type is a signed integer type.
         */
        static isSigned: boolean;
        /**
         * The maximum representable integer in this type.
         */
        static max: Self;
        /**
         * The minimum representable integer in this type.
         */
        static min: Self;
        /**
         * A representation of this integer with the byte order swapped.
         */
        byteSwapped: Int64;
        /**
         * The number of leading zeros in this value’s binary representation.
         */
        leadingZeroBitCount: number;
        /**
         * The magnitude of this value.
         */
        magnitude: UInt64;
        /**
         * The number of bits equal to 1 in this value’s binary representation.
         */
        nonzeroBitCount: number;
        /**
         * The number of trailing zeros in this value’s binary representation.
         */
        trailingZeroBitCount: number;
        /**
         * A collection containing the words of this value’s binary
         *  
         * representation, in order from the least significant to most significant.
         */
        words: Int64.Words;
        /**
         * A textual representation of this value.
         */
        description: string;
        /**
         * A mirror that reflects the 
         *  instance.
         */
        customMirror: Mirror;
        /**
         * The big-endian representation of this integer.
         */
        bigEndian: Self;
        /**
         * The little-endian representation of this integer.
         */
        littleEndian: Self;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The value of the conforming type’s instance wrapped in a data value.
         */
        dataValue: MLDataValue;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        /**
         * A custom playground Quick Look for the 
         *  instance.
         */
        customPlaygroundQuickLook: _PlaygroundQuickLook;
        constructor (_number: NSNumber);
        /**
         * Creates a new instance with the same memory representation as the given
         *  
         * value.
         */
        constructor (x: UInt64);
        /**
         * Creates an integer from the given floating-point value, if it can be
         *  
         * represented exactly.
         */
        constructor (source: number);
        constructor (_number: NSNumber);
        /**
         * Creates a new value equal to zero.
         */
        constructor ();
        constructor (value: string, format: any, lenient: boolean);
        constructor (value: S.ParseInput, strategy: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new integer value from the given string and radix.
         */
        constructor (text: S, radix: number);
        /**
         * Creates an integer from its big-endian representation, changing the byte
         *  
         * order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance with the representable value that’s closest to the
         *  
         * given integer.
         */
        constructor (source: Other);
        /**
         * Creates an integer from its little-endian representation, changing the
         *  
         * byte order if necessary.
         */
        constructor (value: Self);
        /**
         * Creates a new instance from the bit pattern of the given instance by
         *  
         * truncating or sign-extending if needed to fit this type.
         */
        constructor (source: T);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the sum of this value and the given value, along with a Boolean
         *  
         * value indicating whether overflow occurred in the operation.
         */
        addingReportingOverflow(other: Int64):any;
        /**
         * Returns the quotient obtained by dividing this value by the given value,
         *  
         * along with a Boolean value indicating whether overflow occurred in the
         *  
         * operation.
         */
        dividedReportingOverflow(other: Int64):any;
        /**
         * Returns a tuple containing the quotient and remainder of dividing the
         *  
         * given value by this value.
         */
        dividingFullWidth(dividend: any):any;
        /**
         * Returns a tuple containing the high and low parts of the result of
         *  
         * multiplying this value by the given value.
         */
        multipliedFullWidth(other: Int64):any;
        /**
         * Returns the product of this value and the given value, along with a
         *  
         * Boolean value indicating whether overflow occurred in the operation.
         */
        multipliedReportingOverflow(other: Int64):any;
        /**
         * Returns the remainder after dividing this value by the given value, along
         *  
         * with a Boolean value indicating whether overflow occurred during division.
         */
        remainderReportingOverflow(other: Int64):any;
        /**
         * Returns 
         *  if this value is negative and 
         *  if it’s positive;
         *  
         * otherwise, 
         * .
         */
        signum():Int64;
        /**
         * Returns the difference obtained by subtracting the given value from this
         *  
         * value, along with a Boolean value indicating whether overflow occurred in
         *  
         * the operation.
         */
        subtractingReportingOverflow(other: Int64):any;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(n: number):Self;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Self):number;
        /**
         * Format 
         *  using 
         */
        formatted():string;
        /**
         * Format 
         *  with the given format. 
         *  is first converted to 
         *  type, then format with the given format.
         */
        formatted<S>(format: S):BinaryInteger;
        /**
         * Returns 
         *  if this value is a multiple of the given value, and 
         *  
         * otherwise.
         */
        isMultiple(other: Self):boolean;
        /**
         * Returns the quotient and remainder of this value divided by the given
         *  
         * value.
         */
        quotientAndRemainder(rhs: Self):any;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
    }
    /**
     * the same name namespace of class Int64
     */
    export namespace Int64 {
        export class Words {
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: Int64.Words.Indices;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            constructor (value: Int64);
            /**
             * Returns the position immediately after the given index.
             */
            index(i: number):number;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class Float16 {
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * The number of bits used to represent the type’s exponent.
         */
        static exponentBitCount: number;
        /**
         * The available number of fractional significand bits.
         */
        static significandBitCount: number;
        /**
         * The greatest finite number representable by this type.
         */
        static greatestFiniteMagnitude: Float16;
        /**
         * Positive infinity.
         */
        static infinity: Float16;
        /**
         * The least positive number.
         */
        static leastNonzeroMagnitude: Float16;
        /**
         * The least positive normal number.
         */
        static leastNormalMagnitude: Float16;
        /**
         * A quiet NaN (“not a number”).
         */
        static nan: Float16;
        /**
         * The 
         * , approximately equal to 3.14159.
         */
        static pi: Float16;
        /**
         * The radix, or base of exponentiation, for a floating-point type.
         */
        static radix: number;
        /**
         * A signaling NaN (“not a number”).
         */
        static signalingNaN: Float16;
        /**
         * The unit in the last place of 1.0.
         */
        static ulpOfOne: Float16;
        /**
         * The bit pattern of the value’s encoding.
         */
        bitPattern: UInt16;
        /**
         * The floating-point value with the same sign and exponent as this value,
         *  
         * but with a significand of 1.0.
         */
        binade: Float16;
        /**
         * The raw encoding of the value’s exponent field.
         */
        exponentBitPattern: number;
        /**
         * The raw encoding of the value’s significand field.
         */
        significandBitPattern: UInt16;
        /**
         * The number of bits required to represent the value’s significand.
         */
        significandWidth: number;
        /**
         * A textual representation of the value, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of the value.
         */
        description: string;
        /**
         * The exponent of the floating-point value.
         */
        exponent: number;
        /**
         * The classification of this value.
         */
        floatingPointClass: FloatingPointClassification;
        /**
         * A Boolean value indicating whether the instance’s representation is in
         *  
         * its canonical form.
         */
        isCanonical: boolean;
        /**
         * A Boolean value indicating whether this instance is finite.
         */
        isFinite: boolean;
        /**
         * A Boolean value indicating whether the instance is infinite.
         */
        isInfinite: boolean;
        /**
         * A Boolean value indicating whether the instance is NaN (“not a number”).
         */
        isNaN: boolean;
        /**
         * A Boolean value indicating whether this instance is normal.
         */
        isNormal: boolean;
        /**
         * A Boolean value indicating whether the instance is a signaling NaN.
         */
        isSignalingNaN: boolean;
        /**
         * A Boolean value indicating whether the instance is subnormal.
         */
        isSubnormal: boolean;
        /**
         * A Boolean value indicating whether the instance is equal to zero.
         */
        isZero: boolean;
        /**
         * The greatest representable value that compares less than this value.
         */
        nextDown: Self;
        /**
         * The least representable value that compares greater than this value.
         */
        nextUp: Float16;
        /**
         * The sign of the floating-point value.
         */
        sign: FloatingPointSign;
        /**
         * The significand of the floating-point value.
         */
        significand: Float16;
        /**
         * The unit in the last place of this value.
         */
        ulp: Float16;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The magnitude of this value.
         */
        magnitude: Float16;
        /**
         * Converts the type to its primitive value.
         */
        primitivePlottable: Self;
        constructor ();
        constructor (text: Substring);
        /**
         * Creates a new value with the given bit pattern.
         */
        constructor (bitPattern: UInt16);
        /**
         * Creates a new instance initialized to the given value, if it can be
         *  
         * represented without rounding.
         */
        constructor (other: Float16);
        /**
         * Creates a NaN (“not a number”) value with the specified payload.
         */
        constructor (payload: Float16.RawSignificand, signaling: boolean);
        /**
         * Creates a new instance from the specified sign and bit patterns.
         */
        constructor (sign: FloatingPointSign, exponentBitPattern: number, significandBitPattern: UInt16);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the specified floating-point value.
         */
        constructor (value: Float16);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new value from the given sign, exponent, and significand.
         */
        constructor (sign: FloatingPointSign, exponent: number, significand: Float16);
        /**
         * Creates a new floating-point value using the sign of one value and the
         *  
         * magnitude of another.
         */
        constructor (signOf: Self, magnitudeOf: Self);
        /**
         * Creates a value with a primitive value.
         *  
         * If the conversion is not possible, returns nil.
         */
        constructor (primitivePlottable: Self.PrimitivePlottable);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the greater of the two given values.
         */
        static maximum(x: Self, y: Self):Self;
        /**
         * Returns the value with greater magnitude.
         */
        static maximumMagnitude(x: Self, y: Self):Self;
        /**
         * Returns the lesser of the two given values.
         */
        static minimum(x: Self, y: Self):Self;
        /**
         * Returns the value with lesser magnitude.
         */
        static minimumMagnitude(x: Self, y: Self):Self;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Adds the product of the two given values to this value in place, computed
         *  
         * without intermediate rounding.
         */
        addProduct(lhs: Float16, rhs: Float16):void;
        /**
         * Returns the result of adding the product of the two given values to this
         *  
         * value, computed without intermediate rounding.
         */
        addingProduct(lhs: Self, rhs: Self):Self;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value.
         */
        formRemainder(other: Float16):void;
        /**
         * Replaces this value with its square root, rounded to a representable
         *  
         * value.
         */
        formSquareRoot():void;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value using truncating division.
         */
        formTruncatingRemainder(other: Float16):void;
        /**
         * Returns a Boolean value indicating whether this instance is equal to the
         *  
         * given value.
         */
        isEqual(other: Float16):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than the
         *  
         * given value.
         */
        isLess(other: Float16):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than or
         *  
         * equal to the given value.
         */
        isLessThanOrEqualTo(other: Float16):boolean;
        /**
         * Returns a Boolean value indicating whether this instance should precede
         *  
         * or tie positions with the given value in an ascending sort.
         */
        isTotallyOrdered(other: Self):boolean;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
        /**
         * Returns the remainder of this value divided by the given value.
         */
        remainder(other: Self):Self;
        round():void;
        rounded():Self;
        /**
         * Returns the square root of the value, rounded to a representable value.
         */
        squareRoot():Self;
        /**
         * Returns the remainder of this value divided by the given value using
         *  
         * truncating division.
         */
        truncatingRemainder(other: Self):Self;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(amount: Float16):Float16;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Float16):Float16;
        /**
         * Writes a textual representation of this instance into the given output
         *  
         * stream.
         */
        write<Target>(target: Target):void;
    }
    /**
     * the same name namespace of class Float16
     */
    export namespace Float16 {
        export class SIMD16Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD2Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD32Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD4Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD64Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
        export class SIMD8Storage {
            /**
             * The number of scalars, or elements, in the vector.
             */
            scalarCount: number;
            /**
             * Creates a vector with zero in all lanes.
             */
            constructor ();
        }
    }
    export class Float80 {
        /**
         * The zero value.
         */
        static zero: Self;
        /**
         * The number of bits used to represent the type’s exponent.
         */
        static exponentBitCount: number;
        /**
         * The available number of fractional significand bits.
         */
        static significandBitCount: number;
        /**
         * The greatest finite number representable by this type.
         */
        static greatestFiniteMagnitude: Float80;
        /**
         * Positive infinity.
         */
        static infinity: Float80;
        /**
         * The least positive number.
         */
        static leastNonzeroMagnitude: Float80;
        /**
         * The least positive normal number.
         */
        static leastNormalMagnitude: Float80;
        /**
         * A quiet NaN (“not a number”).
         */
        static nan: Float80;
        /**
         * The 
         * , approximately equal to 3.14159.
         */
        static pi: Float80;
        /**
         * The radix, or base of exponentiation, for a floating-point type.
         */
        static radix: number;
        /**
         * A signaling NaN (“not a number”).
         */
        static signalingNaN: Float80;
        /**
         * The unit in the last place of 1.0.
         */
        static ulpOfOne: Float80;
        /**
         * The floating-point value with the same sign and exponent as this value,
         *  
         * but with a significand of 1.0.
         */
        binade: Float80;
        /**
         * The raw encoding of the value’s exponent field.
         */
        exponentBitPattern: number;
        /**
         * The raw encoding of the value’s significand field.
         */
        significandBitPattern: UInt64;
        /**
         * The number of bits required to represent the value’s significand.
         */
        significandWidth: number;
        /**
         * A textual representation of the value, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the Float80 instance.
         */
        customMirror: Mirror;
        /**
         * A textual representation of the value.
         */
        description: string;
        /**
         * The exponent of the floating-point value.
         */
        exponent: number;
        /**
         * The classification of this value.
         */
        floatingPointClass: FloatingPointClassification;
        /**
         * A Boolean value indicating whether the instance’s representation is in
         *  
         * its canonical form.
         */
        isCanonical: boolean;
        /**
         * A Boolean value indicating whether this instance is finite.
         */
        isFinite: boolean;
        /**
         * A Boolean value indicating whether the instance is infinite.
         */
        isInfinite: boolean;
        /**
         * A Boolean value indicating whether the instance is NaN (“not a number”).
         */
        isNaN: boolean;
        /**
         * A Boolean value indicating whether this instance is normal.
         */
        isNormal: boolean;
        /**
         * A Boolean value indicating whether the instance is a signaling NaN.
         */
        isSignalingNaN: boolean;
        /**
         * A Boolean value indicating whether the instance is subnormal.
         */
        isSubnormal: boolean;
        /**
         * A Boolean value indicating whether the instance is equal to zero.
         */
        isZero: boolean;
        /**
         * The greatest representable value that compares less than this value.
         */
        nextDown: Self;
        /**
         * The least representable value that compares greater than this value.
         */
        nextUp: Float80;
        /**
         * The sign of the floating-point value.
         */
        sign: FloatingPointSign;
        /**
         * The significand of the floating-point value.
         */
        significand: Float80;
        /**
         * The unit in the last place of this value.
         */
        ulp: Float80;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The magnitude of this value.
         */
        magnitude: Float80;
        constructor ();
        constructor (text: Substring);
        /**
         * Creates a new instance initialized to the given value, if it can be
         *  
         * represented without rounding.
         */
        constructor (other: number);
        /**
         * Creates a NaN (“not a number”) value with the specified payload.
         */
        constructor (payload: Float80.RawSignificand, signaling: boolean);
        /**
         * Creates a new instance from the specified sign and bit patterns.
         */
        constructor (sign: FloatingPointSign, exponentBitPattern: number, significandBitPattern: UInt64);
        /**
         * Creates an instance initialized to the specified floating-point value.
         */
        constructor (value: Float80);
        /**
         * Creates an instance initialized to the specified integer value.
         */
        constructor (value: Self);
        /**
         * Creates a new value from the given sign, exponent, and significand.
         */
        constructor (sign: FloatingPointSign, exponent: number, significand: Float80);
        /**
         * Creates a new floating-point value using the sign of one value and the
         *  
         * magnitude of another.
         */
        constructor (sign: Float80, mag: Float80);
        /**
         * Returns a random value within the specified range.
         */
        static random(range: Range<Self>):Self;
        /**
         * Returns a random value within the specified range, using the given
         *  
         * generator as a source for randomness.
         */
        static random<T>(range: ClosedRange<Self>, generator: T):RandomNumberGenerator;
        /**
         * Returns the greater of the two given values.
         */
        static maximum(x: Self, y: Self):Self;
        /**
         * Returns the value with greater magnitude.
         */
        static maximumMagnitude(x: Self, y: Self):Self;
        /**
         * Returns the lesser of the two given values.
         */
        static minimum(x: Self, y: Self):Self;
        /**
         * Returns the value with lesser magnitude.
         */
        static minimumMagnitude(x: Self, y: Self):Self;
        /**
         * Adds the product of the two given values to this value in place, computed
         *  
         * without intermediate rounding.
         */
        addProduct(lhs: Float80, rhs: Float80):void;
        /**
         * Returns the result of adding the product of the two given values to this
         *  
         * value, computed without intermediate rounding.
         */
        addingProduct(lhs: Self, rhs: Self):Self;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value.
         */
        formRemainder(other: Float80):void;
        /**
         * Replaces this value with its square root, rounded to a representable
         *  
         * value.
         */
        formSquareRoot():void;
        /**
         * Replaces this value with the remainder of itself divided by the given
         *  
         * value using truncating division.
         */
        formTruncatingRemainder(other: Float80):void;
        /**
         * Returns a Boolean value indicating whether this instance is equal to the
         *  
         * given value.
         */
        isEqual(other: Float80):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than the
         *  
         * given value.
         */
        isLess(other: Float80):boolean;
        /**
         * Returns a Boolean value indicating whether this instance is less than or
         *  
         * equal to the given value.
         */
        isLessThanOrEqualTo(other: Float80):boolean;
        /**
         * Returns a Boolean value indicating whether this instance should precede
         *  
         * or tie positions with the given value in an ascending sort.
         */
        isTotallyOrdered(other: Self):boolean;
        /**
         * Replaces this value with its additive inverse.
         */
        negate():void;
        /**
         * Returns the remainder of this value divided by the given value.
         */
        remainder(other: Self):Self;
        round():void;
        rounded():Self;
        /**
         * Returns the square root of the value, rounded to a representable value.
         */
        squareRoot():Self;
        /**
         * Returns the remainder of this value divided by the given value using
         *  
         * truncating division.
         */
        truncatingRemainder(other: Self):Self;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a value that is offset the specified distance from this value.
         */
        advanced(amount: Float80):Float80;
        /**
         * Returns the distance from this value to the given value, expressed as a
         *  
         * stride.
         */
        distance(other: Float80):Float80;
        /**
         * Writes a textual representation of this instance into the given output
         *  
         * stream.
         */
        write<Target>(target: Target):void;
    }
}

/**
 * Process Apple Pay payments in your app, and create and distribute passes for the Wallet app.
 */
declare module PassKit {
    export class PKPassLibraryNotificationName {
        /**
         * A notification that PassKit posts when the pass library changes.
         */
        static PKPassLibraryDidChange: PKPassLibraryNotificationName;
        /**
         * A notification that PassKit posts when it adds or removes a pass on a paired remote device.
         */
        static PKPassLibraryRemotePaymentPassesDidChange: PKPassLibraryNotificationName;
    }
    export enum PKAddPaymentPassError {
        userCancelled = 1,
        systemCancelled = 2,
    }
    export class PKAddPaymentPassViewController extends UIViewController {
        /**
         * Returns an initialized add payment view controller object, using the provided configuration and delegate.
         */
        constructor (configuration: PKAddPaymentPassRequestConfiguration, delegate: PKAddPaymentPassViewControllerDelegate | null);
    }
    export class PKAddPaymentPassRequestConfiguration extends NSObject {
        /**
         * The payment network.
         */
        paymentNetwork: PKPaymentNetwork | null;
        /**
         * A primary account identifier, used to filter out pass libraries.
         */
        primaryAccountIdentifier: string;
        /**
         * A Boolean value that indicates whether the payment pass requires the Felica Secure Element.
         */
        requiresFelicaSecureElement: boolean;
        /**
         * The name of the person as shown on the card.
         */
        cardholderName: string;
        /**
         * The encryption scheme to be used in this request.
         */
        encryptionScheme: PKEncryptionScheme;
        /**
         * A short description of the card.
         */
        localizedDescription: string;
        /**
         * The last four or five digits of the card’s number.
         */
        primaryAccountSuffix: string;
        /**
         * An array of labeled values that describe a card.
         */
        cardDetails: PKLabeledValue[];
        productIdentifiers: Set<String>;
        /**
         * A value that indicates whether a pass is for access or for payment use.
         */
        style: PKAddPaymentPassStyle;
        /**
         * Instantiates a new request configuration with the given encryption scheme.
         */
        constructor (encryptionScheme: PKEncryptionScheme);
    }
    export class PKEncryptionScheme {
        /**
         * The elliptic curve cryptography (ECC) scheme. 
         */
        static ECC_V2: PKEncryptionScheme;
        /**
         * The RSA v2 scheme.
         */
        static RSA_V2: PKEncryptionScheme;
        /**
         * Initialize an encryption scheme using a string.
         */
        constructor (rawValue: string);
    }
    export class PKLabeledValue extends NSObject {
        /**
         * A string that contains the label for the value.
         */
        label: string;
        /**
         * A string that contains the value associated with a label.
         */
        value: string;
        /**
         * Instantiates a new labeled value object with the specified label and value strings.
         */
        constructor (label: string, value: string);
    }
    export enum PKAddPaymentPassStyle {
        access = 1,
        payment = 0,
    }
    export class PKTransitPassProperties extends PKStoredValuePassProperties {
        /**
         * The date that the transit card expires.
         */
        expirationDate: Date | null;
        /**
         * A Boolean value that indicates whether the transit pass has tapped in at a station and has not tapped out.
         */
        isInStation: boolean;
        /**
         * A Boolean value that indicates the pass issuer disabled the pass.
         */
        isBlocked: boolean;
        /**
         * A Boolean value that indicates the transit pass issuer disabled the pass.
         */
        isBlacklisted: boolean;
        /**
         * The current usable stored value on the transit card.
         */
        transitBalance: NSDecimalNumber;
        /**
         * The currency code associated with the balance on the pass.
         */
        transitBalanceCurrencyCode: string;
    }
    export class PKSuicaPassProperties extends PKTransitPassProperties {
        /**
         * A Boolean value that indicates whether the pass issuer disabled the pass.
         */
        isBlocked: boolean;
        /**
         * A Boolean value that indicates whether the transit pass issuer disabled the pass.
         */
        isBlacklisted: boolean;
        /**
         * A Boolean value that indicates whether the customer has redeemed the Green Car ticket.
         */
        isGreenCarTicketUsed: boolean;
        /**
         * A Boolean value that indicates whether the pass has tapped in at a Shinkansen Station and has not tapped out.
         */
        isInShinkansenStation: boolean;
        /**
         * A Boolean value that indicates whether the transit pass has tapped in at a station and has not tapped out.
         */
        isInStation: boolean;
        /**
         * The current usable stored value on the transit card.
         */
        transitBalance: NSDecimalNumber;
        /**
         * The currency code associated with the balance on the pass.
         */
        transitBalanceCurrencyCode: string;
        /**
         * A Boolean value that indicates how the balance can be used.
         */
        isBalanceAllowedForCommute: boolean;
        /**
         * A Boolean value that determines whether the terminal provides feedback if the balance is low after a deduction.
         */
        isLowBalanceGateNotificationEnabled: boolean;
        /**
         * Instantiates a Suica pass properties object that contains the properties supported in the specified pass.
         */
        constructor (pass: PKPass);
    }
    export class PKStoredValuePassProperties extends NSObject {
        /**
         * The amount available for transactions for a service represented by a stored-value pass.
         */
        balances: PKStoredValuePassBalance[];
        /**
         * The expiration date of a pass.
         */
        expirationDate: Date | null;
        /**
         * A Boolean value that indicates the pass issuer disabled a stored-value pass.
         */
        isBlocked: boolean;
        /**
         * A Boolean value that indicates the pass issuer disabled a stored-value pass.
         */
        isBlacklisted: boolean;
        /**
         * Creates a stored-value pass properties object for the specified pass.
         */
        constructor (pass: PKPass);
    }
    export class PKStoredValuePassBalance extends NSObject {
        /**
         * The date that the balance expires.
         */
        expiryDate: Date | null;
        /**
         * The current balance of a stored-value pass in money or points.
         */
        amount: Decimal;
        /**
         * The type of value that the balance represents, such as money or points.
         */
        balanceType: PKStoredValuePassBalance.BalanceType;
        /**
         * The ISO 4217 currency code of the balance.
         */
        currencyCode: string;
    }
    /**
     * the same name namespace of class PKStoredValuePassBalance
     */
    export namespace PKStoredValuePassBalance {
        export class BalanceType {
            /**
             * An identifier indicating a balance that represents money.
             */
            static cash: PKStoredValuePassBalance.BalanceType;
            /**
             * An identifier indicating a balance that represents points.
             */
            static loyaltyPoints: PKStoredValuePassBalance.BalanceType;
            /**
             * Creates a balance type.
             */
            constructor (rawValue: string);
        }
    }
    export class PKAddShareablePassConfiguration extends PKAddSecureElementPassConfiguration {
        /**
         * The action that the system performs with the shareable pass.
         */
        primaryAction: PKAddShareablePassConfigurationPrimaryAction;
        /**
         * Information for a shareable pass.
         */
        credentialsMetadata: PKShareablePassMetadata[];
        provisioningPolicyIdentifier: string;
        /**
         * Creates and error checks a new shareable pass-configuration object.
         */
        static forPassMetaData(passMetadata: PKShareablePassMetadata[], provisioningPolicyIdentifier: string, action: PKAddShareablePassConfigurationPrimaryAction, completion: ()=>any):void;
        static forPassMetadata(passMetadata: PKShareablePassMetadata[], action: PKAddShareablePassConfigurationPrimaryAction, completion: ()=>any):void;
    }
    export class PKShareablePassMetadata extends NSObject {
        /**
         * The name of the person that receives a shared pass.
         */
        ownerDisplayName: string;
        /**
         * A thumbnail image of a pass that the system displays on the sharing sheet.
         */
        passThumbnailImage: CGImage;
        /**
         * A longer form of the pass description that the system displays on the sharing sheet.
         */
        localizedDescription: string;
        /**
         * A developer-defined value that represents the user credentials of a pass.
         */
        credentialIdentifier: string;
        /**
         * A developer-defined value that represents the configuration of a pass.
         */
        cardConfigurationIdentifier: string;
        /**
         * A developer-defined unique value that you use to validate a shared pass.
         */
        sharingInstanceIdentifier: string;
        /**
         * An Apple Push Notification push token.
         */
        accountHash: string;
        /**
         * An identifier used in push notifications.
         */
        relyingPartyIdentifier: string;
        /**
         * An identifier used in push notifications.
         */
        templateIdentifier: string;
        cardTemplateIdentifier: string;
        requiresUnifiedAccessCapableDevice: boolean;
        preview: PKShareablePassMetadata.Preview;
        serverEnvironmentIdentifier: string;
        /**
         * Creates a shareable pass metadata object.
         */
        constructor (credentialIdentifier: string, cardConfigurationIdentifier: string, sharingInstanceIdentifier: string, passThumbnailImage: CGImage, ownerDisplayName: string, localizedDescription: string);
        constructor (credentialIdentifier: string, sharingInstanceIdentifier: string, passThumbnailImage: CGImage, ownerDisplayName: string, localizedDescription: string, accountHash: string, templateIdentifier: string, relyingPartyIdentifier: string, requiresUnifiedAccessCapableDevice: boolean);
        constructor (credentialIdentifier: string, sharingInstanceIdentifier: string, templateIdentifier: string, preview: PKShareablePassMetadata.Preview);
        constructor (credentialIdentifier: string, sharingInstanceIdentifier: string, templateIdentifier: string, preview: PKShareablePassMetadata.Preview);
    }
    /**
     * the same name namespace of class PKShareablePassMetadata
     */
    export namespace PKShareablePassMetadata {
        export class Preview extends NSObject {
            localizedDescription: string;
            ownerDisplayName: string;
            passThumbnailImage: CGImage | null;
            provisioningTemplateIdentifier: string;
            constructor (passThumbnail: CGImage, description: string);
            constructor (templateIdentifier: string);
        }
    }
    export enum PKAddShareablePassConfigurationPrimaryAction {
        add = 0,
        share = 1,
    }
    export class PKIdentityAuthorizationController extends NSObject {
        /**
         * Returns whether an identity document is available to request.
         */
        checkCanRequestDocument(descriptor: PKIdentityDocumentDescriptor, completion: ()=>any):void;
        /**
         * Prompts the user to approve the request to get the identity information.
         */
        requestDocument(request: PKIdentityRequest, completion: ()=>any):void;
        /**
         * Cancels a request in progress.
         */
        cancelRequest():void;
    }
    export class PKIdentityDriversLicenseDescriptor extends NSObject {}
    export class PKIdentityIntentToStore extends NSObject {
        /**
         * An object that indicates your app won’t store a data element any longer than necessary to complete a request.
         */
        static willNotStore: PKIdentityIntentToStore;
        /**
         * An object that indicates your app may store a data element for the length of time you specify.
         */
        static mayStore(days: number):Self;
    }
    export interface PKIdentityDocumentDescriptor extends NSObjectProtocol {
        /**
         * A list of identity elements to request.
         */
        elements: PKIdentityElement[];
        /**
         * Adds a list of identity element and defines the way an app, or it’s server, stores the elements.
         */
        addElements(elements: PKIdentityElement[], intentToStore: PKIdentityIntentToStore):void;
        /**
         * Gets the intent to store for an identity element you specify.
         */
        intentToStore(element: PKIdentityElement):PKIdentityIntentToStore | null;
    }
    export class PKIdentityElement extends NSObject {
        /**
         * An element that represents the user’s home address.
         */
        static address: PKIdentityElement;
        /**
         * An element that represents the user’s date of birth.
         */
        static dateOfBirth: PKIdentityElement;
        /**
         * An element that represents the issue date of the document.
         */
        static documentIssueDate: PKIdentityElement;
        /**
         * An element that represents the expiration date of the document.
         */
        static documentExpirationDate: PKIdentityElement;
        /**
         * An element that represents the document’s number, as the issuing authority defines.
         */
        static documentNumber: PKIdentityElement;
        /**
         * An element that represents the user’s driving privileges.
         */
        static drivingPrivileges: PKIdentityElement;
        /**
         * An element that represents the user’s family name.
         */
        static familyName: PKIdentityElement;
        /**
         * An element that represents the user’s given name.
         */
        static givenName: PKIdentityElement;
        /**
         * An element that represents the user’s issuing authority.
         */
        static issuingAuthority: PKIdentityElement;
        /**
         * An element that represents the user’s photo.
         */
        static portrait: PKIdentityElement;
        /**
         * An element that represents the user’s age, in years.
         */
        static age: PKIdentityElement;
    }
    export class PKIdentityRequest extends NSObject {
        /**
         * The description of the document the app requests.
         */
        descriptor: PKIdentityDocumentDescriptor | null;
        /**
         * An arbitrary number that the signed response playload includes.
         */
        nonce: Data | null;
        /**
         * A value that represents the merchant that makes the request.
         */
        merchantIdentifier: string;
    }
    export class PKIdentityDocument extends NSObject {
        /**
         * An encrypted data object that contains the document information and metadata to associate with a request.
         */
        encryptedData: Data;
    }
    export class PKIdentityButton extends UIControl {
        /**
         * The radius for the rounded corners on the button, in points.
         */
        cornerRadius: CGFloat;
        /**
         * Creates a new identity button with the label and style.
         */
        constructor (label: PKIdentityButton.Label, style: PKIdentityButton.Style);
    }
    /**
     * the same name namespace of class PKIdentityButton
     */
    export namespace PKIdentityButton {
        export enum Label {
            verifyIdentity = 0,
            verify = 1,
            verifyAge = 2,
            continue = 3,
        }
        export enum Style {
            black = 0,
            blackOutline = 1,
        }
    }
    export class VerifyIdentityWithWalletButtonLabel {
        /**
         * A button label that describes continuing with Apple Wallet.
         */
        static continue: VerifyIdentityWithWalletButtonLabel;
        /**
         * A button label that describes verifying with Apple Wallet.
         */
        static verify: VerifyIdentityWithWalletButtonLabel;
        /**
         * A button label that describes verifying age with Apple Wallet.
         */
        static verifyAge: VerifyIdentityWithWalletButtonLabel;
        /**
         * A button label that describes verifying identity with Apple Wallet.
         */
        static verifyIdentity: VerifyIdentityWithWalletButtonLabel;
    }
    export class VerifyIdentityWithWalletButtonStyle {
        /**
         * A button style that represents a black button with white lettering.
         */
        static black: VerifyIdentityWithWalletButtonStyle;
        /**
         * A button style that represents a black button with a light outline.
         */
        static blackOutline: VerifyIdentityWithWalletButtonStyle;
    }
    export class PKAddCarKeyPassConfiguration extends PKAddSecureElementPassConfiguration {
        /**
         * The wireless radio technology that the key uses.
         */
        supportedRadioTechnologies: PKRadioTechnology;
        /**
         * A one-time password that the vehicle manufacturer provides.
         */
        password: string;
        provisioningTemplateIdentifier: string;
        manufacturerIdentifier: string;
        /**
         * Creates a digital car key configuration object.
         */
        constructor ();
    }
    export class PKRadioTechnology {
        /**
         * An identifier that indicates the near field communication (NFC) radio frequency communication technology.
         */
        static NFC: PKRadioTechnology;
        /**
         * An identifier that indicates the Bluetooth radio frequency communication technology.
         */
        static bluetooth: PKRadioTechnology;
        /**
         * Creates a radio technology object of the specified type.
         */
        constructor (rawValue: number);
    }
    export class PKVehicleConnectionSession extends NSObject {
        connectionStatus: PKVehicleConnectionSessionConnectionState;
        delegate: PKVehicleConnectionDelegate | null;
        static session(pass: PKSecureElementPass, delegate: PKVehicleConnectionDelegate, completion: ()=>any):void;
        invalidate():void;
        send(message: Data):void;
    }
    export interface PKVehicleConnectionDelegate extends NSObjectProtocol {
        sessionDidChange(newState: PKVehicleConnectionSessionConnectionState):void;
        sessionDidReceive(data: Data):void;
    }
    export enum PKVehicleConnectionSessionConnectionState {
        connected = 1,
        connecting = 2,
        disconnected = 0,
        failedToConnect = 3,
    }
    export class PKIssuerProvisioningExtensionHandler extends NSObject {
        /**
         * Reports the status of your Wallet extension.
         */
        status(completion: ()=>any):void;
        /**
         * Reports the list of passes available to add to an iPhone.
         */
        passEntries(completion: ()=>any):void;
        /**
         * Reports the list of passes available to add to an Apple Watch.
         */
        remotePassEntries(completion: ()=>any):void;
        /**
         * Creates an object with the data the system needs to add a card to Apple Pay.
         */
        generateAddPaymentPassRequestForPassEntryWithIdentifier(identifier: string, configuration: PKAddPaymentPassRequestConfiguration, certificates: Data[], nonce: Data, nonceSignature: Data, completion: ()=>any):void;
    }
    export class PKIssuerProvisioningExtensionStatus extends NSObject {
        /**
         * A Boolean value that indicates whether a payment card is available to add to an iPhone.
         */
        passEntriesAvailable: boolean;
        /**
         * A Boolean value that indicates whether a payment card is available to add to an Apple Watch.
         */
        remotePassEntriesAvailable: boolean;
        /**
         * A Boolean value that indicates whether adding a card requires an authorization-user-interface extension provided by your app.
         */
        requiresAuthentication: boolean;
        /**
         * Creates a new extension-handler status object.
         */
        constructor ();
    }
    export class PKIssuerProvisioningExtensionPassEntry extends NSObject {
        /**
         * An image to that the system displays to the user when they add or select the card.
         */
        art: CGImage;
        /**
         * A name for the pass that the system displays to the user when they add or select the card.
         */
        title: string;
        /**
         * A developer-defined value you use to identify the card.
         */
        identifier: string;
    }
    export class PKIssuerProvisioningExtensionPaymentPassEntry extends PKIssuerProvisioningExtensionPassEntry {
        /**
         * The configuration that the system uses to add a payment pass.
         */
        addRequestConfiguration: PKAddPaymentPassRequestConfiguration;
        /**
         * Creates a new entry for a payment pass that a user adds to Wallet.
         */
        constructor (identifier: string, title: string, art: CGImage, configuration: PKAddPaymentPassRequestConfiguration);
    }
    export interface PKIssuerProvisioningExtensionAuthorizationProviding extends NSObjectProtocol {
        /**
         * A completion handler the system calls to find the result of authorizing the addition of the payment card.
         */
        completionHandler: ()=>any | null;
    }
    export enum PKIssuerProvisioningExtensionAuthorizationResult {
        authorized = 1,
        canceled = 0,
    }
    export class PKObject extends NSObject {}
    export class PKAddPassButton extends UIButton {
        /**
         * A constant representing the button’s style.
         */
        addPassButtonStyle: PKAddPassButtonStyle;
        /**
         * Initializes a new Add Pass button.
         */
        constructor (style: PKAddPassButtonStyle);
    }
    export enum PKAddPassButtonStyle {
        black = 0,
        blackOutline = 1,
    }
    export class AddPassToWalletButtonFilter {
        static paymentNetwork(paymentNetwork: PKPaymentNetwork):AddPassToWalletButtonFilter;
        static primaryAccountIdentifier(primaryAccountIdentifier: string):AddPassToWalletButtonFilter;
        static productIdentifier(productIdentifier: string):AddPassToWalletButtonFilter;
    }
    export class AddPassToWalletButtonResponse {
        certificates: Data[];
        nonce: Data;
        nonceSignature: Data;
    }
    export class AddPassToWalletButtonStyle {
        static black: AddPassToWalletButtonStyle;
        static blackOutline: AddPassToWalletButtonStyle;
    }
    export class PKPassKitError {
        static invalidDataError: PKPassKitError.Code;
        static invalidSignature: PKPassKitError.Code;
        static notEntitledError: PKPassKitError.Code;
        static unknownError: PKPassKitError.Code;
        static unsupportedVersionError: PKPassKitError.Code;
        static errorDomain: string;
        /**
         * The code that provides context for the error.
         */
        code: Code;
        /**
         * The code that provides context for the error.
         */
        errorCode: number;
        /**
         * A dictionary that contains custom information that relates to the error.
         */
        userInfo: Record<string, any>;
        /**
         * A dictionary that contains custom information that relates to the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value for the Secure Element pass error.
         */
        hashValue: number;
        /**
         * Creates a pass error object of the specified type with the specified user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the pass error object by feeding the item into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PKPassKitError
     */
    export namespace PKPassKitError {
        export enum Code {
            unknownError = -1,
            invalidDataError = 1,
            unsupportedVersionError = 2,
            invalidSignature = 3,
            notEntitledError = 4,
        }
    }
    export class PKAddSecureElementPassError {
        /**
         * The device isn’t ready to add Secure Element passes.
         */
        static deviceNotReadyError: PKAddSecureElementPassError.Code;
        /**
         * The device doesn’t support adding Secure Element passes.
         */
        static deviceNotSupportedError: PKAddSecureElementPassError.Code;
        /**
         * An error that occurs when they system attempts to add a Secure Element pass using an invalid configuration.
         */
        static invalidConfigurationError: PKAddSecureElementPassError.Code;
        /**
         * PassKit is temporarily unable to add Secure Element passes.
         */
        static unavailableError: PKAddSecureElementPassError.Code;
        /**
         * An error that occurs when PassKit cancels the addition of a Secure Element pass due to an unknown failure. 
         */
        static unknownError: PKAddSecureElementPassError.Code;
        /**
         * An error that occurs when the user cancels the addition of a Secure Element pass.
         */
        static userCanceledError: PKAddSecureElementPassError.Code;
        /**
         * The error domain that PassKit uses for errors that relate to adding Secure Element passes.
         */
        static errorDomain: string;
        static osVersionNotSupportedError: PKAddSecureElementPassError.Code;
        /**
         * The code that provides context for the error.
         */
        code: Code;
        /**
         * The code that provides context for the error.
         */
        errorCode: number;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        /**
         * A dictionary that contains custom information that relates to the error.
         */
        userInfo: Record<string, any>;
        /**
         * A dictionary that contains custom information that relates to the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The hash value for the Secure Element pass error.
         */
        hashValue: number;
        /**
         * Creates a Secure Element payment pass error object of the specified type with the specified user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the Secure Element pass error object by feeding the item into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PKAddSecureElementPassError
     */
    export namespace PKAddSecureElementPassError {
        export enum Code {
            deviceNotReadyError = 5,
            deviceNotSupportedError = 4,
            invalidConfigurationError = 3,
            unavailableError = 2,
            userCanceledError = 1,
            unknownError = 0,
            osVersionNotSupportedError = 6,
        }
    }
    export class PKIdentityError {
        /**
         * A static string representation of the error domain.
         */
        static errorDomain: string;
        /**
         * An error that indicates the user cancels the presented sheet.
         */
        static cancelled: PKIdentityError.Code;
        /**
         * An error that indicates an element the app requests isn’t valid.
         */
        static invalidElement: PKIdentityError.Code;
        /**
         * An error that indicates the number is too large or unsuitable.
         */
        static invalidNonce: PKIdentityError.Code;
        /**
         * An error that indicates the request originates from a device the framework doesn’t support.
         */
        static notSupported: PKIdentityError.Code;
        /**
         * An error that indicates a network isn’t available.
         */
        static networkUnavailable: PKIdentityError.Code;
        /**
         * An error that indicates the elements aren’t supported.
         */
        static noElementsRequested: PKIdentityError.Code;
        /**
         * An error that indicates a request is already in progress.
         */
        static requestAlreadyInProgress: PKIdentityError.Code;
        /**
         * An error that indicates an unknown error.
         */
        static unknown: PKIdentityError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The integer error code.
         */
        errorCode: number;
        /**
         * The user information for the error.
         */
        userInfo: Record<string, any>;
        /**
         * The error user information dictionary for the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an identity error with an error code and user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the value by passing them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PKIdentityError
     */
    export namespace PKIdentityError {
        export enum Code {
            cancelled = 2,
            invalidElement = 7,
            invalidNonce = 6,
            notSupported = 1,
            networkUnavailable = 3,
            noElementsRequested = 4,
            requestAlreadyInProgress = 5,
            unknown = 0,
        }
    }
    export class PKShareSecureElementPassError {
        static errorDomain: string;
        static setupError: PKShareSecureElementPassError.Code;
        static unknownError: PKShareSecureElementPassError.Code;
        code: Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        hashValue: number;
        localizedDescription: string;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PKShareSecureElementPassError
     */
    export namespace PKShareSecureElementPassError {
        export enum Code {
            setupError = 1,
            unknownError = 0,
        }
    }
    export enum PKVehicleConnectionErrorCode {
        sessionNotActive = 2,
        sessionUnableToStart = 1,
        unknown = 0,
    }
    export enum PayWithApplePayButtonPaymentAuthorizationPhase {
        didAuthorize,
        didFinish,
        willAuthorize,
    }
    export class PKPaymentAuthorizationController extends NSObject {
        /**
         * The controller’s delegate.
         */
        delegate: PKPaymentAuthorizationControllerDelegate | null;
        /**
         * Initializes and returns a payment authorization controller.
         */
        constructor (request: PKPaymentRequest);
        /**
         * Returns whether the user can make payments.
         */
        static canMakePayments():boolean;
        /**
         * Presents the payment sheet modally over your app.
         */
        present(completion: ()=>any | null):void;
        /**
         * Dismisses the payment sheet.
         */
        dismiss(completion: ()=>any | null):void;
    }
    export interface PKPaymentAuthorizationControllerDelegate extends NSObjectProtocol {
        /**
         * Returns the window in which to present a payment authorization sheet.
         */
        presentationWindow(controller: PKPaymentAuthorizationController):UIWindow | null;
        /**
         * Tells the delegate that the user changed the payment method, and asks for an updated payment request.
         */
        paymentAuthorizationController(controller: PKPaymentAuthorizationController, paymentMethod: PKPaymentMethod, completion: ()=>any):void;
        /**
         * Tells the delegate that the user is authorizing the payment request.
         */
        paymentAuthorizationControllerWillAuthorizePayment(controller: PKPaymentAuthorizationController):void;
        /**
         * Tells the delegate that payment authorization has completed.
         */
        paymentAuthorizationControllerDidFinish(controller: PKPaymentAuthorizationController):void;
    }
    export class PKPaymentAuthorizationViewController extends NSViewController,UIViewController {
        /**
         * The view controller’s delegate.
         */
        delegate: PKPaymentAuthorizationViewControllerDelegate | null;
        /**
         * Initializes and returns a payment authorization view controller.
         */
        constructor (request: PKPaymentRequest);
        /**
         * Returns whether the user can make payments.
         */
        static canMakePayments():boolean;
    }
    export interface PKPaymentAuthorizationViewControllerDelegate extends NSObjectProtocol {
        /**
         * Requests an object that validates the identity of a merchant for a payment request.
         */
        paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, handler: ()=>any):void;
        /**
         * Tells the delegate that the user is authorizing the payment request.
         */
        paymentAuthorizationViewControllerWillAuthorizePayment(controller: PKPaymentAuthorizationViewController):void;
        /**
         * Tells the delegate that payment authorization finished.
         */
        paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController):void;
    }
    export class PKPaymentButton extends NSButton,UIButton {
        /**
         * The radius, in points, for the rounded corners on the button.
         */
        cornerRadius: CGFloat;
        /**
         * Creates a new payment button with the specified type and style.
         */
        constructor (type: PKPaymentButtonType, style: PKPaymentButtonStyle);
    }
    export enum PKPaymentButtonType {
        plain = 0,
        buy = 1,
        addMoney = 9,
        book = 6,
        checkout = 5,
        continue = 16,
        contribute = 14,
        donate = 4,
        inStore = 3,
        order = 11,
        reload = 8,
        rent = 12,
        setUp = 2,
        subscribe = 7,
        support = 13,
        tip = 15,
        topUp = 10,
    }
    export enum PKPaymentButtonStyle {
        white = 0,
        whiteOutline = 1,
        black = 2,
        automatic = 3,
    }
    export class PayWithApplePayButtonLabel {
        static addMoney: PayWithApplePayButtonLabel;
        static book: PayWithApplePayButtonLabel;
        static buy: PayWithApplePayButtonLabel;
        static checkout: PayWithApplePayButtonLabel;
        static continue: PayWithApplePayButtonLabel;
        static contribute: PayWithApplePayButtonLabel;
        static donate: PayWithApplePayButtonLabel;
        static inStore: PayWithApplePayButtonLabel;
        static order: PayWithApplePayButtonLabel;
        static plain: PayWithApplePayButtonLabel;
        static reload: PayWithApplePayButtonLabel;
        static rent: PayWithApplePayButtonLabel;
        static setUp: PayWithApplePayButtonLabel;
        static subscribe: PayWithApplePayButtonLabel;
        static support: PayWithApplePayButtonLabel;
        static tip: PayWithApplePayButtonLabel;
        static topUp: PayWithApplePayButtonLabel;
    }
    export class PayWithApplePayButtonStyle {
        static automatic: PayWithApplePayButtonStyle;
        static black: PayWithApplePayButtonStyle;
        static white: PayWithApplePayButtonStyle;
        static whiteOutline: PayWithApplePayButtonStyle;
    }
    export class PKPaymentRequest extends NSObject {
        /**
         * The payment methods that you support.
         */
        supportedNetworks: PKPaymentNetwork[];
        /**
         * Your merchant identifier.
         */
        merchantIdentifier: string;
        /**
         * A bit field of the payment processing protocols and card types that you support.
         */
        merchantCapabilities: PKMerchantCapability;
        /**
         * The three-letter ISO 4217 currency code that determines the currency this payment request uses.
         */
        currencyCode: string;
        /**
         * A list of ISO 3166 country codes to limit payments to cards from specific countries or regions.
         */
        supportedCountries: Set<String> | null;
        /**
         * The merchant’s two-letter ISO 3166 country code.
         */
        countryCode: string;
        /**
         * An array of payment summary item objects that summarize the amount of the payment.
         */
        paymentSummaryItems: PKPaymentSummaryItem[];
        /**
         * An optional request to set up a recurring payment, typically a subscription.
         */
        recurringPaymentRequest: PKRecurringPaymentRequest | null;
        /**
         * An optional request to set up an automatic reload payment, such as a store card top-up.
         */
        automaticReloadPaymentRequest: PKAutomaticReloadPaymentRequest | null;
        /**
         * An array of payment token contexts to request multiple payment tokens with one payment token per context.
         */
        multiTokenContexts: PKPaymentTokenContext[];
        /**
         * A list of fields that you need for a billing contact in order to process the transaction.
         */
        requiredBillingContactFields: Set<PKContactField>;
        /**
         * A list of fields that you need for a shipping contact in order to process the transaction.
         */
        requiredShippingContactFields: Set<PKContactField>;
        /**
         * A prepopulated billing address.
         */
        billingContact: PKContact | null;
        /**
         * A prepopulated shipping address.
         */
        shippingContact: PKContact | null;
        /**
         * An array of shipping method objects that describe the supported shipping methods.
         */
        shippingMethods: PKShippingMethod[] | null;
        /**
         * The type of shipping used by this request.
         */
        shippingType: PKShippingType;
        /**
         * A value that indicates if the shipping mode prevents the user from editing the shipping address.
         */
        shippingContactEditingMode: PKShippingContactEditingMode;
        /**
         * The initial coupon code for the payment request.
         */
        couponCode: string;
        /**
         * A Boolean value that determines whether the payment sheet displays the coupon code field.
         */
        supportsCouponCode: boolean;
        /**
         * Application-specific data or state.
         */
        applicationData: Data | null;
        /**
         * A bit field of billing address fields that you need in order to process the transaction.
         */
        requiredBillingAddressFields: PKAddressField;
        /**
         * A bit field of shipping address fields that you need in order to process the transaction.
         */
        requiredShippingAddressFields: PKAddressField;
        /**
         * A prepopulated billing address.
         */
        billingAddress: ABRecord | null;
        /**
         * A prepopulated shipping address.
         */
        shippingAddress: ABRecord | null;
        /**
         * Returns the list of available payment methods that are supported by Apple Pay.
         */
        static availableNetworks():PKPaymentNetwork[];
        /**
         * Creates a billing address error with the supplied key and user-facing error message.
         */
        static paymentBillingAddressInvalidError(postalAddressKey: string, localizedDescription: string):Error;
        /**
         * Creates a contact error with the supplied field and user-facing error message.
         */
        static paymentContactInvalidError(field: PKContactField, localizedDescription: string):Error;
        /**
         * Creates a shipping address error with the supplied key and user-facing error message.
         */
        static paymentShippingAddressInvalidError(postalAddressKey: string, localizedDescription: string):Error;
        /**
         * Creates an error for an unserviceable address, with the supplied user-facing error message.
         */
        static paymentShippingAddressUnserviceableError(localizedDescription: string):Error;
        /**
         * Returns an error object that indicates an invalid coupon.
         */
        static paymentCouponCodeInvalidError(localizedDescription: string):Error;
        /**
         * Returns an error object that indicates an expired coupon.
         */
        static paymentCouponCodeExpiredError(localizedDescription: string):Error;
    }
    export class PKPaymentNetwork {
        /**
         * An American Express payment card.
         */
        static amex: PKPaymentNetwork;
        /**
         * A QR code used for payment.
         */
        static barcode: PKPaymentNetwork;
        /**
         * A Cartes Bancaires payment card.
         */
        static carteBancaires: PKPaymentNetwork;
        /**
         * A Cartes Bancaires payment card.
         */
        static cartesBancaires: PKPaymentNetwork;
        /**
         * A China Union Pay payment card.
         */
        static chinaUnionPay: PKPaymentNetwork;
        /**
         * The Dankort payment card.
         */
        static dankort: PKPaymentNetwork;
        /**
         * A Discover payment card.
         */
        static discover: PKPaymentNetwork;
        /**
         * The electronic funds transfer at point of sale (EFTPOS) payment method.
         */
        static eftpos: PKPaymentNetwork;
        /**
         * An Electron debit card.
         */
        static electron: PKPaymentNetwork;
        /**
         * The Elo payment card.
         */
        static elo: PKPaymentNetwork;
        /**
         * A Girocard payment method.
         */
        static girocard: PKPaymentNetwork;
        /**
         * An iD payment card.
         */
        static idCredit: PKPaymentNetwork;
        /**
         * The Interac payment method.
         */
        static interac: PKPaymentNetwork;
        /**
         * A JCB payment card.
         */
        static JCB: PKPaymentNetwork;
        /**
         * A mada payment card.
         */
        static mada: PKPaymentNetwork;
        /**
         * A Maestro payment card.
         */
        static maestro: PKPaymentNetwork;
        /**
         * A MasterCard payment card.
         */
        static masterCard: PKPaymentNetwork;
        /**
         * A Mir payment card.
         */
        static mir: PKPaymentNetwork;
        /**
         * A Nanaco payment card.
         */
        static nanaco: PKPaymentNetwork;
        /**
         * Store credit and debit cards.
         */
        static privateLabel: PKPaymentNetwork;
        /**
         * A QUICPay payment card.
         */
        static quicPay: PKPaymentNetwork;
        /**
         * A Suica payment card.
         */
        static suica: PKPaymentNetwork;
        /**
         * A Visa payment card.
         */
        static visa: PKPaymentNetwork;
        /**
         * A Visa V Pay payment card.
         */
        static vPay: PKPaymentNetwork;
        /**
         * A WAON payment card.
         */
        static waon: PKPaymentNetwork;
        static bancomat: PKPaymentNetwork;
        static bancontact: PKPaymentNetwork;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export class PKMerchantCapability {
        /**
         * Support for the 3-D Secure protocol.
         */
        static capability3DS: PKMerchantCapability;
        /**
         * Support for the EMV protocol.
         */
        static capabilityEMV: PKMerchantCapability;
        /**
         * Support for credit cards.
         */
        static capabilityCredit: PKMerchantCapability;
        /**
         * Support for debit cards.
         */
        static capabilityDebit: PKMerchantCapability;
        /**
         * Creates a merchant capability based on the provided raw value.
         */
        constructor (rawValue: number);
    }
    export class PKPaymentSummaryItem extends NSObject {
        /**
         * A short, localized description of the item.
         */
        label: string;
        /**
         * The summary item’s amount.
         */
        amount: NSDecimalNumber;
        /**
         * The summary item’s type that indicates whether the amount is final.
         */
        type: PKPaymentSummaryItemType;
        /**
         * Initializes and returns a summary item with the given label and amount.
         */
        constructor (label: string, amount: NSDecimalNumber);
        /**
         * Initializes and returns a summary item with the given label, amount, and type.
         */
        constructor (label: string, amount: NSDecimalNumber, type: PKPaymentSummaryItemType);
    }
    export enum PKPaymentSummaryItemType {
        final = 0,
        pending = 1,
    }
    export class PKDeferredPaymentSummaryItem extends PKPaymentSummaryItem {
        /**
         * The date, in the future, of the payment.
         */
        deferredDate: Date;
    }
    export class PKRecurringPaymentSummaryItem extends PKPaymentSummaryItem {
        /**
         * The date of the first payment.
         */
        startDate: Date | null;
        /**
         * The date of the final payment.
         */
        endDate: Date | null;
        /**
         * The amount of time – in calendar units such as day, month, or year – that represents a fraction of the total payment interval.
         */
        intervalUnit: NSCalendar.Unit;
        /**
         * The number of interval units that make up the total payment interval.
         */
        intervalCount: number;
    }
    export class PKRecurringPaymentRequest extends NSObject {
        /**
         * A description that you provide of the recurring payment and that Apple Pay displays to the user in the payment sheet. 
         */
        paymentDescription: string;
        /**
         * A localized billing agreement that the payment sheet displays to the user before the user authorizes the payment.
         */
        billingAgreement: string;
        /**
         * The regular billing cycle for the recurring payment, including start and end dates, an interval, and an interval count.
         */
        regularBilling: PKRecurringPaymentSummaryItem;
        /**
         * The trial billing cycle for the recurring payment.
         */
        trialBilling: PKRecurringPaymentSummaryItem | null;
        /**
         * A URL you provide to receive life cycle notifications from the Apple Pay servers about the Apple Pay merchant token for the recurring payment.
         */
        tokenNotificationURL: URL | null;
        /**
         * A URL to a web page where the user can update or delete the payment method for the recurring payment.
         */
        managementURL: URL;
        /**
         * Create a recurring payment object with a description, regular billing information, and a management URL.
         */
        constructor (paymentDescription: string, regularBilling: PKRecurringPaymentSummaryItem, managementURL: URL);
    }
    export class PKAutomaticReloadPaymentRequest extends NSObject {
        /**
         * A description that you provide of the automatic reload payment and that Apple Pay displays to the user in the payment sheet.
         */
        paymentDescription: string;
        /**
         * A localized billing agreement that the payment sheet displays to the user before the user authorizes the payment.
         */
        billingAgreement: string;
        /**
         * Summary items that contain the top-up amount and balance threshold amount for the automatic reload payment.
         */
        automaticReloadBilling: PKAutomaticReloadPaymentSummaryItem;
        /**
         * A URL to a web page where the user can manage and delete the payment method for the automatic reload payment.
         */
        managementURL: URL;
        /**
         * A URL you provide to receive life cycle notifications from the Apple Pay servers about the Apple Pay Merchant Token for the automatic reload payment.
         */
        tokenNotificationURL: URL | null;
        /**
         * Create an automatic reload payment object with a description, automatic billing information, and a management URL.
         */
        constructor (paymentDescription: string, automaticReloadBilling: PKAutomaticReloadPaymentSummaryItem, managementURL: URL);
    }
    export class PKAutomaticReloadPaymentSummaryItem extends PKPaymentSummaryItem {
        /**
         * The balance an account reaches before you apply the automatic reload amount.
         */
        thresholdAmount: NSDecimalNumber;
    }
    export class PKPaymentTokenContext extends NSObject {
        /**
         * The Apply Pay merchant identifier.
         */
        merchantIdentifier: string;
        /**
         * The merchant’s top-level domain that the Apple Pay server associates with the payment token.
         */
        merchantDomain: string;
        /**
         * The merchant’s display name that the Apple Pay server associates with the payment token.
         */
        merchantName: string;
        /**
         * An external identifier for the merchant.
         */
        externalIdentifier: string;
        /**
         * The amount to authorize for the payment token.
         */
        amount: NSDecimalNumber;
        /**
         * Create a payment token context for a single merchant.
         */
        constructor (merchantIdentifier: string, externalIdentifier: string, merchantName: string, merchantDomain: string, amount: NSDecimalNumber);
    }
    export class PKContactField {
        /**
         * A constant that indicates a contact's email address.
         */
        static emailAddress: PKContactField;
        /**
         * A constant that indicates a contact's name.
         */
        static name: PKContactField;
        /**
         * A constant that indicates a contact's telephone number.
         */
        static phoneNumber: PKContactField;
        /**
         * A constant that indicates a contact's phonetic name.
         */
        static phoneticName: PKContactField;
        /**
         * A constant that indicates a contact's postal address.
         */
        static postalAddress: PKContactField;
        /**
         * Create a contact field given the raw value.
         */
        constructor (rawValue: string);
    }
    export class PKContact extends NSObject {
        /**
         * The contact’s email address, or 
         *  if the contact’s email is not needed for the transaction.
         */
        emailAddress: string;
        /**
         * The contact’s first and last name, or 
         *  if the contact’s name is not needed for the transaction.
         */
        name: PersonNameComponents | null;
        /**
         * The contact’s telephone number, or 
         *  if the contact’s phone number is not needed for the transaction.
         */
        phoneNumber: CNPhoneNumber | null;
        /**
         * The contact’s full postal address.
         */
        postalAddress: CNPostalAddress | null;
        /**
         * The contact’s sublocality, or 
         *  if the sublocality is not needed for the transaction.
         */
        supplementarySubLocality: string;
    }
    export class PKShippingMethod extends PKPaymentSummaryItem {
        /**
         * A user-readable description of the shipping method.
         */
        detail: string;
        /**
         * An expected range of delivery or shipping dates for a package, or the time range when an item is available for pickup.
         */
        dateComponentsRange: PKDateComponentsRange | null;
        /**
         * A unique identifier for the shipping method, used by the app.
         */
        identifier: string;
    }
    export class PKDateComponentsRange extends NSObject {
        /**
         * The start date and time of the range.
         */
        startDateComponents: DateComponents;
        /**
         * The end date and time of the range.
         */
        endDateComponents: DateComponents;
        /**
         * Creates a new time range with the start and end dates and times that you specify.
         */
        constructor (startDateComponents: DateComponents, endDateComponents: DateComponents);
    }
    export enum PKShippingType {
        shipping = 0,
        delivery = 1,
        storePickup = 2,
        servicePickup = 3,
    }
    export enum PKShippingContactEditingMode {
        enabled = 1,
        storePickup = 2,
    }
    export class PKAddressField {
        /**
         * The buyer’s full street address, including name, street, city, state or province, postal code, and country or region.
         */
        static postalAddress: PKAddressField;
        /**
         * The buyer’s telephone number.
         */
        static phone: PKAddressField;
        /**
         * The buyer’s email address.
         */
        static email: PKAddressField;
        /**
         * The buyer’s first and last name.
         */
        static name: PKAddressField;
        /**
         * All fields.
         */
        static all: PKAddressField;
        constructor (rawValue: number);
    }
    export class PKPaymentAuthorizationResult extends NSObject {
        orderDetails: PKPaymentOrderDetails | null;
        /**
         * List of errors in the Apple Pay sheet.
         */
        errors: [Error]!;
        /**
         * Payment authorization general status.
         */
        status: PKPaymentAuthorizationStatus;
        /**
         * Initialize the result with the status code and list of errors.
         */
        constructor (status: PKPaymentAuthorizationStatus, errors: Error[] | null);
    }
    export class PKPaymentOrderDetails extends NSObject {
        authenticationToken: string;
        orderIdentifier: string;
        orderTypeIdentifier: string;
        webServiceURL: URL;
        constructor (orderTypeIdentifier: string, orderIdentifier: string, webServiceURL: URL, authenticationToken: string);
    }
    export enum PKPaymentAuthorizationStatus {
        success = 0,
        failure = 1,
        invalidBillingPostalAddress = 2,
        invalidShippingPostalAddress = 3,
        invalidShippingContact = 4,
        pinRequired = 5,
        pinIncorrect = 6,
        pinLockout = 7,
    }
    export class PKPayment extends NSObject {
        /**
         * The encrypted payment information.
         */
        token: PKPaymentToken;
        /**
         * The user-selected billing address for this transaction.
         */
        billingContact: PKContact | null;
        /**
         * The user-selected shipping address for this transaction.
         */
        shippingContact: PKContact | null;
        /**
         * The user-selected shipping method for this transaction.
         */
        shippingMethod: PKShippingMethod | null;
        /**
         * The user-selected billing address for this transaction.
         */
        billingAddress: ABRecord | null;
        /**
         * The user-selected shipping address for this transaction.
         */
        shippingAddress: ABRecord | null;
    }
    export class PKPaymentToken extends NSObject {
        /**
         * The payment data as a UTF-8 encoded serialization of a JSON dictionary.
         */
        paymentData: Data;
        /**
         * Information about the card used in the transaction.
         */
        paymentMethod: PKPaymentMethod;
        /**
         * A unique identifier for this payment.
         */
        transactionIdentifier: string;
        /**
         * The payment network for the card that funds this transaction.
         */
        paymentNetwork: string;
        /**
         * A description of the payment card that the user selected to fund the transaction.
         */
        paymentInstrumentName: string;
    }
    export class PKPaymentMethod extends NSObject {
        /**
         * The accompanying Secure Element pass.
         */
        secureElementPass: PKSecureElementPass | null;
        /**
         * The accompanying payment pass.
         */
        paymentPass: PKPaymentPass | null;
        /**
         * A value that represents the card’s type.
         */
        type: PKPaymentMethodType;
        /**
         * A string, suitable for display, that describes the card.
         */
        displayName: string;
        /**
         * A string, suitable for display, that describes the payment network for the card.
         */
        network: PKPaymentNetwork | null;
        /**
         * The user’s billing address.
         */
        billingAddress: CNContact | null;
    }
    export enum PKPaymentMethodType {
        unknown = 0,
        debit = 1,
        eMoney = 5,
        credit = 2,
        prepaid = 3,
        store = 4,
    }
    export class PKPaymentRequestMerchantSessionUpdate extends NSObject {
        /**
         * The current authorization status for the payment.
         */
        status: PKPaymentAuthorizationStatus;
        /**
         * An object that validates the identity of a merchant for the payment request.
         */
        session: PKPaymentMerchantSession | null;
        /**
         * Creates a payment method update with the specified status and merchant session.
         */
        constructor (status: PKPaymentAuthorizationStatus, session: PKPaymentMerchantSession | null);
    }
    export class PKPaymentMerchantSession extends NSObject {
        /**
         * Creates an object that validates the identity of a merchant for a payment request.
         */
        constructor (dictionary: Record<AnyHashable, any>);
    }
    export class PKPaymentRequestPaymentMethodUpdate extends PKPaymentRequestUpdate {
        /**
         * An array of payment-method errors that the user must resolve.
         */
        errors: [Error]!;
        /**
         * Creates a payment-method update with your specified payment summary items.
         */
        constructor (errors: Error[] | null, paymentSummaryItems: PKPaymentSummaryItem[]);
    }
    export class PKPaymentRequestShippingContactUpdate extends PKPaymentRequestUpdate {
        /**
         * An array of shipping contact information errors that the user must resolve. 
         */
        errors: [Error]!;
        /**
         * An array of shipping methods.
         */
        shippingMethods: PKShippingMethod[];
        /**
         * Creates a shipping contact update with your specified payment summary items and shipping methods.
         */
        constructor (errors: Error[] | null, paymentSummaryItems: PKPaymentSummaryItem[], shippingMethods: PKShippingMethod[]);
    }
    export class PKPaymentRequestShippingMethodUpdate extends PKPaymentRequestUpdate {}
    export class PKPaymentRequestCouponCodeUpdate extends PKPaymentRequestUpdate {
        /**
         * An array of errors for the coupon code that the user must resolve.
         */
        errors: [Error]!;
        /**
         * Creates a payment coupon update with your specified payment summary items, errors, and shipping methods.
         */
        constructor (errors: Error[] | null, paymentSummaryItems: PKPaymentSummaryItem[], shippingMethods: PKShippingMethod[]);
    }
    export class PKPaymentRequestUpdate extends NSObject {
        /**
         * The status of this  payment request that indicates if authorization succeeded or failed.
         */
        status: PKPaymentAuthorizationStatus;
        /**
         * The list of payment summary items for this instance.
         */
        paymentSummaryItems: PKPaymentSummaryItem[];
        /**
         * The list of shipping methods available for a payment request.
         */
        shippingMethods: PKShippingMethod[];
        automaticReloadPaymentRequest: PKAutomaticReloadPaymentRequest | null;
        /**
         * An optional array of payment token contexts to request multiple payment tokens with one payment token per context. 
         */
        multiTokenContexts: PKPaymentTokenContext[] | null;
        recurringPaymentRequest: PKRecurringPaymentRequest | null;
        /**
         * Create a payment request update with the specified payment summary items.
         */
        constructor (paymentSummaryItems: PKPaymentSummaryItem[]);
    }
    export class PKPaymentInformationEventExtension extends NSObject {}
    export interface PKPaymentInformationRequestHandling {
        handle(configurationRequest: PKBarcodeEventConfigurationRequest, completion: ()=>any):void;
        handleInformationRequest(infoRequest: PKBarcodeEventMetadataRequest, completion: PKInformationRequestCompletionBlock):void;
    }
    export class PKBarcodeEventConfigurationRequest extends NSObject {
        deviceAccountIdentifier: string;
        configurationDataType: PKBarcodeEventConfigurationDataType;
        configurationData: Data;
    }
    export enum PKBarcodeEventConfigurationDataType {
        signingCertificate = 2,
        signingKeyMaterial = 1,
        unknown = 0,
    }
    export class PKBarcodeEventMetadataRequest extends NSObject {
        deviceAccountIdentifier: string;
        lastUsedBarcodeIdentifier: string;
    }
    export class PKBarcodeEventMetadataResponse extends NSObject {
        paymentInformation: Data;
        constructor (paymentInformation: Data);
    }
    export class PKBarcodeEventSignatureRequest extends NSObject {
        amount: NSNumber;
        currencyCode: string;
        transactionDate: Date;
        transactionIdentifier: string;
        transactionStatus: string;
        merchantName: string;
        rawMerchantName: string;
        partialSignature: Data;
        barcodeIdentifier: string;
        deviceAccountIdentifier: string;
    }
    export class PKBarcodeEventSignatureResponse extends NSObject {
        signedData: Data;
        constructor (signedData: Data);
    }
    export class PKPaymentError {
        /**
         * The error code to indicate an invalid billing address or billing name.
         */
        static billingContactInvalidError: PKPaymentError.Code;
        /**
         * The error code to indicate an invalid shipping address, email, phone, or name.
         */
        static shippingContactInvalidError: PKPaymentError.Code;
        /**
         * The error code for an unserviceable shipping address.
         */
        static shippingAddressUnserviceableError: PKPaymentError.Code;
        /**
         * The error code that indicates an expired coupon.
         */
        static couponCodeExpiredError: PKPaymentError.Code;
        /**
         * The error code that indicates an invalid coupon.
         */
        static couponCodeInvalidError: PKPaymentError.Code;
        /**
         * The error code for an unknown error.
         */
        static unknownError: PKPaymentError.Code;
        /**
         * The error domain for this error.
         */
        static errorDomain: string;
        /**
         * The error code for this instance.
         */
        code: Code;
        /**
         * The error code for this instance.
         */
        errorCode: number;
        /**
         * Additional details about the error.
         */
        userInfo: Record<string, any>;
        /**
         * Additional details about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A user-facing, localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * The hash value for the payment error.
         */
        hashValue: number;
        /**
         * Creates a payment error object of the specified type with the specified user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the payment error object by feeding the item into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PKPaymentError
     */
    export namespace PKPaymentError {
        export enum Code {
            couponCodeExpiredError = 5,
            couponCodeInvalidError = 4,
            billingContactInvalidError = 2,
            shippingContactInvalidError = 1,
            shippingAddressUnserviceableError = 3,
            unknownError = -1,
        }
    }
    export class PKPaymentErrorKey {
        /**
         * Payment error key that indicates errors with the postal address.
         */
        static postalAddressUserInfoKey: PKPaymentErrorKey;
        /**
         * Payment error key that indicates errors with the contact information.
         */
        static contactFieldUserInfoKey: PKPaymentErrorKey;
        /**
         * Create an error key given the raw value.
         */
        constructor (rawValue: string);
    }
    export class PKPassLibrary extends NSObject {
        /**
         * The Secure Element passes that PassKit stores on paired devices.
         */
        remoteSecureElementPasses: PKSecureElementPass[];
        /**
         * A Boolean value that indicates whether the device supports creating Secure Element passes.
         */
        isSecureElementPassActivationAvailable: boolean;
        /**
         * Returns a Boolean value that indicates whether the pass library is available.
         */
        static isPassLibraryAvailable():boolean;
        /**
         * Returns a Boolean value that indicates whether the system suppresses the automatic presentation of Apple Pay passes.
         */
        static isSuppressingAutomaticPassPresentation():boolean;
        /**
         * Prevents the iOS device from automatically displaying the Apple Pay interface.
         */
        static requestAutomaticPassPresentationSuppression(responseHandler: ()=>any):PKSuppressionRequestToken;
        /**
         * Reenables the automatic display of the Apple Pay interface.
         */
        static endAutomaticPassPresentationSuppression(requestToken: PKSuppressionRequestToken):void;
        /**
         * Returns a Boolean value that indicates whether the device supports adding payment passes.
         */
        static isPaymentPassActivationAvailable():boolean;
        /**
         * Returns the passes in the user’s pass library that the app can access.
         */
        passes():PKPass[];
        /**
         * Returns the pass with the specified pass type identifier and serial number.
         */
        pass(identifier: string, serialNumber: string):PKPass | null;
        /**
         * Returns a Boolean value that indicates whether the user’s pass library contains the specified pass.
         */
        containsPass(pass: PKPass):boolean;
        /**
         * Calls a completion handler that returns the custom data for a Secure Element pass.
         */
        serviceProviderData(secureElementPass: PKSecureElementPass, completion: ()=>any):void;
        /**
         * Returns a Boolean value that indicates whether PassKit can add a Secure Element pass for the specified account.
         */
        canAddSecureElementPass(primaryAccountIdentifier: string):boolean;
        /**
         * Returns a Boolean value that indicates whether the library can add FeliCa™ passes.
         */
        canAddFelicaPass():boolean;
        /**
         * Presents a user interface for adding multiple passes at once.
         */
        addPasses(passes: PKPass[], completion: ()=>any | null):void;
        /**
         * Activates a Secure Element pass using the specified data.
         */
        activate(secureElementPass: PKSecureElementPass, activationData: Data, completion: ()=>any | null):void;
        /**
         * Replaces a pass in the user’s pass library with the specified pass.
         */
        replacePass(pass: PKPass):boolean;
        /**
         * Removes the pass from the user’s pass library.
         */
        removePass(pass: PKPass):void;
        /**
         * Presents a Secure Element pass.
         */
        present(pass: PKSecureElementPass):void;
        /**
         * Opens the user interface to set up credit cards for Apple Pay.
         */
        openPaymentSetup():void;
        /**
         * Signs an opaque value using a cryptographic signature.
         */
        sign(signData: Data, secureElementPass: PKSecureElementPass, completion: ()=>any):void;
        /**
         * A Boolean value that indicates whether the app can add a card to Apple Pay for the provided primary account identifier.
         */
        canAddPaymentPass(primaryAccountIdentifier: string):boolean;
        /**
         * Returns a list of passes from a remote device.
         */
        remotePaymentPasses():PKPaymentPass[];
        encryptedServiceProviderData(secureElementPass: PKSecureElementPass, completion: ()=>any):void;
    }
    export enum PKPassLibraryAddPassesStatus {
        didAddPasses = 0,
        shouldReviewPasses = 1,
        didCancelAddPasses = 2,
    }
    export enum PKAutomaticPassPresentationSuppressionResult {
        notSupported = 0,
        alreadyPresenting = 1,
        denied = 2,
        cancelled = 3,
        success = 4,
    }
    export class PKPassLibraryNotificationKey {
        /**
         * An array of added passes.
         */
        static addedPassesUserInfoKey: PKPassLibraryNotificationKey;
        /**
         * The pass’s pass type identifier.
         */
        static passTypeIdentifierUserInfoKey: PKPassLibraryNotificationKey;
        static recoveredPassesUserInfoKey: PKPassLibraryNotificationKey;
        /**
         * An array of dictionaries that describes the removed passes.
         */
        static removedPassInfosUserInfoKey: PKPassLibraryNotificationKey;
        /**
         * An array of replaced passes.
         */
        static replacementPassesUserInfoKey: PKPassLibraryNotificationKey;
        /**
         * The pass’s serial number.
         */
        static serialNumberUserInfoKey: PKPassLibraryNotificationKey;
        /**
         * Creates a pass library notification key according to the provided raw value.
         */
        constructor (rawValue: string);
    }
    export class PKSecureElementPass extends PKPass {
        /**
         * The activation state of the pass.
         */
        passActivationState: PKSecureElementPass.PassActivationState;
        /**
         * The unique identifier for the device-specific account number.
         */
        deviceAccountIdentifier: string;
        /**
         * A display-ready version of the device-specific account number.
         */
        deviceAccountNumberSuffix: string;
        /**
         * An opaque value for the pass.
         */
        devicePassIdentifier: string;
        /**
         * The unique identifier of the paired terminal.
         */
        pairedTerminalIdentifier: string;
        /**
         * An opaque value that identifies the primary account number that funds the pass’s transactions.
         */
        primaryAccountIdentifier: string;
        /**
         * A display-ready version of the primary account number.
         */
        primaryAccountNumberSuffix: string;
    }
    /**
     * the same name namespace of class PKSecureElementPass
     */
    export namespace PKSecureElementPass {
        export enum PassActivationState {
            requiresActivation = 1,
            activating = 2,
            activated = 0,
            suspended = 3,
            deactivated = 4,
        }
    }
    export class PKAddSecureElementPassConfiguration extends NSObject {
        /**
         * An opaque value for the configuration.
         */
        issuerIdentifier: string;
        /**
         * The configuration’s localized description.
         */
        localizedDescription: string;
    }
    export class PKAddSecureElementPassViewController extends UIViewController {
        /**
         * An object that acts as the view controller’s delegate.
         */
        delegate: PKAddSecureElementPassViewControllerDelegate | null;
        /**
         * Creates a view controller using the specified pass configuration.
         */
        constructor (configuration: PKAddSecureElementPassConfiguration, delegate: PKAddSecureElementPassViewControllerDelegate | null);
        /**
         * Returns a Boolean value that indicates whether PassKit can create a Secure Element pass using the specified configuration.
         */
        static canAddSecureElementPass(configuration: PKAddSecureElementPassConfiguration):boolean;
    }
    export interface PKAddSecureElementPassViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when PassKit finishes adding one or more Secure Element passes.
         */
        addSecureElementPassViewController(controller: PKAddSecureElementPassViewController, passes: PKSecureElementPass[] | null, error: Error | null):void;
    }
    export class PKPass extends PKObject {
        /**
         * The pass’s type.
         */
        passType: PKPassType;
        /**
         * The pass that contains an accompanying credential that the device stores in the Secure Element.
         */
        secureElementPass: PKSecureElementPass | null;
        /**
         * A value that uniquely identifies the pass.
         */
        serialNumber: string;
        /**
         * The pass’s pass type identifier.
         */
        passTypeIdentifier: string;
        /**
         * The name of the device that hosts the pass.
         */
        deviceName: string;
        /**
         * The localized name for the pass’s template.
         */
        localizedName: string;
        /**
         * The pass’s localized description.
         */
        localizedDescription: string;
        /**
         * A Boolean value that indicates whether the pass is on a paired device, such as an Apple Watch.
         */
        isRemotePass: boolean;
        /**
         * The underlying payment pass.
         */
        paymentPass: PKPaymentPass | null;
        /**
         * The URL for the web service.
         */
        webServiceURL: URL | null;
        /**
         * The token for authenticating update requests.
         */
        authenticationToken: string;
        /**
         * The pass icon.
         */
        icon: UIImage;
        /**
         * The name of the organization that creates the pass.
         */
        organizationName: string;
        /**
         * The date when the pass is most likely to be useful or necessary.
         */
        relevantDate: Date | null;
        /**
         * The URL that opens the pass in the Wallet app.
         */
        passURL: URL | null;
        /**
         * Developer-specific custom data.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * Creates a pass using the data you provide.
         */
        constructor (data: Data);
        /**
         * Returns the localized value for a specified field of the pass.
         */
        localizedValue(key: string):any;
    }
    export enum PKPassType {
        any = 18446744073709551615,
        barcode = 0,
        secureElement = 1,
    }
    export class PKAddPassesViewController extends UIViewController {
        /**
         * The view controller’s delegate.
         */
        delegate: PKAddPassesViewControllerDelegate | null;
        /**
         * Initializes and returns a newly created add-passes view controller with a single pass.
         */
        constructor (pass: PKPass);
        /**
         * Initializes and returns a newly created add-passes view controller with an array of passes.
         */
        constructor (passes: PKPass[]);
        /**
         * Returns whether the device supports adding passes.
         */
        static canAddPasses():boolean;
    }
    export interface PKAddPassesViewControllerDelegate extends NSObjectProtocol {
        /**
         * Sent to the delegate after the add-passes view controller has finished.
         */
        addPassesViewControllerDidFinish(controller: PKAddPassesViewController):void;
    }
    export class PKShareSecureElementPassViewController extends UIViewController {
        delegate: PKShareSecureElementPassViewControllerDelegate | null;
        promptToShareURL: boolean;
        constructor (pass: PKSecureElementPass, delegate: PKShareSecureElementPassViewControllerDelegate | null);
    }
    export interface PKShareSecureElementPassViewControllerDelegate extends NSObjectProtocol {
        shareSecureElementPassViewController(controller: PKShareSecureElementPassViewController, universalShareURL: URL | null, activationCode: string):void;
    }
    export enum PKShareSecureElementPassResult {
        canceled = 0,
        failed = 2,
        shared = 1,
    }
    export class PKPaymentPass extends PKSecureElementPass {
        /**
         * The current activation state of the pass.
         */
        activationState: PKPaymentPassActivationState;
    }
    export enum PKPaymentPassActivationState {
        activated = 0,
        requiresActivation = 1,
        activating = 2,
        suspended = 3,
        deactivated = 4,
    }
    export interface PKAddPaymentPassViewControllerDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate to create an add payment request.
         */
        addPaymentPassViewController(controller: PKAddPaymentPassViewController, certificates: Data[], nonce: Data, nonceSignature: Data, handler: ()=>any):void;
    }
    export class PKAddPaymentPassRequest extends NSObject {
        /**
         * The request’s activation data.
         */
        activationData: Data | null;
        /**
         * An encrypted JSON file containing the sensitive information needed to add a card to Apple Pay.
         */
        encryptedPassData: Data | null;
        /**
         * The ephemeral public key used by elliptic curve cryptography (ECC).
         */
        ephemeralPublicKey: Data | null;
        wrappedKey: Data | null;
        constructor ();
    }
}

/**
 * Support hardware game controllers in your game.
 */
declare module GameController {
    export class GCExtendedGamepadSnapshotData {
        buttonX: Float;
        buttonY: Float;
        dpadX: Float;
        dpadY: Float;
        leftShoulder: Float;
        leftThumbstickButton: ObjCBool;
        leftThumbstickX: Float;
        leftThumbstickY: Float;
        leftTrigger: Float;
        rightShoulder: Float;
        rightThumbstickButton: ObjCBool;
        rightThumbstickX: Float;
        rightThumbstickY: Float;
        rightTrigger: Float;
        size: UInt16;
        supportsClickableThumbsticks: ObjCBool;
        version: UInt16;
    }
    export class GCMouse extends NSObject {
        /**
         * The most recent mouse that the user connects.
         */
        static current: GCMouse | null;
        /**
         * The controller profile for the mouse device.
         */
        mouseInput: GCMouseInput | null;
    }
    export class GCMicroGamepadSnapshotData {
        buttonA: Float;
        buttonX: Float;
        dpadX: Float;
        dpadY: Float;
        size: UInt16;
        version: UInt16;
        constructor ();
        constructor (version: UInt16, size: UInt16, dpadX: Float, dpadY: Float, buttonA: Float, buttonX: Float);
    }
    export enum GCExtendedGamepadSnapshotDataVersion {
        version1 = 256,
        version2 = 257,
    }
    export enum GCMicroGamepadSnapshotDataVersion {
        version1 = 256,
    }
    export class GCKeyboard extends NSObject {
        /**
         * The keyboard currently connected to the device.
         */
        static coalesced: GCKeyboard | null;
        /**
         * The controller profile for the keyboard.
         */
        keyboardInput: GCKeyboardInput | null;
    }
    export class GCMotion extends NSObject {
        /**
         * The controller for the profile.
         */
        controller: GCController | null;
        /**
         * The block that the profile calls when an element’s value changes.
         */
        valueChangedHandler: GCMotionValueChangedHandler | null;
        /**
         * A Boolean value that indicates whether the controller provides attitude data.
         */
        hasAttitude: boolean;
        /**
         * A Boolean value that indicates whether the controller provides rotation data.
         */
        hasRotationRate: boolean;
        /**
         * A Boolean value that indicates whether the controller provides gravity and user acceleration data.
         */
        hasGravityAndUserAcceleration: boolean;
        /**
         * A Boolean value that indicates whether the controller provides attitude and rotation data.
         */
        hasAttitudeAndRotationRate: boolean;
        /**
         * The attitude of the controller.
         */
        attitude: GCQuaternion;
        /**
         * The rotation rate of the controller.
         */
        rotationRate: GCRotationRate;
        /**
         * The total acceleration of the controller that includes gravity and the acceleration the user applies to the controller.
         */
        acceleration: GCAcceleration;
        /**
         * The gravity acceleration vector from the controller’s reference frame.
         */
        gravity: GCAcceleration;
        /**
         * The acceleration that the user applies to the controller.
         */
        userAcceleration: GCAcceleration;
        /**
         * A Boolean value that indicates whether the sensors that compute the motion data require manual activation.
         */
        sensorsRequireManualActivation: boolean;
        /**
         * A Boolean value that indicates whether the sensors that compute the motion data are active.
         */
        sensorsActive: boolean;
        /**
         * Copies the input values from a specified motion profile to a snapshot of a motion profile.
         */
        setStateFrom(motion: GCMotion):void;
        /**
         * Sets the controller’s attitude.
         */
        setAttitude(attitude: GCQuaternion):void;
        /**
         * Sets the controller’s rotation rate.
         */
        setRotationRate(rotationRate: GCRotationRate):void;
        /**
         * Sets the total acceleration of the controller that includes gravity and the user’s acceleration.
         */
        setAcceleration(acceleration: GCAcceleration):void;
        /**
         * Sets the controller’s gravity data.
         */
        setGravity(gravity: GCAcceleration):void;
        /**
         * Sets the acceleration the user applies to the controller.
         */
        setUserAcceleration(userAcceleration: GCAcceleration):void;
    }
    export class GCQuaternion {
        /**
         * The value for the x-axis of the quaternion.
         */
        x: number;
        /**
         * The value for the y-axis of the quaternion.
         */
        y: number;
        /**
         * The value for the z-axis of the quaternion.
         */
        z: number;
        /**
         * The value for the w-axis of the quaternion.
         */
        w: number;
        /**
         * Creates a quaternion structure.
         */
        constructor ();
        /**
         * Creates a quaternion structure with the specified values.
         */
        constructor (x: number, y: number, z: number, w: number);
    }
    export class GCController extends NSObject {
        /**
         * The most recently used game controller.
         */
        static current: GCController | null;
        /**
         * A Boolean value that indicates whether the app needs to respond to controller events when it isn’t the frontmost app.
         */
        static shouldMonitorBackgroundEvents: boolean;
        /**
         * A Boolean value that indicates whether the controller closely integrates with the device.
         */
        isAttachedToDevice: boolean;
        /**
         * The extended gamepad profile.
         */
        extendedGamepad: GCExtendedGamepad | null;
        /**
         * The micro gamepad profile.
         */
        microGamepad: GCMicroGamepad | null;
        /**
         * The motion input profile.
         */
        motion: GCMotion | null;
        /**
         * The physical input profile for the controller.
         */
        physicalInputProfile: GCPhysicalInputProfile;
        /**
         * The gamepad profile.
         */
        gamepad: GCGamepad | null;
        /**
         * The player index for the controller.
         */
        playerIndex: GCControllerPlayerIndex;
        /**
         * The controller’s battery information.
         */
        battery: GCDeviceBattery | null;
        /**
         * The controller’s haptics information.
         */
        haptics: GCDeviceHaptics | null;
        /**
         * The controller’s light settings.
         */
        light: GCDeviceLight | null;
        /**
         * Returns a Boolean value that indicates whether the framework supports the specified human interface device.
         */
        static supportsHIDDevice(device: IOHIDDevice):boolean;
    }
    export class GCRotationRate {
        /**
         * The rotation rate around the x-axis in radians per second.
         */
        x: number;
        /**
         * The rotation rate around the y-axis in radians per second.
         */
        y: number;
        /**
         * The rotation rate around the z-axis in radians per second.
         */
        z: number;
        /**
         * Creates a rotation rate structure.
         */
        constructor ();
        /**
         * Creates a rotation rate structure with the specified values.
         */
        constructor (x: number, y: number, z: number);
    }
    export class GCEulerAngles {
        /**
         * The pitch of the controller in radians.
         */
        pitch: number;
        /**
         * The yaw of the device in radians.
         */
        yaw: number;
        /**
         * The roll of the controller in radians.
         */
        roll: number;
        /**
         * Creates the Euler angles structure.
         */
        constructor ();
        /**
         * Creates the structure with the specified values.
         */
        constructor (pitch: number, yaw: number, roll: number);
    }
    export class GCAcceleration {
        /**
         * The acceleration measurement along the x-axis, in multiples of earth’s gravity.
         */
        x: number;
        /**
         * The acceleration measurement along the y-axis, in multiples of earth’s gravity.
         */
        y: number;
        /**
         * The acceleration measurement along the z-axis, in multiples of earth’s gravity.
         */
        z: number;
        /**
         * Creates an acceleration structure.
         */
        constructor ();
        /**
         * Creates an acceleration structure with the specified values.
         */
        constructor (x: number, y: number, z: number);
    }
    export class GCControllerElement extends NSObject {
        /**
         * A Boolean value that indicates whether the element provides analog data.
         */
        isAnalog: boolean;
        /**
         * The localized name for the element or the remapped element.
         */
        localizedName: string;
        /**
         * The element’s localized name, not the remapped name.
         */
        unmappedLocalizedName: string;
        /**
         * A system symbol for the element or the remapped element.
         */
        sfSymbolsName: string;
        /**
         * The element’s system symbol, not the remapped symbol.
         */
        unmappedSfSymbolsName: string;
        /**
         * The element’s aliases you use when accessing it with the subscript notation.
         */
        aliases: Set<String>;
        /**
         * The enclosing element for this element.
         */
        collection: GCControllerElement | null;
        /**
         * A Boolean value that indicates whether the user binds the element to a system gesture.
         */
        isBoundToSystemGesture: boolean;
        /**
         * The preferred state for handling input when the user binds the element to a system gesture.
         */
        preferredSystemGestureState: GCControllerElement.SystemGestureState;
    }
    /**
     * the same name namespace of class GCControllerElement
     */
    export namespace GCControllerElement {
        export enum SystemGestureState {
            enabled = 0,
            alwaysReceive = 1,
            disabled = 2,
        }
    }
    export class GCControllerAxisInput extends GCControllerElement {
        /**
         * The current value of the axis.
         */
        value: Float;
        /**
         * The block that the element calls when the user changes the axis value.
         */
        valueChangedHandler: GCControllerAxisValueChangedHandler | null;
        /**
         * Sets the normalized value of the axis.
         */
        setValue(value: Float):void;
    }
    export class GCControllerButtonInput extends GCControllerElement {
        /**
         * A Boolean value that indicates whether the user is touching the button.
         */
        isTouched: boolean;
        /**
         * A Boolean value that indicates whether the user is pressing the button.
         */
        isPressed: boolean;
        /**
         * The level of pressure the user is applying to the button.
         */
        value: Float;
        /**
         * The block that the element calls when the user touches the button.
         */
        touchedChangedHandler: GCControllerButtonTouchedChangedHandler | null;
        /**
         * The block that the element calls when the user presses or releases the button.
         */
        pressedChangedHandler: GCControllerButtonValueChangedHandler | null;
        /**
         * The block that the element calls when the user changes the level of pressure on the button.
         */
        valueChangedHandler: GCControllerButtonValueChangedHandler | null;
        /**
         * Sets the pressure value of a snapshot of a button.
         */
        setValue(value: Float):void;
    }
    export class GCControllerTouchpad extends GCControllerElement {
        /**
         * The element that represents the state of the user’s touch on the surface of the touchpad.
         */
        touchSurface: GCControllerDirectionPad;
        /**
         * The element that represents the button component on the touchpad.
         */
        button: GCControllerButtonInput;
        /**
         * The state of the user’s touch on the surface of the touchpad.
         */
        touchState: GCControllerTouchpad.TouchState;
        /**
         * A Boolean value that determines whether the touch values are absolute or relative.
         */
        reportsAbsoluteTouchSurfaceValues: boolean;
        /**
         * The block that the element calls when the user begins touching the touchpad.
         */
        touchDown: GCControllerTouchpadHandler | null;
        /**
         * The block that the element calls when the user continues touching the touchpad, not when the user begins or ends touching the touchpad.
         */
        touchMoved: GCControllerTouchpadHandler | null;
        /**
         * The block that the element calls when the user finishes touching the touchpad.
         */
        touchUp: GCControllerTouchpadHandler | null;
        /**
         * Sets the input values of a snapshot of a touchpad.
         */
        setValueForXAxis(xAxis: Float, yAxis: Float, touchDown: boolean, buttonValue: Float):void;
    }
    /**
     * the same name namespace of class GCControllerTouchpad
     */
    export namespace GCControllerTouchpad {
        export enum TouchState {
            up = 0,
            down = 1,
            moving = 2,
        }
    }
    export class GCControllerDirectionPad extends GCControllerElement {
        /**
         * The x-axis element of the directional pad.
         */
        xAxis: GCControllerAxisInput;
        /**
         * The y-axis element of the directional pad.
         */
        yAxis: GCControllerAxisInput;
        /**
         * The button element that changes the positive x-axis.
         */
        right: GCControllerButtonInput;
        /**
         * The button element that changes the negative x-axis.
         */
        left: GCControllerButtonInput;
        /**
         * The button element that changes the positive y-axis.
         */
        up: GCControllerButtonInput;
        /**
         * The button element used for the negative y-axis direction.
         */
        down: GCControllerButtonInput;
        /**
         * The block that the directional pad calls when the user changes its values.
         */
        valueChangedHandler: GCControllerDirectionPadValueChangedHandler | null;
        /**
         * Sets the input values of a snapshot of a directional pad.
         */
        setValueForXAxis(xAxis: Float, yAxis: Float):void;
    }
    export class GCDeviceCursor extends GCControllerDirectionPad {}
    export class GCDualSenseAdaptiveTrigger extends GCControllerButtonInput {
        /**
         * The number of discrete control positions that the DualSense adaptive triggers support.
         */
        static discretePositionCount: number;
        /**
         * The current configuration of the adaptive trigger.
         */
        mode: GCDualSenseAdaptiveTrigger.Mode;
        /**
         * The position of the trigger’s arm.
         */
        armPosition: Float;
        /**
         * The current status of the adaptive trigger and whether it’s applying effects.
         */
        status: GCDualSenseAdaptiveTrigger.Status;
        /**
         * Sets the mode to off and stops any trigger effect.
         */
        setModeOff():void;
        /**
         * Sets the mode to provide feedback when the user depresses the trigger at the start position or at a greater value.
         */
        setModeFeedbackWithStartPosition(startPosition: Float, resistiveStrength: Float):void;
        /**
         * Sets the mode to provide feedback with the specified strengths for each possible trigger position.
         */
        setModeFeedback(positionalResistiveStrengths: GCDualSenseAdaptiveTrigger.PositionalResistiveStrengths):void;
        /**
         * Sets the mode to provide feedback when the user depresses the trigger between the start and the end positions.
         */
        setModeWeaponWithStartPosition(startPosition: Float, endPosition: Float, resistiveStrength: Float):void;
        /**
         * Sets the mode to vibrate when the user depresses the trigger at the start position or at a greater value.
         */
        setModeVibrationWithStartPosition(startPosition: Float, amplitude: Float, frequency: Float):void;
        /**
         * Sets the mode to vibrate with the specified amplitudes for each possible trigger position.
         */
        setModeVibration(positionalAmplitudes: GCDualSenseAdaptiveTrigger.PositionalAmplitudes, frequency: Float):void;
        /**
         * Sets the mode to provide feedback when the user tilts the trigger between the start and the end positions.
         */
        setModeSlopeFeedback(startPosition: Float, endPosition: Float, startStrength: Float, endStrength: Float):void;
    }
    /**
     * the same name namespace of class GCDualSenseAdaptiveTrigger
     */
    export namespace GCDualSenseAdaptiveTrigger {
        export enum Mode {
            off = 0,
            feedback = 1,
            weapon = 2,
            vibration = 3,
            slopeFeedback = 4,
        }
        export class PositionalResistiveStrengths {
            /**
             * The resistive strength values for possible trigger positions.
             */
            values: any;
            /**
             * Creates a resistive strengths structure with the specified strength values.
             */
            constructor (values: any);
            /**
             * Creates an empty resistive strengths structure.
             */
            constructor ();
        }
        export class PositionalAmplitudes {
            /**
             * The amplitude values for possible trigger positions.
             */
            values: any;
            /**
             * Creates a positional amplitudes structure with the specified amplitude values.
             */
            constructor (values: any);
            /**
             * Creates an empty positional amplitudes structure.
             */
            constructor ();
        }
        export enum Status {
            unknown = -1,
            feedbackNoLoad = 0,
            feedbackLoadApplied = 1,
            weaponReady = 2,
            weaponFiring = 3,
            weaponFired = 4,
            vibrationNotVibrating = 5,
            vibrationIsVibrating = 6,
            slopeFeedbackReady = 7,
            slopeFeedbackApplyingLoad = 8,
            slopeFeedbackFinished = 9,
        }
    }
    export enum GCControllerPlayerIndex {
        indexUnset = -1,
        index1 = 0,
        index2 = 1,
        index3 = 2,
        index4 = 3,
    }
    export class GCPhysicalInputProfile extends NSObject {
        /**
         * The physical device that the profile represents.
         */
        device: GCDevice | null;
        /**
         * The time of the most recent change to an element’s value.
         */
        lastEventTimestamp: TimeInterval;
        /**
         * The block that the profile calls when an element’s value changes.
         */
        valueDidChangeHandler: ()=>any | null;
        /**
         * The elements in the profile as key-value pairs for lookup by name.
         */
        elements: Record<string, GCControllerElement>;
        /**
         * The buttons in the profile as key-value pairs for lookup by name.
         */
        buttons: Record<string, GCControllerButtonInput>;
        /**
         * The axes in the profile as key-value pairs for lookup by name.
         */
        axes: Record<string, GCControllerAxisInput>;
        /**
         * The directional pads in the profile as key-value pairs for lookup by name.
         */
        dpads: Record<string, GCControllerDirectionPad>;
        /**
         * The touchpads in the profile as key-value pairs for lookup by name.
         */
        touchpads: Record<string, GCControllerTouchpad>;
        /**
         * The elements in the profile.
         */
        allElements: Set<GCControllerElement>;
        /**
         * The buttons in the profile.
         */
        allButtons: Set<GCControllerButtonInput>;
        /**
         * The axes in the profile.
         */
        allAxes: Set<GCControllerAxisInput>;
        /**
         * The directional pads in the profile.
         */
        allDpads: Set<GCControllerDirectionPad>;
        /**
         * The touchpads in the profile.
         */
        allTouchpads: Set<GCControllerTouchpad>;
        /**
         * A Boolean value that indicates whether the user remaps elements in this profile.
         */
        hasRemappedElements: boolean;
        /**
         * Returns a snapshot of the profile with its current element values.
         */
        capture():Self;
        /**
         * Copies the input values from a specified physical input profile to a snapshot of the profile.
         */
        setStateFromPhysicalInput(physicalInput: GCPhysicalInputProfile):void;
        /**
         * Returns the name of the input element to which the user remaps the given physical element.
         */
        mappedElementAlias(inputName: string):string;
        /**
         * Returns the physical input elements to which the user remaps the given input element.
         */
        mappedPhysicalInputNames(elementAlias: string):Set<String>;
    }
    export class GCExtendedGamepad extends GCPhysicalInputProfile {
        /**
         * The controller for the profile.
         */
        controller: GCController | null;
        /**
         * The block that the profile calls when an element’s value changes.
         */
        valueChangedHandler: GCExtendedGamepadValueChangedHandler | null;
        /**
         * The controller’s left shoulder button element.
         */
        leftShoulder: GCControllerButtonInput;
        /**
         * The controller’s right shoulder button element.
         */
        rightShoulder: GCControllerButtonInput;
        /**
         * The controller’s left trigger element.
         */
        leftTrigger: GCControllerButtonInput;
        /**
         * The controller’s right trigger element.
         */
        rightTrigger: GCControllerButtonInput;
        /**
         * The primary menu button element that players use to enter the main menu and pause the game.
         */
        buttonMenu: GCControllerButtonInput;
        /**
         * The controller’s secondary menu button element.
         */
        buttonOptions: GCControllerButtonInput | null;
        /**
         * The main menu button element that players use to enter the secondary menu and pause the game.
         */
        buttonHome: GCControllerButtonInput | null;
        /**
         * The bottom face button that uses 
         *  or another indicator as its label.
         */
        buttonA: GCControllerButtonInput;
        /**
         * The right face button that uses 
         *  or another indicator as its label.
         */
        buttonB: GCControllerButtonInput;
        /**
         * The left face button that uses 
         *  or another indicator as its label.
         */
        buttonX: GCControllerButtonInput;
        /**
         * The top face button that uses 
         *  or another indicator as its label.
         */
        buttonY: GCControllerButtonInput;
        /**
         * The controller’s directional pad element.
         */
        dpad: GCControllerDirectionPad;
        /**
         * The controller’s left thumbstick element.
         */
        leftThumbstick: GCControllerDirectionPad;
        /**
         * The controller’s right thumbstick element.
         */
        rightThumbstick: GCControllerDirectionPad;
        /**
         * The button on the left thumbstick of the controller.
         */
        leftThumbstickButton: GCControllerButtonInput | null;
        /**
         * The button on the right thumbstick of the controller.
         */
        rightThumbstickButton: GCControllerButtonInput | null;
        /**
         * Copies the input values from a specified extended gamepad to a snapshot of an extended gamepad.
         */
        setStateFrom(extendedGamepad: GCExtendedGamepad):void;
        /**
         * Saves a snapshot of all of the profile’s elements.
         */
        saveSnapshot():GCExtendedGamepadSnapshot;
    }
    export class GCDualShockGamepad extends GCExtendedGamepad {
        /**
         * The button element on the touchpad of the controller.
         */
        touchpadButton: GCControllerButtonInput!;
        /**
         * The location of the player’s primary finger on the touchpad.
         */
        touchpadPrimary: GCControllerDirectionPad!;
        /**
         * The location of the player’s secondary finger on the touchpad.
         */
        touchpadSecondary: GCControllerDirectionPad!;
    }
    export class GCDeviceBattery extends NSObject {
        /**
         * The charge level of a device’s battery.
         */
        batteryLevel: Float;
        /**
         * The state of a device’s battery.
         */
        batteryState: GCDeviceBattery.State;
    }
    /**
     * the same name namespace of class GCDeviceBattery
     */
    export namespace GCDeviceBattery {
        export enum State {
            unknown = -1,
            discharging = 0,
            charging = 1,
            full = 2,
        }
    }
    export class GCXboxGamepad extends GCExtendedGamepad {
        /**
         * The controller’s paddle 1 button element, which has a P1 label on the back of the controller.
         */
        paddleButton1: GCControllerButtonInput | null;
        /**
         * The paddle 2 button element, which has a P2 label on the back of the controller.
         */
        paddleButton2: GCControllerButtonInput | null;
        /**
         * The paddle 3 button element, which has a P3 label on the back of the controller.
         */
        paddleButton3: GCControllerButtonInput | null;
        /**
         * The paddle 4 button element, which has a P4 label on the back of the controller.
         */
        paddleButton4: GCControllerButtonInput | null;
        /**
         * The share button on an Xbox Series X|S controller or later.
         */
        buttonShare: GCControllerButtonInput | null;
    }
    export class GCDualSenseGamepad extends GCExtendedGamepad {
        /**
         * The button element on the touchpad of the controller.
         */
        touchpadButton: GCControllerButtonInput;
        /**
         * The location of the player’s primary finger on the touchpad.
         */
        touchpadPrimary: GCControllerDirectionPad;
        /**
         * The location of the player’s secondary finger on the touchpad.
         */
        touchpadSecondary: GCControllerDirectionPad;
        /**
         * The controller’s left adaptive trigger element.
         */
        leftTrigger: GCDualSenseAdaptiveTrigger;
        /**
         * The controller’s right adaptive trigger element.
         */
        rightTrigger: GCDualSenseAdaptiveTrigger;
    }
    export class GCMicroGamepad extends GCPhysicalInputProfile {
        /**
         * The controller associated with this profile.
         */
        controller: GCController | null;
        /**
         * The block that this profile calls when an element’s value changes.
         */
        valueChangedHandler: GCMicroGamepadValueChangedHandler | null;
        /**
         * The menu face button that players use to enter the main menu and pause the game.
         */
        buttonMenu: GCControllerButtonInput;
        /**
         * The button that the user activates by pressing harder on the touchpad.
         */
        buttonA: GCControllerButtonInput;
        /**
         * The second face button element.
         */
        buttonX: GCControllerButtonInput;
        /**
         * The controller’s directional pad element.
         */
        dpad: GCControllerDirectionPad;
        /**
         * A Boolean value that indicates whether the directional pad reports absolute or relative values.
         */
        reportsAbsoluteDpadValues: boolean;
        /**
         * A Boolean value that indicates whether the profile reports the directional pad values relative to its current orientation.
         */
        allowsRotation: boolean;
        /**
         * Copies the input values from a specified micro gamepad to a snapshot of a micro gamepad.
         */
        setStateFrom(microGamepad: GCMicroGamepad):void;
        /**
         * Saves a snapshot of all of the profile’s elements.
         */
        saveSnapshot():GCMicroGamepadSnapshot;
    }
    export class GCDirectionalGamepad extends GCMicroGamepad {}
    export class GCKeyboardInput extends GCPhysicalInputProfile {
        /**
         * The block that the profile calls when the user presses a key.
         */
        keyChangedHandler: GCKeyboardValueChangedHandler | null;
        /**
         * A Boolean value that indicates whether the user is pressing any of the keys.
         */
        isAnyKeyPressed: boolean;
        /**
         * Returns the button element for the specified key code.
         */
        button(code: GCKeyCode):GCControllerButtonInput | null;
    }
    export class GCKeyCode {
        /**
         * The keyboard code for the a or A character.
         */
        static keyA: GCKeyCode;
        /**
         * The keyboard code for the b or B character.
         */
        static keyB: GCKeyCode;
        /**
         * The keyboard code for the c or C character.
         */
        static keyC: GCKeyCode;
        /**
         * The keyboard code for the d or D character.
         */
        static keyD: GCKeyCode;
        /**
         * The keyboard code for the e or E character.
         */
        static keyE: GCKeyCode;
        /**
         * The keyboard code for the f or F character.
         */
        static keyF: GCKeyCode;
        /**
         * The keyboard code for the g or G character.
         */
        static keyG: GCKeyCode;
        /**
         * The keyboard code for the h or H character.
         */
        static keyH: GCKeyCode;
        /**
         * The keyboard code for the i or I character.
         */
        static keyI: GCKeyCode;
        /**
         * The keyboard code for the j or J character.
         */
        static keyJ: GCKeyCode;
        /**
         * The keyboard code for the k or K character.
         */
        static keyK: GCKeyCode;
        /**
         * The keyboard code for the l or L character.
         */
        static keyL: GCKeyCode;
        /**
         * The keyboard code for the m or M character.
         */
        static keyM: GCKeyCode;
        /**
         * The keyboard code for the n or N character.
         */
        static keyN: GCKeyCode;
        /**
         * The keyboard code for the o or O character.
         */
        static keyO: GCKeyCode;
        /**
         * The keyboard code for the p or P character.
         */
        static keyP: GCKeyCode;
        /**
         * The keyboard code for the q or Q character.
         */
        static keyQ: GCKeyCode;
        /**
         * The keyboard code for the r or R character.
         */
        static keyR: GCKeyCode;
        /**
         * The keyboard code for the s or S character.
         */
        static keyS: GCKeyCode;
        /**
         * The keyboard code for the t or T character.
         */
        static keyT: GCKeyCode;
        /**
         * The keyboard code for the u or U character.
         */
        static keyU: GCKeyCode;
        /**
         * The keyboard code for the v or V character.
         */
        static keyV: GCKeyCode;
        /**
         * The keyboard code for the w or W character.
         */
        static keyW: GCKeyCode;
        /**
         * The keyboard code for the x or X character.
         */
        static keyX: GCKeyCode;
        /**
         * The keyboard code for the y or Y character.
         */
        static keyY: GCKeyCode;
        /**
         * The keyboard code for the z or Z character.
         */
        static keyZ: GCKeyCode;
        /**
         * The keyboard code for the 1 or ! character.
         */
        static one: GCKeyCode;
        /**
         * The keyboard code for the 2 or @ character.
         */
        static two: GCKeyCode;
        /**
         * The keyboard code for the 3 or # character.
         */
        static three: GCKeyCode;
        /**
         * The keyboard code for the 4 or $ character.
         */
        static four: GCKeyCode;
        /**
         * The keyboard code for the 5 or % character.
         */
        static five: GCKeyCode;
        /**
         * The keyboard code for the 6 or ^ character.
         */
        static six: GCKeyCode;
        /**
         * The keyboard code for the 7 or & character.
         */
        static seven: GCKeyCode;
        /**
         * The keyboard code for the 8 or * character.
         */
        static eight: GCKeyCode;
        /**
         * The keyboard code for the 9 or ( character.
         */
        static nine: GCKeyCode;
        /**
         * The keyboard code for the 0 or ) character.
         */
        static zero: GCKeyCode;
        /**
         * The keyboard code for the Tab key.
         */
        static tab: GCKeyCode;
        /**
         * The keyboard code for the Space Bar key.
         */
        static spacebar: GCKeyCode;
        /**
         * The keyboard code for the - or _ key.
         */
        static hyphen: GCKeyCode;
        /**
         * The keyboard code for the = or + key.
         */
        static equalSign: GCKeyCode;
        /**
         * The keyboard code for the [ or { key.
         */
        static openBracket: GCKeyCode;
        /**
         * The keyboard code for the ] or } key.
         */
        static closeBracket: GCKeyCode;
        /**
         * The keyboard code for the \ or | key.
         */
        static backslash: GCKeyCode;
        /**
         * The keyboard code for the non-US Pound or _ key.
         */
        static nonUSPound: GCKeyCode;
        /**
         * The keyboard code for the ; or : key.
         */
        static semicolon: GCKeyCode;
        /**
         * The keyboard code for the ‘ or “ key.
         */
        static quote: GCKeyCode;
        /**
         * The keyboard code for the Grave Accent or Tilde key.
         */
        static graveAccentAndTilde: GCKeyCode;
        /**
         * The keyboard code for the Comma or < key.
         */
        static comma: GCKeyCode;
        /**
         * The keyboard code for the Period or > key.
         */
        static period: GCKeyCode;
        /**
         * The keyboard code for the / or ? key.
         */
        static slash: GCKeyCode;
        /**
         * The keyboard code for the Caps Lock key.
         */
        static capsLock: GCKeyCode;
        /**
         * The keyboard code for the Delete or Backspace key.
         */
        static deleteOrBackspace: GCKeyCode;
        /**
         * The keyboard code for the Escape key.
         */
        static escape: GCKeyCode;
        /**
         * The keyboard code for the Return or Enter key.
         */
        static returnOrEnter: GCKeyCode;
        /**
         * The keyboard code for the non-US Slash or | key.
         */
        static nonUSBackslash: GCKeyCode;
        /**
         * The keyboard code for the Application key.
         */
        static application: GCKeyCode;
        /**
         * The keyboard code for the Power key.
         */
        static power: GCKeyCode;
        /**
         * The keyboard code for the F1 key.
         */
        static F1: GCKeyCode;
        /**
         * The keyboard code for the F2 key.
         */
        static F2: GCKeyCode;
        /**
         * The keyboard code for the F3 key.
         */
        static F3: GCKeyCode;
        /**
         * The keyboard code for the F4 key.
         */
        static F4: GCKeyCode;
        /**
         * The keyboard code for the F5 key.
         */
        static F5: GCKeyCode;
        /**
         * The keyboard code for the F6 key.
         */
        static F6: GCKeyCode;
        /**
         * The keyboard code for the F7 key.
         */
        static F7: GCKeyCode;
        /**
         * The keyboard code for the F8 key.
         */
        static F8: GCKeyCode;
        /**
         * The keyboard code for the F9 key.
         */
        static F9: GCKeyCode;
        /**
         * The keyboard code for the F10 key.
         */
        static F10: GCKeyCode;
        /**
         * The keyboard code for the F11 key.
         */
        static F11: GCKeyCode;
        /**
         * The keyboard code for the F12 key.
         */
        static F12: GCKeyCode;
        /**
         * The keyboard code for the F13 key.
         */
        static F13: GCKeyCode;
        /**
         * The keyboard code for the F14 key.
         */
        static F14: GCKeyCode;
        /**
         * The keyboard code for the F15 key.
         */
        static F15: GCKeyCode;
        /**
         * The keyboard code for the F16 key.
         */
        static F16: GCKeyCode;
        /**
         * The keyboard code for the F17 key.
         */
        static F17: GCKeyCode;
        /**
         * The keyboard code for the F18 key.
         */
        static F18: GCKeyCode;
        /**
         * The keyboard code for the F19 key.
         */
        static F19: GCKeyCode;
        /**
         * The keyboard code for the F20 key.
         */
        static F20: GCKeyCode;
        /**
         * The keyboard code for the Print Screen key.
         */
        static printScreen: GCKeyCode;
        /**
         * The keyboard code for the Scroll Lock key.
         */
        static scrollLock: GCKeyCode;
        /**
         * The keyboard code for the Pause key.
         */
        static pause: GCKeyCode;
        /**
         * The keyboard code for the Insert key.
         */
        static insert: GCKeyCode;
        /**
         * The keyboard code for the Home key.
         */
        static home: GCKeyCode;
        /**
         * The keyboard code for the Page Up key.
         */
        static pageUp: GCKeyCode;
        /**
         * The keyboard code for the Delete-Forward key.
         */
        static deleteForward: GCKeyCode;
        /**
         * The keyboard code for the End key.
         */
        static end: GCKeyCode;
        /**
         * The keyboard code for the Page Down key.
         */
        static pageDown: GCKeyCode;
        /**
         * The keyboard code for the Right Arrow key.
         */
        static rightArrow: GCKeyCode;
        /**
         * The keyboard code for the Left Arrow key.
         */
        static leftArrow: GCKeyCode;
        /**
         * The keyboard code for the Down Arrow key.
         */
        static downArrow: GCKeyCode;
        /**
         * The keyboard code for the Up Arrow key.
         */
        static upArrow: GCKeyCode;
        /**
         * The keyboard code for the keypad Num Lock or Clear key.
         */
        static keypadNumLock: GCKeyCode;
        /**
         * The keyboard code for the keypad / key.
         */
        static keypadSlash: GCKeyCode;
        /**
         * The keyboard code for the keypad * key.
         */
        static keypadAsterisk: GCKeyCode;
        /**
         * The keyboard code for the keypad - key.
         */
        static keypadHyphen: GCKeyCode;
        /**
         * The keyboard code for the keypad + key.
         */
        static keypadPlus: GCKeyCode;
        /**
         * The keyboard code for the keypad Enter key.
         */
        static keypadEnter: GCKeyCode;
        /**
         * The keyboard code for the keypad 1 or End key.
         */
        static keypad1: GCKeyCode;
        /**
         * The keyboard code for the keypad 2 or Down Arrow key.
         */
        static keypad2: GCKeyCode;
        /**
         * The keyboard code for the keypad 3 or Page Down key.
         */
        static keypad3: GCKeyCode;
        /**
         * The keyboard code for the keypad 4 or Left Arrow key.
         */
        static keypad4: GCKeyCode;
        /**
         * The keyboard code for the keypad 5 key.
         */
        static keypad5: GCKeyCode;
        /**
         * The keyboard code for the keypad 6 or Right Arrow key.
         */
        static keypad6: GCKeyCode;
        /**
         * The keyboard code for the keypad 7 or Home key.
         */
        static keypad7: GCKeyCode;
        /**
         * The keyboard code for the keypad 8 or Up Arrow key.
         */
        static keypad8: GCKeyCode;
        /**
         * The keyboard code for the keypad 9 or Page Up key.
         */
        static keypad9: GCKeyCode;
        /**
         * The keyboard code for the keypad 0 or Insert key.
         */
        static keypad0: GCKeyCode;
        /**
         * The keyboard code for the keypad Period or Delete key.
         */
        static keypadPeriod: GCKeyCode;
        /**
         * The keyboard code for the keypad = key.
         */
        static keypadEqualSign: GCKeyCode;
        /**
         * The keyboard code for the first international key.
         */
        static international1: GCKeyCode;
        /**
         * The keyboard code for the second international key.
         */
        static international2: GCKeyCode;
        /**
         * The keyboard code for the third international key.
         */
        static international3: GCKeyCode;
        /**
         * The keyboard code for the fourth international key.
         */
        static international4: GCKeyCode;
        /**
         * The keyboard code for the fifth international key.
         */
        static international5: GCKeyCode;
        /**
         * The keyboard code for the sixth international key.
         */
        static international6: GCKeyCode;
        /**
         * The keyboard code for the seventh international key.
         */
        static international7: GCKeyCode;
        /**
         * The keyboard code for the eighth international key.
         */
        static international8: GCKeyCode;
        /**
         * The keyboard code for the ninth international key.
         */
        static international9: GCKeyCode;
        /**
         * The keyboard code for the first language key.
         */
        static LANG1: GCKeyCode;
        /**
         * The keyboard code for the second language key.
         */
        static LANG2: GCKeyCode;
        /**
         * The keyboard code for the third language key.
         */
        static LANG3: GCKeyCode;
        /**
         * The keyboard code for the fourth language key.
         */
        static LANG4: GCKeyCode;
        /**
         * The keyboard code for the fifth language key.
         */
        static LANG5: GCKeyCode;
        /**
         * The keyboard code for the sixth language key.
         */
        static LANG6: GCKeyCode;
        /**
         * The keyboard code for the seventh language key.
         */
        static LANG7: GCKeyCode;
        /**
         * The keyboard code for the eighth language key.
         */
        static LANG8: GCKeyCode;
        /**
         * The keyboard code for the ninth language key.
         */
        static LANG9: GCKeyCode;
        /**
         * The keyboard code for the Control key on the left side of the keyboard.
         */
        static leftControl: GCKeyCode;
        /**
         * The keyboard code for the Shift key on the left side of the keyboard.
         */
        static leftShift: GCKeyCode;
        /**
         * The keyboard code for the Option or Alt key on the left side of the keyboard.
         */
        static leftAlt: GCKeyCode;
        /**
         * The keyboard code for the Command key on the left side of the keyboard.
         */
        static leftGUI: GCKeyCode;
        /**
         * The keyboard code for the Control key on the right side of the keyboard.
         */
        static rightControl: GCKeyCode;
        /**
         * The keyboard code for the Shift key on the right side of the keyboard.
         */
        static rightShift: GCKeyCode;
        /**
         * The keyboard code for the Option or Alt key on the right side of the keyboard.
         */
        static rightAlt: GCKeyCode;
        /**
         * The keyboard code for the Command key on the right side of the keyboard.
         */
        static rightGUI: GCKeyCode;
        /**
         * Creates a key code with a string value.
         */
        constructor (rawValue: CFIndex);
    }
    export class GCEventViewController extends NSViewController,UIViewController {
        /**
         * A Boolean value that indicates whether the system delivers game controller input to profile objects or to views using the responder chain.
         */
        controllerUserInteractionEnabled: boolean;
    }
    export class GCDeviceHaptics extends NSObject {
        /**
         * The locations of haptic actuators on the device.
         */
        supportedLocalities: Set<GCHapticsLocality>;
        /**
         * Creates a haptics engine with the specified locality.
         */
        createEngine(locality: GCHapticsLocality):CHHapticEngine | null;
    }
    export class GCHapticsLocality {
        /**
         * The default location of a haptics actuator on a game controller.
         */
        static default: GCHapticsLocality;
        /**
         * All locations of haptics actuators on a game controller.
         */
        static all: GCHapticsLocality;
        /**
         * All handles on a game controller.
         */
        static handles: GCHapticsLocality;
        /**
         * The left handle on a game controller.
         */
        static leftHandle: GCHapticsLocality;
        /**
         * The right handle on a game controller.
         */
        static rightHandle: GCHapticsLocality;
        /**
         * All triggers on a game controller.
         */
        static triggers: GCHapticsLocality;
        /**
         * The left trigger on a game controller.
         */
        static leftTrigger: GCHapticsLocality;
        /**
         * The right trigger on a game controller.
         */
        static rightTrigger: GCHapticsLocality;
        /**
         * Creates a locality structure with a string value.
         */
        constructor (rawValue: string);
    }
    export class GCDeviceLight extends NSObject {
        /**
         * The color of a device’s light.
         */
        color: GCColor;
    }
    export class GCColor extends NSObject {
        /**
         * The normalized value of the red component ranging from 0 to 1.
         */
        red: Float;
        /**
         * The normalized value of the green component ranging from 0 to 1.
         */
        green: Float;
        /**
         * The normalized value of the blue component ranging from 0 to 1.
         */
        blue: Float;
        /**
         * Creates a color with the specified red, green, and blue values.
         */
        constructor (red: Float, green: Float, blue: Float);
    }
    export class GCMouseInput extends GCPhysicalInputProfile {
        /**
         * The block that the profile calls when the mouse moves.
         */
        mouseMovedHandler: GCMouseMoved | null;
        /**
         * The left button on the mouse.
         */
        leftButton: GCControllerButtonInput;
        /**
         * The optional right button on the mouse.
         */
        rightButton: GCControllerButtonInput | null;
        /**
         * The optional middle button on the mouse.
         */
        middleButton: GCControllerButtonInput | null;
        /**
         * The optional additional buttons on the mouse.
         */
        auxiliaryButtons: GCControllerButtonInput[] | null;
        /**
         * The location of the directional pad cursor with an undefined range.
         */
        scroll: GCDeviceCursor;
    }
    export class GCRacingWheel extends NSObject {
        /**
         * The racing wheels connected to the device.
         */
        static connectedRacingWheels: Set<GCRacingWheel>;
        /**
         * A Boolean value that indicates whether the racing wheel sends events to the app.
         */
        isAcquired: boolean;
        /**
         * The physical input profile for the racing wheel.
         */
        wheelInput: GCRacingWheelInput;
        /**
         * A Boolean value that indicates whether the object is a snapshot of a racing wheel.
         */
        isSnapshot: boolean;
        /**
         * Starts receiving events from the racing wheel.
         */
        acquireDevice():void;
        /**
         * Stops receiving events from the racing wheel.
         */
        relinquishDevice():void;
        /**
         * Returns a snapshot of the racing wheel with its current element values.
         */
        capture():GCRacingWheel;
    }
    export interface GCDevicePhysicalInputState extends NSObjectProtocol {
        /**
         * The physical device that this profile represents.
         */
        device: GCDevice | null;
        /**
         * The time of the most recent event.
         */
        lastEventTimestamp: TimeInterval;
        /**
         * The time in seconds between the last event and the current time.
         */
        lastEventLatency: TimeInterval;
        /**
         * The device’s elements as key-value pairs for lookup by name.
         */
        elements: GCPhysicalInputElementCollection<GCPhysicalInputElement>;
        /**
         * The device’s axes as key-value pairs for lookup by name.
         */
        axes: GCPhysicalInputElementCollection<GCAxisElement>;
        /**
         * The device’s buttons as key-value pairs for lookup by name.
         */
        buttons: GCPhysicalInputElementCollection<GCButtonElement>;
        /**
         * The device’s directional pads as key-value pairs for lookup by name.
         */
        dpads: GCPhysicalInputElementCollection<GCDirectionPadElement>;
        /**
         * The device’s switches as key-value pairs for lookup by name.
         */
        switches: GCPhysicalInputElementCollection<GCSwitchElement>;
    }
    export interface GCDevicePhysicalInput extends GCDevicePhysicalInputState {
        /**
         * The physical device that the profile represents.
         */
        device: GCDevice | null;
        /**
         * Returns a snapshot of the physical device inputs.
         */
        capture():GCDevicePhysicalInputState;
        /**
         * A block that the profile calls when an element’s value changes.
         */
        elementValueDidChangeHandler: ()=>any | null;
        /**
         * The block that the profile calls when Game Controller adds an input state to the queue.
         */
        inputStateAvailableHandler: ()=>any | null;
        /**
         * Returns the next input state from the queue.
         */
        nextInputState():((GCDevicePhysicalInputState & GCDevicePhysicalInputStateDiff));
        /**
         * The maximum number of input values that the queue stores.
         */
        inputStateQueueDepth: number;
    }
    export class GCRacingWheelInput extends GCRacingWheelInputState {
        /**
         * Returns a snapshot of the racing wheel inputs.
         */
        capture():GCRacingWheelInputState;
        /**
         * Returns the next input state of the racing wheel from the queue.
         */
        nextInputState():((GCRacingWheelInputState & GCDevicePhysicalInputStateDiff));
    }
    export interface GCDevice extends NSObjectProtocol {
        /**
         * The manufacturer-provided name for the device, or the user’s name for the device.
         */
        vendorName: string;
        /**
         * The product category that identifies the type of controller.
         */
        productCategory: string;
        /**
         * The dispatch queue that the framework uses to call element value change handlers.
         */
        handlerQueue: DispatchQueue;
        /**
         * The device’s physical input profile, such as a controller’s extended gamepad.
         */
        physicalInputProfile: GCPhysicalInputProfile;
    }
    export class GCRacingWheelInputState extends NSObject {
        /**
         * The controller’s wheel element.
         */
        wheel: GCSteeringWheelElement;
        /**
         * The controller’s accelerator pedal element.
         */
        acceleratorPedal: GCButtonElement | null;
        /**
         * The controller’s brake pedal element.
         */
        brakePedal: GCButtonElement | null;
        /**
         * The controller’s clutch element.
         */
        clutchPedal: GCButtonElement | null;
        /**
         * The controller’s gear shift element.
         */
        shifter: GCGearShifterElement | null;
    }
    export interface GCDevicePhysicalInputStateDiff extends NSObjectProtocol {
        /**
         * Returns whether the input value of an element changes.
         */
        change(element: GCPhysicalInputElement):GCDevicePhysicalInputElementChange;
        /**
         * The elements that changed in comparison to the previous input state.
         */
        changedElements():NSEnumerator | null;
    }
    export enum GCDevicePhysicalInputElementChange {
        unknownChange = -1,
        noChange = 0,
        changed = 1,
    }
    export interface GCPhysicalInputElement extends NSObjectProtocol {
        /**
         * The localized name for the element.
         */
        localizedName: string;
        /**
         * A system symbol for the element.
         */
        sfSymbolsName: string;
        /**
         * The element’s aliases to use when accessing it with the subscript notation.
         */
        aliases: Set<String>;
    }
    export class GCPhysicalInputElementName {
        /**
         * The name of the element that emulates either a pattern or a sequential gear shift.
         */
        static shifter: GCPhysicalInputElementName;
        /**
         * The raw type that represents all values of the conforming type.
         */
        rawValue: string;
        /**
         * The hash value to use for comparison.
         */
        hashValue: number;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export interface GCButtonElement extends GCPhysicalInputElement {
        /**
         * The input object that provides the touch state of the element.
         */
        touchedInput: GCTouchedStateInput | null;
        /**
         * The input object that provides the linear and press state of the element.
         */
        pressedInput: (GCLinearInput & GCPressedStateInput);
    }
    export class GCButtonElementName {
        /**
         * The name of the left shoulder button.
         */
        static leftShoulder: GCButtonElementName;
        /**
         * The name of the right shoulder button.
         */
        static rightShoulder: GCButtonElementName;
        /**
         * The name of the left trigger.
         */
        static leftTrigger: GCButtonElementName;
        /**
         * The name of the right trigger.
         */
        static rightTrigger: GCButtonElementName;
        /**
         * The name of the primary menu button element.
         */
        static menu: GCButtonElementName;
        /**
         * The name of the main options button element.
         */
        static options: GCButtonElementName;
        /**
         * The name of the main menu button element.
         */
        static home: GCButtonElementName;
        /**
         * The name for the controller’s A button.
         */
        static a: GCButtonElementName;
        /**
         * The name for the controller’s B button.
         */
        static b: GCButtonElementName;
        /**
         * The name for the controller’s X button.
         */
        static x: GCButtonElementName;
        /**
         * The name for the controller’s Y button.
         */
        static y: GCButtonElementName;
        /**
         * The name of the left thumbstick element.
         */
        static leftThumbstickButton: GCButtonElementName;
        /**
         * The name of the right thumbstick element.
         */
        static rightThumbstickButton: GCButtonElementName;
        /**
         * The name of the controller’s clutch.
         */
        static pedalClutch: GCButtonElementName;
        /**
         * The name of the controller’s brake pedal.
         */
        static pedalBrake: GCButtonElementName;
        /**
         * The name of the controller’s accelerator pedal.
         */
        static pedalAccelerator: GCButtonElementName;
        /**
         * The name of the controller’s left paddle.
         */
        static leftPaddle: GCButtonElementName;
        /**
         * The name of the controller’s right paddle.
         */
        static rightPaddle: GCButtonElementName;
        /**
         * The name of the Xbox share button.
         */
        static share: GCButtonElementName;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * The hash value to use for comparison.
         */
        hashValue: number;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export interface GCTouchedStateInput extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the user touches the button.
         */
        isTouched: boolean;
        /**
         * The time of the most recent touch state change.
         */
        lastTouchedStateTimestamp: TimeInterval;
        /**
         * The time in seconds between the last touch state change and the current time.
         */
        lastTouchedStateLatency: TimeInterval;
        /**
         * A block that the element calls when its touch value changes.
         */
        touchedDidChangeHandler: ()=>any | null;
    }
    export interface GCPressedStateInput extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the user presses the button.
         */
        isPressed: boolean;
        /**
         * The time of the most recent press state change.
         */
        lastPressedStateTimestamp: TimeInterval;
        /**
         * The time in seconds between the last press state change and the current time.
         */
        lastPressedStateLatency: TimeInterval;
        /**
         * The block that the profile calls when an element’s press state changes.
         */
        pressedDidChangeHandler: ()=>any | null;
    }
    export class GCVirtualController extends NSObject {
        /**
         * The underlying controller object that you use to access input elements.
         */
        controller: GCController | null;
        /**
         * Creates a new virtual controller using the configuration you specify.
         */
        constructor (configuration: GCVirtualController.Configuration);
        /**
         * Changes the configuration for one of the virtual controller’s input elements.
         */
        updateConfiguration(element: string, config: ()=>any):void;
        /**
         * Connects the virtual controller to the device and displays it on the screen.
         */
        connect(reply: ()=>any | null):void;
        /**
         * Disconnects the virtual controller from the device and removes it from the screen.
         */
        disconnect():void;
    }
    /**
     * the same name namespace of class GCVirtualController
     */
    export namespace GCVirtualController {
        export class Configuration extends NSObject {
            /**
             * The input elements of a virtual controller.
             */
            elements: Set<String>;
        }
        export class ElementConfiguration extends NSObject {
            /**
             * The Bezier path for the shape of an element.
             */
            path: UIBezierPath | null;
            /**
             * A Boolean value that determines whether the virtual controller hides the element.
             */
            isHidden: boolean;
            /**
             * A Boolean value that determines whether the thumbstick element behaves as a touchpad.
             */
            actsAsTouchpad: boolean;
        }
    }
    export interface GCAxisElement extends GCPhysicalInputElement {
        /**
         * An input object that provides absolute axis values.
         */
        absoluteInput: GCAxisInput | null;
        /**
         * An input object that provides relative axis values.
         */
        relativeInput: GCRelativeInput;
    }
    export interface GCAxisInput extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the value wraps when it reaches the range’s minimum or maximum value.
         */
        canWrap: boolean;
        /**
         * A Boolean value that indicates whether the input provides analog values.
         */
        isAnalog: boolean;
        /**
         * The value along the axis, in unit coordinates.
         */
        value: Float;
        /**
         * The block that the input object calls when the value changes.
         */
        valueDidChangeHandler: ()=>any | null;
        /**
         * The time of the most recent value change.
         */
        lastValueTimestamp: TimeInterval;
        /**
         * The time in seconds between the last value change and the current time.
         */
        lastValueLatency: TimeInterval;
    }
    export class GCAxisElementName {
        /**
         * The name of the steering wheel on the element.
         */
        static steeringWheel: GCAxisElementName;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * The hash value to use for comparison.
         */
        hashValue: number;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class GCGearShifterElement extends NSObject {
        /**
         * The input object for a pattern gear shift.
         */
        patternInput: GCSwitchPositionInput | null;
        /**
         * The input object for a sequential gear shift.
         */
        sequentialInput: GCRelativeInput | null;
    }
    export interface GCRelativeInput extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the input provides analog values.
         */
        isAnalog: boolean;
        /**
         * The most recent amount of change in values that the profile records.
         */
        delta: Float;
        /**
         * The block that the profile calls when the element’s input changes.
         */
        deltaDidChangeHandler: ()=>any | null;
        /**
         * A timestamp for when the profile reports the delta value.
         */
        lastDeltaTimestamp: TimeInterval;
        /**
         * The time in seconds between the current and the previous delta values.
         */
        lastDeltaLatency: TimeInterval;
    }
    export class GCSteeringWheelElement extends NSObject {
        /**
         * The maximum number of degrees that the user can rotate the wheel.
         */
        maximumDegreesOfRotation: Float;
    }
    export interface GCSwitchElement extends GCPhysicalInputElement {
        /**
         * The input object that provides the position of the switch.
         */
        positionInput: GCSwitchPositionInput;
    }
    export interface GCSwitchPositionInput extends NSObjectProtocol {
        /**
         * The range of possible values for the switch.
         */
        positionRange: NSRange;
        /**
         * A Boolean value that indicates whether the position change is sequential.
         */
        isSequential: boolean;
        /**
         * A Boolean value that indicates whether the position value wraps when it reaches the range’s minimum or maximum value.
         */
        canWrap: boolean;
        /**
         * The position of the switch.
         */
        position: number;
        /**
         * The block that the profile calls when the value of the switch changes.
         */
        positionDidChangeHandler: ()=>any | null;
        /**
         * A timestamp for when the profile reports the last position.
         */
        lastPositionTimestamp: TimeInterval;
        /**
         * The time in seconds between the current and previous positions.
         */
        lastPositionLatency: TimeInterval;
    }
    export class GCSwitchElementName {
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * The hash value to use for comparison.
         */
        hashValue: number;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export interface GCDirectionPadElement extends GCPhysicalInputElement {
        /**
         * The input object that represents the left button on the directional pad.
         */
        left: (GCLinearInput & GCPressedStateInput);
        /**
         * The input object that represents the right button on the directional pad.
         */
        right: (GCLinearInput & GCPressedStateInput);
        /**
         * The input object that represents the up button on the directional pad.
         */
        up: (GCLinearInput & GCPressedStateInput);
        /**
         * The input object that represents the down button on the directional pad.
         */
        down: (GCLinearInput & GCPressedStateInput);
        /**
         * The input object that represents the x-axis on the directional pad.
         */
        xAxis: GCAxisInput;
        /**
         * The input object that represents the y-axis on the directional pad.
         */
        yAxis: GCAxisInput;
    }
    export class GCDirectionPadElementName {
        /**
         * The name of the direction pad on a directional pad element.
         */
        static directionPad: GCDirectionPadElementName;
        /**
         * The name of the left thumbstick on a directional pad element.
         */
        static leftThumbstick: GCDirectionPadElementName;
        /**
         * The name of the right thumbstick on a directional pad element.
         */
        static rightThumbstick: GCDirectionPadElementName;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * The hash value to use for comparison.
         */
        hashValue: number;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export interface GCLinearInput extends NSObjectProtocol {
        /**
         * A Boolean value that indicates whether the input value wraps when it reaches the range’s minimum or maximum value.
         */
        canWrap: boolean;
        /**
         * A Boolean value that indicates whether the input provides analog values.
         */
        isAnalog: boolean;
        /**
         * The value in unit coordinates.
         */
        value: Float;
        /**
         * The block that the profile calls when an element’s value changes.
         */
        valueDidChangeHandler: ()=>any | null;
        /**
         * The time of the most recent value change.
         */
        lastValueTimestamp: TimeInterval;
        /**
         * The time in seconds between the last value change and the current time.
         */
        lastValueLatency: TimeInterval;
    }
    export class GCGamepad extends GCPhysicalInputProfile {
        /**
         * The controller this profile is associated with.
         */
        controller: GCController | null;
        /**
         * A block called when any element in the profile changes.
         */
        valueChangedHandler: GCGamepadValueChangedHandler | null;
        /**
         * The left shoulder button element.
         */
        leftShoulder: GCControllerButtonInput;
        /**
         * The right shoulder button element.
         */
        rightShoulder: GCControllerButtonInput;
        /**
         * The D-pad element.
         */
        dpad: GCControllerDirectionPad;
        /**
         * The bottom face button.
         */
        buttonA: GCControllerButtonInput;
        /**
         * The right face button.
         */
        buttonB: GCControllerButtonInput;
        /**
         * The left face button.
         */
        buttonX: GCControllerButtonInput;
        /**
         * The top face button.
         */
        buttonY: GCControllerButtonInput;
        /**
         * Saves a snapshot of all of the profile’s elements.
         */
        saveSnapshot():GCGamepadSnapshot;
    }
    export class GCExtendedGamepadSnapshot extends GCExtendedGamepad {
        /**
         * Flattens a snapshot into an archivable memory representation.
         */
        snapshotData: Data;
        /**
         * Initializes a snapshot object with the flattened data representation obtained from another snapshot.
         */
        constructor (data: Data);
        /**
         * Initializes a snapshot object associated with a specific controller using a flattened data representation obtained from another snapshot.
         */
        constructor (controller: GCController, data: Data);
    }
    export class GCExtendedGamepadSnapShotDataV100 {
        /**
         * The value of the A button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonA: Float;
        /**
         * The value of the B button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonB: Float;
        /**
         * The value of the X button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonX: Float;
        /**
         * The value of the Y button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonY: Float;
        /**
         * The value of the horizontal axis of the dpad. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        dpadX: Float;
        /**
         * The value of the vertical axis of the dpad. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        dpadY: Float;
        /**
         * The value of the left shoulder button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        leftShoulder: Float;
        /**
         * The value of the horizontal axis of the left thumbstick. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        leftThumbstickX: Float;
        /**
         * The value of the vertical axis of the left thumbstick. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        leftThumbstickY: Float;
        /**
         * The value of the left trigger. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        leftTrigger: Float;
        /**
         * The value of the right shoulder button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        rightShoulder: Float;
        /**
         * The value of the horizontal axis of the right thumbstick. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        rightThumbstickX: Float;
        /**
         * The value of the vertical axis of the right thumbstick. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        rightThumbstickY: Float;
        /**
         * The value of the right trigger. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        rightTrigger: Float;
        /**
         * The size of the recorded structure, in bytes.
         */
        size: UInt16;
        /**
         * A value that indicates the version number of the data structure. For the structure defined here, the Game Controller framework uses a value of 
         * .
         */
        version: UInt16;
        constructor ();
        constructor (version: UInt16, size: UInt16, dpadX: Float, dpadY: Float, buttonA: Float, buttonB: Float, buttonX: Float, buttonY: Float, leftShoulder: Float, rightShoulder: Float, leftThumbstickX: Float, leftThumbstickY: Float, rightThumbstickX: Float, rightThumbstickY: Float, leftTrigger: Float, rightTrigger: Float);
    }
    export class GCGamepadSnapshot extends GCGamepad {
        /**
         * The flattened control input values for the snapshot.
         */
        snapshotData: Data;
        /**
         * Initializes a snapshot object with the flattened data representation obtained from another snapshot.
         */
        constructor (data: Data);
        /**
         * Initializes a snapshot object associated with a specific controller using a flattened data representation obtained from another snapshot.
         */
        constructor (controller: GCController, data: Data);
    }
    export class GCGamepadSnapShotDataV100 {
        /**
         * The value of the A button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonA: Float;
        /**
         * The value of the B button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonB: Float;
        /**
         * The value of the X button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonX: Float;
        /**
         * The value of the Y button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        buttonY: Float;
        /**
         * The value of the horizontal axis of the dpad. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        dpadX: Float;
        /**
         * The value of the vertical axis of the dpad. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        dpadY: Float;
        /**
         * The value of the left shoulder button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        leftShoulder: Float;
        /**
         * The value of the right shoulder button. The range of permissible values is 
         *  to 
         * , inclusive.
         */
        rightShoulder: Float;
        /**
         * The size of the recorded structure, in bytes.
         */
        size: UInt16;
        /**
         * A value that indicates the version number of the data structure. For the structure defined here, the Game Controller framework uses a value of 
         * .
         */
        version: UInt16;
        constructor ();
        constructor (version: UInt16, size: UInt16, dpadX: Float, dpadY: Float, buttonA: Float, buttonB: Float, buttonX: Float, buttonY: Float, leftShoulder: Float, rightShoulder: Float);
    }
    export class GCMicroGamepadSnapshot extends GCMicroGamepad {
        /**
         * The flattened control input values for the snapshot.
         */
        snapshotData: Data;
        /**
         * Initializes a snapshot object with the flattened data representation obtained from another snapshot.
         */
        constructor (data: Data);
        constructor (controller: GCController, data: Data);
    }
    export class GCMicroGamepadSnapShotDataV100 {
        constructor ();
        constructor (version: UInt16, size: UInt16, dpadX: Float, dpadY: Float, buttonA: Float, buttonX: Float);
    }
}

/**
 * Enable players to interact with friends, compare leaderboard ranks, earn achievements, and participate in multiplayer games.
 */
declare module GameKit {
    export class GKLocalPlayer extends GKPlayer {
        /**
         * A Boolean value that indicates whether the player can use personalized communication on the device.
         */
        isPersonalizedCommunicationRestricted: boolean;
        /**
         * Returns whether the player authorizes your game to access their friends list.
         */
        loadFriendsAuthorizationStatus(completionHandler: ()=>any):void;
        /**
         * Loads the local player’s friends list if the local player and their friends grant access.
         */
        loadFriends(completionHandler: ()=>any):void;
    }
    export class GKGameCenterViewController extends NSViewController,UINavigationController {
        /**
         * The content that the Game Center controller displays.
         */
        viewState: GKGameCenterViewControllerState;
        /**
         * The named leaderboard that the view controller displays.
         */
        leaderboardIdentifier: string;
        /**
         * The named leaderboard that the view controller displays.
         */
        leaderboardCategory: string;
        /**
         * A time filter that restricts the scores to display to the player.
         */
        leaderboardTimeScope: GKLeaderboard.TimeScope;
        /**
         * Returns a view controller that presents a leaderboard with data for the specified players.
         */
        constructor (leaderboard: GKLeaderboard, playerScope: GKLeaderboard.PlayerScope);
        /**
         * Returns a view controller that presents a leaderboard with data from the specified players and time period.
         */
        constructor (leaderboardID: string, playerScope: GKLeaderboard.PlayerScope, timeScope: GKLeaderboard.TimeScope);
        /**
         * Returns a view controller that presents an achievement.
         */
        constructor (achievementID: string);
    }
    export class GKGameSessionError {}
    /**
     * the same name namespace of class GKGameSessionError
     */
    export namespace GKGameSessionError {
        export enum Code {
            badContainer = 12,
            cloudQuotaExceeded = 13,
            networkFailure = 14,
            cloudDriveDisabled = 15,
            invalidSession = 16,
        }
    }
    export enum GKPeerConnectionState {
        stateAvailable = 0,
        stateUnavailable = 1,
        stateConnected = 2,
        stateDisconnected = 3,
        stateConnecting = 4,
        stateConnectedRelay = 5,
    }
    export enum GKSendDataMode {
        reliable = 0,
        unreliable = 1,
    }
    export class GKSessionError {}
    /**
     * the same name namespace of class GKSessionError
     */
    export namespace GKSessionError {
        export enum Code {
            invalidParameterError = 30500,
            peerNotFoundError = 30501,
            declinedError = 30502,
            timedOutError = 30503,
            cancelledError = 30504,
            connectionFailedError = 30505,
            connectionClosedError = 30506,
            dataTooBigError = 30507,
            notConnectedError = 30508,
            cannotEnableError = 30509,
            inProgressError = 30510,
            connectivityError = 30201,
            transportError = 30202,
            internalError = 30203,
            unknownError = 30204,
            systemError = 30205,
        }
    }
    export enum GKSessionMode {
        server = 0,
        client = 1,
        peer = 2,
    }
    export class GKVoiceChatServiceError {}
    /**
     * the same name namespace of class GKVoiceChatServiceError
     */
    export namespace GKVoiceChatServiceError {
        export enum Code {
            internalError = 32000,
            noRemotePacketsError = 32001,
            unableToConnectError = 32002,
            remoteParticipantHangupError = 32003,
            invalidCallIDError = 32004,
            audioUnavailableError = 32005,
            uninitializedClientError = 32006,
            clientMissingRequiredMethodsError = 32007,
            remoteParticipantBusyError = 32008,
            remoteParticipantCancelledError = 32009,
            remoteParticipantResponseInvalidError = 32010,
            remoteParticipantDeclinedInviteError = 32011,
            methodCurrentlyInvalidError = 32012,
            networkConfigurationError = 32013,
            unsupportedRemoteVersionError = 32014,
            outOfMemoryError = 32015,
            invalidParameterError = 32016,
        }
    }
    export class GKDialogController extends NSResponder {
        /**
         * The window that displays the dashboard.
         */
        parentWindow: NSWindow | null;
        /**
         * Retrieves the shared instance of the dialog controller.
         */
        static shared():GKDialogController;
        /**
         * Presents the dashboard in the window.
         */
        present(viewController: (NSViewController & GKViewController)):boolean;
        /**
         * Dismisses the dashboard.
         */
        dismiss(sender: any):void;
    }
    export interface GKViewController {}
    export class GKNotificationBanner extends NSObject {
        /**
         * Displays a banner with a title and message to the player.
         */
        static show(title: string, message: string, completionHandler: ()=>any | null):void;
    }
    export class GKLeaderboard extends NSObject {
        /**
         * The ID that Game Center uses to identify this leaderboard.
         */
        baseLeaderboardID: string;
        /**
         * The localized title for the leaderboard.
         */
        title: string;
        /**
         * The type of leaderboard, classic or recurring.
         */
        type: GKLeaderboard.LeaderboardType;
        /**
         * The identifier for the group the leaderboard belongs to.
         */
        groupIdentifier: string;
        /**
         * The date and time a recurring leaderboard occurrence starts accepting scores.
         */
        startDate: Date | null;
        /**
         * The date and time the next recurring leaderboard occurrence starts accepting scores.
         */
        nextStartDate: Date | null;
        /**
         * The duration from the start date that a recurring leaderboard occurrence accepts scores.
         */
        duration: TimeInterval;
        /**
         * The named leaderboard to retrieve information from.
         */
        category: string;
        /**
         * The named leaderboard to retrieve information from.
         */
        identifier: string;
        /**
         * A Boolean value that indicates whether the leaderboard object is retrieving scores.
         */
        isLoading: boolean;
        /**
         * The score that the local player earned.
         */
        localPlayerScore: GKScore | null;
        /**
         * The size of the leaderboard.
         */
        maxRange: number;
        /**
         * A filter that restricts the search to a subset of the players on Game Center.
         */
        playerScope: GKLeaderboard.PlayerScope;
        /**
         * The numerical score rankings to return from the search.
         */
        range: NSRange;
        /**
         * An array of 
         *  objects that contains the scores that the search returns.
         */
        scores: GKScore[] | null;
        /**
         * A filter that restricts the search to scores within a specific period of time.
         */
        timeScope: GKLeaderboard.TimeScope;
        /**
         * Initializes a leaderboard request to retrieve the scores of a specific group of players.
         */
        constructor (playerIDs: string[] | null);
        /**
         * Initializes a leaderboard request to retrieve the scores of a specific group of players.
         */
        constructor (players: GKPlayer[]);
        /**
         * Loads leaderboards for the specified leaderboard IDs that Game Center uses.
         */
        static loadLeaderboards(leaderboardIDs: string[] | null, completionHandler: ()=>any):void;
        /**
         * Submits a score to multiple leaderboards.
         */
        static submitScore(score: number, context: number, player: GKPlayer, leaderboardIDs: string[], completionHandler: ()=>any):void;
        /**
         * Sets the default leaderboard for the local player.
         */
        static setDefault(leaderboardIdentifier: string, completionHandler: ()=>any | null):void;
        /**
         * Loads the list of leaderboard categories along with their corresponding localized titles.
         */
        static loadCategories(completionHandler: ()=>any | null):void;
        /**
         * Loads the previous recurring leaderboard occurrence that the player submits a score to.
         */
        loadPreviousOccurrence(completionHandler: ()=>any):void;
        /**
         * Loads the image for the default leaderboard.
         */
        loadImage(completionHandler: ()=>any | null):void;
        /**
         * Returns the scores for the local player and other players for the specified type of player, time period, and ranks.
         */
        loadEntries(playerScope: GKLeaderboard.PlayerScope, timeScope: GKLeaderboard.TimeScope, range: NSRange, completionHandler: ()=>any):void;
        /**
         * Retrieves a set of scores from Game Center.
         */
        loadScores(completionHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class GKLeaderboard
     */
    export namespace GKLeaderboard {
        export enum LeaderboardType {
            classic = 0,
            recurring = 1,
        }
        export enum PlayerScope {
            global = 0,
            friendsOnly = 1,
        }
        export enum TimeScope {
            today = 0,
            week = 1,
            allTime = 2,
        }
        export class Entry extends NSObject {
            /**
             * An integer value that your game uses.
             */
            context: number;
            /**
             * The date and time when the player earns the score.
             */
            date: Date;
            /**
             * The player’s score as a localized string.
             */
            formattedScore: string;
            /**
             * The player who earns the score.
             */
            player: GKPlayer;
            /**
             * The position of the score in the results of a leaderboard search.
             */
            rank: number;
            /**
             * The score that the player earns.
             */
            score: number;
            /**
             * Provides a challenge compose view controller with preselected player identifiers and a preformatted, player-editable message.
             */
            challengeComposeController(message: string, players: GKPlayer[] | null, completionHandler: GKChallengeComposeCompletionBlock | null):NSViewController;
        }
    }
    export enum GKFriendsAuthorizationStatus {
        authorized = 3,
        denied = 2,
        notDetermined = 0,
        restricted = 1,
    }
    export class GKLeaderboardSet extends NSObject {
        /**
         * The localized title for the leaderboard set.
         */
        title: string;
        /**
         * The identifier for the leaderboard set.
         */
        identifier: string;
        /**
         * The identifier for the group that the leaderboard set belongs to.
         */
        groupIdentifier: string;
        /**
         * Loads all of the leaderboard sets you configure for your game.
         */
        static loadLeaderboardSets(completionHandler: ()=>any | null):void;
        /**
         * Loads the localized image that you associate with the leaderboard set.
         */
        loadImage(completionHandler: ()=>any | null):void;
        /**
         * Loads the leaderboards in the leaderboard set.
         */
        loadLeaderboards(handler: ()=>any):void;
    }
    export class GKLeaderboardScore extends NSObject {
        /**
         * An integer value that your game uses.
         */
        context: number;
        /**
         * The ID that Game Center uses for the leaderboard.
         */
        leaderboardID: string;
        /**
         * The player who earns the score.
         */
        player: GKPlayer;
        /**
         * The score that the player earns.
         */
        value: number;
    }
    export class GKAchievement extends NSObject {
        /**
         * The identifier for the achievement that you enter in App Store Connect. 
         */
        identifier: string;
        /**
         * The player who earned the achievement.
         */
        player: GKPlayer;
        /**
         * A percentage value that states how far the player has progressed on the achievement.
         */
        percentComplete: number;
        /**
         * A Boolean value that states whether the player has completed the achievement.
         */
        isCompleted: boolean;
        /**
         * The last time your game reported progress on the achievement for the player.
         */
        lastReportedDate: Date;
        /**
         * A Boolean value that indicates whether GameKit displays a banner when the player completes the achievement.
         */
        showsCompletionBanner: boolean;
        /**
         * A Boolean value that indicates whether the system hides this achievement from the player.
         */
        isHidden: boolean;
        /**
         * A string that identifies the player who earned the achievement.
         */
        playerID: string;
        /**
         * Initializes an achievement for the local player.
         */
        constructor (identifier: string);
        /**
         * Initializes an achievement for a player.
         */
        constructor (identifier: string, player: GKPlayer);
        /**
         * Initializes an achievement for a specific player.
         */
        constructor (identifier: string, playerID: string);
        /**
         * Loads the achievements that you previously reported the player making progress toward.
         */
        static loadAchievements(completionHandler: ()=>any | null):void;
        /**
         * Reports the progress of players toward one or more achievements to Game Center.
         */
        static report(achievements: GKAchievement[], completionHandler: ()=>any | null):void;
        /**
         * Resets the percentage completed for all of the player’s achievements.
         */
        static resetAchievements(completionHandler: ()=>any | null):void;
        /**
         * Provides a view controller that you present to the player to issue an achievement challenge.
         */
        challengeComposeController(message: string, players: GKPlayer[], completionHandler: GKChallengeComposeCompletionBlock | null):NSViewController;
        /**
         * Finds the subset of players who can earn an achievement.
         */
        selectChallengeablePlayers(players: GKPlayer[], completionHandler: ()=>any | null):void;
        /**
         * Issues an achievement challenge to a list of players.
         */
        issueChallenge(playerIDs: string[] | null, message: string):void;
        /**
         * Finds the subset of players who can earn an achievement.
         */
        selectChallengeablePlayerIDs(playerIDs: string[] | null, completionHandler: ()=>any | null):void;
    }
    export class GKAchievementDescription extends NSObject {
        /**
         * The string you enter in App Store Connect that uniquely identifies the achievement.
         */
        identifier: string;
        /**
         * A localized title for the achievement.
         */
        title: string;
        /**
         * A localized description of the achievement that you display when the player hasn’t completed the achievement.
         */
        unachievedDescription: string;
        /**
         * A localized description of the achievement that you display when the player completes the achievement.
         */
        achievedDescription: string;
        /**
         * The number of points that the player earns when completing the achievement.
         */
        maximumPoints: number;
        /**
         * The achievement’s artwork that you display when the player completes the achievement.
         */
        image: NSImage | null;
        /**
         * A Boolean value that states whether the achievement is initially visible to players.
         */
        isHidden: boolean;
        /**
         * A Boolean value that states whether the player can earn the achievement multiple times.
         */
        isReplayable: boolean;
        /**
         * The identifier for the group that the achievement description is part of.
         */
        groupIdentifier: string;
        /**
         * Downloads the localized descriptions of achievements from Game Center.
         */
        static loadAchievementDescriptions(completionHandler: ()=>any | null):void;
        /**
         * A common image that you can display when the player hasn’t completed the achievement.
         */
        static incompleteAchievementImage():NSImage;
        /**
         * A placeholder image that you can display when the player completes the achievement.
         */
        static placeholderCompletedAchievementImage():NSImage;
        /**
         * Loads the image to display when the player completes the achievement.
         */
        loadImage(completionHandler: ()=>any | null):void;
    }
    export class GKChallenge extends NSObject {
        /**
         * The player who issues the challenge.
         */
        issuingPlayer: GKPlayer | null;
        /**
         * The player who receives the challenge.
         */
        receivingPlayer: GKPlayer | null;
        /**
         * A text message that describes the challenge.
         */
        message: string;
        /**
         * The current state of the challenge.
         */
        state: GKChallengeState;
        /**
         * The date the player issued the challenge.
         */
        issueDate: Date;
        /**
         * The date the challenged player completed the challenge.
         */
        completionDate: Date | null;
        /**
         * The player who issues the challenge.
         */
        issuingPlayerID: string;
        /**
         * The player who receives the challenge.
         */
        receivingPlayerID: string;
        /**
         * Loads the list of outstanding challenges.
         */
        static loadReceivedChallenges(completionHandler: ()=>any | null):void;
        /**
         * Declines a challenge that another player issues to the local player.
         */
        decline():void;
    }
    export enum GKChallengeState {
        invalid = 0,
        pending = 1,
        completed = 2,
        declined = 3,
    }
    export class GKScoreChallenge extends GKChallenge {
        /**
         * The challenger’s leaderboard score that the player must beat.
         */
        score: GKScore | null;
    }
    export class GKAchievementChallenge extends GKChallenge {
        /**
         * The achievement that the player must earn to complete the challenge.
         */
        achievement: GKAchievement | null;
    }
    export interface GKChallengeListener extends NSObjectProtocol {
        /**
         * Handles when the local player issues a challenge but the other player doesn’t want to respond immediately.
         */
        player(player: GKPlayer, challenge: GKChallenge):void;
    }
    export class GKMatchmaker extends NSObject {
        /**
         * A block to be called when an invitation to join a match is accepted by the local player.
         */
        inviteHandler: ()=>any | null;
        /**
         * Returns the singleton matchmaker instance.
         */
        static shared():GKMatchmaker;
        /**
         * Creates a match from an invitation that the local player accepts.
         */
        match(invite: GKInvite, completionHandler: ()=>any | null):void;
        /**
         * Initiates a request to find players for a peer-to-peer match.
         */
        findMatch(request: GKMatchRequest, completionHandler: ()=>any | null):void;
        /**
         * Initiates a request to find players for a hosted match.
         */
        findPlayers(request: GKMatchRequest, completionHandler: ()=>any | null):void;
        /**
         * Invites additional players to an existing match.
         */
        addPlayers(match: GKMatch, matchRequest: GKMatchRequest, completionHandler: ()=>any | null):void;
        /**
         * Informs the server that programmatic matchmaking finished.
         */
        finishMatchmaking(match: GKMatch):void;
        /**
         * Finds the number of players, across player goups, who recently requested a match.
         */
        queryActivity(completionHandler: ()=>any | null):void;
        /**
         * Finds the number of players in a player group who recently requested a match. 
         */
        queryPlayerGroupActivity(playerGroup: number, completionHandler: ()=>any | null):void;
        /**
         * Cancels a matchmaking request.
         */
        cancel():void;
        /**
         * Cancels a pending invitation to another player.
         */
        cancelPendingInvite(player: GKPlayer):void;
        /**
         * Finds nearby players through Bluetooth or WiFi on the same subnet.
         */
        startBrowsingForNearbyPlayers(reachableHandler: ()=>any | null):void;
        /**
         * Stops finding nearby players.
         */
        stopBrowsingForNearbyPlayers():void;
        /**
         * Cancels a pending invitation to another player.
         */
        cancelInvite(playerID: string):void;
    }
    export class GKMatchmakerViewController extends NSViewController,UINavigationController {
        /**
         * The configuration for the desired match.
         */
        matchRequest: GKMatchRequest;
        /**
         * A Boolean value that indicates whether your game can start after a minimum number of players join a match.
         */
        canStartWithMinimumPlayers: boolean;
        /**
         * The mode that a multiplayer game uses to find players.
         */
        matchmakingMode: GKMatchmakingMode;
        /**
         * The object that handles matchmaker view controller changes.
         */
        matchmakerDelegate: GKMatchmakerViewControllerDelegate | null;
        /**
         * A Boolean value that indicates whether the match is hosted or peer-to-peer.
         */
        isHosted: boolean;
        /**
         * The default invitation message sent to a player.
         */
        defaultInvitationMessage: string;
        /**
         * Creates a matchmaker view controller for the local player to start inviting other players.
         */
        constructor (request: GKMatchRequest);
        /**
         * Creates a matchmaker view controller to present to a player who accepts an invitation.
         */
        constructor (invite: GKInvite);
        /**
         * Invites additional players to join an existing match.
         */
        addPlayers(match: GKMatch):void;
        /**
         * Updates the connection status of a player in a hosted game.
         */
        setHostedPlayer(player: GKPlayer, connected: boolean):void;
    }
    export enum GKMatchmakingMode {
        default = 0,
        nearbyOnly = 1,
        automatchOnly = 2,
        inviteOnly = 3,
    }
    export interface GKMatchmakerViewControllerDelegate extends NSObjectProtocol {
        /**
         * Handles when the view controller finds players for a peer-to-peer match.
         */
        matchmakerViewController(viewController: GKMatchmakerViewController, match: GKMatch):void;
        /**
         * Handles when a player cancels a request to find players for a match.
         */
        matchmakerViewControllerWasCancelled(viewController: GKMatchmakerViewController):void;
    }
    export interface GKInviteEventListener {
        /**
         * Handles the event when the local player accepts an invitation from another player.
         */
        player(player: GKPlayer, invite: GKInvite):void;
    }
    export class GKInvite extends NSObject {
        /**
         * The player who sends the invitation.
         */
        sender: GKPlayer;
        /**
         * The player attributes for the match. 
         */
        playerAttributes: UInt32;
        /**
         * The player group for the match.
         */
        playerGroup: number;
        /**
         * A Boolean value that indicates whether you host the game on your own servers.
         */
        isHosted: boolean;
        /**
         * The identifier for the player who sends the invitation.
         */
        inviter: string;
    }
    export class GKMatch extends NSObject {
        /**
         * The delegate that handles communication between players in a match.
         */
        delegate: GKMatchDelegate | null;
        /**
         * The remaining number of players invited but not yet connected to the match.
         */
        expectedPlayerCount: number;
        /**
         * The players that join the match.
         */
        players: GKPlayer[];
        /**
         * The player identifiers for remote players in the match.
         */
        playerIDs: string[] | null;
        /**
         * Determines the best player in the game to act as the server for a client-server topology.
         */
        chooseBestHostingPlayer(completionHandler: ()=>any):void;
        /**
         * Transmits data to one or more players connected to the match.
         */
        send(data: Data, players: GKPlayer[], mode: GKMatch.SendDataMode):void;
        /**
         * Transmits data to all players connected to the match.
         */
        sendData(data: Data, mode: GKMatch.SendDataMode):void;
        /**
         * Joins the local player to a voice channel.
         */
        voiceChat(name: string):GKVoiceChat | null;
        /**
         * Disconnects the local player from the match.
         */
        disconnect():void;
        /**
         * Creates a new match with the players from an existing match.
         */
        rematch(completionHandler: ()=>any | null):void;
        /**
         * Determines the best player in the game to act as the server for a client-server match.
         */
        chooseBestHostPlayer(completionHandler: ()=>any):void;
    }
    /**
     * the same name namespace of class GKMatch
     */
    export namespace GKMatch {
        export enum SendDataMode {
            reliable = 0,
            unreliable = 1,
        }
    }
    export interface GKMatchDelegate extends NSObjectProtocol {
        /**
         * Processes the data sent from one player to another.
         */
        match(match: GKMatch, data: Data, recipient: GKPlayer, player: GKPlayer):void;
    }
    export enum GKPlayerConnectionState {
        unknown = 0,
        connected = 1,
        disconnected = 2,
    }
    export class GKMatchRequest extends NSObject {
        /**
         * The maximum number of players that can join the match.
         */
        maxPlayers: number;
        /**
         * The minimum number of players that can join the match.
         */
        minPlayers: number;
        /**
         * The default number of players for the match.
         */
        defaultNumberOfPlayers: number;
        /**
         * A number identifying a subset of players invited to join a match.
         */
        playerGroup: number;
        /**
         * A mask that specifies the role that the local player would like to play in the game.
         */
        playerAttributes: UInt32;
        /**
         * The message sent to other players when the local player invites them to join a match.
         */
        inviteMessage: string;
        /**
         * The players to invite to the match.
         */
        recipients: GKPlayer[] | null;
        /**
         * A method that handles when a player responds to an invitation to join a match.
         */
        recipientResponseHandler: ()=>any | null;
        /**
         * A Boolean value that determines whether a multiplayer game uses automatch to find players or the local player invites players.
         */
        restrictToAutomatch: boolean;
        /**
         * A list of player identifiers for players to invite to the match.
         */
        playersToInvite: string[] | null;
        /**
         * Handles when a player responds to an invitation.
         */
        inviteeResponseHandler: ()=>any | null;
        /**
         * Returns the maximum number of players allowed in the match request for a given match type.
         */
        static maxPlayersAllowedForMatch(matchType: GKMatchType):number;
    }
    export enum GKMatchType {
        peerToPeer = 0,
        hosted = 1,
        turnBased = 2,
    }
    export class GKSavedGame extends NSObject {
        /**
         * The name of the saved game.
         */
        name: string;
        /**
         * The date when you saved the game data or modified it.
         */
        modificationDate: Date | null;
        /**
         * The name of the device that the player used to save the game.
         */
        deviceName: string;
        /**
         * Loads the game data from the file.
         */
        loadData(handler: ()=>any | null):void;
    }
    export enum GKInviteRecipientResponse {
        accepted = 0,
        declined = 1,
        failed = 2,
        incompatible = 3,
        unableToConnect = 4,
        noAnswer = 5,
    }
    export class GKVoiceChat extends NSObject {
        /**
         * A Boolean value that indicates whether the channel is sampling the microphone.
         */
        isActive: boolean;
        /**
         * A method that handles when a player’s voice chat changes state.
         */
        playerVoiceChatStateDidChangeHandler: ()=>any;
        /**
         * The volume level for the channel.
         */
        volume: Float;
        /**
         * The name of the voice chat channel.
         */
        name: string;
        /**
         * The players connected to the channel.
         */
        players: GKPlayer[];
        /**
         * An array of strings containing the player identifiers for the players connected to the channel.
         */
        playerIDs: string[] | null;
        /**
         * Handles when a player in the chat changes state.
         */
        playerStateUpdateHandler: ()=>any;
        /**
         * Returns whether voice chat is available on the device.
         */
        static isVoIPAllowed():boolean;
        /**
         * Starts communication with other players in a channel.
         */
        start():void;
        /**
         * Ends communication with other players in a channel.
         */
        stop():void;
        /**
         * Mutes a player in the chat, including the local player.
         */
        setPlayer(player: GKPlayer, isMuted: boolean):void;
        /**
         * Mutes a player in a voice chat.
         */
        setMute(isMuted: boolean, playerID: string):void;
    }
    /**
     * the same name namespace of class GKVoiceChat
     */
    export namespace GKVoiceChat {
        export enum PlayerState {
            connected = 0,
            disconnected = 1,
            speaking = 2,
            silent = 3,
            connecting = 4,
        }
    }
    export interface GKSavedGameListener extends NSObjectProtocol {
        /**
         * Chooses the correct game data from the saved games that contain conflicts.
         */
        player(player: GKPlayer, savedGames: GKSavedGame[]):void;
    }
    export class GKTurnBasedMatchmakerViewController extends NSViewController,UINavigationController {
        /**
         * A Boolean value that determines whether the view controller shows existing matches.
         */
        showExistingMatches: boolean;
        /**
         * The mode that a multiplayer game uses to find players.
         */
        matchmakingMode: GKMatchmakingMode;
        /**
         * The object that handles turn-based matchmaker view controller changes.
         */
        turnBasedMatchmakerDelegate: GKTurnBasedMatchmakerViewControllerDelegate | null;
        /**
         * Creates a matchmaker view controller for the local player to start inviting other players to a turn-based game.
         */
        constructor (request: GKMatchRequest);
    }
    export interface GKTurnBasedMatchmakerViewControllerDelegate extends NSObjectProtocol {
        /**
         * Handles when the player dismisses the view controller without inviting players.
         */
        turnBasedMatchmakerViewControllerWasCancelled(viewController: GKTurnBasedMatchmakerViewController):void;
        /**
         * Handles when an error occurs while the local player invites other players.
         */
        turnBasedMatchmakerViewController(viewController: GKTurnBasedMatchmakerViewController, error: Error):void;
    }
    export class GKTurnBasedMatch extends NSObject {
        /**
         * A unique identifier for the turn-based match.
         */
        matchID: string;
        /**
         * The date that Game Center created the match.
         */
        creationDate: Date;
        /**
         * The players that participate in a turn-based match.
         */
        participants: GKTurnBasedParticipant[];
        /**
         * The participant whose turn it is.
         */
        currentParticipant: GKTurnBasedParticipant | null;
        /**
         * The state of the match, such as whether the match is open or has ended.
         */
        status: GKTurnBasedMatch.Status;
        /**
         * The game-specific data that you store in Game Center and pass between participants through a match object.
         */
        matchData: Data | null;
        /**
         * The maximum size of the match data.
         */
        matchDataMaximumSize: number;
        /**
         * A message from the current participant to all other participants when you end a turn, forfeit a match, or end a match.
         */
        message: string;
        /**
         * The maximum size of the exchange data.
         */
        exchangeDataMaximumSize: number;
        /**
         * The maximum number of exchanges the local player can initiate.
         */
        exchangeMaxInitiatedExchangesPerPlayer: number;
        /**
         * The exchanges that the local player needs to accept or reject.
         */
        activeExchanges: GKTurnBasedExchange[] | null;
        /**
         * The exchange requests that all recipients replied to and the current participant needs to save.
         */
        completedExchanges: GKTurnBasedExchange[] | null;
        /**
         * The exchange requests that are active or complete.
         */
        exchanges: GKTurnBasedExchange[] | null;
        /**
         * Creates a new match or finds an existing match that needs a player.
         */
        static find(request: GKMatchRequest, completionHandler: ()=>any):void;
        /**
         * Loads a specific match with the specified identifier.
         */
        static load(matchID: string, completionHandler: ()=>any | null):void;
        /**
         * Fetches the turn-based matches from Game Center that the local player participates in.
         */
        static loadMatches(completionHandler: ()=>any | null):void;
        /**
         * Accepts an invitation for the local player to join a turn-based match.
         */
        acceptInvite(completionHandler: ()=>any | null):void;
        /**
         * Declines an invitation for the local player to join a turn-based match.
         */
        declineInvite(completionHandler: ()=>any | null):void;
        /**
         * Creates a new turn-based match with the same participants from an existing match.
         */
        rematch(completionHandler: ()=>any | null):void;
        /**
         * Fetches your game-specific data that you store in Game Center when ending a turn, saving a turn, or leaving a match.
         */
        loadMatchData(completionHandler: ()=>any | null):void;
        /**
         * Passes the turn from the current participant to the next participant.
         */
        endTurn(nextParticipants: GKTurnBasedParticipant[], timeout: TimeInterval, matchData: Data, completionHandler: ()=>any | null):void;
        /**
         * Saves your match data in Game Center without ending the turn.
         */
        saveCurrentTurn(matchData: Data, completionHandler: ()=>any | null):void;
        /**
         * Forfeits the match on behalf of the local player when it’s their turn.
         */
        participantQuitInTurn(matchOutcome: GKTurnBasedMatch.Outcome, nextParticipants: GKTurnBasedParticipant[], timeout: TimeInterval, matchData: Data, completionHandler: ()=>any | null):void;
        /**
         * Forfeits the match on behalf of the local player when it’s not their turn.
         */
        participantQuitOutOfTurn(matchOutcome: GKTurnBasedMatch.Outcome, completionHandler: ()=>any | null):void;
        /**
         * Ends the match.
         */
        endMatchInTurn(matchData: Data, completionHandler: ()=>any | null):void;
        /**
         * Sends a localized message from the current participant to all other participants when you end a turn, forfeit a match, or end a match.
         */
        setLocalizableMessageWithKey(key: string, arguments: string[] | null):void;
        /**
         * Sends a reminder from one participant to a specific set of other participants.
         */
        sendReminder(participants: GKTurnBasedParticipant[], key: string, arguments: string[], completionHandler: ()=>any | null):void;
        /**
         * Sends an exchange request that contains your game data to one or more participants.
         */
        sendExchange(participants: GKTurnBasedParticipant[], data: Data, key: string, arguments: string[], timeout: TimeInterval, completionHandler: ()=>any | null):void;
        /**
         * Saves match data for completed exchanges without ending the turn.
         */
        saveMergedMatch(matchData: Data, exchanges: GKTurnBasedExchange[], completionHandler: ()=>any | null):void;
        /**
         * Removes a match from Game Center that the local player participants in.
         */
        remove(completionHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class GKTurnBasedMatch
     */
    export namespace GKTurnBasedMatch {
        export enum Status {
            unknown = 0,
            open = 1,
            ended = 2,
            matching = 3,
        }
        export enum Outcome {
            none = 0,
            quit = 1,
            won = 2,
            lost = 3,
            tied = 4,
            timeExpired = 5,
            first = 6,
            second = 7,
            third = 8,
            fourth = 9,
            customRange = 16711680,
        }
    }
    export class GKTurnBasedParticipant extends NSObject {
        /**
         * The date and time that this participant last took a turn in the game.
         */
        lastTurnDate: Date | null;
        /**
         * The date and time that the participant’s turn timed out.
         */
        timeoutDate: Date | null;
        /**
         * The player object containing the participant details.
         */
        player: GKPlayer | null;
        /**
         * The status of the participant.
         */
        status: GKTurnBasedParticipant.Status;
        /**
         * The player identifier for this participant.
         */
        playerID: string;
        /**
         * The conclusion or results of a participant in a match.
         */
        matchOutcome: GKTurnBasedMatch.Outcome;
    }
    /**
     * the same name namespace of class GKTurnBasedParticipant
     */
    export namespace GKTurnBasedParticipant {
        export enum Status {
            unknown = 0,
            invited = 1,
            declined = 2,
            matching = 3,
            active = 4,
            done = 5,
        }
    }
    export interface GKTurnBasedEventListener {
        /**
         * Handles turn-based match events, such as accepting invitations, passing turns, and saving match data.
         */
        player(player: GKPlayer, match: GKTurnBasedMatch, didBecomeActive: boolean):void;
    }
    export class GKTurnBasedExchange extends NSObject {
        /**
         * The identifier for the exchange request.
         */
        exchangeID: string;
        /**
         * The participant who sends the exchange request to recipients.
         */
        sender: GKTurnBasedParticipant;
        /**
         * The participants who receives the exchange request.
         */
        recipients: GKTurnBasedParticipant[];
        /**
         * The game-specific exchange data that GameKit sends to participants.
         */
        data: Data | null;
        /**
         * A localized message from the sender to the recipients of an exchange request.
         */
        message: string;
        /**
         * The date that the sender initiates the exchange request.
         */
        sendDate: Date;
        /**
         * The date that the recipients must reply by before the exchange request times out.
         */
        timeoutDate: Date | null;
        /**
         * The replies from recipients of the exchange request.
         */
        replies: GKTurnBasedExchangeReply[] | null;
        /**
         * The status of the exchange request.
         */
        status: GKTurnBasedExchangeStatus;
        /**
         * The date when all recipients of the exchange request reply.
         */
        completionDate: Date | null;
        /**
         * Replies to an exchange request on behalf of a recipient.
         */
        reply(key: string, arguments: string[], data: Data, completionHandler: ()=>any | null):void;
        /**
         * Cancels an exchange request.
         */
        cancel(key: string, arguments: string[], completionHandler: ()=>any | null):void;
    }
    export class GKPlayer extends GKBasePlayer {
        /**
         * A unique identifier for a player of the game.
         */
        gamePlayerID: string;
        /**
         * A unique identifier for a player of all the games that you distribute using your developer account.
         */
        teamPlayerID: string;
        /**
         * A unique identifier for a player of the game.
         */
        playerID: string;
        /**
         * A string the player chooses to identify themself to other players.
         */
        alias: string;
        /**
         * A string to display for the player. 
         */
        displayName: string;
        /**
         * A Boolean value that indicates whether the player is a friend of the local player.
         */
        isFriend: boolean;
        /**
         * A Boolean value that indicates whether the local player can send an invitation to the player.
         */
        isInvitable: boolean;
        /**
         * A developer-created string that identifies a guest player.
         */
        guestIdentifier: string;
        /**
         * Loads information about a list of players from Game Center.
         */
        static loadPlayers(identifiers: string[], completionHandler: ()=>any | null):void;
        /**
         * Creates a guest player with the specified identifier.
         */
        static anonymousGuestPlayer(guestIdentifier: string):Self;
        /**
         * Returns a Boolean value depending on whether the game and Team ID for this player are persistent or unique to this game instance.
         */
        scopedIDsArePersistent():boolean;
        /**
         * Loads a photo of the player from Game Center.
         */
        loadPhoto(size: GKPlayer.PhotoSize, completionHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class GKPlayer
     */
    export namespace GKPlayer {
        export enum PhotoSize {
            small = 0,
            normal = 1,
        }
    }
    export enum GKTurnBasedExchangeStatus {
        unknown = 0,
        active = 1,
        complete = 2,
        resolved = 3,
        canceled = 4,
    }
    export class GKTurnBasedExchangeReply extends NSObject {
        /**
         * The game-specific data that the recipent provides in the exchange request reply.
         */
        data: Data | null;
        /**
         * A message from the recipient to the sender of the exchange request.
         */
        message: string;
        /**
         * The participant who replies to the exchange request.
         */
        recipient: GKTurnBasedParticipant;
        /**
         * The date the recipient replies to the exchange request.
         */
        replyDate: Date;
    }
    export class GKError {
        /**
         * The system can’t complete the requested operation because the local player is already authenticating.
         */
        static authenticationInProgress: GKError.Code;
        /**
         * The system canceled the requested operation or the user disabled it.
         */
        static cancelled: GKError.Code;
        /**
         * The challenge request failed due to invalid challenge data.
         */
        static challengeInvalid: GKError.Code;
        /**
         * The system can’t complete the requested operation due to an error communicating with the server.
         */
        static communicationsFailure: GKError.Code;
        /**
         * The properties of the game session request are impossible to fulfill.
         */
        static gameSessionRequestInvalid: GKError.Code;
        /**
         * The system can’t complete the requested operation because Game Center doesn’t recognize the app.
         */
        static gameUnrecognized: GKError.Code;
        /**
         * The system can’t complete the requested operation because the user name or password are incorrect.
         */
        static invalidCredentials: GKError.Code;
        /**
         * The system can’t complete the requested operation because one or more parameters are invalid.
         */
        static invalidParameter: GKError.Code;
        /**
         * The system can’t complete the requested operation because the player is invalid.
         */
        static invalidPlayer: GKError.Code;
        /**
         * The system can’t complete the requested operation because the receiving player has disabled invitations.
         */
        static invitationsDisabled: GKError.Code;
        /**
         * The system can’t complete the requested operation because the match isn’t connected to other players.
         */
        static matchNotConnected: GKError.Code;
        /**
         * The system can’t complete the requested operation because the match request is invalid.
         */
        static matchRequestInvalid: GKError.Code;
        /**
         * The system can’t complete the requested operation because the system hasn’t authenticated the local player.
         */
        static notAuthenticated: GKError.Code;
        /**
         * The app doesn’t have Game Center enabled.
         */
        static notSupported: GKError.Code;
        /**
         * The system can’t complete the requested operation because the user disabled this feature in Restrictions.
         */
        static parentalControlsBlocked: GKError.Code;
        /**
         * The system can’t complete the requested operation to retrieve a player’s photo.
         */
        static playerPhotoFailure: GKError.Code;
        /**
         * The player’s status exceeds the maximum length.
         */
        static playerStatusExceedsMaximumLength: GKError.Code;
        /**
         * The player’s status is invalid.
         */
        static playerStatusInvalid: GKError.Code;
        /**
         * The system can’t complete the requested operation because the system hasn’t set the score.
         */
        static scoreNotSet: GKError.Code;
        /**
         * The system can’t complete the requested operation because the specified participant is invalid.
         */
        static turnBasedInvalidParticipant: GKError.Code;
        /**
         * The system can’t complete the requested operation because the session is in an invalid state.
         */
        static turnBasedInvalidState: GKError.Code;
        /**
         * The system can’t complete the requested operation because the participant doesn’t have the required turn state.
         */
        static turnBasedInvalidTurn: GKError.Code;
        /**
         * The system can’t complete the requested operation because the match data is too large.
         */
        static turnBasedMatchDataTooLarge: GKError.Code;
        /**
         * The system can’t complete the requested operation because it exceeds the maximum number of sessions.
         */
        static turnBasedTooManySessions: GKError.Code;
        /**
         * The system can’t complete the requested operation because the user hasn’t signed in to iCloud or hasn’t enabled iCloud Drive.
         */
        static ubiquityContainerUnavailable: GKError.Code;
        /**
         * The system can’t complete the requested operation because this feature isn’t available to underage players.
         */
        static underage: GKError.Code;
        /**
         * An unexpected player has connected to a match.
         */
        static unexpectedConnection: GKError.Code;
        /**
         * The system can’t complete the requested operation due to an unknown error.
         */
        static unknown: GKError.Code;
        /**
         * The system can’t complete the requested operation because the user denied it.
         */
        static userDenied: GKError.Code;
        /**
         * The system can’t complete the requested operation because the player is using automatch.
         */
        static restrictedToAutomatch: GKError.Code;
        /**
         * The system can’t complete the requested operation because the API isn’t available.
         */
        static apiNotAvailable: GKError.Code;
        /**
         * The system can’t complete the requested operation because the system hasn’t authorized the player.
         */
        static notAuthorized: GKError.Code;
        /**
         * The system can’t complete the requested operation because the connection timed out.
         */
        static connectionTimeout: GKError.Code;
        /**
         * The system can’t complete the requested operation because Apple deprecated the API.
         */
        static apiObsolete: GKError.Code;
        /**
         * The system denies access to the local player’s friends list because the game didn’t provide a reason.
         */
        static friendListDescriptionMissing: GKError.Code;
        /**
         * The system restricts access to the local player’s friends list.
         */
        static friendListRestricted: GKError.Code;
        /**
         * The local player denies access to their friends list.
         */
        static friendListDenied: GKError.Code;
        /**
         * The player can’t send a friend request at this time from this device.
         */
        static friendRequestNotAvailable: GKError.Code;
        /**
         * The domain for this error.
         */
        static errorDomain: string;
        /**
         * The user information dictionary associated with the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The user information dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A localized, human-readable description of the error.
         */
        localizedDescription: string;
        /**
         * The integer representation for the error code.
         */
        errorCode: number;
        /**
         * A code that indicates the cause of the error. 
         */
        code: Code;
        /**
         * The computed hash value of the error.
         */
        hashValue: number;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them into the given function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class GKError
     */
    export namespace GKError {
        export enum Code {
            gameUnrecognized = 15,
            notSupported = 16,
            unknown = 1,
            cancelled = 2,
            communicationsFailure = 3,
            invalidPlayer = 8,
            invalidParameter = 17,
            gameSessionRequestInvalid = 29,
            apiNotAvailable = 31,
            connectionTimeout = 33,
            apiObsolete = 34,
            userDenied = 4,
            invalidCredentials = 5,
            notAuthenticated = 6,
            authenticationInProgress = 7,
            parentalControlsBlocked = 10,
            playerStatusExceedsMaximumLength = 11,
            playerStatusInvalid = 12,
            underage = 14,
            playerPhotoFailure = 26,
            ubiquityContainerUnavailable = 27,
            notAuthorized = 32,
            friendListDescriptionMissing = 100,
            friendListRestricted = 101,
            friendListDenied = 102,
            friendRequestNotAvailable = 103,
            matchRequestInvalid = 13,
            unexpectedConnection = 18,
            invitationsDisabled = 25,
            matchNotConnected = 28,
            restrictedToAutomatch = 30,
            turnBasedMatchDataTooLarge = 20,
            turnBasedTooManySessions = 21,
            turnBasedInvalidParticipant = 22,
            turnBasedInvalidTurn = 23,
            turnBasedInvalidState = 24,
            scoreNotSet = 9,
            challengeInvalid = 19,
        }
    }
    export class GKAchievementViewController extends GKGameCenterViewController {
        /**
         * The achievement view controller’s delegate.
         */
        achievementDelegate: GKAchievementViewControllerDelegate!;
    }
    export class GKChallengeEventHandler extends NSObject {
        /**
         * The delegate for the event handler.
         */
        delegate: GKChallengeEventHandlerDelegate!;
    }
    export class GKChallengesViewController extends NSViewController {
        challengeDelegate: GKChallengesViewControllerDelegate!;
    }
    export class GKCloudPlayer extends GKBasePlayer {
        /**
         * Returns player information for the currently signed-in player.
         */
        static getCurrentSignedInPlayer(containerName: string, handler: ()=>any):void;
    }
    export class GKGameSession extends NSObject {
        /**
         * A unique identifier for a game session.
         */
        identifier: string;
        /**
         * The date that the game session was last modified.
         */
        lastModifiedDate: Date;
        /**
         * The last player to modify the game session.
         */
        lastModifiedPlayer: GKCloudPlayer;
        /**
         * The maximum number of players allowed to connect to the game session at the same time.
         */
        maxNumberOfConnectedPlayers: number;
        /**
         * A player object that represents the owner of the game session.
         */
        owner: GKCloudPlayer;
        /**
         * An array of player objects associated with the game session.
         */
        players: GKCloudPlayer[];
        /**
         * The title of the game session.
         */
        title: string;
        /**
         * An array containing all of the currently badged players.
         */
        badgedPlayers: GKCloudPlayer[];
        /**
         * Creates a new game session inside of an iCloud container.
         */
        static createSession(containerName: string, title: string, maxPlayers: number, completionHandler: ()=>any):void;
        /**
         * Loads a specific game session.
         */
        static load(identifier: string, completionHandler: ()=>any):void;
        /**
         * Retrieves all of the game sessions associated with a container.
         */
        static loadSessions(containerName: string, completionHandler: ()=>any):void;
        /**
         * Removes the specified game session.
         */
        static remove(identifier: string, completionHandler: ()=>any):void;
        /**
         * Adds a new event listener object.
         */
        static add(listener: GKGameSessionEventListener):void;
        /**
         * Retrieves the URL used to share a game session.
         */
        getShareURL(completionHandler: ()=>any):void;
        /**
         * Retrieves the game data from the current game session.
         */
        loadData(completionHandler: ()=>any):void;
        /**
         * Saves the current game session data.
         */
        save(data: Data, completionHandler: ()=>any):void;
        /**
         * Sets the connection state for the player.
         */
        setConnectionState(state: GKConnectionState, completionHandler: ()=>any):void;
        /**
         * Sends the indicated data to all connected players.
         */
        send(data: Data, transport: GKTransportType, completionHandler: ()=>any):void;
        /**
         * Clears the badge from the designated players.
         */
        clearBadge(players: GKCloudPlayer[], completionHandler: ()=>any):void;
        /**
         * Sends a message to players in a game session.
         */
        sendMessage(key: string, arguments: string[], data: Data | null, players: GKCloudPlayer[], badgePlayers: boolean, completionHandler: ()=>any):void;
    }
    export class GKBasePlayer extends NSObject {
        /**
         * The Game Center profile name for a player.
         */
        displayName: string;
        /**
         * A unique identifier for a player.
         */
        playerID: string;
    }
    export enum GKTransportType {
        reliable = 1,
        unreliable = 0,
    }
    export class GKFriendRequestComposeViewController extends NSViewController,UINavigationController {
        /**
         * The view controller’s delegate
         */
        composeViewDelegate: GKFriendRequestComposeViewControllerDelegate | null;
        /**
         * Returns the maximum number of recipients permitted in a single request.
         */
        static maxNumberOfRecipients():number;
        /**
         * Adds recipients based on their email addresses.
         */
        addRecipients(emailAddresses: string[]):void;
        /**
         * Adds recipients based on their Game Center player identifiers.
         */
        addRecipientPlayers(players: GKPlayer[]):void;
        /**
         * Sets the text message included in the friend invitation.
         */
        setMessage(message: string):void;
    }
    export class GKLeaderboardViewController extends GKGameCenterViewController {
        /**
         * The named leaderboard that is displayed by the view controller.
         */
        category: String!;
        /**
         * The view controller’s delegate.
         */
        leaderboardDelegate: GKLeaderboardViewControllerDelegate!;
        /**
         * A time filter used to restrict which scores are displayed to the player.
         */
        timeScope: GKLeaderboard.TimeScope;
    }
    export class GKScore extends NSObject {
        /**
         * An integer value used by your game.
         */
        context: UInt64;
        /**
         * The date and time when the score was earned.
         */
        date: Date;
        /**
         * Returns the player’s score as a localized string.
         */
        formattedValue: string;
        /**
         * The identifier for the leaderboard.
         */
        leaderboardIdentifier: string;
        /**
         * The player who earned the score.
         */
        player: GKPlayer;
        /**
         * The position of the score in the results of a leaderboard search.
         */
        rank: number;
        /**
         * The score earned by the player.
         */
        value: Int64;
        /**
         * A Boolean value that indicates whether this score should also update the default leaderboard.
         */
        shouldSetDefaultLeaderboard: boolean;
        /**
         * The leaderboard that this score belongs to.
         */
        category: string;
        /**
         * The player identifier for the player that earned the score.
         */
        playerID: string;
        /**
         * Returns an initialized score object using the local player and the current date.
         */
        constructor (identifier: string);
        /**
         * Returns an initialized score object for the specified leaderboard and player.
         */
        constructor (identifier: string, player: GKPlayer);
        /**
         * Returns an initialized score object.
         */
        constructor (category: string);
        /**
         * Returns an initialized score object for the specified leaderboard and player.
         */
        constructor (identifier: string, playerID: string);
        /**
         * Submits a list of scores and all eligible challenges.
         */
        static report(scores: GKLeaderboardScore[], challenges: GKChallenge[], completionHandler: ()=>any | null):void;
        /**
         * Provides a challenge compose view controller with pre-selected player identifiers and a preformatted, player-editable message.
         */
        challengeComposeController(message: string, players: GKPlayer[] | null, completionHandler: GKChallengeComposeCompletionBlock | null):NSViewController;
        /**
         * Issues a score challenge to a set of players.
         */
        issueChallenge(playerIDs: string[] | null, message: string):void;
    }
    export interface GKLocalPlayerListener extends GKChallengeListener,GKInviteEventListener,GKSavedGameListener,GKTurnBasedEventListener {}
    export class GKAccessPoint extends NSObject {
        /**
         * The shared access point object.
         */
        static shared: GKAccessPoint;
        /**
         * The corner of the screen to display the access point.
         */
        location: GKAccessPoint.Location;
        /**
         * The frame of the access point in screen coordinates.
         */
        frameInScreenCoordinates: NSRect;
        /**
         * The window that contains the access point.
         */
        parentWindow: NSWindow | null;
        /**
         * A Boolean value that determines whether to display the access point.
         */
        isActive: boolean;
        /**
         * A Boolean value that indicates whether the game is presenting the Game Center dashboard.
         */
        isPresentingGameCenter: boolean;
        /**
         * A Boolean value that indicates whether the access point is visible.
         */
        isVisible: boolean;
        /**
         * A Boolean value that indicates whether to display highlights for achievements and current ranks for leaderboards.
         */
        showHighlights: boolean;
        /**
         * Displays the Game Center dashboard.
         */
        trigger(handler: ()=>any):void;
    }
    /**
     * the same name namespace of class GKAccessPoint
     */
    export namespace GKAccessPoint {
        export enum Location {
            bottomLeading = 2,
            bottomTrailing = 3,
            topLeading = 0,
            topTrailing = 1,
        }
    }
    export class GKSession extends NSObject {
        /**
         * The delegate of the session object.
         */
        delegate: GKSessionDelegate!;
        /**
         * A Boolean value that determines whether or not the session wants to connect to new peers.
         */
        isAvailable: boolean;
        /**
         * A time interval that expresses how long the session waits before it disconnects a nonresponsive peer.
         */
        disconnectTimeout: TimeInterval;
        /**
         * A string that identifies your session to other peers.
         */
        peerID: String!;
        /**
         * A string used to filter the list of peers who are allowed to see your session.
         */
        sessionID: String!;
        /**
         * The mode the session uses to find other peers.
         */
        sessionMode: GKSessionMode;
        /**
         * Initializes and returns a newly allocated session.
         */
        constructor (sessionID: String!, name: String!, mode: GKSessionMode);
        /**
         * Returns a list of peers in the specified connection state.
         */
        peers(state: GKPeerConnectionState):[Any]!;
        /**
         * Returns a user-readable name for a peer.
         */
        displayName(peerID: String!):String!;
        /**
         * Creates a connection to another iOS device.
         */
        connect(peerID: String!, timeout: TimeInterval):void;
        /**
         * Cancels a pending request to connect to another iOS device.
         */
        cancelConnect(peerID: String!):void;
        /**
         * Called by the delegate to accept a connection request received from a remote peer.
         */
        acceptConnection(peerID: String!):void;
        /**
         * Called by the delegate to reject a connection request received from a remote peer.
         */
        denyConnection(peerID: String!):void;
        /**
         * Sets the object that handles data received from other peers connected to the session.
         */
        setDataReceiveHandler(handler: Any!, context: UnsafeMutableRawPointer!):void;
        /**
         * Transmits a collection of bytes to a list of connected peers.
         */
        send(data: Data!, peers: [Any]!, mode: GKSendDataMode):void;
        /**
         * Transmits a collection of bytes to all connected peers.
         */
        sendData(data: Data!, mode: GKSendDataMode):void;
        /**
         * Disconnects the session from all connected peers.
         */
        disconnectFromAllPeers():void;
        /**
         * Disconnects a connected peer from all peers connected to the session.
         */
        disconnectPeer(peerID: String!):void;
    }
    export class GKTurnBasedEventHandler extends NSObject {
        /**
         * The delegate for the event handler.
         */
        delegate: ((GKTurnBasedEventHandlerDelegate & NSObjectProtocol));
        /**
         * Returns the shared instance of the event handler.
         */
        static shared():GKTurnBasedEventHandler;
    }
    export class GKVoiceChatService extends NSObject {
        /**
         * An object that the voice chat service uses to communicate with remote participants.
         */
        client: GKVoiceChatClient!;
        /**
         * A Boolean value that determines whether the user’s microphone is muted.
         */
        isMicrophoneMuted: boolean;
        /**
         * A float that scales the volume of all remote participants.
         */
        remoteParticipantVolume: Float;
        /**
         * A Boolean value that indicates whether the microphone’s sound level is being monitored.
         */
        isInputMeteringEnabled: boolean;
        /**
         * The volume, in decibels (db), being received by the microphone.
         */
        inputMeterLevel: Float;
        /**
         * A Boolean value that indicates whether the voice level of remote participants is monitored.
         */
        isOutputMeteringEnabled: boolean;
        /**
         * The volume, in decibels (db), being received from all other participants.
         */
        outputMeterLevel: Float;
        /**
         * Returns whether voice chat is allowed to be used on the device.
         */
        static isVoIPAllowed():boolean;
        /**
         * Retrieves the singleton chat service.
         */
        static default():GKVoiceChatService!;
        /**
         * Sends a request to another participant to join the voice chat.
         */
        startVoiceChat(participantID: String!):void;
        /**
         * Ends a previously established voice chat.
         */
        stopVoiceChat(participantID: String!):void;
        /**
         * Accepts a request from a remote user to establish a voice chat.
         */
        acceptCallID(callID: number):void;
        /**
         * Rejects a request to establish a voice chat.
         */
        denyCallID(callID: number):void;
        /**
         * Called by the client to deliver new data received from a remote participant.
         */
        receivedData(arbitraryData: Data!, participantID: String!):void;
        /**
         * Called by the client to deliver voice data received from a remote participant..
         */
        receivedRealTime(audio: Data!, participantID: String!):void;
    }
    export interface GKAchievementViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called when the user dismisses the achievements user interface.
         */
        achievementViewControllerDidFinish(viewController: GKAchievementViewController!):void;
    }
    export interface GKChallengeEventHandlerDelegate extends NSObjectProtocol {
        /**
         * Called when the local player selects a challenge banner displayed by GameKit.
         */
        localPlayerDidSelect(challenge: GKChallenge!):void;
        /**
         * Called when the local player receives a new challenge.
         */
        localPlayerDidReceive(challenge: GKChallenge!):void;
        /**
         * Called to determine whether a banner should be shown when the local player receives a challenge.
         */
        shouldShowBanner(challenge: GKChallenge!):boolean;
        /**
         * Called when the local player completes a challenge.
         */
        localPlayerDidComplete(challenge: GKChallenge!):void;
        /**
         * Called when a remote player completes a challenge issued by the local player.
         */
        remotePlayerDidComplete(challenge: GKChallenge!):void;
    }
    export interface GKChallengesViewControllerDelegate {
        challengesViewControllerDidFinish(viewController: GKChallengesViewController!):void;
    }
    export interface GKFriendRequestComposeViewControllerDelegate {
        /**
         * Called when the player dismisses the request.
         */
        friendRequestComposeViewControllerDidFinish(viewController: GKFriendRequestComposeViewController):void;
    }
    export interface GKGameSessionEventListener extends NSObjectProtocol {
        /**
         * Tells the listener a new player has been added to a game session.
         */
        session(session: GKGameSession, player: GKCloudPlayer):void;
    }
    export enum GKConnectionState {
        connected = 1,
        notConnected = 0,
    }
    export interface GKLeaderboardViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called when the leaderboard view is dismissed.
         */
        leaderboardViewControllerDidFinish(viewController: GKLeaderboardViewController!):void;
    }
    export interface GKSessionDelegate extends NSObjectProtocol {
        /**
         * Received by the delegate when a peer changes state.
         */
        session(session: GKSession, peerID: string, state: GKPeerConnectionState):void;
    }
    export interface GKTurnBasedEventHandlerDelegate {
        /**
         * Sent to the delegate when the local player receives an invitation to join a new turn-based match.
         */
        handleInvite(playersToInvite: string[]):void;
        /**
         * Sent to the delegate when it is the local player’s turn to act in a turn-based match.
         */
        handleTurnEvent(match: GKTurnBasedMatch):void;
        /**
         * Sent to the delegate when a match the local player is participating in has ended.
         */
        handleMatchEnded(match: GKTurnBasedMatch):void;
    }
    export interface GKVoiceChatClient extends NSObjectProtocol {
        /**
         * Returns a string that uniquely identifies the local user.
         */
        participantID():string;
        /**
         * A request for the client to send data to a participant.
         */
        voiceChatService(voiceChatService: GKVoiceChatService, data: Data, participantID: string):void;
    }
    export interface GKGameCenterControllerDelegate extends NSObjectProtocol {
        /**
         * Handles when the player dismisses the dashboard.
         */
        gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController):void;
    }
    export enum GKGameCenterViewControllerState {
        default = -1,
        leaderboards = 0,
        achievements = 1,
        challenges = 2,
        localPlayerProfile = 3,
        dashboard = 4,
        localPlayerFriendsList = 5,
    }
}

/**
 * Architect and organize your game logic. Incorporate common gameplay behaviors such as random number generation, artificial intelligence, pathfinding, and agent behavior.
 */
declare module GameplayKit {
    export class GKEntity extends NSObject {
        /**
         * The entity’s list of components.
         */
        components: GKComponent[];
        /**
         * Initializes a new entity object.
         */
        constructor ();
        /**
         * Adds a component to the entity.
         */
        addComponent(component: GKComponent):void;
        /**
         * Performs periodic updates for each of the entity’s components.
         */
        update(seconds: TimeInterval):void;
    }
    export class GKComponent extends NSObject {
        /**
         * The entity that owns this component.
         */
        entity: GKEntity | null;
        /**
         * Notifies the component that it has been assigned to an entity.
         */
        didAddToEntity():void;
        /**
         * Notifies the component that it has been removed from an entity.
         */
        willRemoveFromEntity():void;
    }
    export interface GKGameModelPlayer extends NSObjectProtocol {
        /**
         * A number uniquely identifying the player.
         */
        playerId: number;
    }
    export interface GKGameModelUpdate extends NSObjectProtocol {
        /**
         * A value assigned and read by GameplayKit to rate the desirability of a move in your game.
         */
        value: number;
    }
    export class GKDecisionTree extends NSObject {
        /**
         * The decision node at the root of the decision tree, representing the first attribute to test.
         */
        rootNode: GKDecisionNode | null;
        /**
         * The randomizer to be used when evaluating parts of the tree that branch randomly.
         */
        randomSource: GKRandomSource;
        /**
         * Creates a decision tree starting with the specified initial attribute to test.
         */
        constructor (attribute: NSObjectProtocol);
        /**
         * Creates an automatically learned decision tree using the specified attributes, example items, and actions.
         */
        constructor (examples: NSObjectProtocol[][], actions: NSObjectProtocol[], attributes: NSObjectProtocol[]);
        constructor (url: URL, error: Error | null);
        /**
         * Searches the decision tree, following the branches corresponding to each of the specified answers, and returns the resulting action object.
         */
        findAction(answers: Record<AnyHashable, NSObjectProtocol>):NSObjectProtocol | null;
        export(url: URL, error: Error | null):boolean;
    }
    export class GKDecisionNode extends NSObject {
        /**
         * Creates a child node that the decision tree should use when the current node’s attribute has the specified value.
         */
        createBranch(value: NSNumber, attribute: NSObjectProtocol):Self;
    }
    export class GKGraph extends NSObject {
        /**
         * The list of nodes in the graph.
         */
        nodes: GKGraphNode[] | null;
        /**
         * Initializes a graph with the specified list of nodes.
         */
        constructor (nodes: GKGraphNode[]);
        /**
         * Adds the specified nodes to the graph.
         */
        add(nodes: GKGraphNode[]):void;
        /**
         * Adds a node to the graph, connecting it to the node already in the graph for which the connection has the lowest cost.
         */
        connectToLowestCostNode(node: GKGraphNode, bidirectional: boolean):void;
        /**
         * Removes the specified nodes from the graph.
         */
        remove(nodes: GKGraphNode[]):void;
        /**
         * Computes and returns a sequence of nodes that represents the shortest traversal of the graph between the specified nodes.
         */
        findPath(startNode: GKGraphNode, endNode: GKGraphNode):GKGraphNode[];
    }
    export class GKMeshGraphTriangulationMode {
        /**
         * An option to place graph nodes at each vertex in the generated mesh.
         */
        static vertices: GKMeshGraphTriangulationMode;
        /**
         * An option to place graph nodes at the center of each polygon in the generated mesh.
         */
        static centers: GKMeshGraphTriangulationMode;
        /**
         * An option to place graph nodes at the midpoint of each in the generated mesh.
         */
        static edgeMidpoints: GKMeshGraphTriangulationMode;
        constructor (rawValue: number);
    }
    export class GKTriangle {
        /**
         * A set of three points describing the triangle.
         */
        points: any;
        constructor ();
        constructor (points: any);
    }
    export class GKGraphNode extends NSObject {
        /**
         * The list of other nodes connected to this node.
         */
        connectedNodes: GKGraphNode[];
        /**
         * Connects this node to all nodes in the specified list.
         */
        addConnections(nodes: GKGraphNode[], bidirectional: boolean):void;
        /**
         * Removes the connections from this node to the specified nodes.
         */
        removeConnections(nodes: GKGraphNode[], bidirectional: boolean):void;
        /**
         * Returns the cost to travel from this node to the specified, directly connected, node.
         */
        cost(node: GKGraphNode):Float;
        /**
         * Returns an underestimate of the cost of travel from this node to the specified node.
         */
        estimatedCost(node: GKGraphNode):Float;
        /**
         * Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from this node to the specified node.
         */
        findPath(goalNode: GKGraphNode):GKGraphNode[];
    }
    export class GKGraphNode2D extends GKGraphNode {
        /**
         * The position of the node in continuous 2D space.
         */
        position: vector_float2;
        /**
         * Initializes a graph node with the specified point.
         */
        constructor (point: vector_float2);
        /**
         * Creates a graph node with the specified point.
         */
        static node(point: vector_float2):Self;
    }
    export class GKGraphNode3D extends GKGraphNode {
        /**
         * The position of the node in continuous 2D space.
         */
        position: vector_float3;
        /**
         * Initializes a graph node with the specified point.
         */
        constructor (point: vector_float3);
        /**
         * Creates a graph node with the specified point.
         */
        static node(point: vector_float3):Self;
    }
    export class GKGridGraphNode extends GKGraphNode {
        /**
         * The position of the node on a discrete integer grid.
         */
        gridPosition: vector_int2;
        /**
         * Initializes a graph node with the specified position on a grid.
         */
        constructor (gridPosition: vector_int2);
    }
    export class GKAgent extends GKComponent {
        /**
         * A weighted collection of goals that influence the agent’s movement.
         */
        behavior: GKBehavior | null;
        /**
         * The resistance of the agent to changes in speed or direction.
         */
        mass: Float;
        /**
         * The upper limit to changes in the agent’s speed or direction.
         */
        maxAcceleration: Float;
        /**
         * The agent’s maximum forward speed, in units per second.
         */
        maxSpeed: Float;
        /**
         * The agent’s radius.
         */
        radius: Float;
        /**
         * An object that prepares for or responds to updates in the agent simulation.
         */
        delegate: GKAgentDelegate | null;
        /**
         * The agent’s current forward speed, in units per second.
         */
        speed: Float;
    }
    export class GKAgent2D extends GKAgent {
        /**
         * The current position of the agent in 2D space.
         */
        position: vector_float2;
        /**
         * The rotation of the agent around the z-axis.
         */
        rotation: Float;
        /**
         * The current velocity of the agent in 2D space.
         */
        velocity: vector_float2;
        /**
         * Causes the agent to evaluate its goals and update its position, rotation, and velocity accordingly.
         */
        update(seconds: TimeInterval):void;
    }
    export class GKAgent3D extends GKAgent {
        /**
         * The current position of the agent in 3D space.
         */
        position: vector_float3;
        /**
         * The orientation of the agent in 3D space.
         */
        rotation: matrix_float3x3;
        /**
         * The current velocity of the agent in 3D space.
         */
        velocity: vector_float3;
        rightHanded: boolean;
        /**
         * Causes the agent to evaluate its goals and update its position, rotation, and velocity accordingly.
         */
        update(seconds: TimeInterval):void;
    }
    export class GKGoal extends NSObject {
        /**
         * Creates a goal whose effect is to move an agent toward the current position of the specified other agent.
         */
        constructor (agent: GKAgent);
        /**
         * Creates a goal whose effect is to move an agent away from the current position of the specified other agent.
         */
        constructor (agent: GKAgent);
        /**
         * Creates a goal whose effect is to accelerate or decelerate an agent until it reaches the specified speed.
         */
        constructor (targetSpeed: Float);
        /**
         * Creates a goal whose effect is to make an agent wander aimlessly, moving forward and turning at random.
         */
        constructor (speed: Float);
        /**
         * Creates a goal whose effect is to make an agent avoid colliding with the specified other agents, taking into account the other agents’ movement.
         */
        constructor (agents: GKAgent[], maxPredictionTime: TimeInterval);
        /**
         * Creates a goal whose effect is to make an agent pursue the specified other agent, taking into account the target’s movement.
         */
        constructor (target: GKAgent, maxPredictionTime: TimeInterval);
        /**
         * Creates a goal whose effect is to make an agent maintain the specified distance from other agents in a specified group.
         */
        constructor (agents: GKAgent[], maxDistance: Float, maxAngle: Float);
        /**
         * Creates a goal whose effect is to make an agent align its orientation with that of other agents in a specified group.
         */
        constructor (agents: GKAgent[], maxDistance: Float, maxAngle: Float);
        /**
         * Creates a goal whose effect is to make an agent stay near the other agents in a specified group.
         */
        constructor (agents: GKAgent[], maxDistance: Float, maxAngle: Float);
        /**
         * Creates a goal whose effect is to maintain an agent’s position within the specified path.
         */
        constructor (path: GKPath, maxPredictionTime: TimeInterval);
        /**
         * Creates a goal whose effect is to both maintain position on and traverse the specified path.
         */
        constructor (path: GKPath, maxPredictionTime: TimeInterval, forward: boolean);
    }
    export class GKBehavior extends NSObject {
        /**
         * The number of goals in the behavior.
         */
        goalCount: number;
        /**
         * Creates a behavior with a single goal.
         */
        constructor (goal: GKGoal, weight: Float);
        /**
         * Creates a behavior with the specified goals.
         */
        constructor (goals: GKGoal[]);
        /**
         * Creates a behavior with the specified goals and weights.
         */
        constructor (goals: GKGoal[], weights: NSNumber[]);
        /**
         * Creates a behavior with the specified mapping of goals to their weights.
         */
        constructor (weightedGoals: Record<GKGoal, NSNumber>);
        /**
         * Sets the weight for the specified goal’s influence on agents, adding that goal to the behavior if not already present.
         */
        setWeight(weight: Float, goal: GKGoal):void;
        /**
         * Returns the weight for the specified goal’s influence on agents.
         */
        weight(goal: GKGoal):Float;
        /**
         * Removes the specified goal from the behavior.
         */
        remove(goal: GKGoal):void;
        /**
         * Removes all goals from the behavior.
         */
        removeAllGoals():void;
    }
    export class GKCompositeBehavior extends GKBehavior {
        /**
         * The number of individual behaviors in the composite behavior.
         */
        behaviorCount: number;
        /**
         * Creates a composite behavior from the specified individual behaviors.
         */
        constructor (behaviors: GKBehavior[]);
        /**
         * Creates a behavior with the specified behaviors and weights.
         */
        constructor (behaviors: GKBehavior[], weights: NSNumber[]);
        /**
         * Sets the weight for the specified individual behavior’s influence on agents, adding that behavior to the composite behavior if it is not already present.
         */
        setWeight(weight: Float, behavior: GKBehavior):void;
        /**
         * Returns the weight for the specified individual behavior’s influence on agents.
         */
        weight(behavior: GKBehavior):Float;
        /**
         * Removes the specified individual behavior from the composite behavior.
         */
        remove(behavior: GKBehavior):void;
        /**
         * Removes all individual behaviors from the composite behavior.
         */
        removeAllBehaviors():void;
    }
    export class GKState extends NSObject {
        /**
         * The state machine that owns this state object.
         */
        stateMachine: GKStateMachine | null;
        /**
         * Initializes a state object.
         */
        constructor ();
        /**
         * Returns a Boolean value indicating whether a state machine currently in this state is allowed to transition into the specified state.
         */
        isValidNextState(stateClass: AnyClass):boolean;
        /**
         * Performs custom actions when a state machine transitions into this state.
         */
        didEnter(previousState: GKState | null):void;
        /**
         * Performs custom actions when a state machine updates while in this state.
         */
        update(seconds: TimeInterval):void;
        /**
         * Performs custom actions when a state machine transitions out of this state. 
         */
        willExit(nextState: GKState):void;
    }
    export class GKPath extends NSObject {
        /**
         * The radius of the path.
         */
        radius: Float;
        /**
         * A Boolean value that determines whether the path loops around on itself (that is, the path’s end point connects to its start point).
         */
        isCyclical: boolean;
        /**
         * The number of vertices in the path.
         */
        numPoints: number;
        /**
         * Initializes a path using the positions of the specified graph nodes.
         */
        constructor (graphNodes: GKGraphNode[], radius: Float);
        constructor (points: SIMD3<Float>[], radius: Float, cyclical: boolean);
        /**
         * Returns the 2D point at the specified index in the path’s list of vertices.
         */
        float2(index: number):vector_float2;
        /**
         * Returns the 3D point at the specified index in the path’s list of vertices.
         */
        float3(index: number):vector_float3;
        /**
         * Returns the 2D point at the specified index in the path’s list of vertices.
         */
        point(index: number):vector_float2;
    }
    export interface GKAgentDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that an agent is about to perform its next simulation step.
         */
        agentWillUpdate(agent: GKAgent):void;
        /**
         * Tells the delegate that an agent has just performed a simulation step.
         */
        agentDidUpdate(agent: GKAgent):void;
    }
    export class GKObstacle extends NSObject {}
    export class GKCircleObstacle extends GKObstacle {
        /**
         * The position of the obstacle.
         */
        position: vector_float2;
        /**
         * The radius of the obstacle.
         */
        radius: Float;
        /**
         * Initializes a circular obstacle with the specified radius.
         */
        constructor (radius: Float);
    }
    export class GKSphereObstacle extends GKObstacle {
        /**
         * The position of the obstacle.
         */
        position: vector_float3;
        /**
         * The radius of the obstacle.
         */
        radius: Float;
        /**
         * Initializes a spherical obstacle with the specified radius.
         */
        constructor (radius: Float);
    }
    export class GKPolygonObstacle extends GKObstacle {
        /**
         * The number of vertices that define the polygon-shaped area of the obstacle.
         */
        vertexCount: number;
        constructor (points: SIMD2<Float>[]);
        /**
         * Returns the point coordinates of the specified vertex.
         */
        vertex(index: number):vector_float2;
    }
    export class GKNoiseSource extends NSObject {}
    export class GKNoise extends NSObject {
        /**
         * A dictionary mapping noise values to colors for use in colorizing generated noise.
         */
        gradientColors: Record<NSNumber, UIColor>;
        /**
         * Initializes a noise object with the specified noise source.
         */
        constructor (noiseSource: GKNoiseSource);
        /**
         * Initializes a noise object with the specified noise source, with colors for later use in generating noise textures.
         */
        constructor (noiseSource: GKNoiseSource, gradientColors: Record<NSNumber, UIColor>);
        /**
         * Creates a noise object by combining the specified noise objects, using another noise object to select which regions of the output correspond to which input noise.
         */
        constructor (noises: GKNoise[], selectionNoise: GKNoise);
        /**
         * Creates a noise object by combining the specified noise objects, using another noise object and the specified boundaries to select which regions of the output correspond to which input noise.
         */
        constructor (noises: GKNoise[], selectionNoise: GKNoise, componentBoundaries: NSNumber[], blendDistances: NSNumber[]);
        constructor ();
        /**
         * Replaces all negative values in the noise field with their positive absolute values.
         */
        applyAbsoluteValue():void;
        /**
         * Replaces all values in the noise field with their opposite, reversing the range of noise values.
         */
        invert():void;
        /**
         * Replaces all values in the noise field by raising each value to the specified power.
         */
        raiseToPower(power: number):void;
        /**
         * Replaces values in the noise field outside the specified range with the values at the endpoints of that range.
         */
        clamp(lowerBound: number, upperBound: number):void;
        /**
         * Replaces values in the noise field by mapping them to a curve that passes through the specified control points.
         */
        remapValues(controlPoints: Record<NSNumber, NSNumber>):void;
        /**
         * Replaces values in the noise field by adding them to values from the specified noise object.
         */
        add(noise: GKNoise):void;
        /**
         * Replaces values in the noise field by multiplying them with values from the specified noise object.
         */
        multiply(noise: GKNoise):void;
        /**
         * Replaces values in the noise field by choosing the lesser of each value and a corresponding value in the specified noise object.
         */
        maximum(noise: GKNoise):void;
        /**
         * Replaces values in the noise field by choosing the lesser of each value and a corresponding value in the specified noise object.
         */
        minimum(noise: GKNoise):void;
        /**
         * Replaces values in the noise field by shifting each value along a vector whose x-, y-, and z-components are based on the specified noise objects.
         */
        displaceWithNoises(xDisplacementNoise: GKNoise, yDisplacementNoise: GKNoise, zDisplacementNoise: GKNoise):void;
        /**
         * Replaces values in the noise field by applying a randomized distortion effect.
         */
        applyTurbulence(frequency: number, power: number, roughness: Int32, seed: Int32):void;
        /**
         * Translates the entire noise field by the specified x, y, and z offsets.
         */
        move(delta: vector_double3):void;
        /**
         * Rotates the entire noise field by the specified x, y, and z angles.
         */
        rotate(radians: vector_double3):void;
        /**
         * Scales the entire noise field by the specified x, y, and z factors.
         */
        scale(factor: vector_double3):void;
        value(position: vector_float2):Float;
    }
    export class GKNoiseMap extends NSObject {
        /**
         * The size of the “slice” of noise samples contained in the noise map relative to the unit coordinate space of the noise object it was created from.
         */
        size: vector_double2;
        /**
         * The position of the “slice” of noise samples contained in the noise map relative to the unit coordinate space of the noise object it was created from.
         */
        origin: vector_double2;
        /**
         * The width and height of integer grid for which the noise map contains sampled noise values.
         */
        sampleCount: vector_int2;
        /**
         * A Boolean value indicating whether the noise map’s output can repeat seamlessly in all directions.
         */
        isSeamless: boolean;
        /**
         * Initializes a noise map by sampling from the specified noise object.
         */
        constructor (noise: GKNoise);
        /**
         * Creates a noise map by sampling from the specified noise object.
         */
        constructor (noise: GKNoise, size: vector_double2, origin: vector_double2, sampleCount: vector_int2, seamless: boolean);
        /**
         * Initializes a noise map with a constant noise value of zero throughout.
         */
        constructor ();
        /**
         * Returns the value at the specified position in the noise map’s discrete sample grid.
         */
        value(position: vector_int2):Float;
        /**
         * Returns the value at the specified position in the noise map, interpolating results for positions not on the discrete sample grid.
         */
        interpolatedValue(position: vector_float2):Float;
        /**
         * Sets the value at the specified position in the noise map.
         */
        setValue(value: Float, position: vector_int2):void;
    }
    export class GKCoherentNoiseSource extends GKNoiseSource {
        /**
         * A value that determines the size and spacing of features in generated noise.
         */
        frequency: number;
        /**
         * The number of octaves of the underlying noise function to use for generating noise.
         */
        octaveCount: number;
        /**
         * The rate at which successive octaves of the noise function increase in frequency.
         */
        lacunarity: number;
        /**
         * The value that determines the specific configuration of noise produced by the noise source.
         */
        seed: Int32;
    }
    export class GKStateMachine extends NSObject {
        /**
         * The state machine’s current state.
         */
        currentState: GKState | null;
        /**
         * Initializes a state machine with the specified states.
         */
        constructor (states: GKState[]);
        /**
         * Returns a Boolean value indicating whether it is valid for the state machine to transition from its current state to a state of the specified class.
         */
        canEnterState(stateClass: AnyClass):boolean;
        /**
         * Attempts to transition the state machine from its current state to a state of the specified class. 
         */
        enter(stateClass: AnyClass):boolean;
        /**
         * Tells the current state object to perform per-frame updates.
         */
        update(sec: TimeInterval):void;
    }
    export class GKBillowNoiseSource extends GKCoherentNoiseSource {
        /**
         * The rate at which successive octaves of the noise function decrease in amplitude.
         */
        persistence: number;
        /**
         * Creates a billow noise source with the specified parameters.
         */
        constructor (frequency: number, octaveCount: number, persistence: number, lacunarity: number, seed: Int32);
    }
    export class GKPerlinNoiseSource extends GKCoherentNoiseSource {
        /**
         * The rate at which successive octaves of the noise function decrease in amplitude.
         */
        persistence: number;
        /**
         * Initializes a Perlin noise source with the specified parameters.
         */
        constructor (frequency: number, octaveCount: number, persistence: number, lacunarity: number, seed: Int32);
    }
    export class GKRidgedNoiseSource extends GKCoherentNoiseSource {
        /**
         * Initializes a ridged noise source with the specified parameters.
         */
        constructor (frequency: number, octaveCount: number, lacunarity: number, seed: Int32);
    }
    export class GKVoronoiNoiseSource extends GKNoiseSource {
        /**
         * A value that determines the number and size of cells in generated noise.
         */
        frequency: number;
        /**
         * The range of random values to assign to each cell in generated noise.
         */
        displacement: number;
        /**
         * A Boolean value that specifies whether generated noise values incorporate the distance from each point to the nearest seed point.
         */
        isDistanceEnabled: boolean;
        /**
         * The value that determines the specific configuration of noise produced by the noise source.
         */
        seed: Int32;
        /**
         * Initializes a Voronoi noise source with the specified parameters.
         */
        constructor (frequency: number, displacement: number, distanceEnabled: boolean, seed: Int32);
        /**
         * Creates a Voronoi noise source with the specified parameters.
         */
        static voronoiNoise(frequency: number, displacement: number, distanceEnabled: boolean, seed: Int32):Self;
    }
    export class GKCylindersNoiseSource extends GKNoiseSource {
        /**
         * A value that determines the size and spacing of concentric cylinders.
         */
        frequency: number;
        /**
         * Initializes a cylinder noise source with the specified frequency.
         */
        constructor (frequency: number);
        /**
         * Creates a cylinder noise source with the specified frequency.
         */
        static cylindersNoise(frequency: number):Self;
    }
    export class GKSpheresNoiseSource extends GKNoiseSource {
        /**
         * A value that determines the size and spacing of concentric spheres.
         */
        frequency: number;
        /**
         * Initializes a sphere noise source with the specified frequency.
         */
        constructor (frequency: number);
        /**
         * Creates a sphere noise source with the specified frequency.
         */
        static spheresNoise(frequency: number):Self;
    }
    export class GKCheckerboardNoiseSource extends GKNoiseSource {
        /**
         * The size (both width and height) of squares in the generated checkerboard pattern.
         */
        squareSize: number;
        /**
         * Initializes a checkerboard noise source with the specified square size.
         */
        constructor (squareSize: number);
        /**
         * Creates a checkerboard noise source with the specified square size.
         */
        static checkerboardNoise(squareSize: number):Self;
    }
    export class GKConstantNoiseSource extends GKNoiseSource {
        /**
         * The constant value for the generated noise.
         */
        value: number;
        /**
         * Initializes a noise source with the specified constant value.
         */
        constructor (value: number);
        /**
         * Creates a noise source with the specified constant value.
         */
        static constantNoise(value: number):Self;
    }
    export interface GKRandom {
        /**
         * Generates and returns a new random integer.
         */
        nextInt():number;
        /**
         * Generates and returns a new random floating-point value.
         */
        nextUniform():Float;
        /**
         * Generates and returns a new random Boolean value.
         */
        nextBool():boolean;
    }
    export class GKRandomSource extends NSObject {
        /**
         * Initializes a new random source object.
         */
        constructor ();
        constructor (aDecoder: NSCoder);
        /**
         * Returns a shared instance that shares a system-wide random source.
         */
        static sharedRandom():GKRandomSource;
        /**
         * Returns an array whose contents are the same as those of the specified array, but in a random order determined by the random source.
         */
        arrayByShufflingObjects(array: any[]):any[];
    }
    export class GKARC4RandomSource extends GKRandomSource {
        /**
         * The seed data that determines the random source’s behavior.
         */
        seed: Data;
        /**
         * Initializes a random source from a nondeterministic seed.
         */
        constructor ();
        /**
         * Initializes a random source with the specified seed data.
         */
        constructor (seed: Data);
        /**
         * Skips the specified number of values in the random sequence.
         */
        dropValues(count: number):void;
    }
    export class GKLinearCongruentialRandomSource extends GKRandomSource {
        /**
         * The seed value that determines the random source’s behavior.
         */
        seed: UInt64;
        /**
         * Initializes a random source from a nondeterministic seed.
         */
        constructor ();
        /**
         * Initializes a random source with the specified seed value.
         */
        constructor (seed: UInt64);
    }
    export class GKMersenneTwisterRandomSource extends GKRandomSource {
        /**
         * The seed value that determines the random source’s behavior.
         */
        seed: UInt64;
        /**
         * Initializes a random source from a nondeterministic seed.
         */
        constructor ();
        /**
         * Initializes a random source with the specified seed value.
         */
        constructor (seed: UInt64);
    }
    export class GKRandomDistribution extends NSObject {
        /**
         * The lowest value to be produced by the distribution.
         */
        lowestValue: number;
        /**
         * The highest value to be produced by the distribution.
         */
        highestValue: number;
        /**
         * The number of unique values the distribution can generate.
         */
        numberOfPossibleOutcomes: number;
        /**
         * Initializes a uniform random distribution with the specified lower and upper bounds, using the specified source randomizer.
         */
        constructor (source: GKRandom, lowestInclusive: number, highestInclusive: number);
        /**
         * Creates a random distribution with the specified lower and upper bounds, using the Arc4 randomizer.
         */
        constructor (lowestInclusive: number, highestInclusive: number);
        /**
         * Creates a random distribution equivalent to a die with the specified number of sides.
         */
        constructor (sideCount: number);
        /**
         * Creates a random distribution equivalent to a six-sided die.
         */
        static d6():Self;
        /**
         * Creates a random distribution equivalent to a twenty-sided die.
         */
        static d20():Self;
        /**
         * Generates and returns a new random integer within the bounds of the distribution.
         */
        nextInt():number;
        /**
         * Generates and returns a new random floating-point value within the characteristics of the distribution.
         */
        nextUniform():Float;
        /**
         * Generates and returns a new random Boolean value within the characteristics of the distribution.
         */
        nextBool():boolean;
    }
    export class GKGaussianDistribution extends GKRandomDistribution {
        /**
         * The mean value of the distribution (also called the 
         *  or 
         * ).
         */
        mean: Float;
        /**
         * The standard deviation of the distribution (also called 
         * ).
         */
        deviation: Float;
        /**
         * Initializes a Gaussian random distribution with the specified lower and upper bounds, using the specified source randomizer.
         */
        constructor (source: GKRandom, lowestInclusive: number, highestInclusive: number);
        /**
         * Initializes a Gaussian random distribution with the specified mean and deviation, using the specified source randomizer.
         */
        constructor (source: GKRandom, mean: Float, deviation: Float);
    }
    export class GKShuffledDistribution extends GKRandomDistribution {}
    export class GKRule extends NSObject {
        /**
         * The importance of the rule relative to others in a rule system’s agenda.
         */
        salience: number;
        /**
         * Creates a data-driven rule with the specified predicate, whose action asserts a fact in the rule system evaluating the rule.
         */
        constructor (predicate: NSPredicate, fact: NSObjectProtocol, grade: Float);
        /**
         * Creates a data-driven rule with the specified predicate, whose action retracts a fact in the rule system evaluating the rule.
         */
        constructor (predicate: NSPredicate, fact: NSObjectProtocol, grade: Float);
        /**
         * Creates a rule whose predicate is evaluated and action is executed through the specified blocks.
         */
        constructor (predicate: ()=>any, action: ()=>any);
        /**
         * Returns a Boolean value indicating whether the rule has been satisfied in the context of the specified rule system.
         */
        evaluatePredicate(system: GKRuleSystem):boolean;
        /**
         * Performs actions that should result when the rule is satisfied in the context of the specified rule system.
         */
        performAction(system: GKRuleSystem):void;
    }
    export class GKNSPredicateRule extends GKRule {
        /**
         * A predicate to be tested when evaluating the rule.
         */
        predicate: NSPredicate;
        /**
         * Initializes a rule with the specified predicate.
         */
        constructor (predicate: NSPredicate);
        /**
         * Returns a Boolean value indicating whether the rule’s predicate has been satisfied in the context of the specified rule system.
         */
        evaluatePredicate(system: GKRuleSystem):boolean;
    }
    export class GKRuleSystem extends NSObject {
        /**
         * A dictionary of state information to be evaluated by the system’s rules.
         */
        state: NSMutableDictionary;
        /**
         * The list of rules to be executed when evaluating the system.
         */
        rules: GKRule[];
        /**
         * The list of rules to be considered when evaluating the system.
         */
        agenda: GKRule[];
        /**
         * The list of rules whose actions have been performed during evaluation of the system.
         */
        executed: GKRule[];
        /**
         * The list of facts claimed by the rule system.
         */
        facts: any[];
        /**
         * Initializes a new, empty rule system.
         */
        constructor ();
        /**
         * Adds the specified rule to the system.
         */
        add(rule: GKRule):void;
        /**
         * Removes all rules from the system.
         */
        removeAllRules():void;
        /**
         * Evaluates the rule system, executing the list of rules in its agenda.
         */
        evaluate():void;
        /**
         * Returns the rule system to its original agenda and clears all facts.
         */
        reset():void;
        /**
         * Adds the specified fact to the fact set with a membership grade of 1.0, and reevaluates the rules in the system’s agenda.
         */
        assertFact(fact: NSObjectProtocol):void;
        /**
         * Removes the specified fact from the fact set, and reevaluates the rules in the system’s agenda.
         */
        retractFact(fact: NSObjectProtocol):void;
        /**
         * Returns the membership grade of the specified fact.
         */
        grade(fact: NSObjectProtocol):Float;
        /**
         * Returns the lowest membership grade among the specified facts.
         */
        minimumGrade(facts: any[]):Float;
        /**
         * Returns the highest membership grade among the specified facts.
         */
        maximumGrade(facts: any[]):Float;
    }
    export class GKScene extends NSObject {
        /**
         * The SpriteKit scene managed by this 
         *  object.
         */
        rootNode: GKSceneRootNodeType | null;
        /**
         * The list of GameplayKit entities managed by the scene.
         */
        entities: GKEntity[];
        /**
         * The list of pathfinding graph objects managed by the scene.
         */
        graphs: Record<string, GKGraph>;
        /**
         * Loads the specified SpriteKit scene file, creating a 
         *  object containing the SpriteKit scene and associated GameplayKit objects.
         */
        constructor (filename: string);
        constructor (filename: string, rootNode: GKSceneRootNodeType);
        /**
         * Adds a GameplayKit entity to the list of entities managed by the scene.
         */
        addEntity(entity: GKEntity):void;
        /**
         * Removes a GameplayKit entity from the list of entities managed by the scene.
         */
        removeEntity(entity: GKEntity):void;
        /**
         * Removes a pathfinding graph from the list of graphs managed by the scene.
         */
        removeGraph(name: string):void;
        addGraph(graph: GKGraph, name: string):void;
    }
    export interface GKSceneRootNodeType extends NSObjectProtocol {}
    export class GKSKNodeComponent extends GKComponent {
        /**
         * The SpriteKit node managed by the component.
         */
        node: SKNode;
        /**
         * Initializes a component to manage the specified SpriteKit node.
         */
        constructor (node: SKNode);
    }
    export class GKBox {
        /**
         * The corner of the box with the highest coordinate values (in most coordinate systems, the near-upper-right corner).
         */
        boxMax: vector_float3;
        /**
         * The corner of the box with the lowest coordinate values (in most coordinate systems, the far-lower-left corner).
         */
        boxMin: vector_float3;
        constructor ();
        constructor (boxMin: vector_float3, boxMax: vector_float3);
    }
    export class GKQuad {
        /**
         * The corner of the rectangle with the highest coordinate values (in most coordinate systems, the upper-right corner).
         */
        quadMax: vector_float2;
        /**
         * The corner of the rectangle with the lowest coordinate values (in most coordinate systems, the lower-left corner).
         */
        quadMin: vector_float2;
        constructor ();
        constructor (quadMin: vector_float2, quadMax: vector_float2);
    }
    export enum GKRTreeSplitStrategy {
        halve = 0,
        linear = 1,
        quadratic = 2,
        reduceOverlap = 3,
    }
    export class GKSCNNodeComponent extends GKComponent {
        node: SCNNode;
        constructor (node: SCNNode);
    }
    export class GKQuadtreeNode extends NSObject {
        /**
         * The axis-aligned bounding rectangle represented by the node.
         */
        quad: GKQuad;
    }
    export class GKOctreeNode extends NSObject {
        /**
         * The axis-aligned bounding box represented by the node.
         */
        box: GKBox;
    }
    export interface GKStrategist extends NSObjectProtocol {
        /**
         * The model representing the current state of the game.
         */
        gameModel: GKGameModel | null;
        /**
         * A randomizer object to be used when the strategist randomly selects a move.
         */
        randomSource: GKRandom | null;
        /**
         * Computes and returns the best possible move for the current player.
         */
        bestMoveForActivePlayer():GKGameModelUpdate | null;
    }
    export class GKMinmaxStrategist extends NSObject {
        /**
         * The number of future turns for the strategist to consider when planning moves.
         */
        maxLookAheadDepth: number;
        /**
         * Computes and returns the best possible move for the specified player.
         */
        bestMove(player: GKGameModelPlayer):GKGameModelUpdate | null;
        /**
         * Computes several of the best possible moves for the specified player, and returns a move randomly selected from among them. 
         */
        randomMove(player: GKGameModelPlayer, numMovesToConsider: number):GKGameModelUpdate | null;
    }
    export class GKMonteCarloStrategist extends NSObject {
        /**
         * The maximum number of game model states the strategist will examine when searching for a move.
         */
        budget: number;
        /**
         * A value that influences whether the strategist searches more broadly or more deeply for winning game model states.
         */
        explorationParameter: number;
    }
    export interface GKGameModel extends NSCopying,NSObjectProtocol {
        /**
         * The players currently in the game.
         */
        players: GKGameModelPlayer[] | null;
        /**
         * The player whose turn it currently is in the game.
         */
        activePlayer: GKGameModelPlayer | null;
        /**
         * Returns the set of moves available to the specified player.
         */
        gameModelUpdates(player: GKGameModelPlayer):GKGameModelUpdate[] | null;
        /**
         * Returns a number rating the desirability of the game model’s current state from the perspective of the specified player.
         */
        score(player: GKGameModelPlayer):number;
        /**
         * Returns a Boolean value indicating whether the specified player has lost the game.
         */
        isLoss(player: GKGameModelPlayer):boolean;
        /**
         * Returns a Boolean value indicating whether the current state of the game model reflects a win for the specified player.
         */
        isWin(player: GKGameModelPlayer):boolean;
        /**
         * Updates the internal state of the game model to reflect the specified changes.
         */
        apply(gameModelUpdate: GKGameModelUpdate):void;
        /**
         * Updates the internal state of the game model to remove the effect of the specified changes.
         */
        unapplyGameModelUpdate(gameModelUpdate: GKGameModelUpdate):void;
        /**
         * Sets the game model’s internal state to that of the specified game model.
         */
        setGameModel(gameModel: GKGameModel):void;
    }
}

/**
 * Speed up OpenGL ES or OpenGL app development. Use math libraries, background texture loading, pre-created shader effects, and a standard view and view controller to implement your rendering loop.
 */
declare module GLKit {
    export class GLKTextureInfo extends NSObject {
        arrayLength: GLuint;
        depth: GLuint;
        mimapLevelCount: GLuint;
        /**
         * The OpenGL context’s name for the texture.
         */
        name: GLuint;
        /**
         * The OpenGL binding target for the texture.
         */
        target: GLenum;
        /**
         * The height of the loaded texture.
         */
        height: GLuint;
        /**
         * The width of the loaded texture.
         */
        width: GLuint;
        /**
         * The location of the origin in the loaded texture.
         */
        textureOrigin: GLKTextureInfoOrigin;
        /**
         * The state of the alpha component in the loaded texture.
         */
        alphaState: GLKTextureInfoAlphaState;
        /**
         * A Boolean value that states whether the loaded texture contains mip maps.
         */
        containsMipmaps: boolean;
    }
    export enum GLKTextureInfoAlphaState {
        none = 0,
        nonPremultiplied = 1,
        premultiplied = 2,
    }
    export interface GLKViewDelegate extends NSObjectProtocol {
        /**
         * Draws the view’s contents.
         */
        glkView(view: GLKView, rect: CGRect):void;
    }
    export class GLKViewController extends UIViewController {
        /**
         * The rate you want the view controller to call the view to update the contents of the view.
         */
        preferredFramesPerSecond: number;
        /**
         * The actual rate that the view controller attempts to call the view to update its contents.
         */
        framesPerSecond: number;
        /**
         * The view controller’s delegate.
         */
        delegate: GLKViewControllerDelegate | null;
        /**
         * A Boolean value that indicates whether the rendering loop is paused.
         */
        isPaused: boolean;
        /**
         * A Boolean value that indicates whether the view controller automatically pauses the rendering loop when the application resigns the active state.
         */
        pauseOnWillResignActive: boolean;
        /**
         * A Boolean value that indicates whether the view controller automatically resumes the rendering loop when the application becomes active.
         */
        resumeOnDidBecomeActive: boolean;
        /**
         * The number of frame updates that have been sent by the view controller since it was created.
         */
        framesDisplayed: number;
        /**
         * The amount of time that has passed since first time the view controller resumed sending update events.
         */
        timeSinceFirstResume: TimeInterval;
        /**
         * The amount of time that has passed since the last time the view controller resumed sending update events.
         */
        timeSinceLastResume: TimeInterval;
        /**
         * The amount of time that has passed since the last time the view controller called the delegate’s 
         *  method.
         */
        timeSinceLastUpdate: TimeInterval;
        /**
         * The amount of time that has passed since the last time the view controller called the view’s 
         *  method.
         */
        timeSinceLastDraw: TimeInterval;
    }
    export interface GLKViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called before each frame is displayed.
         */
        glkViewControllerUpdate(controller: GLKViewController):void;
        /**
         * Called before the rendering loop is paused or resumed.
         */
        glkViewController(controller: GLKViewController, pause: boolean):void;
    }
    export class GLKMesh extends NSObject {
        name: string;
        submeshes: GLKSubmesh[];
        vertexBuffers: GLKMeshBuffer[];
        vertexCount: number;
        vertexDescriptor: MDLVertexDescriptor;
        constructor (mesh: MDLMesh);
        static newMeshes(asset: MDLAsset, sourceMeshes: AutoreleasingUnsafeMutablePointer<NSArray?> | null):GLKMesh[];
    }
    export class GLKMeshBuffer extends NSObject {
        allocator: GLKMeshBufferAllocator;
        glBufferName: GLuint;
        length: number;
        offset: number;
        type: MDLMeshBufferType;
        zone():MDLMeshBufferZone | null;
    }
    export enum GLKTextureInfoOrigin {
        unknown = 0,
        topLeft = 1,
        bottomLeft = 2,
    }
    export class GLKMeshBufferAllocator extends NSObject {}
    export class GLKSubmesh extends NSObject {
        elementBuffer: GLKMeshBuffer;
        elementCount: GLsizei;
        mesh: GLKMesh | null;
        mode: GLenum;
        name: string;
        type: GLenum;
    }
    export interface GLKNamedEffect {
        /**
         * Prepares an effect for OpenGL ES rendering.
         */
        prepareToDraw():void;
    }
    export class GLKBaseEffect extends NSObject {
        /**
         * A string used to name your effect.
         */
        label: string;
        /**
         * The modelview, projection and texture transformations applied to the vertex data when the effect is bound.
         */
        transform: GLKEffectPropertyTransform;
        /**
         * The strategy the effect uses to calculate light values at each fragment. See 
         * .
         */
        lightingType: GLKLightingType;
        /**
         * A Boolean value that indicates whether lighting is calculated for both sides of a primitive.
         */
        lightModelTwoSided: GLboolean;
        /**
         * The material properties used when calculating the light values for a rendered primitive.
         */
        material: GLKEffectPropertyMaterial;
        /**
         * The ambient color applied to all primitives rendered by the effect.
         */
        lightModelAmbientColor: GLKVector4;
        /**
         * The lighting properties for the first light in the scene.
         */
        light0: GLKEffectPropertyLight;
        /**
         * The lighting properties for the second light in the scene.
         */
        light1: GLKEffectPropertyLight;
        /**
         * The lighting properties for the third light in the scene.
         */
        light2: GLKEffectPropertyLight;
        /**
         * The properties for the first texture.
         */
        texture2d0: GLKEffectPropertyTexture;
        /**
         * The properties for the second texture.
         */
        texture2d1: GLKEffectPropertyTexture;
        /**
         * The order in which textures are applied to rendered primitives.
         */
        textureOrder: GLKEffectPropertyTexture[] | null;
        /**
         * The fog properties to apply to the scene.
         */
        fog: GLKEffectPropertyFog;
        /**
         * A Boolean value that indicates whether or not to use the color vertex attribute when calculating the light’s interaction with the material.
         */
        colorMaterialEnabled: GLboolean;
        /**
         * A Boolean value that indicates whether or not to use the constant color.
         */
        useConstantColor: GLboolean;
        /**
         * A constant color, used when per-vertex color data is not provided.
         */
        constantColor: GLKVector4;
        /**
         * Prepares an effect for rendering.
         */
        prepareToDraw():void;
    }
    export class GLKReflectionMapEffect extends GLKBaseEffect {
        /**
         * The texture map to apply in the reflection stage.
         */
        textureCubeMap: GLKEffectPropertyTexture;
        /**
         * The reflection matrix to apply to the normals of the submitted vertices.
         */
        matrix: GLKMatrix3;
        /**
         * Prepares an effect for rendering.
         */
        prepareToDraw():void;
    }
    export class GLKSkyboxEffect extends NSObject {
        /**
         * A string used to name your effect.
         */
        label: string;
        /**
         * The texture to apply to the skybox.
         */
        textureCubeMap: GLKEffectPropertyTexture;
        /**
         * The center of the skybox.
         */
        center: GLKVector3;
        /**
         * The width of the skybox.
         */
        xSize: GLfloat;
        /**
         * The height of the skybox.
         */
        ySize: GLfloat;
        /**
         * The depth of the skybox.
         */
        zSize: GLfloat;
        /**
         * The transform applied before drawing the skybox.
         */
        transform: GLKEffectPropertyTransform;
        /**
         * Prepares an effect for rendering.
         */
        prepareToDraw():void;
        /**
         * Draws the skybox.
         */
        draw():void;
    }
    export class GLKEffectProperty extends NSObject {}
    export class GLKEffectPropertyFog extends GLKEffectProperty {
        /**
         * A Boolean value that indicates whether fog is applied to the fragment color.
         */
        enabled: GLboolean;
        /**
         * The algorithm used to compute the density of the fog applied to the fragment color.
         */
        mode: GLint;
        /**
         * The color of the fog at maximum density.
         */
        color: GLKVector4;
        /**
         * The rate at which the fog exponent increases.
         */
        density: GLfloat;
        /**
         * The minimum distance in eye coordinates before fog is applied to the fragment color.
         */
        start: GLfloat;
        /**
         * The distance in eye coordinates where fog completely covers the color fragment.
         */
        end: GLfloat;
    }
    export enum GLKFogMode {
        exp = 0,
        exp2 = 1,
        linear = 2,
    }
    export class GLKEffectPropertyLight extends GLKEffectProperty {
        /**
         * A Boolean value that indicates whether calculations should be performed on this light.
         */
        enabled: GLboolean;
        /**
         * The position of the light in world coordinates.
         */
        position: GLKVector4;
        /**
         * A transform applied to the light’s position and direction before calculating the contribution of the light.
         */
        transform: GLKEffectPropertyTransform;
        /**
         * The ambient portion of the light.
         */
        ambientColor: GLKVector4;
        /**
         * The diffuse portion of the light.
         */
        diffuseColor: GLKVector4;
        /**
         * The specular portion of the light.
         */
        specularColor: GLKVector4;
        /**
         * A constant factor applied to the attenuation of a point light or spotlight.
         */
        constantAttenuation: GLfloat;
        /**
         * A linear factor applied to the attenuation of a point light or spotlight.
         */
        linearAttenuation: GLfloat;
        /**
         * A quadratic factor applied to the attenuation of a point light or spotlight.
         */
        quadraticAttenuation: GLfloat;
        /**
         * The angle in degrees where the spotlight is cut off.
         */
        spotCutoff: GLfloat;
        /**
         * A vector indicating the direction the spotlight is projecting.
         */
        spotDirection: GLKVector3;
        /**
         * A value indicating how focused the spotlight is.
         */
        spotExponent: GLfloat;
    }
    export enum GLKLightingType {
        perVertex = 0,
        perPixel = 1,
    }
    export class GLKTextureLoader extends NSObject {
        /**
         * Initializes a new texture loader object.
         */
        constructor (sharegroup: EAGLSharegroup);
        /**
         * Initializes a new texture loader object.
         */
        constructor (context: NSOpenGLContext);
        /**
         * Loads a 2D texture image from a file and creates a new texture from the data.
         */
        static texture(path: string, options: Record<string, NSNumber> | null):GLKTextureInfo;
        /**
         * Loads a cube map texture image from a single file and creates a new texture from the data.
         */
        static cubeMap(path: string, options: Record<string, NSNumber> | null):GLKTextureInfo;
    }
    export class GLKEffectPropertyTexture extends GLKEffectProperty {
        /**
         * A Boolean value that indicates whether this texture is used to texture drawn primitives.
         */
        enabled: GLboolean;
        /**
         * The mode the texture uses to compute its output fragment color. See 
         * .
         */
        envMode: GLKTextureEnvMode;
        /**
         * The OpenGL name for the texture being sampled by this texture stage.
         */
        name: GLuint;
        /**
         * The kind of texture pointed to by the texture stage. See 
         * .
         */
        target: GLKTextureTarget;
    }
    export enum GLKTextureTarget {
        target2D = 3553,
        targetCubeMap = 34067,
        targetCt = 2,
    }
    export enum GLKTextureEnvMode {
        replace = 0,
        modulate = 1,
        decal = 2,
    }
    export class GLKEffectPropertyMaterial extends GLKEffectProperty {
        /**
         * The ambient color of the material.
         */
        ambientColor: GLKVector4;
        /**
         * The diffuse color of the material.
         */
        diffuseColor: GLKVector4;
        /**
         * The emissive color of the material.
         */
        emissiveColor: GLKVector4;
        /**
         * The shininess of the material, used when calculating specular lighting effects.
         */
        shininess: GLfloat;
        /**
         * The specular color of the material.
         */
        specularColor: GLKVector4;
    }
    export class GLKEffectPropertyTransform extends GLKEffectProperty {
        /**
         * The matrix used to transform position coordinates from world space to eye space.
         */
        modelviewMatrix: GLKMatrix4;
        /**
         * The matrix used to transform normal coordinates from world space to eye space.
         */
        normalMatrix: GLKMatrix3;
        /**
         * The matrix used to transform position coordinates from eye space to projection space.
         */
        projectionMatrix: GLKMatrix4;
    }
    export enum GLKVertexAttrib {
        position = 0,
        normal = 1,
        color = 2,
        texCoord0 = 3,
        texCoord1 = 4,
    }
    export class GLKMatrixStack {}
    export class GLKTextureLoaderError {
        static alphaPremultiplicationFailure: GLKTextureLoaderError.Code;
        static compressedTextureUpload: GLKTextureLoaderError.Code;
        static cubeMapInvalidNumFiles: GLKTextureLoaderError.Code;
        static dataPreprocessingFailure: GLKTextureLoaderError.Code;
        static errorDomain: string;
        static fileOrURLNotFound: GLKTextureLoaderError.Code;
        static incompatibleFormatSRGB: GLKTextureLoaderError.Code;
        static invalidCGImage: GLKTextureLoaderError.Code;
        static invalidEAGLContext: GLKTextureLoaderError.Code;
        static invalidNSData: GLKTextureLoaderError.Code;
        static mipmapUnsupported: GLKTextureLoaderError.Code;
        static pvrAtlasUnsupported: GLKTextureLoaderError.Code;
        static reorientationFailure: GLKTextureLoaderError.Code;
        static uncompressedTextureUpload: GLKTextureLoaderError.Code;
        static unknownFileType: GLKTextureLoaderError.Code;
        static unknownPathType: GLKTextureLoaderError.Code;
        static unsupportedBitDepth: GLKTextureLoaderError.Code;
        static unsupportedCubeMapDimensions: GLKTextureLoaderError.Code;
        static unsupportedOrientation: GLKTextureLoaderError.Code;
        static unsupportedPVRFormat: GLKTextureLoaderError.Code;
        static unsupportedTextureTarget: GLKTextureLoaderError.Code;
        code: Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        hashValue: number;
        localizedDescription: string;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class GLKTextureLoaderError
     */
    export namespace GLKTextureLoaderError {
        export enum Code {
            fileOrURLNotFound = 0,
            invalidNSData = 1,
            invalidCGImage = 2,
            unknownPathType = 3,
            unknownFileType = 4,
            pvrAtlasUnsupported = 5,
            cubeMapInvalidNumFiles = 6,
            compressedTextureUpload = 7,
            uncompressedTextureUpload = 8,
            unsupportedCubeMapDimensions = 9,
            unsupportedBitDepth = 10,
            unsupportedPVRFormat = 11,
            dataPreprocessingFailure = 12,
            mipmapUnsupported = 13,
            unsupportedOrientation = 14,
            reorientationFailure = 15,
            alphaPremultiplicationFailure = 16,
            invalidEAGLContext = 17,
            incompatibleFormatSRGB = 18,
            unsupportedTextureTarget = 19,
        }
    }
    export enum GLKViewDrawableColorFormat {
        RGBA8888 = 0,
        RGB565 = 1,
        SRGBA8888 = 2,
    }
    export enum GLKViewDrawableDepthFormat {
        formatNone = 0,
        format16 = 1,
        format24 = 2,
    }
    export enum GLKViewDrawableMultisample {
        multisampleNone = 0,
        multisample4X = 1,
    }
    export enum GLKViewDrawableStencilFormat {
        formatNone = 0,
        format8 = 1,
    }
    export class GLKView extends UIView {
        /**
         * The view’s delegate.
         */
        delegate: GLKViewDelegate | null;
        /**
         * The format of the color renderbuffer.
         */
        drawableColorFormat: GLKViewDrawableColorFormat;
        /**
         * The format of the depth renderbuffer
         */
        drawableDepthFormat: GLKViewDrawableDepthFormat;
        /**
         * The format of the stencil renderbuffer.
         */
        drawableStencilFormat: GLKViewDrawableStencilFormat;
        /**
         * The format of the multisampling buffer.
         */
        drawableMultisample: GLKViewDrawableMultisample;
        /**
         * The height, in pixels, of the underlying framebuffer object.
         */
        drawableHeight: number;
        /**
         * The width, in pixels, of the underlying framebuffer object.
         */
        drawableWidth: number;
        /**
         * The OpenGL ES context used when drawing the view’s contents.
         */
        context: EAGLContext;
        /**
         * A Boolean value that indicates whether the view responds to messages that invalidate the view’s contents.
         */
        enableSetNeedsDisplay: boolean;
        /**
         * Draws the contents of the view and returns them as a new image object.
         */
        snapshot: UIImage;
        /**
         * Initializes a new view.
         */
        constructor (frame: CGRect, context: EAGLContext);
        /**
         * Binds the underlying framebuffer object to OpenGL ES.
         */
        bindDrawable():void;
        /**
         * Redraws the view’s contents immediately.
         */
        display():void;
        /**
         * Deletes the drawable object associated with the view.
         */
        deleteDrawable():void;
    }
}

/**
 * Create app-specific activities your users can share and experience together.
 */
declare module GroupActivities {
    export enum GroupActivityActivationResult {}
    export class GroupActivitySharingController extends UIViewController {
        /**
         * The result of a request to share a group activity.
         */
        result: GroupActivitySharingResult;
        modalPresentationStyle: UIModalPresentationStyle;
        /**
         * Initializes the SharePlay sharing controller with the group activity and type.
         */
        constructor (activity: ActivityType);
        /**
         * Initializes the SharePlay sharing controller with the group activity.
         */
        constructor (preparationHandler: ActivityType);
        /**
         * Notifies the view controller that the system added a view to a view hierarchy.
         */
        viewDidLoad():void;
        /**
         * Notifies the view controller that the system is going to add a view to a view hierarchy.
         */
        viewWillAppear(animated: boolean):void;
    }
    export class GroupSession {
        /**
         * The current activity associated with the session.
         */
        activity: ActivityType;
        /**
         * The current state of the session.
         */
        state: any;
        /**
         * The unique identifier of the current session.
         */
        id: UUID;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The participant on the current device.
         */
        localParticipant: Participant;
        /**
         * The set of participants currently engaged in the activity.
         */
        activeParticipants: Set<Participant>;
        /**
         * A publisher that emits before the object has changed.
         */
        objectWillChange: ObservableObjectPublisher;
        /**
         * Starts the shared activity on the current device.
         */
        join():void;
        /**
         * Leaves the current activity and stops receiving synchronized data.
         */
        leave():void;
        /**
         * Ends the activity for the entire group and stops the transfer
         *  
         * of synchronized data.
         */
        end():void;
        /**
         * Tells the system that your app needs to be in the foreground to continue an activity.
         */
        requestForegroundPresentation():void;
        /**
         * Posts an event to the system, which displays the information in
         *  
         * the system UI.
         */
        showNotice(event: GroupSessionEvent):void;
        /**
         * Posts an event to the system, which displays the information in
         *  
         * the system UI.
         */
        postEvent(event: any):void;
    }
    /**
     * the same name namespace of class GroupSession
     */
    export namespace GroupSession {
        export class Sessions {
            /**
             * Creates the asynchronous iterator that produces elements of this
             *  
             * asynchronous sequence.
             */
            makeAsyncIterator():any;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence
             *  
             * contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the
             *  
             * asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length,
             *  
             * containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Self>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence,
             *  
             * then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Self>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure
             *  
             * returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Self>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of
             *  
             * the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Self>;
            /**
             * Returns the result of combining the elements of the asynchronous sequence
             *  
             * using the given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Creates an asynchronous sequence that maps an error-throwing closure over
             *  
             * the base sequence’s elements, omitting results that don’t return a value.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
            /**
             * Creates an asynchronous sequence that concatenates the results of calling
             *  
             * the given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
            /**
             * Creates an asynchronous sequence that maps the given closure over the
             *  
             * asynchronous sequence’s elements.
             */
            map<Transformed>(transform: Transformed):any;
        }
        /**
         * the same name namespace of class Sessions
         */
        export namespace Sessions {
            export class Iterator {
                /**
                 * Asynchronously advances to the next element and returns it, or ends the
                 *  
                 * sequence if there is no next element.
                 */
                next():GroupSession<ActivityType> | null;
            }
        }
        export enum State {}
        export class Event {
            /**
             * The participant that initiated the event.
             */
            originator: Participant;
            /**
             * A localized description of the event
             */
            localizedDescription: string;
            constructor (originator: Participant, localizedDescription: string);
        }
    }
    export class GroupSessionEvent {
        /**
         * The participant that initiated the event.
         */
        originator: Participant;
        /**
         * The URL to open when the participant taps the event link in the system UI.
         */
        url: URL | null;
        /**
         * The reason for the event.
         */
        action: GroupSessionEvent.Action;
        /**
         * Creates a new event with the specified participant and action details.
         */
        constructor (originator: Participant, action: GroupSessionEvent.Action, url: URL | null);
    }
    /**
     * the same name namespace of class GroupSessionEvent
     */
    export namespace GroupSessionEvent {
        export class Action {
            /**
             * An action that indicates the start of playback.
             */
            static play: GroupSessionEvent.Action;
            /**
             * An action that indicates an end to playback.
             */
            static pause: GroupSessionEvent.Action;
            /**
             * An event that indicates a change to the current playback location.
             */
            static seek: GroupSessionEvent.Action;
            /**
             * Returns an event that indicates a skipped track or playback item.
             */
            static skip(item: string):GroupSessionEvent.Action;
            /**
             * Returns an action that represents a change to the playback queue.
             */
            static updatedQueue(change: GroupSessionEvent.Action.QueueChange):GroupSessionEvent.Action;
        }
        /**
         * the same name namespace of class Action
         */
        export namespace Action {
            export class QueueChange {
                /**
                 * Returns a queue change for an added item.
                 */
                static added(item: GroupSessionEvent.Action.QueueChange.Item):GroupSessionEvent.Action.QueueChange;
                /**
                 * Returns a queue change for a new up-next item.
                 */
                static setUpNext(item: GroupSessionEvent.Action.QueueChange.Item):GroupSessionEvent.Action.QueueChange;
            }
            /**
             * the same name namespace of class QueueChange
             */
            export namespace QueueChange {
                export class Item {
                    /**
                     * Creates an item that contains the name of a song.
                     */
                    static song(name: string):GroupSessionEvent.Action.QueueChange.Item;
                    /**
                     * Creates an item that contains the name of a container.
                     */
                    static container(name: string):GroupSessionEvent.Action.QueueChange.Item;
                }
            }
        }
    }
    export class GroupActivityMetadata {
        /**
         * The localized string to display as the title of your activity.
         */
        title: string;
        /**
         * The localized string that provides additional information about the activity.
         */
        subtitle: string;
        /**
         * The image to display for the current activity.
         */
        previewImage: CGImage | null;
        /**
         * A URL that offers participants a way to identify or join the activity
         *  
         * from a web browser.
         */
        fallbackURL: URL | null;
        /**
         * The type of shared experience.
         */
        type: GroupActivityMetadata.ActivityType;
        /**
         * A Boolean value that indicates whether your app supports activity continuation on an Apple TV.
         */
        supportsContinuationOnTV: boolean;
        /**
         * Preferences for how to present audio and video on the main communication channel.
         */
        preferredBroadcastOptions: BroadcastOptions;
        experience: GroupActivityMetadata.Experience | null;
        localizedSubtitle: string;
        localizedTitle: string;
        /**
         * Creates a new instance for storing descriptive information about an activity.
         */
        constructor ();
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class GroupActivityMetadata
     */
    export namespace GroupActivityMetadata {
        export class ActivityType {
            /**
             * A generic activity.
             */
            static generic: GroupActivityMetadata.ActivityType;
            /**
             * A shared listening activity, such as listening to music together.
             */
            static listenTogether: GroupActivityMetadata.ActivityType;
            /**
             * A shared watching activity, such as watching an episode of a television show together.
             */
            static watchTogether: GroupActivityMetadata.ActivityType;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export enum Experience {}
    }
    export class GroupSessionMessenger {
        /**
         * The 
         *  specified at initialization time (defaults to 
         * ).
         */
        deliveryMode: GroupSessionMessenger.DeliveryMode;
        /**
         * Creates a new group session messenger with
         *  
         *  
         * delivery mode and associates it with the specified session object.
         */
        constructor (session: GroupSession<Activity>);
        /**
         * Creates a new group session messenger with the specified delivery mode,
         *  
         * ,
         *  
         * and associates it with the specified session object.
         */
        constructor (session: GroupSession<Activity>, deliveryMode: GroupSessionMessenger.DeliveryMode);
        /**
         * Sends a standard data object asynchronously to other participants in the group session.
         */
        send(value: Data, participants: Participants):void;
        /**
         * Sends a custom type asynchronously to other participants in the group session.
         */
        send<Message>(value: Message, participants: Participants):void;
        /**
         * Returns the asynchronous sequence of messages that contain a generic data object.
         */
        messages(type: Data.Type):GroupSessionMessenger.Messages<Data>;
        /**
         * Returns the asynchronous sequence of messages that match the app-specific type.
         */
        messages<Message>(type: Message.Type):Encodable;
    }
    /**
     * the same name namespace of class GroupSessionMessenger
     */
    export namespace GroupSessionMessenger {
        export class Messages {
            /**
             * Creates the asynchronous iterator that produces elements of this
             *  
             * asynchronous sequence.
             */
            makeAsyncIterator():any;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence
             *  
             * contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the
             *  
             * asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length,
             *  
             * containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Self>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence,
             *  
             * then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Self>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure
             *  
             * returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Self>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of
             *  
             * the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Self>;
            /**
             * Returns the result of combining the elements of the asynchronous sequence
             *  
             * using the given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Creates an asynchronous sequence that maps the given closure over the
             *  
             * asynchronous sequence’s elements, omitting results that don’t return a
             *  
             * value.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
            /**
             * Creates an asynchronous sequence that concatenates the results of calling
             *  
             * the given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
            /**
             * Creates an asynchronous sequence that maps the given closure over the
             *  
             * asynchronous sequence’s elements.
             */
            map<Transformed>(transform: Transformed):any;
        }
        /**
         * the same name namespace of class Messages
         */
        export namespace Messages {
            export class Iterator {
                /**
                 * Asynchronously advances to the next element and returns it, or ends the
                 *  
                 * sequence if there is no next element.
                 */
                next():any;
            }
        }
        export class MessageContext {
            /**
             * The participant device that sent the message.
             */
            source: Participant;
        }
        export enum DeliveryMode {}
    }
    export enum Participants {}
    export class Participant {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A globally unique identifier for the session participant.
         */
        id: UUID;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class GroupStateObserver {
        /**
         * A Boolean value that indicates whether the system can start a group session.
         */
        isEligibleForGroupSession: boolean;
        /**
         * A publisher that emits before the object has changed.
         */
        objectWillChange: ObservableObjectPublisher;
        /**
         * Creates a new group state observer object for determining the availability of group sessions.
         */
        constructor ();
    }
    export enum GroupActivitySharingResult {}
    export class BroadcastOptions {
        /**
         * An option to mirror video on its vertical axis.
         */
        static mirroredVideo: BroadcastOptions;
        /**
         * The raw value.
         */
        rawValue: number;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates a set of options from a raw value.
         */
        constructor (rawValue: number);
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Returns a Boolean value that indicates whether a given element is a
         *  
         * member of the option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that are not
         *  
         * also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces this set with a new set containing all elements
         *  
         * contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in both this
         *  
         * set and the given set.
         */
        intersection(other: Self):Self;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Returns a new option set with the elements contained in this set or in
         *  
         * the given set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in the
         *  
         * given set, or in both.
         */
        union(other: Self):Self;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: Self.Element):Self.Element | null;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
    }
}

/**
 * Conduct secure, authenticated network transactions.
 */
declare module GSS {
    export class gss_channel_bindings_struct {
        /**
         * The type of address contained in the 
         *  field.
         */
        initiator_addrtype: OM_uint32;
        /**
         * The network address of the acceptor, in the form specified by 
         * .
         */
        initiator_address: gss_buffer_desc;
        /**
         * The type of address contained in the 
         *  field.
         */
        acceptor_addrtype: OM_uint32;
        /**
         * The network address of the acceptor, in the form specified by 
         * .
         */
        acceptor_address: gss_buffer_desc;
        /**
         * Application specific data for use in communicating a channel binding.
         */
        application_data: gss_buffer_desc;
        /**
         * Initialize a new, empty channel bindings structure.
         */
        constructor ();
        /**
         * Initialize a new channel bindings structure with the given configuration.
         */
        constructor (initiator_addrtype: OM_uint32, initiator_address: gss_buffer_desc, acceptor_addrtype: OM_uint32, acceptor_address: gss_buffer_desc, application_data: gss_buffer_desc);
    }
    export class gss_OID_desc_struct {
        /**
         * A pointer to the octets that make up the object identifier.
         */
        elements: UnsafeMutableRawPointer!;
        /**
         * The number of octets in the object identifier.
         */
        length: OM_uint32;
        /**
         * Initialize a new, empty object identifier.
         */
        constructor ();
        /**
         * Initialize a new object identifier with the given array of octets.
         */
        constructor (length: OM_uint32, elements: UnsafeMutableRawPointer!);
    }
    export class gss_OID_set_desc_struct {
        /**
         * The number of OID descriptors in the array.
         */
        count: number;
        /**
         * A pointer to the array of OID descriptors.
         */
        elements: gss_OID!;
        /**
         * Initialize a new, empty object identifier set.
         */
        constructor ();
        /**
         * Initialize a new object identifier set with the given identifiers.
         */
        constructor (count: number, elements: gss_OID!);
    }
    export class gss_iov_buffer_desc_struct {
        /**
         * The buffer length and contents.
         */
        buffer: gss_buffer_desc;
        /**
         * The buffer type.
         */
        type: OM_uint32;
        /**
         * Initialize a new, empty IOV buffer structure.
         */
        constructor ();
        constructor (type: OM_uint32, buffer: gss_buffer_desc);
    }
    export class gss_buffer_desc_struct {
        /**
         * The number of bytes held in the buffer.
         */
        length: number;
        /**
         * A pointer to the bytes in the buffer.
         */
        value: UnsafeMutableRawPointer!;
        /**
         * Initialize a new, empty buffer.
         */
        constructor ();
        /**
         * Initialize a new buffer with the given array of elements.
         */
        constructor (length: number, value: UnsafeMutableRawPointer!);
    }
    export class gss_buffer_set_desc_struct {
        /**
         * The number of buffer descriptors in the array.
         */
        count: number;
        /**
         * A pointer to an array of buffer descriptors.
         */
        elements: UnsafeMutablePointer<gss_buffer_desc>!;
        /**
         * Initialize a new, empty buffer set.
         */
        constructor ();
        /**
         * Initialize a new buffer set with the given buffers.
         */
        constructor (count: number, elements: UnsafeMutablePointer<gss_buffer_desc>!);
    }
}

/**
 * Configure, control, and communicate with home automation accessories.
 */
declare module HomeKit {
    export class HMHomeManager extends NSObject {
        /**
         * An array of all homes managed by this home manager.
         */
        homes: HMHome[];
    }
    export class HMAccessory extends NSObject {
        /**
         * A unique identifier for the accessory.
         */
        uniqueIdentifier: UUID;
        /**
         * The room containing the accessory.
         */
        room: HMRoom | null;
        /**
         * A unique identifier for the accessory.
         */
        identifier: UUID;
        /**
         * An array of profiles implemented by the accessory.
         */
        profiles: HMAccessoryProfile[];
        /**
         * The category to which the accessory belongs.
         */
        category: HMAccessoryCategory;
        /**
         * An array of camera profiles implemented by the accessory.
         */
        cameraProfiles: HMCameraProfile[] | null;
        /**
         * A Boolean value indicating whether the accessory can be communicated with in the current network environment.
         */
        isReachable: boolean;
        /**
         * A Boolean value indicating whether the accessory is blocked.
         */
        isBlocked: boolean;
        /**
         * A Boolean value that indicates whether the accessory supports the identify action.
         */
        supportsIdentify: boolean;
        /**
         * An array of services provided by the accessory.
         */
        services: HMService[];
        /**
         * A Boolean that indicates whether the accessory is accessed through a bridge.
         */
        isBridged: boolean;
        /**
         * An array of unique identifiers, each of which represents an accessory vended by the bridge.
         */
        uniqueIdentifiersForBridgedAccessories: UUID[] | null;
        /**
         * An array of identifiers for accessories available through a bridge.
         */
        identifiersForBridgedAccessories: UUID[] | null;
        /**
         * The firmware version of the accessory.
         */
        firmwareVersion: string;
        /**
         * The manufacturer of the accessory.
         */
        manufacturer: string;
        /**
         * The model name of the accessory.
         */
        model: string;
        /**
         * Asks an accessory to identify itself.
         */
        identify(completion: ()=>any):void;
    }
    export class HMAccessoryCategory extends NSObject {
        /**
         * A localized description of the category.
         */
        localizedDescription: string;
    }
    export class HMRoom extends NSObject {
        /**
         * The name of the room.
         */
        name: string;
        /**
         * The unique identifier for a room.
         */
        uniqueIdentifier: UUID;
        /**
         * The collection of accessories in the room.
         */
        accessories: HMAccessory[];
        /**
         * Updates the name of the room.
         */
        updateName(name: string, completion: ()=>any):void;
    }
    export class HMAccessoryProfile extends NSObject {
        /**
         * The accessory that implements this profile.
         */
        accessory: HMAccessory | null;
        /**
         * An array of services that represents this profile.
         */
        services: HMService[];
        /**
         * A unique identifier for the profile.
         */
        uniqueIdentifier: UUID;
    }
    export class HMNetworkConfigurationProfile extends HMAccessoryProfile {
        /**
         * An indication of whether the accessory’s access to the network is restricted.
         */
        isNetworkAccessRestricted: boolean;
        /**
         * A delegate that HomeKit tells about changes in the state of network access.
         */
        delegate: HMNetworkConfigurationProfileDelegate | null;
    }
    export interface HMNetworkConfigurationProfileDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the network access mode has changed.
         */
        profileDidUpdateNetworkAccessMode(profile: HMNetworkConfigurationProfile):void;
    }
    export class HMCameraProfile extends HMAccessoryProfile {
        /**
         * Controls the settings on the camera.
         */
        settingsControl: HMCameraSettingsControl | null;
        /**
         * Controls the microphone settings on the camera.
         */
        microphoneControl: HMCameraAudioControl | null;
        /**
         * Controls the speaker settings on the camera.
         */
        speakerControl: HMCameraAudioControl | null;
        /**
         * Controls the camera stream.
         */
        streamControl: HMCameraStreamControl | null;
        /**
         * Controls the camera's snapshot function.
         */
        snapshotControl: HMCameraSnapshotControl | null;
    }
    export class HMCameraSettingsControl extends HMCameraControl {
        /**
         * Characteristic corresponding to the camera's current horizontal tilt setting.
         */
        currentHorizontalTilt: HMCharacteristic | null;
        /**
         * Characteristic corresponding to adjusting the camera's horizontal tilt setting.
         */
        targetHorizontalTilt: HMCharacteristic | null;
        /**
         * Characteristic corresponding to the camera's current vertical tilt setting.
         */
        currentVerticalTilt: HMCharacteristic | null;
        /**
         * Characteristic corresponding to adjusting the camera's vertical tilt setting.
         */
        targetVerticalTilt: HMCharacteristic | null;
        /**
         * Characteristic corresponding to the camera's optical zoom setting.
         */
        opticalZoom: HMCharacteristic | null;
        /**
         * Characteristic corresponding to the camera's digital zoom setting.
         */
        digitalZoom: HMCharacteristic | null;
        /**
         * Characteristic corresponding to the camera's image mirroring setting.
         */
        imageMirroring: HMCharacteristic | null;
        /**
         * Characteristic corresponding to the camera's image rotation setting.
         */
        imageRotation: HMCharacteristic | null;
        /**
         * Characteristic corresponding to the camera's night vision setting.
         */
        nightVision: HMCharacteristic | null;
    }
    export class HMCameraControl extends NSObject {}
    export class HMCameraAudioControl extends HMCameraControl {
        mute: HMCharacteristic | null;
        volume: HMCharacteristic | null;
    }
    export class HMCameraStreamControl extends HMCameraControl {
        /**
         * The current camera stream.
         */
        cameraStream: HMCameraStream | null;
        /**
         * The current state of the camera stream.
         */
        streamState: HMCameraStreamState;
        /**
         * Delegate that receives updates as the camera stream changes.
         */
        delegate: HMCameraStreamControlDelegate | null;
        /**
         * Starts the camera stream.
         */
        startStream():void;
        /**
         * Stops the camera stream.
         */
        stopStream():void;
    }
    export class HMCameraStream extends HMCameraSource {
        /**
         * The stream's current audio setting.
         */
        audioStreamSetting: HMCameraAudioStreamSetting;
        /**
         * Updates an audio stream's settings.
         */
        updateAudioStreamSetting(audioStreamSetting: HMCameraAudioStreamSetting, completion: ()=>any):void;
        setAudioStreamSetting(audioStreamSetting: HMCameraAudioStreamSetting):void;
    }
    export enum HMCameraAudioStreamSetting {
        muted = 1,
        incomingAudioAllowed = 2,
        bidirectionalAudioAllowed = 3,
    }
    export enum HMCameraStreamState {
        notStreaming = 4,
        starting = 1,
        stopping = 3,
        streaming = 2,
    }
    export interface HMCameraStreamControlDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the camera stream has started.
         */
        cameraStreamControlDidStartStream(cameraStreamControl: HMCameraStreamControl):void;
        /**
         * Tells the delegate that the camera stream has stopped.
         */
        cameraStreamControl(cameraStreamControl: HMCameraStreamControl, error: Error | null):void;
    }
    export class HMCameraSnapshotControl extends HMCameraControl {
        /**
         * The camera's most recent snapshot.
         */
        mostRecentSnapshot: HMCameraSnapshot | null;
        /**
         * Delegate that receives updates as the camera takes snapshots.
         */
        delegate: HMCameraSnapshotControlDelegate | null;
        /**
         * Takes an image snapshot.
         */
        takeSnapshot():void;
    }
    export class HMCameraSnapshot extends HMCameraSource {
        /**
         * Date and time at which the snapshot was requested.
         */
        captureDate: Date;
    }
    export interface HMCameraSnapshotControlDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the camera has taken a new snapshot.
         */
        cameraSnapshotControl(cameraSnapshotControl: HMCameraSnapshotControl, snapshot: HMCameraSnapshot | null, error: Error | null):void;
        /**
         * Tells the delegate that the most recent snapshot has been updated.
         */
        cameraSnapshotControlDidUpdateMostRecentSnapshot(cameraSnapshotControl: HMCameraSnapshotControl):void;
    }
    export class CameraView {
        /**
         * Creates a new camera view using the given source.
         */
        constructor (source: HMCameraSource);
        fontDesign(design: Font.Design | null):View;
        monospaced(isActive: boolean):View;
        scrollContentBackground(visibility: Visibility):View;
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
    }
    export class HMCameraSource extends NSObject {
        /**
         * The aspect ratio of the camera.
         */
        aspectRatio: number;
    }
    export class HMHome extends NSObject {
        /**
         * A delegate that receives updates on the state of the home.
         */
        delegate: HMHomeDelegate | null;
        /**
         * The name the user gives to the home.
         */
        name: string;
        /**
         * A unique identifier for the home.
         */
        uniqueIdentifier: UUID;
        /**
         * A Boolean value that indicates whether this is the primary home for its home manager.
         */
        isPrimary: boolean;
        /**
         * An array of the rooms created and managed by the user.
         */
        rooms: HMRoom[];
        /**
         * An array of all the zones in the home.
         */
        zones: HMZone[];
        /**
         * An array of all service groups in the home.
         */
        serviceGroups: HMServiceGroup[];
        /**
         * The collection of accessories that are part of the home.
         */
        accessories: HMAccessory[];
        /**
         * The state of the home hub.
         */
        homeHubState: HMHomeHubState;
        /**
         * An array of the action sets in the home.
         */
        actionSets: HMActionSet[];
        /**
         * An array of triggers defined in the home.
         */
        triggers: HMTrigger[];
        /**
         * A Boolean that indicates whether a home supports all of the requirements for adding a network router.
         */
        supportsAddingNetworkRouter: boolean;
        /**
         * The current HomeKit user.
         */
        currentUser: HMUser;
        /**
         * All users associated with the home.
         */
        users: HMUser[];
        matterControllerID: string;
        matterControllerXPCConnectBlock: ()=>any;
        /**
         * Updates the name of the home.
         */
        updateName(name: string, completion: ()=>any):void;
        /**
         * A room that represents all parts of the home that don’t have a more specific room to represent them.
         */
        roomForEntireHome():HMRoom;
        /**
         * Creates a new room with the specified name.
         */
        addRoom(roomName: string, completion: ()=>any):void;
        /**
         * Removes a room from the home.
         */
        removeRoom(room: HMRoom, completion: ()=>any):void;
        /**
         * Adds a new zone to the home.
         */
        addZone(zoneName: string, completion: ()=>any):void;
        /**
         * Removes a zone from the home.
         */
        removeZone(zone: HMZone, completion: ()=>any):void;
        /**
         * Returns an array of all services provided by accessories in the home that match the specified types.
         */
        servicesWithTypes(serviceTypes: string[]):HMService[] | null;
        /**
         * Adds a service group to the home.
         */
        addServiceGroup(serviceGroupName: string, completion: ()=>any):void;
        /**
         * Removes a service group from the home.
         */
        removeServiceGroup(group: HMServiceGroup, completion: ()=>any):void;
        /**
         * Adds a new action set to the home.
         */
        addActionSet(actionSetName: string, completion: ()=>any):void;
        /**
         * Removes an action set from the home.
         */
        removeActionSet(actionSet: HMActionSet, completion: ()=>any):void;
        /**
         * Executes all the actions in a specified action set.
         */
        executeActionSet(actionSet: HMActionSet, completion: ()=>any):void;
        /**
         * Finds and adds nearby accessories to the home.
         */
        addAndSetupAccessories(completion: ()=>any):void;
        /**
         * Retrieves the builtin action set for the specified type.
         */
        builtinActionSet(actionSetType: string):HMActionSet | null;
        /**
         * Adds a trigger to the home.
         */
        addTrigger(trigger: HMTrigger, completion: ()=>any):void;
        /**
         * Removes a trigger from the home.
         */
        removeTrigger(trigger: HMTrigger, completion: ()=>any):void;
        /**
         * Adds a new accessory to the home.
         */
        addAccessory(accessory: HMAccessory, completion: ()=>any):void;
        /**
         * Assigns an accessory to a different room.
         */
        assignAccessory(accessory: HMAccessory, room: HMRoom, completion: ()=>any):void;
        /**
         * Removes an accessory from the home.
         */
        removeAccessory(accessory: HMAccessory, completion: ()=>any):void;
        /**
         * Unblocks a blocked accessory.
         */
        unblockAccessory(accessory: HMAccessory, completion: ()=>any):void;
        /**
         * Presents a view controller to manage users of the home.
         */
        manageUsers(completion: ()=>any):void;
        /**
         * Retrieves the access level of a user associated with the home.
         */
        homeAccessControl(user: HMUser):HMHomeAccessControl;
        /**
         * Adds a user to the home.
         */
        addUser(completion: ()=>any):void;
        /**
         * Removes a user from the home.
         */
        removeUser(user: HMUser, completion: ()=>any):void;
    }
    export class HMCameraView extends UIView {
        cameraSource: HMCameraSource | null;
    }
    export class HMService extends NSObject {
        /**
         * An array of characteristics for the service.
         */
        characteristics: HMCharacteristic[];
        /**
         * The user specified name of the service.
         */
        name: string;
        /**
         * A unique identifier for the service.
         */
        uniqueIdentifier: UUID;
        /**
         * The type of the service.
         */
        serviceType: string;
        /**
         * The localized description of the service.
         */
        localizedDescription: string;
        /**
         * A Boolean value that indicates whether this service is the primary service on the accessory.
         */
        isPrimaryService: boolean;
        /**
         * A Boolean value that indicates whether this service supports user interaction.
         */
        isUserInteractive: boolean;
        /**
         * The type of the service associated with an outlet or a switch.
         */
        associatedServiceType: string;
        /**
         * An array of service objects that represents all the services to which the service links.
         */
        linkedServices: HMService[] | null;
        /**
         * The accessory that provides this service.
         */
        accessory: HMAccessory | null;
        /**
         * Updates the name of the service to the specified string.
         */
        updateName(name: string, completion: ()=>any):void;
        /**
         * Associates the service type of the plugged-in device with a switch or an outlet service.
         */
        updateAssociatedServiceType(serviceType: string, completion: ()=>any):void;
    }
    export class HMCharacteristic extends NSObject {
        /**
         *  A unique identifier for the characteristic.
         */
        uniqueIdentifier: UUID;
        /**
         * The localized description of the characteristic.
         */
        localizedDescription: string;
        /**
         * An array of properties that describe the characteristic.
         */
        properties: string[];
        /**
         * The type of the characteristic.
         */
        characteristicType: string;
        /**
         * The current value of the characteristic.
         */
        value: any;
        /**
         * Metadata about the units and other properties of the characteristic.
         */
        metadata: HMCharacteristicMetadata | null;
        /**
         * A Boolean indicating whether the characteristic has been set to send notifications.
         */
        isNotificationEnabled: boolean;
        /**
         * The service that contains this characteristic.
         */
        service: HMService | null;
        /**
         * Reads the value for the characteristic.
         */
        readValue(completion: ()=>any):void;
        /**
         * Modifies the value of the characteristic.
         */
        writeValue(value: any, completion: ()=>any):void;
        /**
         * Sets or clears authorization data used when writing to the characteristic.
         */
        updateAuthorizationData(data: Data | null, completion: ()=>any):void;
        /**
         * Enables or disables notifications for changes in the value of the characteristic.
         */
        enableNotification(enable: boolean, completion: ()=>any):void;
    }
    export enum HMCharacteristicValueChargingState {
        none = 0,
        inProgress = 1,
        notChargeable = 2,
    }
    export enum HMCharacteristicValueContactState {
        detected = 0,
        none = 1,
    }
    export enum HMCharacteristicValueBatteryStatus {
        normal = 0,
        low = 1,
    }
    export enum HMCharacteristicValueInputEvent {
        singlePress = 0,
        doublePress = 1,
        longPress = 2,
    }
    export enum HMCharacteristicValueTemperatureUnit {
        celsius = 0,
        fahrenheit = 1,
    }
    export enum HMCharacteristicValueHeatingCooling {
        off = 0,
        heat = 1,
        cool = 2,
        auto = 3,
    }
    export enum HMCharacteristicValueTargetHeaterCoolerState {
        automatic = 0,
        heat = 1,
        cool = 2,
    }
    export enum HMCharacteristicValueCurrentHeaterCoolerState {
        inactive = 0,
        idle = 1,
        heating = 2,
        cooling = 3,
    }
    export enum HMCharacteristicValueCurrentHeatingCooling {
        cool = 2,
        heat = 1,
        off = 0,
    }
    export enum HMCharacteristicValueCurrentHumidifierDehumidifierState {
        inactive = 0,
        idle = 1,
        humidifying = 2,
        dehumidifying = 3,
    }
    export enum HMCharacteristicValueTargetHumidifierDehumidifierState {
        automatic = 0,
        humidify = 1,
        dehumidify = 2,
    }
    export enum HMCharacteristicValueAirQuality {
        unknown = 0,
        excellent = 1,
        good = 2,
        fair = 3,
        inferior = 4,
        poor = 5,
    }
    export enum HMCharacteristicValueAirParticulateSize {
        size2_5 = 0,
        size10 = 1,
    }
    export enum HMCharacteristicValueSmokeDetectionStatus {
        none = 0,
        detected = 1,
    }
    export enum HMCharacteristicValueCarbonDioxideDetectionStatus {
        notDetected = 0,
        detected = 1,
    }
    export enum HMCharacteristicValueCarbonMonoxideDetectionStatus {
        notDetected = 0,
        detected = 1,
    }
    export enum HMCharacteristicValueCurrentFanState {
        inactive = 0,
        idle = 1,
        active = 2,
    }
    export enum HMCharacteristicValueTargetFanState {
        manual = 0,
        automatic = 1,
    }
    export enum HMCharacteristicValueRotationDirection {
        clockwise = 0,
        counterClockwise = 1,
    }
    export enum HMCharacteristicValueSwingMode {
        disabled = 0,
        enabled = 1,
    }
    export interface HMHomeDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that a home’s name changed.
         */
        homeDidUpdateName(home: HMHome):void;
        /**
         * Tells the delegate that a home added a new accessory.
         */
        home(home: HMHome, accessory: HMAccessory):void;
        /**
         * Tells the delegate that the access control for the current user has changed.
         */
        homeDidUpdateAccessControl(home: HMHome):void;
        /**
         * Tells the delegate that the home’s supported features changed.
         */
        homeDidUpdateSupportedFeatures(home: HMHome):void;
    }
    export enum HMCharacteristicValueCurrentAirPurifierState {
        inactive = 0,
        idle = 1,
        active = 2,
    }
    export enum HMCharacteristicValueTargetAirPurifierState {
        manual = 0,
        automatic = 1,
    }
    export enum HMCharacteristicValueFilterChange {
        notNeeded = 0,
        needed = 1,
    }
    export enum HMCharacteristicValueValveType {
        genericValve = 0,
        irrigation = 1,
        showerHead = 2,
        waterFaucet = 3,
    }
    export enum HMCharacteristicValueLeakStatus {
        none = 0,
        detected = 1,
    }
    export enum HMCharacteristicValueDoorState {
        open = 0,
        closed = 1,
        opening = 2,
        closing = 3,
        stopped = 4,
    }
    export enum HMCharacteristicValuePositionState {
        closing = 0,
        opening = 1,
        stopped = 2,
    }
    export enum HMCharacteristicValueJammedStatus {
        none = 0,
        jammed = 1,
    }
    export enum HMCharacteristicValueSlatType {
        horizontal = 0,
        vertical = 1,
    }
    export enum HMCharacteristicValueCurrentSlatState {
        stationary = 0,
        jammed = 1,
        oscillating = 2,
    }
    export enum HMCharacteristicValueTargetDoorState {
        closed = 1,
        open = 0,
    }
    export enum HMCharacteristicValueLockMechanismLastKnownAction {
        securedRemotely = 6,
        securedUsingPhysicalMovement = 9,
        securedUsingPhysicalMovementExterior = 2,
        securedUsingPhysicalMovementInterior = 0,
        securedWithAutomaticSecureTimeout = 8,
        securedWithKeypad = 4,
        unsecuredRemotely = 7,
        unsecuredUsingPhysicalMovement = 10,
        unsecuredUsingPhysicalMovementExterior = 3,
        unsecuredUsingPhysicalMovementInterior = 1,
        unsecuredWithKeypad = 5,
    }
    export enum HMCharacteristicValueLockPhysicalControlsState {
        notLocked = 0,
        locked = 1,
    }
    export enum HMCharacteristicValueLockMechanismState {
        unsecured = 0,
        secured = 1,
        jammed = 2,
        unknown = 3,
    }
    export enum HMCharacteristicValueTargetLockMechanismState {
        secured = 1,
        unsecured = 0,
    }
    export enum HMCharacteristicValueCurrentSecuritySystemState {
        stayArm = 0,
        awayArm = 1,
        nightArm = 2,
        disarmed = 3,
        triggered = 4,
    }
    export enum HMCharacteristicValueTargetSecuritySystemState {
        stayArm = 0,
        awayArm = 1,
        nightArm = 2,
        disarm = 3,
    }
    export enum HMCharacteristicValueOccupancyStatus {
        notOccupied = 0,
        occupied = 1,
    }
    export enum HMCharacteristicValueSecuritySystemAlarmType {
        noAlarm = 0,
        unknown = 1,
    }
    export enum HMCharacteristicValueActivationState {
        inactive = 0,
        active = 1,
    }
    export enum HMCharacteristicValueTamperedStatus {
        none = 0,
        tampered = 1,
    }
    export enum HMCharacteristicValueStatusFault {
        noFault = 0,
        generalFault = 1,
    }
    export enum HMCharacteristicValueUsageState {
        notInUse = 0,
        inUse = 1,
    }
    export enum HMCharacteristicValueConfigurationState {
        notConfigured = 0,
        configured = 1,
    }
    export enum HMCharacteristicValueProgramMode {
        notScheduled = 0,
        scheduleOverriddenToManual = 2,
        scheduled = 1,
    }
    export enum HMCharacteristicValueLabelNamespace {
        dot = 0,
        numeral = 1,
    }
    export class HMCharacteristicMetadata extends NSObject {
        /**
         * A description of the characteristic provided by the accessory manufacturer.
         */
        manufacturerDescription: string;
        /**
         * The subset of valid values supported by the characteristic when the format is of type unsigned integer.
         */
        validValues: NSNumber[] | null;
        /**
         * The minimum value for the characteristic.
         */
        minimumValue: NSNumber | null;
        /**
         * The maximum value for the characteristic.
         */
        maximumValue: NSNumber | null;
        /**
         * The minimum interval between values for the characteristic.
         */
        stepValue: NSNumber | null;
        /**
         * The maximum number of UTF-8 characters allowed in a characteristic that uses a string format.
         */
        maxLength: NSNumber | null;
        /**
         * The format of the values for the characteristic.
         */
        format: string;
        /**
         * The units of the characteristic value.
         */
        units: string;
    }
    export class HMAccessoryBrowser extends NSObject {
        /**
         * An array of accessories discovered during a search.
         */
        discoveredAccessories: HMAccessory[];
        /**
         * A delegate that receives updates on the discovered accessories.
         */
        delegate: HMAccessoryBrowserDelegate | null;
        /**
         * Starts searching for accessories not yet associated with a home.
         */
        startSearchingForNewAccessories():void;
        /**
         * Stops searching for new accessories.
         */
        stopSearchingForNewAccessories():void;
    }
    export interface HMAccessoryBrowserDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that a new accessory has been discovered.
         */
        accessoryBrowser(browser: HMAccessoryBrowser, accessory: HMAccessory):void;
    }
    export class HMActionSet extends NSObject {
        /**
         * The action set's unique identifier.
         */
        uniqueIdentifier: UUID;
        /**
         * The name of the action set.
         */
        name: string;
        /**
         * The type of the action set, such as built-in or user-defined.
         */
        actionSetType: string;
        /**
         * Set of actions in the action set.
         */
        actions: Set<HMAction>;
        /**
         * The execution status of the action set.
         */
        isExecuting: boolean;
        /**
         * The last execution date of the action set.
         */
        lastExecutionDate: Date | null;
        /**
         * Updates the name of the action set.
         */
        updateName(name: string, completion: HMErrorBlock):void;
        /**
         * Adds an action to the action set.
         */
        addAction(action: HMAction, completion: HMErrorBlock):void;
        /**
         * Removes an action from the action set.
         */
        removeAction(action: HMAction, completion: HMErrorBlock):void;
    }
    export class HMAction extends NSObject {
        /**
         * A unique identifier for the action.
         */
        uniqueIdentifier: UUID;
    }
    export class HMTimerTrigger extends HMTrigger {
        /**
         * The time at which the trigger will next fire.
         */
        fireDate: Date;
        /**
         * The interval on which to repeat firing the trigger.
         */
        recurrence: DateComponents | null;
        /**
         * The calendar in which the recurrence value is evaluated.
         */
        recurrenceCalendar: Calendar | null;
        /**
         * The timezone in which to evaluate the fire time.
         */
        timeZone: TimeZone | null;
        /**
         * Initializes a timer trigger with specified timing information.
         */
        constructor (name: string, fireDate: Date, timeZone: TimeZone | null, recurrence: DateComponents | null, recurrenceCalendar: Calendar | null);
        /**
         * Updates the next fire date for the trigger.
         */
        updateFireDate(fireDate: Date, completion: ()=>any):void;
        /**
         * Updates the recurrence interval.
         */
        updateRecurrence(recurrence: DateComponents | null, completion: ()=>any):void;
        /**
         * Updates the trigger’s time zone.
         */
        updateTimeZone(timeZone: TimeZone | null, completion: ()=>any):void;
    }
    export class HMEventTrigger extends HMTrigger {
        /**
         * The current activation state of the trigger.
         */
        triggerActivationState: HMEventTriggerActivationState;
        /**
         * The events that activate the trigger.
         */
        events: HMEvent[];
        /**
         * The events associated with the end of scene represented by this trigger.
         */
        endEvents: HMEvent[];
        /**
         * Specifies the days on which the trigger can execute.
         */
        recurrences: DateComponents[] | null;
        /**
         * A Boolean that can execute the trigger many times.
         */
        executeOnce: boolean;
        /**
         * The predicate to evaluate before executing the scene associated with the event trigger.
         */
        predicate: NSPredicate | null;
        /**
         * Creates a new event trigger with the specified name, events, and predicate.
         */
        constructor (name: string, events: HMEvent[], predicate: NSPredicate | null);
        /**
         * Creates a new event trigger with the specified name, events, end events, recurrences, and predicate. 
         */
        constructor (name: string, events: HMEvent[], endEvents: HMEvent[] | null, recurrences: DateComponents[] | null, predicate: NSPredicate | null);
        /**
         * Creates a predicate that evaluates whether the event occurred before a significant event.
         */
        static predicateForEvaluatingTriggerOccurring(significantEvent: HMSignificantTimeEvent):NSPredicate;
        /**
         * Creates a predicate that evaluates whether the event occurred before the specified time.
         */
        static predicateForEvaluatingTrigger(dateComponents: DateComponents):NSPredicate;
        /**
         * Creates a predicate that evaluates whether the event occurred between the specified times.
         */
        static predicateForEvaluatingTriggerOccurringBetweenDate(firstDateComponents: DateComponents, secondDateWithComponents: DateComponents):NSPredicate;
        /**
         * Updates the set of trigger events.
         */
        updateEvents(events: HMEvent[], completion: ()=>any):void;
        /**
         * Updates the set of end events associated with the event trigger.
         */
        updateEndEvents(endEvents: HMEvent[], completion: ()=>any):void;
        /**
         * Updates the days of the week the trigger can repeat.
         */
        updateRecurrences(recurrences: DateComponents[] | null, completion: ()=>any):void;
        /**
         * Updates the repetition status of the event trigger.
         */
        updateExecuteOnce(executeOnce: boolean, completion: ()=>any):void;
        /**
         * Replaces the predicate used to evaluate execution of the scene associated with the event trigger.
         */
        updatePredicate(predicate: NSPredicate | null, completion: ()=>any):void;
        /**
         * Adds a new event to the event trigger.
         */
        addEvent(event: HMEvent, completion: ()=>any):void;
        /**
         * Removes the specified event from the event trigger.
         */
        removeEvent(event: HMEvent, completion: ()=>any):void;
    }
    export enum HMEventTriggerActivationState {
        disabled = 0,
        disabledNoCompatibleHomeHub = 2,
        disabledNoHomeHub = 1,
        disabledNoLocationServicesAuthorization = 3,
        enabled = 4,
    }
    export class HMLocationEvent extends HMEvent {
        /**
         * The region on which events are triggered.
         */
        region: CLRegion | null;
        /**
         * Creates a new location event with the specified region.
         */
        constructor (region: CLRegion);
        /**
         * Changes the region associated with this event.
         */
        updateRegion(region: CLRegion, completion: ()=>any):void;
    }
    export class HMMutableLocationEvent extends HMLocationEvent {
        /**
         * The region on which events are triggered.
         */
        region: CLRegion | null;
    }
    export class HMCalendarEvent extends HMTimeEvent {
        /**
         * The date components that specify when the event is triggered.
         */
        fireDateComponents: DateComponents;
        /**
         * Creates a calendar event which fires based on the value of the supplied date components.
         */
        constructor (fireDateComponents: DateComponents);
    }
    export class HMMutableCalendarEvent extends HMCalendarEvent {
        /**
         * The date components that specify when the event is triggered.
         */
        fireDateComponents: DateComponents;
    }
    export class HMTimeEvent extends HMEvent {}
    export class HMSignificantEvent {
        /**
         * An event that fires at sunrise.
         */
        static sunrise: HMSignificantEvent;
        /**
         * An event that fires at sunset.
         */
        static sunset: HMSignificantEvent;
        constructor (rawValue: string);
        constructor (rawValue: string);
    }
    export class HMSignificantTimeEvent extends HMTimeEvent {
        /**
         * The significant time-based event that is used to calculate when the event fires.
         */
        significantEvent: HMSignificantEvent;
        /**
         * The offset from the significant event that the event fires at.
         */
        offset: DateComponents | null;
        /**
         * Creates a new significant time event with the specified significant event and offset.
         */
        constructor (significantEvent: HMSignificantEvent, offset: DateComponents | null);
    }
    export class HMMutableSignificantTimeEvent extends HMSignificantTimeEvent {
        /**
         * The significant time-based event that is used to calculate when the event fires.
         */
        significantEvent: HMSignificantEvent;
        /**
         * The offset from the significant event that this event fires at.
         */
        offset: DateComponents;
    }
    export class HMDurationEvent extends HMTimeEvent {
        /**
         * The event's duration, in seconds.
         */
        duration: TimeInterval;
        /**
         * Creates a duration event with the specified time duration.
         */
        constructor (duration: TimeInterval);
    }
    export class HMMutableDurationEvent extends HMDurationEvent {
        /**
         * The event's duration, in seconds.
         */
        duration: TimeInterval;
    }
    export class HMNumberRange extends NSObject {
        /**
         * The minimum value of the range.
         */
        minValue: NSNumber | null;
        /**
         * The maximum value of the range.
         */
        maxValue: NSNumber | null;
        /**
         * Creates a new number range.
         */
        constructor (minValue: NSNumber, maxValue: NSNumber);
        /**
         * Creates an one-sided number range with a minimum value.
         */
        constructor (minValue: NSNumber);
        /**
         * Creates a one-sided number range with a maximum value.
         */
        constructor (maxValue: NSNumber);
    }
    export class HMCharacteristicThresholdRangeEvent extends HMEvent {
        /**
         * The characteristic associated with the event.
         */
        characteristic: HMCharacteristic;
        /**
         * The range of the characteristic value that triggers the event.
         */
        thresholdRange: HMNumberRange;
        /**
         * Creates a characteristic threshold range event for the specified characteristic and number range.
         */
        constructor (characteristic: HMCharacteristic, thresholdRange: HMNumberRange);
    }
    export class HMMutableCharacteristicThresholdRangeEvent extends HMCharacteristicThresholdRangeEvent {
        /**
         * The characteristic associated with the event.
         */
        characteristic: HMCharacteristic;
        /**
         * The range of the characteristic value that triggers the event.
         */
        thresholdRange: HMNumberRange;
    }
    export class HMPresenceEvent extends HMEvent {
        /**
         * The event type that triggers the presence event.
         */
        presenceEventType: HMPresenceEventType;
        /**
         * The user type whose presence triggers the event.
         */
        presenceUserType: HMPresenceEventUserType;
        /**
         * Creates a new presence event with the specified event and user presence types.
         */
        constructor (presenceEventType: HMPresenceEventType, presenceUserType: HMPresenceEventUserType);
    }
    export class HMMutablePresenceEvent extends HMPresenceEvent {
        /**
         * The event type that triggers the presence event.
         */
        presenceEventType: HMPresenceEventType;
        /**
         * The user type whose presence triggers the event.
         */
        presenceUserType: HMPresenceEventUserType;
    }
    export enum HMPresenceEventType {
        everyEntry = 1,
        everyExit = 2,
        firstEntry = 3,
        lastExit = 4,
    }
    export enum HMPresenceEventUserType {
        currentUser = 1,
        homeUsers = 2,
        customUsers = 3,
    }
    export class HMEvent extends NSObject {
        /**
         * A unique identifier for the event.
         */
        uniqueIdentifier: UUID;
        /**
         * A Boolean value indicating whether the event can be added to an event trigger on the specified home.
         */
        static isSupported(home: HMHome):boolean;
    }
    export class HMError {
        /**
         * A string that identifies the HomeKit error domain.
         */
        static errorDomain: string;
        /**
         * An error indicating a blocked accessory.
         */
        static accessoryIsBlocked: HMError.Code;
        /**
         * An error indicating the accessory is busy.
         */
        static accessoryIsBusy: HMError.Code;
        /**
         * The accessory is suspended.
         */
        static accessoryIsSuspended: HMError.Code;
        /**
         * An error indicating the accessory is not reachable over the network.
         */
        static accessoryNotReachable: HMError.Code;
        /**
         * An error indicating the accessory is out of compliance.
         */
        static accessoryOutOfCompliance: HMError.Code;
        /**
         * An error indicating the accessory is out of resources.
         */
        static accessoryOutOfResources: HMError.Code;
        /**
         * An error indicating the accessory is off.
         */
        static accessoryPoweredOff: HMError.Code;
        /**
         * An error with the accessory’s response.
         */
        static accessoryResponseError: HMError.Code;
        /**
         * A failed attempt to add an accessory.
         */
        static addAccessoryFailed: HMError.Code;
        /**
         * The accessory is incompatible.
         */
        static incompatibleAccessory: HMError.Code;
        /**
         * An attempt to add an action that exists in one action set to another action set.
         */
        static actionInAnotherActionSet: HMError.Code;
        /**
         * An attempt to execute the action set failed.
         */
        static actionSetExecutionFailed: HMError.Code;
        /**
         * An error indicating the execution of the action set is in progress.
         */
        static actionSetExecutionInProgress: HMError.Code;
        /**
         * An attempt to execute the action set was only partially successful.
         */
        static actionSetExecutionPartialSuccess: HMError.Code;
        /**
         * An error indicating the built-in action set cannot be removed.
         */
        static cannotRemoveBuiltinActionSet: HMError.Code;
        /**
         * An attempt to execute an action set with no actions.
         */
        static noActionsInActionSet: HMError.Code;
        /**
         * An attempt to activate a trigger with no action sets.
         */
        static noRegisteredActionSets: HMError.Code;
        /**
         * An error indicating an invalid service type.
         */
        static invalidAssociatedServiceType: HMError.Code;
        /**
         * An attempt to associate an object with a home when it’s already associated with that home.
         */
        static objectAlreadyAssociatedToHome: HMError.Code;
        /**
         * An attempt to associate an object with a home when it’s already associated with another home.
         */
        static objectAssociatedToAnotherHome: HMError.Code;
        /**
         * An attempt to perform an operation on an object that is not associated to any home.
         */
        static objectNotAssociatedToAnyHome: HMError.Code;
        /**
         * An error indicating the authorization data is invalid or missing.
         */
        static invalidOrMissingAuthorizationData: HMError.Code;
        /**
         * An error indicating the home’s location is disabled.
         */
        static locationForHomeDisabled: HMError.Code;
        /**
         * An error indicating access to the home is not authorized.
         */
        static homeAccessNotAuthorized: HMError.Code;
        /**
         * An error indicating insufficient privileges for the operation.
         */
        static insufficientPrivileges: HMError.Code;
        /**
         * A message authentication failure.
         */
        static messageAuthenticationFailed: HMError.Code;
        /**
         * An error indicating location services are not authorized.
         */
        static notAuthorizedForLocationServices: HMError.Code;
        /**
         * An error indicating microphone access is not authorized.
         */
        static notAuthorizedForMicrophoneAccess: HMError.Code;
        /**
         * An error indicating the user is not signed into iCloud.
         */
        static notSignedIntoiCloud: HMError.Code;
        /**
         * The ownership code did not match.
         */
        static ownershipFailure: HMError.Code;
        /**
         * A security failure.
         */
        static securityFailure: HMError.Code;
        /**
         * An error indicating the bridged accessory cannot be reached.
         */
        static bridgedAccessoryNotReachable: HMError.Code;
        /**
         * An attempt to remove a bridged accessory. 
         */
        static cannotRemoveNonBridgeAccessory: HMError.Code;
        /**
         * An error indicating a non-bridge accessory cannot be unblocked.
         */
        static cannotUnblockNonBridgeAccessory: HMError.Code;
        /**
         * An attempt to modify a read-only value.
         */
        static readOnlyCharacteristic: HMError.Code;
        /**
         * An attempt to read from a write-only characteristic.
         */
        static writeOnlyCharacteristic: HMError.Code;
        /**
         * An attempt to assign a home the same name as an existing home.
         */
        static homeWithSimilarNameExists: HMError.Code;
        /**
         * An object with a similar name already exists.
         */
        static objectWithSimilarNameExists: HMError.Code;
        /**
         * An attempt to give the name of one object to another object in the home.
         */
        static objectWithSimilarNameExistsInHome: HMError.Code;
        /**
         * An attempt to rename an object with its current name.
         */
        static renameWithSimilarName: HMError.Code;
        /**
         * An error indicating the current user doesn’t have privileges to perform the operation.
         */
        static accessDenied: HMError.Code;
        /**
         * The accessory failed to communicate.
         */
        static accessoryCommunicationFailure: HMError.Code;
        /**
         * An attempt to pair with the accessory has failed.
         */
        static accessoryPairingFailed: HMError.Code;
        /**
         * An error indicating the accessory sent an invalid response.
         */
        static accessorySentInvalidResponse: HMError.Code;
        /**
         * An error with the client request.
         */
        static clientRequestError: HMError.Code;
        /**
         * A communication failure.
         */
        static communicationFailure: HMError.Code;
        /**
         * An attempt to reset the data failed.
         */
        static dataResetFailure: HMError.Code;
        /**
         * An accessory did not respond timely.
         */
        static timedOutWaitingForAccessory: HMError.Code;
        /**
         * An error indicating the device is locked.
         */
        static deviceLocked: HMError.Code;
        /**
         * An error indicating that accessory discovery failed.
         */
        static accessoryDiscoveryFailed: HMError.Code;
        /**
         * An error indicating the container already contains the object you are trying to add.
         */
        static alreadyExists: HMError.Code;
        /**
         * An error that does not have a more specific error code.
         */
        static genericError: HMError.Code;
        /**
         * No compatible home hub found.
         */
        static incompatibleHomeHub: HMError.Code;
        /**
         * An attempt to use an abstract base class in an operation instead of a concrete subclass.
         */
        static invalidClass: HMError.Code;
        /**
         * An error indicating the object was not found in the container.
         */
        static notFound: HMError.Code;
        /**
         * An error indicating the notification is already enabled.
         */
        static notificationAlreadyEnabled: HMError.Code;
        /**
         * An attempt to register for notifications from an accessory that does not support notifications.
         */
        static notificationNotSupported: HMError.Code;
        /**
         * An attempt to use an unsupported operation.
         */
        static operationNotSupported: HMError.Code;
        /**
         * An unexpected error.
         */
        static unexpectedError: HMError.Code;
        /**
         * An error indicating a required entitlement is not available.
         */
        static missingEntitlement: HMError.Code;
        /**
         * An error described in the device’s user manual.
         */
        static referToUserManual: HMError.Code;
        /**
         * The home already has the maximum number of accessories of the given type.
         */
        static maximumAccessoriesOfTypeInHome: HMError.Code;
        /**
         * An attempt to add the room that represents the entire home to a zone.
         */
        static roomForHomeCannotBeInZone: HMError.Code;
        /**
         * An attempt to change the room that represents the entire home.
         */
        static roomForHomeCannotBeUpdated: HMError.Code;
        /**
         * An error indicating no home hub found.
         */
        static noHomeHub: HMError.Code;
        /**
         * An error indicating no compatible home hub found.
         */
        static noCompatibleHomeHub: HMError.Code;
        /**
         * An error indicating the trigger cannot be activated because it is set too far in the future.
         */
        static cannotActivateTriggerTooFarInFuture: HMError.Code;
        /**
         * An error indicating the date is not on the specified boundaries.
         */
        static dateMustBeOnSpecifiedBoundaries: HMError.Code;
        /**
         * An attempt to activate a timer trigger with a date in the past.
         */
        static fireDateInPast: HMError.Code;
        /**
         * An error indicating an invalid message size.
         */
        static invalidMessageSize: HMError.Code;
        /**
         * An error indicating the maximum object count has been reached.
         */
        static maximumObjectLimitReached: HMError.Code;
        /**
         * An attempt to use a recurrence period that is too large.
         */
        static recurrenceTooLarge: HMError.Code;
        /**
         * An error indicating the recurrence interval is too short.
         */
        static recurrenceTooSmall: HMError.Code;
        /**
         * An error indicating the recurrence rule is not on the specified boundaries.
         */
        static recurrenceMustBeOnSpecifiedBoundaries: HMError.Code;
        /**
         * An enterprise network doesn’t support this accessory.
         */
        static enterpriseNetworkNotSupported: HMError.Code;
        /**
         * The accessory failed to join the network.
         */
        static failedToJoinNetwork: HMError.Code;
        /**
         * An error indicating an incompatible network.
         */
        static incompatibleNetwork: HMError.Code;
        /**
         * An error indicating the network is unavailable.
         */
        static networkUnavailable: HMError.Code;
        /**
         * WiFi credential generation failed.
         */
        static wiFiCredentialGenerationFailed: HMError.Code;
        /**
         * An error indicating the user canceled the operation.
         */
        static operationCancelled: HMError.Code;
        /**
         * An error indicating the operation is already in progress.
         */
        static operationInProgress: HMError.Code;
        /**
         * An error indicating the operation timed out.
         */
        static operationTimedOut: HMError.Code;
        /**
         * An error indicating the object is invalid for the given operation.
         */
        static invalidParameter: HMError.Code;
        /**
         * An error indicating a missing parameter.
         */
        static missingParameter: HMError.Code;
        /**
         * An error indicating that nil was passed for an operation that does not accept nil.
         */
        static nilParameter: HMError.Code;
        /**
         * An error indicating an unconfigured parameter.
         */
        static unconfiguredParameter: HMError.Code;
        /**
         * An error indicating a failed read/write operation.
         */
        static readWriteFailure: HMError.Code;
        /**
         * An error indicating a partially successful read/write operation.
         */
        static readWritePartialSuccess: HMError.Code;
        /**
         * An error indicating a data synchronization operation is in progress.
         */
        static cloudDataSyncInProgress: HMError.Code;
        /**
         * An error indicating Keychain syncing is not enabled for the user.
         */
        static keychainSyncNotEnabled: HMError.Code;
        /**
         * An error indicating the user canceled the add user operation.
         */
        static userDeclinedAddingUser: HMError.Code;
        /**
         * An error indicating the user canceled the remove user operation.
         */
        static userDeclinedRemovingUser: HMError.Code;
        /**
         * An error indicating the user declined the invitation.
         */
        static userDeclinedInvite: HMError.Code;
        /**
         * An error indicating the user’s ID is not a valid email address.
         */
        static userIDNotEmailAddress: HMError.Code;
        /**
         * A user management error not covered by the other errors.
         */
        static userManagementFailed: HMError.Code;
        /**
         * An error indicating an invalid data format was specified.
         */
        static invalidDataFormatSpecified: HMError.Code;
        /**
         * An attempt to use an invalid value type.
         */
        static invalidValueType: HMError.Code;
        /**
         * An attempt to name an object with prohibited characters. 
         */
        static nameContainsProhibitedCharacters: HMError.Code;
        /**
         * An error indicating the provided name has invalid characters at the end.
         */
        static nameDoesNotEndWithValidCharacters: HMError.Code;
        /**
         * An attempt to start the name of an object with invalid characters. 
         */
        static nameDoesNotStartWithValidCharacters: HMError.Code;
        /**
         * An attempt to use a string longer than the maximum allowed.
         */
        static stringLongerThanMaximum: HMError.Code;
        /**
         * An attempt to use a string shorter than the required minimum.
         */
        static stringShorterThanMinimum: HMError.Code;
        /**
         * An attempt to use a numeric value higher than the specified maximum value.
         */
        static valueHigherThanMaximum: HMError.Code;
        /**
         * An attempt to use a numeric value lower than the specified minimum value.
         */
        static valueLowerThanMinimum: HMError.Code;
        /**
         * A hash value.
         */
        hashValue: number;
        /**
         * The error code.
         */
        code: Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * User-specific information.
         */
        userInfo: Record<string, any>;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        /**
         * Initialize the error object.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class HMError
     */
    export namespace HMError {
        export enum Code {}
    }
    export enum HMHomeHubState {
        connected = 1,
        disconnected = 2,
        notAvailable = 0,
    }
    export class HMHomeManagerAuthorizationStatus {
        /**
         * The user has set the app’s level of access to home data.
         */
        static determined: HMHomeManagerAuthorizationStatus;
        /**
         * The app has access to home data.
         */
        static authorized: HMHomeManagerAuthorizationStatus;
        /**
         * The app doesn’t have access to home data.
         */
        static restricted: HMHomeManagerAuthorizationStatus;
        /**
         * Creates an access status from a raw value.
         */
        constructor (rawValue: number);
    }
    export class HMZone extends NSObject {
        /**
         * The name of the zone.
         */
        name: string;
        /**
         * The unique identifier for a zone.
         */
        uniqueIdentifier: UUID;
        /**
         * Array of rooms in the zone.
         */
        rooms: HMRoom[];
        /**
         * Updates the name of the zone.
         */
        updateName(name: string, completion: ()=>any):void;
        /**
         * Adds a room to the zone.
         */
        addRoom(room: HMRoom, completion: ()=>any):void;
        /**
         * Removes a room from the zone.
         */
        removeRoom(room: HMRoom, completion: ()=>any):void;
    }
    export class HMServiceGroup extends NSObject {
        /**
         * The name of the service group.
         */
        name: string;
        /**
         * The unique identifier for the service group.
         */
        uniqueIdentifier: UUID;
        /**
         * Array of the services in the service group.
         */
        services: HMService[];
        /**
         * Updates the name of the service group.
         */
        updateName(name: string, completion: ()=>any):void;
        /**
         * Adds a new service to the service group.
         */
        addService(service: HMService, completion: ()=>any):void;
        /**
         * Removes a service from the service group.
         */
        removeService(service: HMService, completion: ()=>any):void;
    }
    export class HMAccessorySetupPayload extends NSObject {
        /**
         * Creates an accessory setup payload.
         */
        constructor (setupPayloadURL: URL | null);
        /**
         * Creates an accessory setup payload instance that includes an ownership token.
         */
        constructor (setupPayloadURL: URL, ownershipToken: HMAccessoryOwnershipToken | null);
    }
    export class HMAccessoryOwnershipToken extends NSObject {
        /**
         * Creates an ownership token from data.
         */
        constructor (data: Data);
    }
    export interface HMAccessoryDelegate extends NSObjectProtocol {
        /**
         * Informs the delegate when the name of the accessory is updated.
         */
        accessoryDidUpdateName(accessory: HMAccessory):void;
        /**
         * Informs the delegate when the reachability of the accessory changes.
         */
        accessoryDidUpdateReachability(accessory: HMAccessory):void;
        /**
         * Informs the delegate when the services on the accessory have been updated.
         */
        accessoryDidUpdateServices(accessory: HMAccessory):void;
        /**
         * Informs the delegate when the name of a service is updated.
         */
        accessory(accessory: HMAccessory, service: HMService):void;
    }
    export class HMTrigger extends NSObject {
        /**
         * The name of the trigger.
         */
        name: string;
        /**
         * State of the trigger.
         */
        isEnabled: boolean;
        /**
         * The last time this trigger fired.
         */
        lastFireDate: Date | null;
        /**
         * A unique identifier for this trigger.
         */
        uniqueIdentifier: UUID;
        /**
         * Array of all action sets that will be executed by the trigger.
         */
        actionSets: HMActionSet[];
        /**
         * Updates the name of the trigger.
         */
        updateName(name: string, completion: ()=>any):void;
        /**
         * Changes the enabled state of the trigger.
         */
        enable(enable: boolean, completion: ()=>any):void;
        /**
         * Adds an action set to the trigger.
         */
        addActionSet(actionSet: HMActionSet, completion: ()=>any):void;
        /**
         * Removes an action set from the trigger.
         */
        removeActionSet(actionSet: HMActionSet, completion: ()=>any):void;
    }
    export class HMUser extends NSObject {
        /**
         * The name of the user.
         */
        name: string;
        /**
         * A unique identifier for the user.
         */
        uniqueIdentifier: UUID;
    }
    export class HMHomeAccessControl extends HMAccessControl {
        /**
         * Specifies if the user has administrative privileges for the home.
         */
        isAdministrator: boolean;
    }
    export class HMAccessControl extends NSObject {}
    export interface HMHomeManagerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the home manager updated its collection of homes.
         */
        homeManagerDidUpdateHomes(manager: HMHomeManager):void;
        /**
         * Tells the delegate that the home manager added a home.
         */
        homeManager(manager: HMHomeManager, home: HMHome):void;
        /**
         * Tells the delegate that the home manager updated its primary home.
         */
        homeManagerDidUpdatePrimaryHome(manager: HMHomeManager):void;
    }
    export class HMAddAccessoryRequest extends NSObject {
        /**
         * The home to which to add the accessory.
         */
        home: HMHome;
        /**
         * The category of the accessory to add.
         */
        accessoryCategory: HMAccessoryCategory;
        /**
         * The name of the accessory to add.
         */
        accessoryName: string;
        /**
         * An indication of whether the add operation requires an ownership token.
         */
        requiresOwnershipToken: boolean;
        /**
         * An indication of whether the add operation requires a setup payload URL.
         */
        requiresSetupPayloadURL: boolean;
        /**
         * Builds an accessory setup payload with the given ownership token.
         */
        makePayload(ownershipToken: HMAccessoryOwnershipToken):HMAccessorySetupPayload | null;
    }
    export class HMMatterHome extends NSObject {
        /**
         * The receiver’s name.
         */
        name: string;
        /**
         * The receiver’s universally unique identifier.
         */
        uuid: UUID;
        /**
         * Creates a new instance.
         */
        constructor (uuid: UUID, name: string);
    }
    export class HMMatterRoom extends NSObject {
        /**
         * The receiver’s name.
         */
        name: string;
        /**
         * The receiver’s universally unique identifier.
         */
        uuid: UUID;
        /**
         * Creates a new instance.
         */
        constructor (uuid: UUID, name: string);
    }
    export class HMMatterTopology extends NSObject {
        /**
         * The homes that the third-party home ecosystem provides for selection in iOS.
         */
        homes: HMMatterHome[];
        /**
         * Creates a new instance.
         */
        constructor (homes: HMMatterHome[]);
    }
    export class HMMatterRequestHandler extends NSObject {
        /**
         * Configures the accessory with user-selected attributes.
         */
        configureAccessory(accessoryName: string, accessoryRoom: HMMatterRoom, completion: ()=>any):void;
        /**
         * Provides the rooms for a given home to the setup process.
         */
        fetchRooms(home: HMMatterHome, completion: ()=>any):void;
        /**
         * Pairs an accessory with a Matter payload.
         */
        pairAccessory(home: HMMatterHome, onboardingPayload: string, completion: ()=>any):void;
    }
    export class HMAccessorySetupManager extends NSObject {
        /**
         * Performs the process of setting up accessories with Apple Home.
         */
        performAccessorySetup(request: HMAccessorySetupRequest, completion: ()=>any):void;
    }
    export class HMAccessorySetupResult extends NSObject {
        /**
         * The values corresponding to accessories that are set up.
         */
        accessoryUniqueIdentifiers: UUID[];
        /**
         * The home that accessories were added to.
         */
        homeUniqueIdentifier: UUID;
    }
    export class HMAccessorySetupRequest extends NSObject {
        /**
         * The identifier corresponding to the home that the accessory should be added to when being set up.
         */
        homeUniqueIdentifier: UUID | null;
        /**
         * The payload to use for accessory setup.
         */
        payload: HMAccessorySetupPayload | null;
        /**
         * The name that the framework suggests when the user names the accessory being set up.
         */
        suggestedAccessoryName: string;
        /**
         * The identifier corresponding to the room that the framework suggests.
         */
        suggestedRoomUniqueIdentifier: UUID | null;
        matterPayload: MTRSetupPayload | null;
    }
}

/**
 * Attribute app downloads that originate from Apple Search Ads campaigns.
 */
declare module iAd {
    export class ADClient extends NSObject {
        /**
         * Gets an instance of ADClient.
         */
        static shared():ADClient;
        /**
         * Gets an attribution response.
         */
        requestAttributionDetails(completionHandler: ()=>any):void;
        add(segmentIdentifiers: string[], replaceExisting: boolean):void;
    }
    export class ADClientError {
        /**
         * The user is restricted or has denied tracking for the calling application.
         */
        static trackingRestrictedOrDenied: ADClientError.Code;
        /**
         * The downloaded app received a payload lacking enough data to perform an attribution check.
         */
        static missingData: ADClientError.Code;
        /**
         * The attribution API was called on an unsupported platform.
         */
        static unsupportedPlatform: ADClientError.Code;
        static limitAdTracking: ADClientError.Code;
        static unknown: ADClientError.Code;
        /**
         * A domain for the error.
         */
        static errorDomain: string;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ADClientError
     */
    export namespace ADClientError {
        export enum Code {
            corruptResponse = 3,
            requestClientError = 4,
            requestNetworkError = 6,
            requestServerError = 5,
            trackingRestrictedOrDenied = 1,
            missingData = 2,
            unsupportedPlatform = 7,
            unknown = 0,
        }
    }
}

/**
 * Browse for media devices and control them programmatically from your app.
 */
declare module ImageCaptureCore {
    export class ICDeviceBrowser extends NSObject {
        /**
         * A mask whose set bits indicate the type of devices being browsed after the delegate receives the start message.
         */
        browsedDeviceTypeMask: ICDeviceTypeMask;
        isSuspended: boolean;
        /**
         * A Boolean value indicating whether the device browser is browsing for devices.
         */
        isBrowsing: boolean;
        /**
         * All devices found by the browser. 
         */
        devices: ICDevice[] | null;
        /**
         * The object that acts as the delegate of the device browser.
         */
        delegate: ICDeviceBrowserDelegate | null;
        /**
         * Creates an ImageCaptureCore device browser.
         */
        constructor ();
        /**
         * Tells the delegate to start looking for devices.
         */
        start():void;
        /**
         * Tells the delegate to stop looking for devices.
         */
        stop():void;
        /**
         * Returns a device object that the client application should select when it launches.
         */
        preferredDevice():ICDevice | null;
        contentsAuthorizationStatus():ICAuthorizationStatus;
        controlAuthorizationStatus():ICAuthorizationStatus;
        requestContentsAuthorization(completion: ()=>any):void;
        requestControlAuthorization(completion: ()=>any):void;
        resetContentsAuthorization(completion: ()=>any):void;
        resetControlAuthorization(completion: ()=>any):void;
    }
    export interface ICDeviceBrowserDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the sharing state of a device changes.
         */
        deviceBrowser(browser: ICDeviceBrowser, device: ICDevice):void;
        deviceBrowserDidCancelSuspendOperations(browser: ICDeviceBrowser):void;
        deviceBrowserDidResumeOperations(browser: ICDeviceBrowser):void;
        deviceBrowserDidSuspendOperations(browser: ICDeviceBrowser):void;
        deviceBrowserWillSuspendOperations(browser: ICDeviceBrowser):void;
    }
    export class ICDevice extends NSObject {
        /**
         * A bookkeeping object for client convenience.
         */
        userData: NSMutableDictionary | null;
        /**
         * The file system path of an application to launch automatically when this device is added.
         */
        autolaunchApplicationPath: string;
        /**
         * A Boolean value indicating whether the device is published by the Image Capture device-sharing facility.
         */
        isRemote: boolean;
        /**
         * The executable architecture of the device module servicing the requests.
         */
        moduleExecutableArchitecture: Int32;
        systemSymbolName: string;
        /**
         * Requests to eject the media if permitted by the device, or to disconnect from a remote device.
         */
        requestEject():void;
        /**
         * Requests to eject the media if permitted by the device, or to disconnect from a remote device.
         */
        requestEjectOrDisconnect():void;
        /**
         * Requests that device module in control of this device yield control.
         */
        requestYield():void;
    }
    export class ICCameraDevice extends ICDevice {
        /**
         * All image, movie, and audio files stored on the camera, in an order that reflects the camera’s storage folder structure.
         */
        contents: ICCameraItem[] | null;
        /**
         * All image, movie and audio files stored on the camera, without regard to the camera’s storage folder structure.
         */
        mediaFiles: ICCameraItem[] | null;
        /**
         * The percentage of the camera’s content that has been catalogued.
         */
        contentCatalogPercentCompleted: number;
        /**
         * A Boolean value indicating whether the device is locked, preventing deletion of any asset.
         */
        isLocked: boolean;
        /**
         * A Boolean value indicating whether tethered capture is enabled on the camera.
         */
        tetheredCaptureEnabled: boolean;
        /**
         * A closure for handling PTP event packets.
         */
        ptpEventHandler: ()=>any;
        /**
         * A Boolean value that indicates whether the battery charge level is available.
         */
        batteryLevelAvailable: boolean;
        /**
         * The battery charge level.
         */
        batteryLevel: number;
        /**
         * The time offset, in seconds, between the camera’s clock and the computer’s clock.
         */
        timeOffset: TimeInterval;
        /**
         * A Boolean value indicating whether the device is an Apple device, passcode-locked, and connected to an untrusted host.
         */
        isAccessRestrictedAppleDevice: boolean;
        /**
         * A Boolean value indicating whether the iCloud Photo Library is enabled on the device.
         */
        iCloudPhotosEnabled: boolean;
        /**
         * The file system mount point for a camera using the mass storage transport type.
         */
        mountPoint: string;
        /**
         * A Boolean value indicating whether the device can be ‘soft’ removed or disconnected.
         */
        isEjectable: boolean;
        mediaPresentation: ICMediaPresentation;
        /**
         * Returns an array of files of the selected type on the camera.
         */
        files(fileUTType: string):string[] | null;
        /**
         * Asynchronously reads data of a specified length from a specified offset.
         */
        requestReadData(file: ICCameraFile, offset: off_t, length: off_t, readDelegate: any, selector: Selector, contextInfo: UnsafeMutableRawPointer | null):void;
        /**
         * Uploads a file to the camera.
         */
        requestUploadFile(fileURL: URL, options: Record<ICUploadOption, any>, uploadDelegate: any, selector: Selector, contextInfo: UnsafeMutableRawPointer | null):void;
        /**
         * Cancels a download from the camera.
         */
        cancelDownload():void;
        /**
         * Downloads a file from the camera.
         */
        requestDownloadFile(file: ICCameraFile, options: Record<ICDownloadOption, any>, downloadDelegate: ICCameraDeviceDownloadDelegate, selector: Selector, contextInfo: UnsafeMutableRawPointer | null):void;
        /**
         * Deletes files from the camera.
         */
        requestDeleteFiles(files: ICCameraItem[]):void;
        /**
         * Cancels the current delete operation.
         */
        cancelDelete():void;
        /**
         * Enables tethered capture if the camera has the capability to take pictures while connected.
         */
        requestEnableTethering():void;
        /**
         * Captures a new image using the camera.
         */
        requestTakePicture():void;
        /**
         * Sends a Picture Transfer Protocol (PTP) command to a camera asynchronously.
         */
        requestSendPTPCommand(command: Data, data: Data | null, sendCommandDelegate: any, selector: Selector, contextInfo: UnsafeMutableRawPointer | null):void;
        /**
         * Disables tethered capture on the camera.
         */
        requestDisableTethering():void;
        /**
         * Synchronizes the camera’s clock with the computer’s clock.
         */
        requestSyncClock():void;
    }
    export class ICUploadOption {
        constructor (rawValue: string);
    }
    export class ICDownloadOption {
        /**
         * A writable directory where the downloaded files should be saved.
         */
        static downloadsDirectoryURL: ICDownloadOption;
        /**
         * The name to be used for the downloaded file.
         */
        static saveAsFilename: ICDownloadOption;
        /**
         * The actual name of the saved file. 
         */
        static savedFilename: ICDownloadOption;
        /**
         * An array of files associated with the file being downloaded.
         */
        static savedAncillaryFiles: ICDownloadOption;
        /**
         * A Boolean value indicating whether the downloaded file should overwrite an existing file with the same name and extension.
         */
        static overwrite: ICDownloadOption;
        /**
         * A Boolean value indicating whether to delete the file from the device after a successful download.
         */
        static deleteAfterSuccessfulDownload: ICDownloadOption;
        /**
         * A Boolean value indicating whether to download all sidecar files along with the media file.
         */
        static sidecarFiles: ICDownloadOption;
        static truncateAfterSuccessfulDownload: ICDownloadOption;
        constructor (rawValue: string);
    }
    export interface ICCameraDeviceDownloadDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the requested download has completed.
         */
        didDownloadFile(file: ICCameraFile, error: Error | null, options: Record<string, any>, contextInfo: UnsafeMutableRawPointer | null):void;
        /**
         * Updates the delegate about the status of the download.
         */
        didReceiveDownloadProgress(file: ICCameraFile, downloadedBytes: off_t, maxBytes: off_t):void;
    }
    export class ICDeleteResult {
        /**
         * The deletion was canceled.
         */
        static canceled: ICDeleteResult;
        /**
         * The deletion failed.
         */
        static failed: ICDeleteResult;
        /**
         * The deletion succeeded.
         */
        static successful: ICDeleteResult;
        constructor (rawValue: string);
    }
    export class ICDeleteError {
        /**
         * The deletion was canceled.
         */
        static canceled: ICDeleteError;
        /**
         * The deletion failed because the device could not be found.
         */
        static deviceMissing: ICDeleteError;
        /**
         * The deletion failed because the file could not be found.
         */
        static fileMissing: ICDeleteError;
        /**
         * The deletion failed because the file had read-only permissions.
         */
        static readOnly: ICDeleteError;
        constructor (rawValue: string);
    }
    export interface ICCameraDeviceDelegate extends ICDeviceDelegate {
        /**
         * Tells the client that the camera device is done enumerating its content and is ready to receive requests.
         */
        deviceDidBecomeReady(device: ICCameraDevice):void;
        /**
         * Tells the client when objects are added to the device.
         */
        cameraDevice(camera: ICCameraDevice, items: ICCameraItem[]):void;
        /**
         * Tells the client when a capability of a camera changes.
         */
        cameraDeviceDidChangeCapability(camera: ICCameraDevice):void;
        /**
         * Tells the client when an Apple device has been locked, and media is unavailable until the restriction has been removed.
         */
        cameraDeviceDidEnableAccessRestriction(device: ICDevice):void;
        /**
         * Tells the client when an Apple device has been unlocked, paired to the host, and media is available.
         */
        cameraDeviceDidRemoveAccessRestriction(device: ICDevice):void;
    }
    export class ICCameraItem extends NSObject {
        /**
         * The item’s uniform type identifier (UTI) string.
         */
        uti: string;
        /**
         * The item’s name.
         */
        name: string;
        /**
         * The item’s 
         *  object handle value, if the camera uses the 
         *  protocol.
         */
        ptpObjectHandle: UInt32;
        /**
         * A Boolean value indicating whether the item is a raw image file.
         */
        isRaw: boolean;
        /**
         * The item’s creation date, usually the same as its 
         *  creation date.
         */
        creationDate: Date | null;
        /**
         * The item’s modification date, usually the same as its 
         *  modification date.
         */
        modificationDate: Date | null;
        /**
         * A Boolean value indicating whether the item was captured on the camera after the camera’s content had been fully enumerated.
         */
        wasAddedAfterContentCatalogCompleted: boolean;
        /**
         * The item’s parent device.
         */
        device: ICCameraDevice | null;
        /**
         * The item’s file system path on a camera using the mass storage transport type.
         */
        fileSystemPath: string;
        /**
         * This item’s parent folder.
         */
        parentFolder: ICCameraFolder | null;
        /**
         * A Boolean value that indicates whether this item is in a temporary store.
         */
        isInTemporaryStore: boolean;
        /**
         * The item’s metadata. 
         */
        metadata: Record<AnyHashable, any> | null;
        /**
         * The item’s metadata if it is readily available. 
         */
        metadataIfAvailable: Record<string, any> | null;
        /**
         * The item’s thumbnail.
         */
        thumbnail: CGImage | null;
        /**
         * The item’s thumbnail if it is readily available. 
         */
        thumbnailIfAvailable: CGImage | null;
        /**
         * A large thumbnail for the item if one is readily available.
         */
        largeThumbnailIfAvailable: CGImage | null;
        /**
         * A Boolean value that indicates whether the storage card in the camera is locked.
         */
        isLocked: boolean;
        /**
         * A mutable dictionary to store arbitrary key-value pairs associated with a camera item.
         */
        userData: NSMutableDictionary | null;
        /**
         * Requests metadata for the item. 
         */
        requestMetadata():void;
        /**
         * Deletes the item’s cached metadata.
         */
        flushMetadataCache():void;
        /**
         * Requests a thumbnail for the item. 
         */
        requestThumbnail():void;
        /**
         * Deletes the item’s cached thumbnail.
         */
        flushThumbnailCache():void;
    }
    export class ICCameraItemMetadataOption {
        constructor (rawValue: string);
    }
    export class ICCameraItemThumbnailOption {
        static imageSourceShouldCache: ICCameraItemThumbnailOption;
        static imageSourceThumbnailMaxPixelSize: ICCameraItemThumbnailOption;
        constructor (rawValue: string);
    }
    export class ICCameraFile extends ICCameraItem {
        /**
         * The original name of the file on disk.
         */
        originalFilename: string;
        /**
         * The created name of the file.
         */
        createdFilename: string;
        /**
         * The group 
         *  of the file.
         */
        groupUUID: string;
        /**
         * A related UUID correlating several images from an Apple device.
         */
        relatedUUID: string;
        /**
         * The originating asset ID of an 
         *  or 
         *  file.
         */
        originatingAssetID: string;
        /**
         * The creation date of the file.
         */
        fileCreationDate: Date | null;
        /**
         * The modification date of the file.
         */
        fileModificationDate: Date | null;
        /**
         * The size of the file, in bytes.
         */
        fileSize: off_t;
        /**
         * The width of an image or movie frame.
         */
        width: number;
        /**
         * The height of an image or movie frame.
         */
        height: number;
        /**
         * The orientation to use when downloading the image.
         */
        orientation: ICEXIFOrientationType;
        /**
         * The 
         *  creation date of the file.
         */
        exifCreationDate: Date | null;
        /**
         * The 
         *  modification date of the file.
         */
        exifModificationDate: Date | null;
        /**
         * The GPS String of the file in standard format.
         */
        gpsString: string;
        /**
         * A Boolean value that indicates whether a file is autopicked by Photos to represent the burst.
         */
        firstPicked: boolean;
        /**
         * The burst UUID of the file if it is in a burst.
         */
        burstUUID: string;
        /**
         * A Boolean value that indicates this file is the burst favorite in a burst.
         */
        burstFavorite: boolean;
        /**
         * A Boolean value that indicates whether this file is user picked in a burst.
         */
        burstPicked: boolean;
        /**
         * The duration, in seconds, of an audio or video file.
         */
        duration: number;
        /**
         * A Boolean value that indicates whether the file is a slow motion or high-frame-rate video file.
         */
        highFramerate: boolean;
        /**
         * A Boolean value that indicates whether the file is a time-lapse video file.
         */
        timeLapse: boolean;
        /**
         * An array of two camera files associated with this file.
         */
        sidecarFiles: ICCameraItem[] | null;
        /**
         * A sidecar file containing the logical 
         *  compliment of a 
         *  or other two-format image.
         */
        pairedRawImage: ICCameraFile | null;
        /**
         * Requests metadata and executes the completion block in place of the delegate.
         */
        requestMetadataDictionary(options: Record<ICCameraItemMetadataOption, any> | null, completion: ()=>any):void;
        /**
         * Requests a thumbnail and executes the completion block in place of the delegate.
         */
        requestThumbnailData(options: Record<ICCameraItemThumbnailOption, any> | null, completion: ()=>any):void;
        /**
         * Requests a download and executes the completion block in place of the delegate.
         */
        requestDownload(options: Record<ICDownloadOption, any> | null, completion: ()=>any):Progress | null;
        /**
         * Requests to asynchronously read data of a specified length from a specified offset, then executes the completion block.
         */
        requestReadData(offset: off_t, length: off_t, completion: ()=>any):void;
    }
    export enum ICEXIFOrientationType {
        orientation1 = 1,
        orientation2 = 2,
        orientation3 = 3,
        orientation4 = 4,
        orientation5 = 5,
        orientation6 = 6,
        orientation7 = 7,
        orientation8 = 8,
    }
    export enum ICDeviceType {
        camera = 1,
        scanner = 2,
    }
    export class ICCameraFolder extends ICCameraItem {
        /**
         * A list of items that this folder contains.
         */
        contents: ICCameraItem[] | null;
    }
    export class ICScannerDevice extends ICDevice {
        /**
         * An array of functional unit types available on this scanner.
         */
        availableFunctionalUnitTypes: NSNumber[];
        /**
         * The currently selected functional unit on the scanner.
         */
        selectedFunctionalUnit: ICScannerFunctionalUnit;
        /**
         * The document’s name.
         */
        documentName: string;
        /**
         * The document’s uniform type identifier. 
         */
        documentUTI: string;
        /**
         * The downloads directory.
         */
        downloadsDirectory: URL;
        /**
         * The transfer mode for the scanned document.
         */
        transferMode: ICScannerTransferMode;
        /**
         * The total maximum band size requested when performing a memory-based transfer.
         */
        maxMemoryBandSize: UInt32;
        /**
         * A default username on protected scanners.
         */
        defaultUsername: string;
        /**
         * Requests to select a functional unit on the scanner.
         */
        requestSelect(type: ICScannerFunctionalUnitType):void;
        /**
         * Opens a session on the protected device with the authorized username and passcode.
         */
        requestOpenSession(username: string, password: string):void;
        /**
         * Starts an overview scan on the selected functional unit.
         */
        requestOverviewScan():void;
        /**
         * Starts a scan on the selected functional unit.
         */
        requestScan():void;
        /**
         * Cancels the current scan.
         */
        cancelScan():void;
    }
    export enum ICScannerFunctionalUnitType {
        documentFeeder = 3,
        flatbed = 0,
        negativeTransparency = 2,
        positiveTransparency = 1,
    }
    export enum ICScannerFunctionalUnitState {
        ready = 1,
        overviewScanInProgress = 4,
        scanInProgress = 2,
    }
    export enum ICDeviceTypeMask {
        camera = 1,
        scanner = 2,
    }
    export interface ICScannerDeviceDelegate extends ICDeviceDelegate {
        /**
         * Tells the client when another client closes the current open session on the scanner.
         */
        scannerDeviceDidBecomeAvailable(scanner: ICScannerDevice):void;
        /**
         * Tells the client when a functional unit is selected on the scanner.
         */
        scannerDevice(scanner: ICScannerDevice, functionalUnit: ICScannerFunctionalUnit, error: Error | null):void;
    }
    export class ICScannerBandData extends NSObject {
        bitsPerComponent: number;
        bitsPerPixel: number;
        bytesPerRow: number;
        colorSyncProfilePath: string;
        dataBuffer: Data | null;
        dataNumRows: number;
        dataSize: number;
        dataStartRow: number;
        fullImageHeight: number;
        fullImageWidth: number;
        isBigEndian: boolean;
        numComponents: number;
        pixelDataType: ICScannerPixelDataType;
    }
    export enum ICScannerBitDepth {
        depth16Bits = 16,
        depth1Bit = 1,
        depth8Bits = 8,
    }
    export enum ICScannerColorDataFormatType {
        chunky = 0,
        planar = 1,
    }
    export enum ICScannerDocumentType {
        type10 = 25,
        type10R = 67,
        type110 = 72,
        type11R = 69,
        type12R = 70,
        type135 = 76,
        type2A0 = 18,
        type3R = 61,
        type4A0 = 17,
        type4R = 62,
        type5R = 63,
        type6R = 64,
        type8R = 65,
        typeA0 = 19,
        typeA1 = 20,
        typeA2 = 21,
        typeA3 = 11,
        typeA4 = 1,
        typeA5 = 5,
        typeA6 = 13,
        typeA7 = 22,
        typeA8 = 23,
        typeA9 = 24,
        typeAPSC = 74,
        typeAPSH = 73,
        typeAPSP = 75,
        typeB5 = 2,
        typeBusinessCard = 53,
        typeC0 = 44,
        typeC1 = 45,
        typeC10 = 51,
        typeC2 = 46,
        typeC3 = 47,
        typeC4 = 14,
        typeC5 = 15,
        typeC6 = 16,
        typeC7 = 48,
        typeC8 = 49,
        typeC9 = 50,
        typeDefault = 0,
        typeE = 60,
        typeISOB0 = 26,
        typeISOB1 = 27,
        typeISOB10 = 33,
        typeISOB2 = 28,
        typeISOB3 = 12,
        typeISOB4 = 6,
        typeISOB5 = 29,
        typeISOB6 = 7,
        typeISOB7 = 30,
        typeISOB8 = 31,
        typeISOB9 = 32,
        typeJISB0 = 34,
        typeJISB1 = 35,
        typeJISB10 = 43,
        typeJISB2 = 36,
        typeJISB3 = 37,
        typeJISB4 = 38,
        typeJISB6 = 39,
        typeJISB7 = 40,
        typeJISB8 = 41,
        typeJISB9 = 42,
        typeLF = 78,
        typeMF = 77,
        typeS10R = 68,
        typeS12R = 71,
        typeS8R = 66,
        typeUSExecutive = 10,
        typeUSLedger = 9,
        typeUSLegal = 4,
        typeUSLetter = 3,
        typeUSStatement = 52,
    }
    export enum ICDeviceLocationType {
        bluetooth = 2048,
        bonjour = 1024,
        local = 256,
        shared = 512,
    }
    export enum ICScannerMeasurementUnit {
        centimeters = 1,
        inches = 0,
        picas = 2,
        pixels = 5,
        points = 3,
        twips = 4,
    }
    export enum ICDeviceLocationTypeMask {
        bluetooth = 2048,
        bonjour = 1024,
        local = 256,
        remote = 65024,
        shared = 512,
    }
    export class ICScannerFeature extends NSObject {
        humanReadableName: string;
        internalName: string;
        tooltip: string;
        type: ICScannerFeatureType;
    }
    export class ICScannerFeatureBoolean extends ICScannerFeature {
        value: boolean;
    }
    export class ICScannerFeatureEnumeration extends ICScannerFeature {
        currentValue: AnyObject;
        defaultValue: any;
        menuItemLabels: string[];
        menuItemLabelsTooltips: string[];
        values: NSNumber[];
    }
    export class ICScannerFeatureRange extends ICScannerFeature {
        currentValue: CGFloat;
        defaultValue: CGFloat;
        maxValue: CGFloat;
        minValue: CGFloat;
        stepSize: CGFloat;
    }
    export class ICScannerFeatureTemplate extends ICScannerFeature {
        targets: NSMutableArray[];
    }
    export enum ICScannerFeatureType {
        boolean = 2,
        enumeration = 0,
        range = 1,
        template = 3,
    }
    export class ICScannerFunctionalUnit extends NSObject {
        acceptsThresholdForBlackAndWhiteScanning: boolean;
        bitDepth: ICScannerBitDepth;
        canPerformOverviewScan: boolean;
        defaultThresholdForBlackAndWhiteScanning: UInt8;
        measurementUnit: ICScannerMeasurementUnit;
        nativeXResolution: number;
        nativeYResolution: number;
        overviewImage: CGImage | null;
        overviewResolution: number;
        overviewScanInProgress: boolean;
        physicalSize: NSSize;
        pixelDataType: ICScannerPixelDataType;
        preferredResolutions: IndexSet;
        preferredScaleFactors: IndexSet;
        resolution: number;
        scaleFactor: number;
        scanArea: NSRect;
        scanAreaOrientation: ICEXIFOrientationType;
        scanInProgress: boolean;
        scanProgressPercentDone: CGFloat;
        state: ICScannerFunctionalUnitState;
        supportedBitDepths: IndexSet;
        supportedMeasurementUnits: IndexSet;
        supportedResolutions: IndexSet;
        supportedScaleFactors: IndexSet;
        templates: ICScannerFeatureTemplate[];
        thresholdForBlackAndWhiteScanning: UInt8;
        type: ICScannerFunctionalUnitType;
        usesThresholdForBlackAndWhiteScanning: boolean;
        vendorFeatures: ICScannerFeature[] | null;
    }
    export class ICDeviceLocationOptions {
        /**
         * A paired Bluetooth device.
         */
        static descriptionBluetooth: ICDeviceLocationOptions;
        /**
         * A device that's directly attached to the Mac through its FireWire port.
         */
        static descriptionFireWire: ICDeviceLocationOptions;
        /**
         * A mass storage device.
         */
        static descriptionMassStorage: ICDeviceLocationOptions;
        /**
         * A device that's directly attached to the Mac through its USB port.
         */
        static descriptionUSB: ICDeviceLocationOptions;
        /**
         * Creates ImageCaptureCore location options.
         */
        constructor (rawValue: string);
    }
    export class ICScannerFunctionalUnitDocumentFeeder extends ICScannerFunctionalUnit {
        documentLoaded: boolean;
        documentSize: NSSize;
        documentType: ICScannerDocumentType;
        duplexScanningEnabled: boolean;
        evenPageOrientation: ICEXIFOrientationType;
        oddPageOrientation: ICEXIFOrientationType;
        reverseFeederPageOrder: boolean;
        supportedDocumentTypes: IndexSet;
        supportsDuplexScanning: boolean;
    }
    export class ICScannerFunctionalUnitFlatbed extends ICScannerFunctionalUnit {
        documentSize: NSSize;
        documentType: ICScannerDocumentType;
        supportedDocumentTypes: IndexSet;
    }
    export class ICScannerFunctionalUnitNegativeTransparency extends ICScannerFunctionalUnit {
        documentSize: NSSize;
        documentType: ICScannerDocumentType;
        supportedDocumentTypes: IndexSet;
    }
    export class ICScannerFunctionalUnitPositiveTransparency extends ICScannerFunctionalUnit {
        documentSize: NSSize;
        documentType: ICScannerDocumentType;
        supportedDocumentTypes: IndexSet;
    }
    export enum ICScannerTransferMode {
        fileBased = 0,
        memoryBased = 1,
    }
    export enum ICScannerPixelDataType {
        BW = 0,
        CIEXYZ = 8,
        CMY = 4,
        CMYK = 5,
        gray = 1,
        palette = 3,
        RGB = 2,
        YUV = 6,
        YUVK = 7,
    }
    export class ICReturn {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * Communication between different components of Image Capture timed out.
         */
        static communicationTimedOut: ICReturn.Code;
        /**
         * A request to delete files was canceled.
         */
        static deleteFilesCanceled: ICReturn.Code;
        /**
         * A request to delete files failed.
         */
        static deleteFilesFailed: ICReturn.Code;
        /**
         * The device has experienced a general failure.
         */
        static deviceCommandGeneralFailure: ICReturn.Code;
        /**
         * A pairing request for an Apple Device failed.
         */
        static deviceCouldNotPair: ICReturn.Code;
        /**
         * An unpairing request for an Apple Device failed.
         */
        static deviceCouldNotUnpair: ICReturn.Code;
        /**
         * Failed to close a session on a specified device.
         */
        static deviceFailedToCloseSession: ICReturn.Code;
        /**
         * Failed to complete a data transaction.
         */
        static deviceFailedToCompleteTransfer: ICReturn.Code;
        /**
         * Failed to open a session on a specified device.
         */
        static deviceFailedToOpenSession: ICReturn.Code;
        /**
         * Failed to send data.
         */
        static deviceFailedToSendData: ICReturn.Code;
        /**
         * Failed to take a tethered-capture picture on a camera device.
         */
        static deviceFailedToTakePicture: ICReturn.Code;
        /**
         * The device is currently enumerating assets.
         */
        static deviceIsBusyEnumerating: ICReturn.Code;
        /**
         * The device is locked with a passcode. Its contents cannot be seen unless it is unlocked.
         */
        static deviceIsPasscodeLocked: ICReturn.Code;
        /**
         * The device reports credentials are required to open the device.
         */
        static deviceNeedsCredentials: ICReturn.Code;
        /**
         * Software installation for the device has been canceled.
         */
        static deviceSoftwareInstallationCanceled: ICReturn.Code;
        /**
         * Software installation for the device has completed successfully.
         */
        static deviceSoftwareInstallationCompleted: ICReturn.Code;
        /**
         * Software installation for the device failed.
         */
        static deviceSoftwareInstallationFailed: ICReturn.Code;
        /**
         * Failed to open session because software to communicate with the device is being installed.
         */
        static deviceSoftwareIsBeingInstalled: ICReturn.Code;
        /**
         * Software for the device is not available from Apple.
         */
        static deviceSoftwareNotAvailable: ICReturn.Code;
        /**
         * Failed to open session because software to communicate with the device is not installed.
         */
        static deviceSoftwareNotInstalled: ICReturn.Code;
        /**
         * A download operation was canceled.
         */
        static downloadCanceled: ICReturn.Code;
        /**
         * A non-specific error occurred while downloading a file.
         */
        static downloadFailed: ICReturn.Code;
        /**
         * EXFAT volume is invalid, and cannot be enumerated.
         */
        static exFATVolumeInvalid: ICReturn.Code;
        /**
         * Failed to complete a pass-through (e.g., PTP pass-through) command.
         */
        static failedToCompletePassThroughCommand: ICReturn.Code;
        /**
         * A request to send a message to a device failed.
         */
        static failedToCompleteSendMessageRequest: ICReturn.Code;
        /**
         * A request to send a message to a device failed.
         */
        static failedToDisabeTethering: ICReturn.Code;
        /**
         * Failed to enable tethered-capture on a camera device.
         */
        static failedToEnabeTethering: ICReturn.Code;
        /**
         * An invalid parameter was found.
         */
        static invalidParam: ICReturn.Code;
        /**
         * Multierror
         */
        static multiErrorDictionary: ICReturn.Code;
        /**
         * An unsolicited error information was received from a scanner.
         */
        static receivedUnsolicitedScannerErrorInfo: ICReturn.Code;
        /**
         * An unsolicited status information was received from a scanner.
         */
        static receivedUnsolicitedScannerStatusInfo: ICReturn.Code;
        /**
         * The scan operation is canceled.
         */
        static scanOperationCanceled: ICReturn.Code;
        /**
         * Overview scan operation failed to complete on the specified scanner.
         */
        static scannerFailedToCompleteOverviewScan: ICReturn.Code;
        /**
         * Scan operation failed to complete on the specified scanner.
         */
        static scannerFailedToCompleteScan: ICReturn.Code;
        /**
         * Failed to select a functional unit on the specified scanner.
         */
        static scannerFailedToSelectFunctionalUnit: ICReturn.Code;
        /**
         * Scanner is being used by a local user. 
         */
        static scannerInUseByLocalUser: ICReturn.Code;
        /**
         * Scanner is being used by a remote user.
         */
        static scannerInUseByRemoteUser: ICReturn.Code;
        /**
         * Session is not open.
         */
        static sessionNotOpened: ICReturn.Code;
        /**
         * Operation successful.
         */
        static success: ICReturn.Code;
        /**
         * A non-specific error occurred while updownloading a file.
         */
        static uploadFailed: ICReturn.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturn
     */
    export namespace ICReturn {
        export enum Code {
            communicationTimedOut = -9923,
            deleteFilesCanceled = -9942,
            deleteFilesFailed = -9941,
            deviceCouldNotPair = -9951,
            deviceCouldNotUnpair = -9952,
            deviceFailedToCloseSession = -9928,
            deviceFailedToOpenSession = -9927,
            deviceFailedToTakePicture = -9944,
            deviceIsPasscodeLocked = -9943,
            deviceNeedsCredentials = -9953,
            deviceSoftwareInstallationCanceled = -9948,
            deviceSoftwareInstallationCompleted = -9947,
            deviceSoftwareInstallationFailed = -9949,
            deviceSoftwareIsBeingInstalled = -9946,
            deviceSoftwareNotAvailable = -9950,
            deviceSoftwareNotInstalled = -9945,
            downloadCanceled = -9937,
            downloadFailed = -9934,
            failedToCompletePassThroughCommand = -9936,
            failedToCompleteSendMessageRequest = -9940,
            failedToDisabeTethering = -9939,
            failedToEnabeTethering = -9938,
            invalidParam = -9922,
            receivedUnsolicitedScannerErrorInfo = -9933,
            receivedUnsolicitedScannerStatusInfo = -9932,
            scanOperationCanceled = -9924,
            scannerFailedToCompleteOverviewScan = -9930,
            scannerFailedToCompleteScan = -9931,
            scannerFailedToSelectFunctionalUnit = -9929,
            scannerInUseByLocalUser = -9925,
            scannerInUseByRemoteUser = -9926,
            success = 0,
            uploadFailed = -9935,
            deviceIsBusyEnumerating = -9954,
            deviceCommandGeneralFailure = -9955,
            deviceFailedToCompleteTransfer = -9956,
            deviceFailedToSendData = -9957,
            exFATVolumeInvalid = 21200,
            multiErrorDictionary = -30000,
            sessionNotOpened = -9958,
        }
    }
    export class ICDeviceTransport {
        static transportTypeBluetooth: ICDeviceTransport;
        static transportTypeExFAT: ICDeviceTransport;
        static transportTypeFireWire: ICDeviceTransport;
        static transportTypeMassStorage: ICDeviceTransport;
        static transportTypeTCPIP: ICDeviceTransport;
        static transportTypeUSB: ICDeviceTransport;
        constructor (rawValue: string);
    }
    export enum ICReturnCodeOffset {
        deleteOffset = -21150,
        deviceConnection = -21400,
        deviceOffset = -21350,
        downloadOffset = -21100,
        exFATOffset = -21200,
        metadataOffset = -21050,
        objectOffset = -21450,
        ptpOffset = -21250,
        systemOffset = -21300,
        thumbnailOffset = -21000,
    }
    export class ICLegacyReturn {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        static cannotYieldDevice: ICLegacyReturn.Code;
        static communicationErr: ICLegacyReturn.Code;
        static dataTypeNotFoundErr: ICLegacyReturn.Code;
        static deviceAlreadyOpenErr: ICLegacyReturn.Code;
        static deviceGUIDNotFoundErr: ICLegacyReturn.Code;
        static deviceIOServicePathNotFoundErr: ICLegacyReturn.Code;
        static deviceInternalErr: ICLegacyReturn.Code;
        static deviceInvalidParamErr: ICLegacyReturn.Code;
        static deviceLocationIDNotFoundErr: ICLegacyReturn.Code;
        static deviceMemoryAllocationErr: ICLegacyReturn.Code;
        static deviceNotFoundErr: ICLegacyReturn.Code;
        static deviceNotOpenErr: ICLegacyReturn.Code;
        static deviceUnsupportedErr: ICLegacyReturn.Code;
        static extensionInternalErr: ICLegacyReturn.Code;
        static fileCorruptedErr: ICLegacyReturn.Code;
        static frameworkInternalErr: ICLegacyReturn.Code;
        static indexOutOfRangeErr: ICLegacyReturn.Code;
        static invalidObjectErr: ICLegacyReturn.Code;
        static invalidPropertyErr: ICLegacyReturn.Code;
        static invalidSessionErr: ICLegacyReturn.Code;
        static ioPendingErr: ICLegacyReturn.Code;
        static propertyTypeNotFoundErr: ICLegacyReturn.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICLegacyReturn
     */
    export namespace ICLegacyReturn {
        export enum Code {
            cannotYieldDevice = -9909,
            communicationErr = -9900,
            dataTypeNotFoundErr = -9910,
            deviceAlreadyOpenErr = -9914,
            deviceGUIDNotFoundErr = -9916,
            deviceIOServicePathNotFoundErr = -9917,
            deviceInternalErr = -9912,
            deviceInvalidParamErr = -9913,
            deviceLocationIDNotFoundErr = -9915,
            deviceMemoryAllocationErr = -9911,
            deviceNotFoundErr = -9901,
            deviceNotOpenErr = -9902,
            deviceUnsupportedErr = -9918,
            extensionInternalErr = -9920,
            fileCorruptedErr = -9903,
            frameworkInternalErr = -9919,
            indexOutOfRangeErr = -9907,
            invalidObjectErr = -9905,
            invalidPropertyErr = -9906,
            invalidSessionErr = -9921,
            ioPendingErr = -9904,
            propertyTypeNotFoundErr = -9908,
        }
    }
    export class ICDeviceCapability {
        /**
         * The capability for the client to request to take a picture while the camera is connected.
         */
        static cameraDeviceCanTakePicture: ICDeviceCapability;
        /**
         * The capability to capture a picture if the user presses the shutter release on the camera while the camera is connected.
         */
        static cameraDeviceCanTakePictureUsingShutterReleaseOnCamera: ICDeviceCapability;
        /**
         * Indicates that the camera can delete a file at a time while it is connected.
         */
        static cameraDeviceCanDeleteOneFile: ICDeviceCapability;
        /**
         * Indicates that the camera can delete all files in a single operation while it is connected.
         */
        static cameraDeviceCanDeleteAllFiles: ICDeviceCapability;
        /**
         * Indicates that the host can upload files to the camera.
         */
        static cameraDeviceCanReceiveFile: ICDeviceCapability;
        /**
         * Indicates that the camera can synchronize its date and time with that of the host computer.
         */
        static cameraDeviceCanSyncClock: ICDeviceCapability;
        /**
         * Indicates that the camera can accept PTP commands.
         */
        static cameraDeviceCanAcceptPTPCommands: ICDeviceCapability;
        /**
         * Indicates that the camera can eject or disconnect.
         */
        static canEjectOrDisconnect: ICDeviceCapability;
        static cameraDeviceSupportsHEIF: ICDeviceCapability;
        /**
         * Creates an ImageCaptureCore device capability.
         */
        constructor (rawValue: string);
    }
    export class ICReturnConnectionError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * Device closed session without request.
         */
        static closedSessionSuddenly: ICReturnConnectionError.Code;
        /**
         * Device driver exited without request.
         */
        static driverExited: ICReturnConnectionError.Code;
        /**
         * Device reports eject has failed.
         */
        static ejectFailed: ICReturnConnectionError.Code;
        /**
         * Device ejected without request.
         */
        static ejectedSuddenly: ICReturnConnectionError.Code;
        /**
         * Failed to open a connection to the device.
         */
        static failedToOpen: ICReturnConnectionError.Code;
        /**
         * Failed to open the device.
         */
        static failedToOpenDevice: ICReturnConnectionError.Code;
        /**
         * Device reports session is already open.
         */
        static sessionAlreadyOpen: ICReturnConnectionError.Code;
        static notAuthorizedToOpenDevice: ICReturnConnectionError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturnConnectionError
     */
    export namespace ICReturnConnectionError {
        export enum Code {
            closedSessionSuddenly = -21349,
            driverExited = -21350,
            ejectedSuddenly = -21348,
            ejectFailed = -21346,
            failedToOpen = -21345,
            failedToOpenDevice = -21344,
            sessionAlreadyOpen = -21347,
            notAuthorizedToOpenDevice = -21343,
        }
    }
    export class ICReturnDownloadError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * The destination file is not writable.
         */
        static fileWritable: ICReturnDownloadError.Code;
        /**
         * The destination path is invalid.
         */
        static pathInvalid: ICReturnDownloadError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturnDownloadError
     */
    export namespace ICReturnDownloadError {
        export enum Code {
            fileWritable = -21099,
            pathInvalid = -21100,
        }
    }
    export class ICReturnMetadataError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * Item metadata request is being serviced.
         */
        static alreadyFetching: ICReturnMetadataError.Code;
        /**
         * Item metadata request has been canceled.
         */
        static canceled: ICReturnMetadataError.Code;
        /**
         * Item metadata request completed with invalid result.
         */
        static invalid: ICReturnMetadataError.Code;
        /**
         * Item does not have metadata available.
         */
        static notAvailable: ICReturnMetadataError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturnMetadataError
     */
    export namespace ICReturnMetadataError {
        export enum Code {
            alreadyFetching = -20149,
            canceled = -20148,
            invalid = -20147,
            notAvailable = -20150,
        }
    }
    export class ICReturnObjectError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * The object does not exist.
         */
        static codeObjectDoesNotExist: ICReturnObjectError.Code;
        /**
         * The object data offset is invalid.
         */
        static codeObjectDataOffsetInvalid: ICReturnObjectError.Code;
        /**
         * The object could not be read.
         */
        static codeObjectCouldNotBeRead: ICReturnObjectError.Code;
        /**
         * The object data is empty.
         */
        static codeObjectDataEmpty: ICReturnObjectError.Code;
        static codeObjectDataRequestTooLarge: ICReturnObjectError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturnObjectError
     */
    export namespace ICReturnObjectError {
        export enum Code {
            codeObjectCouldNotBeRead = -21448,
            codeObjectDataEmpty = -21447,
            codeObjectDataOffsetInvalid = -21449,
            codeObjectDataRequestTooLarge = -21446,
            codeObjectDoesNotExist = -21450,
        }
    }
    export class ICSessionOptions {
        static enumerationChronologicalOrder: ICSessionOptions;
        constructor (rawValue: string);
    }
    export class ICReturnPTPDeviceError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * Sending a PTP command failed.
         */
        static failedToSendCommand: ICReturnPTPDeviceError.Code;
        static notAuthorizedToSendCommand: ICReturnPTPDeviceError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturnPTPDeviceError
     */
    export namespace ICReturnPTPDeviceError {
        export enum Code {
            failedToSendCommand = -21250,
            notAuthorizedToSendCommand = -21249,
        }
    }
    export class ICReturnThumbnailError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * Item thumbnail request is being serviced.
         */
        static alreadyFetching: ICReturnThumbnailError.Code;
        /**
         * Item thumbnail request has been canceled.
         */
        static canceled: ICReturnThumbnailError.Code;
        /**
         * Item thumbnail request completed with invalid result.
         */
        static invalid: ICReturnThumbnailError.Code;
        /**
         * Item does not have thumbnail available.
         */
        static notAvailable: ICReturnThumbnailError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class ICReturnThumbnailError
     */
    export namespace ICReturnThumbnailError {
        export enum Code {
            alreadyFetching = -20999,
            canceled = -20098,
            invalid = -20097,
            notAvailable = -21000,
        }
    }
    export class ICDeviceStatus {
        static localizedStatusNotificationKey: ICDeviceStatus;
        static statusCodeKey: ICDeviceStatus;
        static statusNotificationKey: ICDeviceStatus;
        constructor (rawValue: string);
    }
    export enum ICMediaPresentation {
        convertedAssets = 1,
        originalAssets = 2,
    }
    export class ICAuthorizationStatus {
        static authorized: ICAuthorizationStatus;
        static denied: ICAuthorizationStatus;
        static notDetermined: ICAuthorizationStatus;
        static restricted: ICAuthorizationStatus;
        constructor (rawValue: string);
    }
    export interface ICDeviceDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when a session is opened on a device.
         */
        device(device: ICDevice, error: Error | null):void;
        /**
         * Tells the delegate that a device has been removed.
         */
        didRemove(device: ICDevice):void;
        /**
         * Tells the delegate when the device is ready to receive requests.
         */
        deviceDidBecomeReady(device: ICDevice):void;
        /**
         * Tells the delegate when the name of a device changes.
         */
        deviceDidChangeName(device: ICDevice):void;
        /**
         * Tells the delegate when the sharing state of a device changes.
         */
        deviceDidChangeSharingState(device: ICDevice):void;
    }
}

/**
 * Read and write most image file formats, and access an image’s metadata.
 */
declare module ImageIO {
    export class CGImageSource {}
    export enum CGImageMetadataErrors {
        unknown = 0,
        unsupportedFormat = 1,
        badArgument = 2,
        conflictingArguments = 3,
        prefixConflict = 4,
    }
    export enum CGImagePropertyOrientation {
        up = 1,
        upMirrored = 2,
        down = 3,
        downMirrored = 4,
        leftMirrored = 5,
        right = 6,
        rightMirrored = 7,
        left = 8,
    }
    export enum CGImageSourceStatus {
        statusUnexpectedEOF = -5,
        statusInvalidData = -4,
        statusUnknownType = -3,
        statusReadingHeader = -2,
        statusIncomplete = -1,
        statusComplete = 0,
    }
    export class CGImageDestination {}
    export class CGImageMetadata {}
    export class CGMutableImageMetadata extends CGImageMetadata {}
    export enum CGImagePropertyTGACompression {
        tgaCompressionNone = 0,
        tgaCompressionRLE = 1,
    }
    export class CGImageMetadataTag {}
    export enum CGImageAnimationStatus {
        allocationFailure = -22144,
        corruptInputImage = -22141,
        incompleteInputImage = -22143,
        parameterError = -22140,
        unsupportedFormat = -22142,
    }
    export enum CGImageMetadataType {
        invalid = -1,
        default = 0,
        string = 1,
        arrayUnordered = 2,
        arrayOrdered = 3,
        alternateArray = 4,
        alternateText = 5,
        structure = 6,
    }
}

/**
 * Share hardware-accelerated buffer data (framebuffers and textures) across multiple processes. Manage image memory more efficiently.
 */
declare module IOSurface {
    export class IOSurface extends NSObject {
        height: number;
        isInUse: boolean;
        localUseCount: Int32;
        pixelFormat: OSType;
        planeCount: number;
        seed: UInt32;
        width: number;
        allocationSize: number;
        allowsPixelSizeCasting: boolean;
        baseAddress: UnsafeMutableRawPointer;
        bytesPerElement: number;
        bytesPerRow: number;
        elementHeight: number;
        elementWidth: number;
        constructor (properties: Record<IOSurfacePropertyKey, any>);
        allAttachments():Record<string, any> | null;
        attachment(key: string):any;
        baseAddressOfPlane(planeIndex: number):UnsafeMutableRawPointer;
        bytesPerElementOfPlane(planeIndex: number):number;
        bytesPerRowOfPlane(planeIndex: number):number;
        decrementUseCount():void;
        elementHeightOfPlane(planeIndex: number):number;
        elementWidthOfPlane(planeIndex: number):number;
        heightOfPlane(planeIndex: number):number;
        incrementUseCount():void;
        lock(options: IOSurfaceLockOptions, seed: UnsafeMutablePointer<UInt32> | null):kern_return_t;
        removeAllAttachments():void;
        removeAttachment(key: string):void;
        setAllAttachments(dict: Record<string, any>):void;
        setAttachment(anObject: any, key: string):void;
        setPurgeable(newState: IOSurfacePurgeabilityState, oldState: UnsafeMutablePointer<IOSurfacePurgeabilityState> | null):kern_return_t;
        unlock(options: IOSurfaceLockOptions, seed: UnsafeMutablePointer<UInt32> | null):kern_return_t;
        widthOfPlane(planeIndex: number):number;
    }
    export class IOSurfaceRef {}
    export class IOSurfaceLockOptions {
        static avoidSync: IOSurfaceLockOptions;
        static readOnly: IOSurfaceLockOptions;
        constructor (rawValue: UInt32);
    }
    export class IOSurfacePropertyKey {
        static allocSizeKey: IOSurfacePropertyKey;
        static bytesPerElement: IOSurfacePropertyKey;
        static bytesPerRow: IOSurfacePropertyKey;
        static cacheMode: IOSurfacePropertyKey;
        static elementHeight: IOSurfacePropertyKey;
        static elementWidth: IOSurfacePropertyKey;
        static height: IOSurfacePropertyKey;
        static offset: IOSurfacePropertyKey;
        static pixelFormat: IOSurfacePropertyKey;
        static pixelSizeCastingAllowed: IOSurfacePropertyKey;
        static planeBase: IOSurfacePropertyKey;
        static planeBytesPerElement: IOSurfacePropertyKey;
        static planeBytesPerRow: IOSurfacePropertyKey;
        static planeElementHeight: IOSurfacePropertyKey;
        static planeElementWidth: IOSurfacePropertyKey;
        static planeHeight: IOSurfacePropertyKey;
        static planeInfo: IOSurfacePropertyKey;
        static planeOffset: IOSurfacePropertyKey;
        static planeSize: IOSurfacePropertyKey;
        static planeWidth: IOSurfacePropertyKey;
        static width: IOSurfacePropertyKey;
        static allocSize: IOSurfacePropertyKey;
        static name: IOSurfacePropertyKey;
        constructor (rawValue: string);
    }
    export class IOSurfacePurgeabilityState {
        static purgeableEmpty: IOSurfacePurgeabilityState;
        static purgeableKeepCurrent: IOSurfacePurgeabilityState;
        static purgeableVolatile: IOSurfacePurgeabilityState;
        constructor (rawValue: UInt32);
    }
}

/**
 * Fetch, provide, and present rich links in your app.
 */
declare module LinkPresentation {
    export class LPMetadataProvider extends NSObject {
        /**
         * A Boolean value indicating whether to download subresources specified by the metadata.
         */
        shouldFetchSubresources: boolean;
        /**
         * The time interval after which the request automatically fails if it hasn’t already completed.
         */
        timeout: TimeInterval;
        /**
         * Fetches metadata for the given URL.
         */
        startFetchingMetadata(URL: URL, completionHandler: ()=>any):void;
        /**
         * Cancels a metadata request.
         */
        cancel():void;
    }
    export class LPLinkMetadata extends NSObject {
        /**
         * A representative title for the URL.
         */
        title: string;
        /**
         * An object that retrieves data corresponding to a representative icon for the URL.
         */
        iconProvider: NSItemProvider | null;
        /**
         * An object that retrieves data corresponding to a representative image for the URL.
         */
        imageProvider: NSItemProvider | null;
        /**
         * A remote URL corresponding to a representative video for the URL.
         */
        remoteVideoURL: URL | null;
        /**
         * An object that retrieves data corresponding to a representative video for the URL.
         */
        videoProvider: NSItemProvider | null;
    }
    export class LPLinkView extends NSView,UIView {
        /**
         * The metadata from which to generate a rich presentation.
         */
        metadata: LPLinkMetadata;
        /**
         * Initializes a link view with specified metadata.
         */
        constructor (metadata: LPLinkMetadata);
        /**
         * Initializes a placeholder link view without metadata for a given URL.
         */
        constructor (URL: URL);
    }
    export class LPError {
        /**
         * The domain for the error.
         */
        static errorDomain: string;
        /**
         * An error indicating that the metadata fetch was canceled by the client.
         */
        static metadataFetchCancelled: LPError.Code;
        /**
         * An error indicating that a metadata fetch failed.
         */
        static metadataFetchFailed: LPError.Code;
        /**
         * An error indicating that the metadata fetch took longer than allowed.
         */
        static metadataFetchTimedOut: LPError.Code;
        /**
         * An unknown error.
         */
        static unknown: LPError.Code;
        /**
         * A code for the error.
         */
        errorCode: number;
        /**
         * Information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class LPError
     */
    export namespace LPError {
        export enum Code {
            metadataFetchCancelled = 3,
            metadataFetchFailed = 2,
            metadataFetchTimedOut = 4,
            unknown = 1,
        }
    }
}

/**
 * Authenticate users biometrically or with a passphrase they already know.
 */
declare module LocalAuthentication {
    export class LARight extends NSObject {
        /**
         * An integer you use to identify a right.
         */
        tag: number;
        /**
         * The current authorization state for a right.
         */
        state: LARight.State;
        /**
         * Creates a right using the default authorization requirements.
         */
        constructor ();
        /**
         * Creates a right with the authentication requirements you supply.
         */
        constructor (requirement: LAAuthenticationRequirement);
        /**
         * Performs an authorization on the right.
         */
        authorize(localizedReason: string, handler: ()=>any):void;
        /**
         * Invalidates a previously authorized right.
         */
        deauthorize(handler: ()=>any):void;
        /**
         * Checks whether the right has permission to perform authorization.
         */
        checkCanAuthorize(handler: ()=>any):void;
    }
    /**
     * the same name namespace of class LARight
     */
    export namespace LARight {
        export enum State {
            authorizing = 1,
            authorized = 2,
            notAuthorized = 3,
            unknown = 0,
        }
    }
    export class LAError {
        /**
         * The error domain that the framework uses when issuing errors.
         */
        static errorDomain: string;
        /**
         * The app canceled authentication.
         */
        static appCancel: LAError.Code;
        /**
         * The system canceled authentication.
         */
        static systemCancel: LAError.Code;
        /**
         * The user tapped the cancel button in the authentication dialog.
         */
        static userCancel: LAError.Code;
        /**
         * The device supports biometry only using a removable accessory, but the paired accessory isn’t connected.
         */
        static biometryDisconnected: LAError.Code;
        /**
         * Biometry is locked because there were too many failed attempts.
         */
        static biometryLockout: LAError.Code;
        /**
         * Biometry is not available on the device.
         */
        static biometryNotAvailable: LAError.Code;
        /**
         * The user has no enrolled biometric identities.
         */
        static biometryNotEnrolled: LAError.Code;
        /**
         * The device supports biometry only using a removable accessory, but no accessory is paired.
         */
        static biometryNotPaired: LAError.Code;
        /**
         * Touch ID is locked because there were too many failed attempts.
         */
        static touchIDLockout: LAError.Code;
        /**
         * Touch ID is not available on the device.
         */
        static touchIDNotAvailable: LAError.Code;
        /**
         * The user has no enrolled Touch ID fingers.
         */
        static touchIDNotEnrolled: LAError.Code;
        /**
         * The user failed to provide valid credentials.
         */
        static authenticationFailed: LAError.Code;
        /**
         * The context was previously invalidated.
         */
        static invalidContext: LAError.Code;
        static invalidDimensions: LAError.Code;
        /**
         * Displaying the required authentication user interface is forbidden.
         */
        static notInteractive: LAError.Code;
        /**
         * A passcode isn’t set on the device.
         */
        static passcodeNotSet: LAError.Code;
        /**
         * The user tapped the fallback button in the authentication dialog, but no fallback is available for the authentication policy.
         */
        static userFallback: LAError.Code;
        /**
         * An attempt to authenticate with Apple Watch failed.
         */
        static watchNotAvailable: LAError.Code;
        /**
         * The error code the framework returns when policy evaluation fails.
         */
        errorCode: number;
        /**
         * The error code the framework returns when policy evaluation fails.
         */
        code: Code;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A dictionary the framework uses to provide information about an error.
         */
        userInfo: Record<string, any>;
        /**
         * A human readable, localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a Local Authentication error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into the given hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class LAError
     */
    export namespace LAError {
        export enum Code {
            appCancel = -9,
            systemCancel = -4,
            userCancel = -2,
            biometryDisconnected = -13,
            biometryNotPaired = -12,
            touchIDLockout = -8,
            touchIDNotAvailable = -6,
            touchIDNotEnrolled = -7,
            authenticationFailed = -1,
            invalidContext = -10,
            invalidDimensions = -14,
            notInteractive = -1004,
            passcodeNotSet = -5,
            userFallback = -3,
            watchNotAvailable = -11,
        }
    }
    export class LAContext extends NSObject {
        /**
         * The type of biometric authentication supported by the device.
         */
        biometryType: LABiometryType;
        /**
         * The current state of the evaluated policy domain.
         */
        evaluatedPolicyDomainState: Data | null;
        /**
         * The number of biometric authentication failures after which the context falls back to another mechanism.
         */
        maxBiometryFailures: NSNumber | null;
        /**
         * A Boolean value indicating whether authentication can be interactive.
         */
        interactionNotAllowed: boolean;
        /**
         * The localized explanation for authentication shown in the dialog presented to the user.
         */
        localizedReason: string;
        /**
         * The localized title for the fallback button in the dialog presented to the user during authentication.
         */
        localizedFallbackTitle: string;
        /**
         * The localized title for the cancel button in the dialog presented to the user during authentication.
         */
        localizedCancelTitle: string;
        /**
         * The duration for which Touch ID authentication reuse is allowable.
         */
        touchIDAuthenticationAllowableReuseDuration: TimeInterval;
        /**
         * Assesses whether authentication can proceed for a given policy.
         */
        canEvaluatePolicy(policy: LAPolicy, error: NSErrorPointer):boolean;
        /**
         * Evaluates the specified policy.
         */
        evaluatePolicy(policy: LAPolicy, localizedReason: string, reply: ()=>any):void;
        /**
         * Evaluates an access control for a given operation.
         */
        evaluateAccessControl(accessControl: SecAccessControl, operation: LAAccessControlOperation, localizedReason: string, reply: ()=>any):void;
        /**
         * Sets an application-provided credential to be used when evaluating authentication.
         */
        setCredential(credential: Data | null, type: LACredentialType):boolean;
        /**
         * Returns a Boolean value indicating whether the specified credential type is set.
         */
        isCredentialSet(type: LACredentialType):boolean;
        /**
         * Invalidates the authentication context.
         */
        invalidate():void;
    }
    export enum LAPolicy {
        deviceOwnerAuthenticationWithBiometrics = 1,
        deviceOwnerAuthenticationWithWatch = 3,
        deviceOwnerAuthenticationWithBiometricsOrWatch = 4,
        deviceOwnerAuthentication = 2,
        deviceOwnerAuthenticationWithWristDetection = 5,
    }
    export enum LABiometryType {
        none = 0,
        faceID = 2,
        touchID = 1,
    }
    export enum LAAccessControlOperation {
        createItem = 0,
        useItem = 1,
        createKey = 2,
        useKeySign = 3,
        useKeyDecrypt = 4,
        useKeyKeyExchange = 5,
    }
    export enum LACredentialType {
        applicationPassword = 0,
        smartCardPIN = -3,
    }
    export class LARightStore extends NSObject {
        /**
         * A shared object that stores rights.
         */
        static shared: LARightStore;
        /**
         * Fetches a previously stored right from the shared right store.
         */
        right(identifier: string, handler: ()=>any):void;
        /**
         * Saves a right to a persistent right store.
         */
        saveRight(right: LARight, identifier: string, handler: ()=>any):void;
        /**
         * Removes a right from the right store given an instance of that right.
         */
        removeRight(right: LAPersistedRight, handler: ()=>any):void;
        /**
         * Removes all rights associated with this client from the right store.
         */
        removeAllRights(handler: ()=>any):void;
    }
    export class LAPersistedRight extends LARight {
        /**
         * The private key that’s persisted by the right.
         */
        key: LAPrivateKey;
        /**
         * The data kept secret by the right.
         */
        secret: LASecret;
    }
    export class LASecret extends NSObject {
        /**
         * Retrieves data stored in a secret.
         */
        loadData(handler: ()=>any):void;
    }
    export class LAPublicKey extends NSObject {
        /**
         * Checks whether the algorithm you supply is valid for encrypting data with the key.
         */
        canEncrypt(algorithm: SecKeyAlgorithm):boolean;
        /**
         * Checks whether the algorithm you supply is valid for verifying signatures with the key.
         */
        canVerify(algorithm: SecKeyAlgorithm):boolean;
        /**
         * Encrypts the data you supply with a given algorithm.
         */
        encrypt(data: Data, algorithm: SecKeyAlgorithm, handler: ()=>any):void;
        /**
         * Exports the data that represents a public key.
         */
        exportBytes(handler: ()=>any):void;
        /**
         * Verifies a digital signature for the data you supply.
         */
        verify(signedData: Data, signature: Data, algorithm: SecKeyAlgorithm, handler: ()=>any):void;
    }
    export class LAPrivateKey extends NSObject {
        /**
         * The public key that corresponds with the private key in a key pair.
         */
        publicKey: LAPublicKey;
        /**
         * Checks whether the algorithm you supply is valid for decrypting data with the key.
         */
        canDecrypt(algorithm: SecKeyAlgorithm):boolean;
        /**
         * Checks whether the algorithm you supply is valid for performing key exchanges.
         */
        canExchangeKeys(algorithm: SecKeyAlgorithm):boolean;
        /**
         * Checks whether the algorithm you supply is valid for signing data with the key.
         */
        canSign(algorithm: SecKeyAlgorithm):boolean;
        /**
         * Decrypts the data you supply with a given algorithm.
         */
        decrypt(data: Data, algorithm: SecKeyAlgorithm, handler: ()=>any):void;
        /**
         * Performs a Diffie-Hellman style key exchange operation.
         */
        exchangeKeys(publicKey: Data, algorithm: SecKeyAlgorithm, parameters: Record<AnyHashable, any>, handler: ()=>any):void;
        /**
         * Generates a digital signature for the data you supply.
         */
        sign(data: Data, algorithm: SecKeyAlgorithm, handler: ()=>any):void;
    }
    export class LAAuthenticationRequirement extends NSObject {
        /**
         * The requirement that requires user authentication.
         */
        static default: LAAuthenticationRequirement;
        /**
         * The requirement that requires biometric authentication.
         */
        static biometry: LAAuthenticationRequirement;
        /**
         * The requirement that requires user authentication with the current set of biometrics.
         */
        static biometryCurrentSet: LAAuthenticationRequirement;
    }
    export class LABiometryFallbackRequirement extends NSObject {
        /**
         * The default biometric fallback requirement.
         */
        static default: LABiometryFallbackRequirement;
        /**
         * The fallback requirement that requires entering the device passcode.
         */
        static devicePasscode: LABiometryFallbackRequirement;
    }
}

/**
 * Display map or satellite imagery within your app, call out points of interest, and determine placemark information for map coordinates.
 */
declare module MapKit {
    export class MKMapView extends NSView,UIView {
        /**
         * The camera used for determining the appearance of the map. 
         */
        camera: MKMapCamera;
        /**
         * A Boolean value that indicates whether the map displays point-of-interest information.
         */
        showsPointsOfInterest: boolean;
        /**
         * The filter used to determine the points of interest shown on the map.
         */
        pointOfInterestFilter: MKPointOfInterestFilter | null;
        /**
         * A Boolean value that indicates whether the map displays extruded building information on supported map types.
         */
        showsBuildings: boolean;
        /**
         * A Boolean value that indicates whether the map displays a compass control. 
         */
        showsCompass: boolean;
        /**
         * A Boolean value that indicates whether the map displays traffic information.
         */
        showsTraffic: boolean;
        /**
         * A Boolean value that indicates whether the map displays the pitch control.
         */
        showsPitchControl: boolean;
        /**
         * A Boolean value that indicates whether the map shows scale information.
         */
        showsScale: boolean;
        /**
         * A Boolean value that indicates whether the map displays zoom controls.
         */
        showsZoomControls: boolean;
        /**
         * A Boolean value indicating whether the map should try to display the user’s location. 
         */
        showsUserLocation: boolean;
        /**
         * A Boolean value that indicates whether the device’s current location is visible in the map view.
         */
        isUserLocationVisible: boolean;
        /**
         * The annotation object representing the user’s current location. 
         */
        userLocation: MKUserLocation;
        /**
         * The mode used to track the user location.
         */
        userTrackingMode: MKUserTrackingMode;
        /**
         * The complete list of annotations associated with the receiver. 
         */
        annotations: MKAnnotation[];
        /**
         * The visible rectangle where annotation views are currently being displayed. 
         */
        annotationVisibleRect: CGRect;
        /**
         * The annotations that are currently selected.
         */
        selectedAnnotations: MKAnnotation[];
        /**
         * The overlay objects currently associated with the map view.
         */
        overlays: MKOverlay[];
        /**
         * The characteristics of the map view, including the map type and features the map displays.
         */
        preferredConfiguration: MKMapConfiguration;
        /**
         * The receiver’s delegate.
         */
        delegate: MKMapViewDelegate | null;
        /**
         * The property that describes which selectable features the map responds to.
         */
        selectableMapFeatures: MKMapFeatureOptions;
        /**
         * The type of data displayed by the map view.
         */
        mapType: MKMapType;
        /**
         * A Boolean value that determines whether the user may use pinch gestures to zoom in and out of the map.
         */
        isZoomEnabled: boolean;
        /**
         * A Boolean value that determines whether the user may scroll around the map.
         */
        isScrollEnabled: boolean;
        /**
         * A Boolean value indicating whether the map camera’s pitch information is used.
         */
        isPitchEnabled: boolean;
        /**
         * A Boolean value indicating whether the map camera’s heading information is used.
         */
        isRotateEnabled: boolean;
        /**
         * The area currently displayed by the map view.
         */
        region: MKCoordinateRegion;
        /**
         * The map coordinate at the center of the map view.
         */
        centerCoordinate: CLLocationCoordinate2D;
        /**
         * The area currently displayed by the map view.
         */
        visibleMapRect: MKMapRect;
        /**
         * The boundary of the area within which this map view's center must remain.
         */
        cameraBoundary: MKMapView.CameraBoundary | null;
        /**
         * The zoom range applied to this map view.
         */
        cameraZoomRange: MKMapView.CameraZoomRange!;
        /**
         * Changes the camera used for determining the map’s viewing parameters and optionally animates the change. 
         */
        setCamera(camera: MKMapCamera, animated: boolean):void;
        /**
         * Sets the mode used to track the user location with optional animation.
         */
        setUserTrackingMode(mode: MKUserTrackingMode, animated: boolean):void;
        /**
         * Adds the specified annotation to the map view. 
         */
        addAnnotation(annotation: MKAnnotation):void;
        /**
         * Adds an array of annotation objects to the map view.
         */
        addAnnotations(annotations: MKAnnotation[]):void;
        /**
         * Removes the specified annotation object from the map view.  
         */
        removeAnnotation(annotation: MKAnnotation):void;
        /**
         * Removes an array of annotation objects from the map view.
         */
        removeAnnotations(annotations: MKAnnotation[]):void;
        /**
         * Selects the specified annotation and displays a callout view for it.
         */
        selectAnnotation(annotation: MKAnnotation, animated: boolean):void;
        /**
         * Deselects the specified annotation and hides its callout view.
         */
        deselectAnnotation(annotation: MKAnnotation | null, animated: boolean):void;
        /**
         * Registers an annotation view class that the map can create automatically.  
         */
        register(viewClass: AnyClass | null, identifier: string):void;
        /**
         * Returns a reusable annotation view using the specified identifier.
         */
        dequeueReusableAnnotationView(identifier: string, annotation: MKAnnotation):MKAnnotationView;
        /**
         * Returns the annotation view associated with the specified annotation object, if any.
         */
        view(annotation: MKAnnotation):MKAnnotationView | null;
        /**
         * Returns the renderer object used to draw the contents of the specified overlay object.
         */
        renderer(overlay: MKOverlay):MKOverlayRenderer | null;
        /**
         * Adds the overlay object to the map at the specified level.
         */
        addOverlay(overlay: MKOverlay, level: MKOverlayLevel):void;
        /**
         * Adds an array of overlay objects to the map at the specified level.
         */
        addOverlays(overlays: MKOverlay[], level: MKOverlayLevel):void;
        /**
         * Inserts an overlay object into the level at the specified index.
         */
        insertOverlay(overlay: MKOverlay, index: number, level: MKOverlayLevel):void;
        /**
         * Exchanges the positions of the two overlay objects.
         */
        exchangeOverlay(overlay1: MKOverlay, overlay2: MKOverlay):void;
        /**
         * Removes a single overlay object from the map.
         */
        removeOverlay(overlay: MKOverlay):void;
        /**
         * Removes one or more overlay objects from the map.
         */
        removeOverlays(overlays: MKOverlay[]):void;
        /**
         * Converts a map coordinate to a point in the specified view.
         */
        convert(coordinate: CLLocationCoordinate2D, view: UIView | null):CGPoint;
        /**
         * Adjusts the aspect ratio of the specified region to ensure that it fits in the map view’s frame.  
         */
        regionThatFits(region: MKCoordinateRegion):MKCoordinateRegion;
        /**
         * Returns a centered map rectangle with the same aspect ratio as the map view’s frame.
         */
        mapRectThatFits(mapRect: MKMapRect):MKMapRect;
        /**
         * Changes the currently visible region and optionally animates the change.
         */
        setRegion(region: MKCoordinateRegion, animated: boolean):void;
        /**
         * Changes the center coordinate of the map and optionally animates the change.
         */
        setCenter(coordinate: CLLocationCoordinate2D, animated: boolean):void;
        /**
         * Sets the visible region so that the map displays the specified annotations. 
         */
        showAnnotations(annotations: MKAnnotation[], animated: boolean):void;
        /**
         * Changes the currently visible portion of the map and optionally animates the change.
         */
        setVisibleMapRect(mapRect: MKMapRect, animate: boolean):void;
        /**
         * Set the camera boundary for the map view, specifying whether to use animation.
         */
        setCameraBoundary(cameraBoundary: MKMapView.CameraBoundary | null, animated: boolean):void;
        /**
         * Set the camera zoom range for the map view, specifying whether to use animation.
         */
        setCameraZoomRange(cameraZoomRange: MKMapView.CameraZoomRange | null, animated: boolean):void;
    }
    /**
     * the same name namespace of class MKMapView
     */
    export namespace MKMapView {
        export class CameraZoomRange extends NSObject {
            /**
             * The maximum distance of the camera to the center of the map, measured in meters.
             */
            maxCenterCoordinateDistance: CLLocationDistance;
            /**
             * The minimum distance of the camera to the center of the map, measured in meters.
             */
            minCenterCoordinateDistance: CLLocationDistance;
        }
        export class CameraBoundary extends NSObject {
            /**
             * The map rectangle that describes the camera boundary.
             */
            mapRect: MKMapRect;
            /**
             * The coordinate region that describes the camera boundary.
             */
            region: MKCoordinateRegion;
            /**
             * Create a camera boundary using the provided coder.
             */
            constructor (coder: NSCoder);
            /**
             * Create a camera boundary using the provided coordinate region.
             */
            constructor (region: MKCoordinateRegion);
            /**
             * Create a camera boundary using the provided map rectangle.
             */
            constructor (mapRect: MKMapRect);
        }
    }
    export class MKStandardMapConfiguration extends MKMapConfiguration {
        /**
         * The value that indicates how the framework emphasizes map features.
         */
        emphasisStyle: MKStandardMapConfiguration.EmphasisStyle;
        /**
         * The filter used to determine the points of interest shown on the map.
         */
        pointOfInterestFilter: MKPointOfInterestFilter | null;
        /**
         * A Boolean value that controls whether the map displays traffic conditions.
         */
        showsTraffic: boolean;
        /**
         * Creates a new standard map configuration with the specified elevation style.
         */
        constructor (elevationStyle: MKMapConfiguration.ElevationStyle);
        /**
         * Creates a standard map configuration with the specified elevation and emphasis styles.
         */
        constructor (elevationStyle: MKMapConfiguration.ElevationStyle, emphasisStyle: MKStandardMapConfiguration.EmphasisStyle);
        /**
         * Creates a standard map configuration with the specified emphasis style.
         */
        constructor (emphasisStyle: MKStandardMapConfiguration.EmphasisStyle);
    }
    /**
     * the same name namespace of class MKStandardMapConfiguration
     */
    export namespace MKStandardMapConfiguration {
        export enum EmphasisStyle {
            default = 0,
            muted = 1,
        }
    }
    export enum MKUserTrackingMode {
        none = 0,
        follow = 1,
        followWithHeading = 2,
    }
    export class MKMapConfiguration extends NSObject {}
    /**
     * the same name namespace of class MKMapConfiguration
     */
    export namespace MKMapConfiguration {
        export enum ElevationStyle {
            flat = 0,
            realistic = 1,
        }
    }
    export enum MKOverlayLevel {
        aboveRoads = 0,
        aboveLabels = 1,
    }
    export class MKMapItem extends NSObject {
        /**
         * The placemark object containing the location information.
         */
        placemark: MKPlacemark;
        /**
         * The point of interest category for the map item.
         */
        pointOfInterestCategory: MKPointOfInterestCategory | null;
        /**
         * A Boolean value indicating whether the map item represents the user’s current location.
         */
        isCurrentLocation: boolean;
        /**
         * The descriptive name associated with the map item.
         */
        name: string;
        /**
         * The phone number associated with a business at the specified location.
         */
        phoneNumber: string;
        /**
         * The URL associated with the specified location.
         */
        url: URL | null;
        /**
         * The time zone of the specified location.
         */
        timeZone: TimeZone | null;
        /**
         * Initializes and returns a map item object using the specified placemark object.
         */
        constructor (placemark: MKPlacemark);
        /**
         * Creates and returns a singleton map item object representing the device’s current location. 
         */
        static forCurrentLocation():MKMapItem;
        /**
         * Open the Maps app and display the specified map items.
         */
        static openMaps(mapItems: MKMapItem[], launchOptions: Record<string, any> | null):boolean;
        /**
         * Open the Maps app and display this map item.
         */
        openInMaps(launchOptions: Record<string, any> | null):boolean;
    }
    export class MapInteractionModes {
        /**
         * The map allows all interaction modes.
         */
        static all: MapInteractionModes;
        /**
         * The map allows the user to pan.
         */
        static pan: MapInteractionModes;
        /**
         * The map allows the user to zoom.
         */
        static zoom: MapInteractionModes;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * An integer representing the combined modes of the set.
         */
        rawValue: number;
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: MapInteractionModes);
        /**
         * Creates a set based on a provided raw value.
         */
        constructor (rawValue: number);
        /**
         * Returns a Boolean value that indicates whether a given element is a member of the option set.
         */
        contains(member: MapInteractionModes):boolean;
        /**
         * Returns a Boolean value that indicates whether the set has no members in common with the given set.
         */
        isDisjoint(other: MapInteractionModes):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
         */
        isStrictSubset(other: MapInteractionModes):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
         */
        isStrictSuperset(other: MapInteractionModes):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of another set.
         */
        isSubset(other: MapInteractionModes):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of the given set.
         */
        isSuperset(other: MapInteractionModes):boolean;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: MapInteractionModes):MapInteractionModes | null;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: MapInteractionModes):any;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: MapInteractionModes):MapInteractionModes | null;
        /**
         * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: MapInteractionModes):void;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: MapInteractionModes):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: MapInteractionModes):void;
        /**
         * Removes all elements of this option set that are not also present in the given set.
         */
        formIntersection(other: MapInteractionModes):void;
        /**
         * Returns a new option set of the elements contained in this set, in the given set, or in both.
         */
        union(other: MapInteractionModes):MapInteractionModes;
        /**
         * Returns a new option set with only the elements contained in both this set and the given set.
         */
        intersection(other: MapInteractionModes):MapInteractionModes;
        /**
         * Returns a new set containing the elements of this set that do not occur in the given set.
         */
        subtracting(other: MapInteractionModes):MapInteractionModes;
        /**
         * Returns a new option set with the elements contained in this set or in the given set, but not in both.
         */
        symmetricDifference(other: MapInteractionModes):MapInteractionModes;
    }
    export enum MapUserTrackingMode {
        follow,
        none,
    }
    export class MKCoordinateRegion {
        /**
         * The center point of the region.
         */
        center: CLLocationCoordinate2D;
        /**
         * The horizontal and vertical span representing the amount of map to display. 
         */
        span: MKCoordinateSpan;
        /**
         * Creates a coordinate region. 
         */
        constructor ();
        /**
         * Creates a new coordinate region from the specified coordinate and distance values. 
         */
        constructor (centerCoordinate: CLLocationCoordinate2D, latitudinalMeters: CLLocationDistance, longitudinalMeters: CLLocationDistance);
        /**
         * Returns the region that corresponds to the specified map rectangle.
         */
        constructor (rect: MKMapRect);
        /**
         * Creates a coordinate region with a span around the specified center coordinate.
         */
        constructor (center: CLLocationCoordinate2D, span: MKCoordinateSpan);
    }
    export class MKCoordinateSpan {
        /**
         * The amount of north-to-south distance (measured in degrees) to display on the map.
         */
        latitudeDelta: CLLocationDegrees;
        /**
         * The amount of east-to-west distance (measured in degrees) to display for the map region.
         */
        longitudeDelta: CLLocationDegrees;
        /**
         * Creates a coordinate span that represents a width and height on a map.
         */
        constructor ();
        /**
         * Creates a new 
         *  from the specified values.
         */
        constructor (latitudeDelta: CLLocationDegrees, longitudeDelta: CLLocationDegrees);
    }
    export class MKMapRect {
        /**
         * The null map rectangle.
         */
        static null: MKMapRect;
        /**
         * The map rectangle that represents the world in the two-dimensional map projection. 
         */
        static world: MKMapRect;
        /**
         * The origin point of the rectangle.
         */
        origin: MKMapPoint;
        /**
         * The width and height of the rectangle, starting from the origin point.
         */
        size: MKMapSize;
        /**
         * Returns the minimum x-axis value of the specified rectangle.
         */
        minX: number;
        /**
         * Returns the minimum y-axis value of the specified rectangle.
         */
        minY: number;
        /**
         * Returns the mid-point along the x-axis of the specified rectangle.
         */
        midX: number;
        /**
         * Returns the mid-point along the y-axis of the specified rectangle.
         */
        midY: number;
        /**
         * Returns the maximum x-axis value of the specified rectangle.
         */
        maxX: number;
        /**
         * Returns the maximum y-axis value of the specified rectangle.
         */
        maxY: number;
        /**
         * Returns the width of the map rectangle.
         */
        width: number;
        /**
         * Returns the height of the map rectangle.
         */
        height: number;
        /**
         * Returns a Boolean indicating whether the specified rectangle is null.
         */
        isNull: boolean;
        /**
         * Returns a Boolean value indicating whether the specified rectangle has no area.
         */
        isEmpty: boolean;
        /**
         * Returns a Boolean value that indicates whether the specified map rectangle crosses the 180th meridian.
         */
        spans180thMeridian: boolean;
        /**
         * Normalizes the portion of the specified rectangle that lies outside the world map boundaries.
         */
        remainder: MKMapRect;
        /**
         * Initializes the rectangle with an empty region.
         */
        constructor ();
        /**
         * Initializes the map rect with the specified point and size.
         */
        constructor (origin: MKMapPoint, size: MKMapSize);
        /**
         * Creates a new 
         *  structure from the specified values.
         */
        constructor (x: number, y: number, width: number, height: number);
        /**
         * Returns a Boolean value indicating whether the specified map point lies within the rectangle.
         */
        contains(point: MKMapPoint):boolean;
        /**
         * Returns a Boolean value indicating whether two rectangles intersect each other.
         */
        intersects(rect2: MKMapRect):boolean;
        /**
         * Returns a rectangle representing the union of the two rectangles.
         */
        union(rect2: MKMapRect):MKMapRect;
        /**
         * Returns the rectangle representing the intersection of two rectangles.
         */
        intersection(rect2: MKMapRect):MKMapRect;
        /**
         * Returns the specified rectangle inset by the specified amounts.
         */
        insetBy(dx: number, dy: number):MKMapRect;
        /**
         * Returns a rectangle whose origin point is shifted by the specified amount.
         */
        offsetBy(dx: number, dy: number):MKMapRect;
    }
    export class MKHybridMapConfiguration extends MKMapConfiguration {
        /**
         * The filter the framework uses to determine the points of interest to show on the map.
         */
        pointOfInterestFilter: MKPointOfInterestFilter | null;
        /**
         * A Boolean value that indicates whether the maps shows traffic conditions.
         */
        showsTraffic: boolean;
        /**
         * Creates a new hybrid map configuration.
         */
        constructor ();
        /**
         * Creates a new hybrid map configuration with the specified elevation style.
         */
        constructor (elevationStyle: MKMapConfiguration.ElevationStyle);
    }
    export class MKMapPoint {
        /**
         * The location of the point along the x-axis of the map.
         */
        x: number;
        /**
         * The location of the point along the y-axis of the map.
         */
        y: number;
        /**
         * Returns the latitude and longitude that corresponds to the specified map point.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * Creates a map point at an unspecified point.
         */
        constructor ();
        /**
         * Creates a new 
         *  structure from the specified values.
         */
        constructor (x: number, y: number);
        /**
         * Returns the map point data structure that corresponds to the specified coordinate. 
         */
        constructor (coordinate: CLLocationCoordinate2D);
        /**
         * Returns the number of meters between two map points.
         */
        distance(b: MKMapPoint):CLLocationDistance;
    }
    export class MKMapSize {
        /**
         * The width and height, in map points, of the world in a two-dimensional map projection.
         */
        static world: MKMapSize;
        /**
         * The height of the specified area, measured in map points. 
         */
        height: number;
        /**
         * The width of the specified area, measured in map points.  
         */
        width: number;
        /**
         * Creates a map size that represents an empty area on a two-dimensional projection of a map.
         */
        constructor ();
        /**
         * Creates a map size that represents an area on a two-dimensional projection of a map with the specified width and height.
         */
        constructor (width: number, height: number);
    }
    export class MKDistanceFormatter extends Formatter {
        /**
         * The locale to use when formatting strings.
         */
        locale: Locale!;
        /**
         * The measuring system — imperial or metric — to use for units.
         */
        units: MKDistanceFormatter.Units;
        /**
         * The preferred style for units.
         */
        unitStyle: MKDistanceFormatter.DistanceUnitStyle;
        /**
         * Creates a string representation of the specified distance.
         */
        string(distance: CLLocationDistance):string;
        /**
         * Returns the distance value parsed from the specified string.
         */
        distance(distance: string):CLLocationDistance;
    }
    /**
     * the same name namespace of class MKDistanceFormatter
     */
    export namespace MKDistanceFormatter {
        export enum Units {
            default = 0,
            metric = 1,
            imperial = 2,
            imperialWithYards = 3,
        }
        export enum DistanceUnitStyle {
            default = 0,
            abbreviated = 1,
            full = 2,
        }
    }
    export class MKMapCamera extends NSObject {
        /**
         * The map coordinate at the center of the map view.
         */
        centerCoordinate: CLLocationCoordinate2D;
        /**
         * The heading of the camera (measured in degrees) relative to true north. 
         */
        heading: CLLocationDirection;
        /**
         * The distance from the center point of the map to the camera, measured in meters.
         */
        centerCoordinateDistance: CLLocationDistance;
        /**
         * The viewing angle of the camera, measured in degrees.
         */
        pitch: CGFloat;
        /**
         * The altitude above the ground, measured in meters.
         */
        altitude: CLLocationDistance;
        /**
         * Returns a new camera object using the specified viewing angle information.
         */
        constructor (centerCoordinate: CLLocationCoordinate2D, eyeCoordinate: CLLocationCoordinate2D, eyeAltitude: CLLocationDistance);
        /**
         * Returns a new camera object using the specified distance, pitch, and heading information.
         */
        constructor (centerCoordinate: CLLocationCoordinate2D, distance: CLLocationDistance, pitch: CGFloat, heading: CLLocationDirection);
        /**
         * Returns a new camera object using the specified map item, view size, and pitch.
         */
        constructor (mapItem: MKMapItem, viewSize: CGSize, allowPitch: boolean);
    }
    export class MKCompassButton extends NSView,UIView {
        /**
         * The map view that provides the heading information for the compass button. 
         */
        mapView: MKMapView | null;
        /**
         * The visibility of the compass button.
         */
        compassVisibility: MKFeatureVisibility;
        /**
         * Creates a compass button and associates it with the specified map view.
         */
        constructor (mapView: MKMapView | null);
    }
    export enum MKFeatureVisibility {
        adaptive = 0,
        hidden = 1,
        visible = 2,
    }
    export class MKScaleView extends UIView {
        /**
         * The map view that provides the scale information to the scale view.
         */
        mapView: MKMapView | null;
        /**
         * The visibility of the scale view.
         */
        scaleVisibility: MKFeatureVisibility;
        /**
         * The alignment of the distance information in the scale view.
         */
        legendAlignment: MKScaleView.Alignment;
        /**
         * Creates a scale view and associates it with the specified map view.
         */
        constructor (mapView: MKMapView | null);
    }
    /**
     * the same name namespace of class MKScaleView
     */
    export namespace MKScaleView {
        export enum Alignment {
            leading = 0,
            trailing = 1,
        }
    }
    export class MKImageryMapConfiguration extends MKMapConfiguration {
        /**
         * Creates a new imagery based map configuration.
         */
        constructor ();
        /**
         * Creates a new imagery based map configuration with the specified elevation style.
         */
        constructor (elevationStyle: MKMapConfiguration.ElevationStyle);
    }
    export class MKZoomControl extends NSView,UIView {
        /**
         * The map view associated with this control.
         */
        mapView: MKMapView | null;
        /**
         * Creates a zoom control and associates it with the specified map view.
         */
        constructor (mapView: MKMapView | null);
    }
    export class MKPitchControl extends NSView,UIView {
        /**
         * The map view associated with this control.
         */
        mapView: MKMapView | null;
        /**
         * Creates a pitch control and associates it with the specified map view.
         */
        constructor (mapView: MKMapView | null);
    }
    export class MKUserTrackingButton extends UIView {
        /**
         * The map view associated with the button.
         */
        mapView: MKMapView | null;
        /**
         * Initializes the button with the map view that it should control. 
         */
        constructor (mapView: MKMapView | null);
    }
    export class MKUserTrackingBarButtonItem extends UIBarButtonItem {
        /**
         * The map view associated with this bar button item.
         */
        mapView: MKMapView | null;
        /**
         * Initializes a newly created bar button item with the specified map view.
         */
        constructor (mapView: MKMapView | null);
    }
    export class MKPointAnnotation extends MKShape {
        /**
         * The coordinate point of the annotation.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * Creates a map annotation that shows a title string at a point on a map.
         */
        constructor ();
    }
    export class MKMarkerAnnotationView extends MKAnnotationView {
        /**
         * The background color of the marker balloon.
         */
        markerTintColor: UIColor | null;
        /**
         * The text to display in the marker balloon.
         */
        glyphText: string;
        /**
         * An image to display in the marker balloon.
         */
        glyphImage: UIImage | null;
        /**
         * The color to apply to the glyph text or image.
         */
        glyphTintColor: UIColor | null;
        /**
         * An image to display when the user selects the marker.
         */
        selectedGlyphImage: UIImage | null;
        /**
         * The visibility of the title text rendered beneath the marker balloon.
         */
        titleVisibility: MKFeatureVisibility;
        /**
         * The visibility of the subtitle text rendered beneath the marker balloon.
         */
        subtitleVisibility: MKFeatureVisibility;
        /**
         * A Boolean that indicates whether the marker animates into position onscreen.
         */
        animatesWhenAdded: boolean;
    }
    export class MKPinAnnotationView extends MKAnnotationView {
        /**
         * The color of the pin head.
         */
        pinTintColor: UIColor!;
        /**
         * A Boolean value indicating whether the annotation view is animated onto the screen.
         */
        animatesDrop: boolean;
        /**
         * The color of the pin head.
         */
        pinColor: MKPinAnnotationColor;
        /**
         * Returns the standard color for red pins.
         */
        static redPinColor():UIColor;
        /**
         * Returns the standard color for green pins.
         */
        static greenPinColor():UIColor;
        /**
         * Returns the standard color for purple pins.
         */
        static purplePinColor():UIColor;
    }
    export interface MKMapViewDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the region displayed by the map view is about to change.
         */
        mapView(mapView: MKMapView, animated: boolean):void;
        /**
         * Tells the delegate that the map view's visible region changed.
         */
        mapViewDidChangeVisibleRegion(mapView: MKMapView):void;
        /**
         * Tells the delegate that the specified map view is about to retrieve some map data.
         */
        mapViewWillStartLoadingMap(mapView: MKMapView):void;
        /**
         * Tells the delegate that the specified map view successfully loaded the needed map data. 
         */
        mapViewDidFinishLoadingMap(mapView: MKMapView):void;
        /**
         * Tells the delegate that the specified view was unable to load the map data.
         */
        mapViewDidFailLoadingMap(mapView: MKMapView, error: Error):void;
        /**
         * Tells the delegate that the map view is about to start rendering some of its tiles.
         */
        mapViewWillStartRenderingMap(mapView: MKMapView):void;
        /**
         * Tells the delegate that the map view has finished rendering all visible tiles.
         */
        mapViewDidFinishRenderingMap(mapView: MKMapView, fullyRendered: boolean):void;
        /**
         * Tells the delegate that the map view will start tracking the user’s position.
         */
        mapViewWillStartLocatingUser(mapView: MKMapView):void;
        /**
         * Tells the delegate that the map view stopped tracking the user’s location.
         */
        mapViewDidStopLocatingUser(mapView: MKMapView):void;
    }
    export enum MKPinAnnotationColor {
        red = 0,
        green = 1,
        purple = 2,
    }
    export class MKClusterAnnotation extends NSObject {
        /**
         * The title string to display for the group of annotations.
         */
        title: string;
        /**
         * The subtitle string to display for the group of annotations.
         */
        subtitle: string;
        /**
         * The annotations that are grouped together by the cluster.
         */
        memberAnnotations: MKAnnotation[];
        /**
         * Initializes the cluster annotations with the specified individual annotations.
         */
        constructor (memberAnnotations: MKAnnotation[]);
    }
    export class MKUserLocation extends NSObject {
        /**
         * The current location of the device.
         */
        location: CLLocation | null;
        /**
         * A Boolean value indicating whether the user’s location is currently being updated.
         */
        isUpdating: boolean;
        /**
         * The heading of the user location.
         */
        heading: CLHeading | null;
        /**
         * The title to display for the user location annotation.
         */
        title: string;
        /**
         * The subtitle to display for the user location annotation.
         */
        subtitle: string;
    }
    export class MKUserLocationView extends MKAnnotationView {}
    export class MapMarker {
        /**
         * Creates a marker annotation at the map location you specify.
         */
        constructor (coordinate: CLLocationCoordinate2D, tint: Color | null);
    }
    export class MapPin {
        /**
         * Creates a pin annotation at the map location that you specify.
         */
        constructor (coordinate: CLLocationCoordinate2D, tint: Color | null);
    }
    export interface MapAnnotationProtocol {}
    export class MKPlacemark extends CLPlacemark {
        /**
         * The abbreviated country or region name.
         */
        countryCode: string;
        /**
         * Initializes and returns a placemark object using the specified coordinate.
         */
        constructor (coordinate: CLLocationCoordinate2D);
        /**
         * Initializes and returns a placemark object with the specified coordinate and postal address from the user's Contacts database. 
         */
        constructor (coordinate: CLLocationCoordinate2D, postalAddress: CNPostalAddress);
        /**
         * Initializes and returns a placemark object using the specified coordinate and Address Book dictionary.
         */
        constructor (coordinate: CLLocationCoordinate2D, addressDictionary: Record<string, any> | null);
    }
    export interface MKAnnotation extends NSObjectProtocol {
        /**
         * The center point (specified as a map coordinate) of the annotation.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * The string containing the annotation’s title.
         */
        title: string;
        /**
         * The string containing the annotation’s subtitle.
         */
        subtitle: string;
    }
    export class MKAnnotationView extends NSView,UIView {
        /**
         * The display priority of this annotation view.
         */
        displayPriority: MKFeatureDisplayPriority;
        /**
         * The relative importance of this annotation view when unselected with respect to its ordering along the z axis.
         */
        zPriority: MKAnnotationViewZPriority;
        /**
         * The relative importance of this annotation view when selected with respect to its ordering along the z axis.
         */
        selectedZPriority: MKAnnotationViewZPriority;
        /**
         * A Boolean value indicating whether the annotation is enabled. 
         */
        isEnabled: boolean;
        /**
         * The image to be displayed by the annotation view.
         */
        image: UIImage | null;
        /**
         * A Boolean value indicating whether the annotation view is highlighted. 
         */
        isHighlighted: boolean;
        /**
         * The annotation object currently associated with the view.
         */
        annotation: MKAnnotation | null;
        /**
         * The offset (in points) at which to display the view. 
         */
        centerOffset: CGPoint;
        /**
         * The offset (in points) at which to place the callout bubble.
         */
        calloutOffset: CGPoint;
        /**
         * The string that identifies that this annotation view is reusable. 
         */
        reuseIdentifier: string;
        /**
         * A Boolean value indicating whether the annotation view is currently selected. 
         */
        isSelected: boolean;
        /**
         * A Boolean value indicating whether the annotation view is able to display extra information in a callout bubble.
         */
        canShowCallout: boolean;
        /**
         * The view to display on the left side of the standard callout bubble. 
         */
        leftCalloutAccessoryView: UIView | null;
        /**
         * The view to display on the right side of the standard callout bubble.
         */
        rightCalloutAccessoryView: UIView | null;
        /**
         * The detail accessory view to be used in the standard callout.
         */
        detailCalloutAccessoryView: UIView | null;
        /**
         * The offset in points from the middle-left of the annotation view.
         */
        leftCalloutOffset: CGPoint;
        /**
         * The offset in points from the middle-right of the annotation view.
         */
        rightCalloutOffset: CGPoint;
        /**
         * A Boolean indicating whether the annotation view is draggable.
         */
        isDraggable: boolean;
        /**
         * The current drag state of the annotation view.
         */
        dragState: MKAnnotationView.DragState;
        /**
         * The collision mode to use when interpreting the collision frame rectangle.
         */
        collisionMode: MKAnnotationView.CollisionMode;
        /**
         * An identifier that determines whether the annotation view participates in clustering.
         */
        clusteringIdentifier: string;
        /**
         * The clustering annotation view currently standing in for this annotation view.
         */
        cluster: MKAnnotationView | null;
        /**
         * Initializes and returns a new annotation view.
         */
        constructor (annotation: MKAnnotation | null, reuseIdentifier: string);
        /**
         * Creates an annotation view using data from the specified unarchiver.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Called when the view is removed from the reuse queue. 
         */
        prepareForReuse():void;
        /**
         * Notifies the annotation view that it is about to be displayed on the map.
         */
        prepareForDisplay():void;
        /**
         * Sets the selection state of the annotation view.  
         */
        setSelected(selected: boolean, animated: boolean):void;
        /**
         * Sets the current drag state for the annotation view.
         */
        setDragState(newDragState: MKAnnotationView.DragState, animated: boolean):void;
    }
    /**
     * the same name namespace of class MKAnnotationView
     */
    export namespace MKAnnotationView {
        export enum CollisionMode {
            rectangle = 0,
            circle = 1,
            none = 2,
        }
    }
    export class MKFeatureDisplayPriority {
        /**
         * A constant indicating that the item is required.
         */
        static required: MKFeatureDisplayPriority;
        /**
         * A constant indicating that the item's display priority is high.
         */
        static defaultHigh: MKFeatureDisplayPriority;
        /**
         * A constant indicating that the item's display priority is low.
         */
        static defaultLow: MKFeatureDisplayPriority;
        /**
         * Creates a feature display priority using the specified floating point value.
         */
        constructor (rawValue: Float);
        /**
         * Creates a feature display priority using the specified raw floating point value.
         */
        constructor (rawValue: Float);
    }
    export class MKAnnotationViewZPriority {
        /**
         * The default view overlapping priority for a view that is selected.
         */
        static defaultSelected: MKAnnotationViewZPriority;
        /**
         * The default view overlapping priority for a view that is unselected. 
         */
        static defaultUnselected: MKAnnotationViewZPriority;
        /**
         * The maximum allowed priority for overlapping views.
         */
        static max: MKAnnotationViewZPriority;
        /**
         * The minimum allowed priority for overlapping views.
         */
        static min: MKAnnotationViewZPriority;
        /**
         * Creates an overlapping priority from the value.
         */
        constructor (rawValue: Float);
        /**
         * Creates an overlapping priority from the value.
         */
        constructor (rawValue: Float);
    }
    export class MKCircle extends MKShape {
        /**
         * The center point of the circular area, specified as a latitude and longitude. 
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * The radius of the circular area, measured in meters.
         */
        radius: CLLocationDistance;
        /**
         * The bounding rectangle of the circular area.
         */
        boundingMapRect: MKMapRect;
        /**
         * Creates and returns a circle object using the specified coordinate and radius.
         */
        constructor (coord: CLLocationCoordinate2D, radius: CLLocationDistance);
        /**
         * Creates and returns a circle object where the circular area is derived from the specified rectangle.
         */
        constructor (mapRect: MKMapRect);
    }
    export class MKCircleRenderer extends MKOverlayPathRenderer {
        /**
         * The circle overlay object that contains the information used to draw the overlay.
         */
        circle: MKCircle;
        /**
         * The unit distance along the circle where the stroke starts.
         */
        strokeStart: CGFloat;
        /**
         * The unit distance along the circle where the stroke ends.
         */
        strokeEnd: CGFloat;
        /**
         * Creates a new overlay view using the specified circle overlay object.
         */
        constructor (circle: MKCircle);
    }
    export class MKPolygon extends MKMultiPoint {
        /**
         * The array of polygons nested inside the receiver.
         */
        interiorPolygons: MKPolygon[] | null;
        /**
         * Creates and returns a polygon object from the specified set of map points.
         */
        constructor (points: UnsafePointer<MKMapPoint>, count: number);
        /**
         * Creates and returns a polygon object from the specified set of map points and interior polygons.
         */
        constructor (points: UnsafePointer<MKMapPoint>, count: number, interiorPolygons: MKPolygon[] | null);
        /**
         * Creates and returns a polygon object from the specified set of coordinates.
         */
        constructor (coords: UnsafePointer<CLLocationCoordinate2D>, count: number);
        /**
         * Creates and returns a polygon object from the specified set of coordinates and interior polygons.
         */
        constructor (coords: UnsafePointer<CLLocationCoordinate2D>, count: number, interiorPolygons: MKPolygon[] | null);
    }
    export class MKPolygonRenderer extends MKOverlayPathRenderer {
        /**
         * The polygon object that contains the information used to draw the overlay’s contents.
         */
        polygon: MKPolygon;
        /**
         * The unit distance along the polygon where the stroke starts.
         */
        strokeStart: CGFloat;
        /**
         * The unit distance along the polygon where the stroke ends.
         */
        strokeEnd: CGFloat;
        /**
         * Creates a new renderer that handles drawing for the specified polygon overlay object.
         */
        constructor (polygon: MKPolygon);
    }
    export class MKMultiPolygon extends MKShape {
        /**
         * An array containing the polygons that make up the multipolygon object.
         */
        polygons: MKPolygon[];
        /**
         * Create a multipolygon object using the provided polygons.
         */
        constructor (polygons: MKPolygon[]);
    }
    export class MKMultiPolygonRenderer extends MKOverlayPathRenderer {
        /**
         * The multipolygon object that the renderer uses to draw the overlay’s contents.
         */
        multiPolygon: MKMultiPolygon;
        /**
         * Initializes and returns a renderer that handles drawing for the specified multipolygon overlay object.
         */
        constructor (multiPolygon: MKMultiPolygon);
    }
    export class MKOverlayPathRenderer extends MKOverlayRenderer {
        /**
         * The path representing the overlay’s shape.
         */
        path: CGPath!;
        /**
         * The fill color to use for the path.
         */
        fillColor: UIColor | null;
        /**
         * The stroke color to use for the path.
         */
        strokeColor: UIColor | null;
        /**
         * The stroke width to use for the path.
         */
        lineWidth: CGFloat;
        /**
         * The line join style to apply to corners of the path.
         */
        lineJoin: CGLineJoin;
        /**
         * The line cap style to apply to the open ends of the path.
         */
        lineCap: CGLineCap;
        /**
         * The limiting value that helps avoid spikes at junctions between connected line segments.
         */
        miterLimit: CGFloat;
        /**
         * The offset (in points) at which to start drawing the dash pattern.
         */
        lineDashPhase: CGFloat;
        /**
         * An array of numbers specifying the dash pattern to use for the path.
         */
        lineDashPattern: NSNumber[] | null;
        /**
         * A Boolean that determines if the overlay is rendered as a bitmap before compositing.
         */
        shouldRasterize: boolean;
        /**
         * Creates the path for the overlay.
         */
        createPath():void;
        /**
         * Updates the path associated with the overlay renderer.
         */
        invalidatePath():void;
        /**
         * Applies the receiver’s current stroke-related drawing properties to the specified graphics context.
         */
        applyStrokeProperties(context: CGContext, zoomScale: MKZoomScale):void;
        /**
         * Applies the receiver’s current fill-related drawing properties to the specified graphics context.
         */
        applyFillProperties(context: CGContext, zoomScale: MKZoomScale):void;
        /**
         * Draws a line along the specified path.
         */
        strokePath(path: CGPath, context: CGContext):void;
        /**
         * Fills the area enclosed by the specified path.
         */
        fillPath(path: CGPath, context: CGContext):void;
    }
    export class MKPolyline extends MKMultiPoint {
        /**
         * Creates a polyline object from the specified set of map points.
         */
        constructor (points: UnsafePointer<MKMapPoint>, count: number);
        /**
         * Creates a polyline object from the specified set of coordinates.
         */
        constructor (coords: UnsafePointer<CLLocationCoordinate2D>, count: number);
    }
    export class MKGeodesicPolyline extends MKPolyline {
        /**
         * Creates and returns a geodesic polyline using the specified map points.
         */
        constructor (points: UnsafePointer<MKMapPoint>, count: number);
        /**
         * Creates and returns a geodesic polyline using the specified coordinates.
         */
        constructor (coords: UnsafePointer<CLLocationCoordinate2D>, count: number);
    }
    export class MKMultiPolyline extends MKShape {
        /**
         * An array containing the polyline objects that make up the multipolyline object.
         */
        polylines: MKPolyline[];
        /**
         * Create a multipolyline object using the provided polylines.
         */
        constructor (polylines: MKPolyline[]);
    }
    export class MKPolylineRenderer extends MKOverlayPathRenderer {
        /**
         * The polyline overlay object that contains the information used to draw the overlay. 
         */
        polyline: MKPolyline;
        /**
         * The unit distance along the line where the stroke starts.
         */
        strokeStart: CGFloat;
        /**
         * The unit distance along the line where the stroke ends.
         */
        strokeEnd: CGFloat;
        /**
         * Creates a new overlay view using the specified polyline overlay object
         */
        constructor (polyline: MKPolyline);
    }
    export class MKMultiPolylineRenderer extends MKOverlayPathRenderer {
        /**
         * An object that represents multiple polyline shapes, each consisting of one or more connected line segments.
         */
        multiPolyline: MKMultiPolyline;
        /**
         * Creates an object that renders a visual representation of multiple polyline objects.
         */
        constructor (multiPolyline: MKMultiPolyline);
    }
    export class MKGradientPolylineRenderer extends MKPolylineRenderer {
        /**
         * An array that represents the gradient’s color transition points.
         */
        colors: UIColor[];
        /**
         * An array of location indices corresponding to their respective colors.
         */
        locations: CGFloat[];
        /**
         * Sets the colors and corresponding unit distance values to create gradients.
         */
        setColors(colors: UIColor[], locations: CGFloat[]):void;
    }
    export class MKTileOverlay extends NSObject {
        /**
         * The size (in pixels) of your tile images.
         */
        tileSize: CGSize;
        /**
         * A Boolean value that indicates the orientation of tile indexes along the y axis.
         */
        isGeometryFlipped: boolean;
        /**
         * The minimum zoom level supported by the tiles of this overlay object.
         */
        minimumZ: number;
        /**
         * The maximum zoom level supported by the tiles of this overlay object.
         */
        maximumZ: number;
        /**
         * A Boolean value that indicates whether the tile content is fully opaque.
         */
        canReplaceMapContent: boolean;
        /**
         * The template for generating tile image URLs. 
         */
        urlTemplate: string;
        /**
         * Initializes and returns a tile overlay object using the specified tile-access template. 
         */
        constructor (URLTemplate: string);
        /**
         * Returns the URL to use to access the specified tile. 
         */
        url(path: MKTileOverlayPath):URL;
        /**
         * Loads the specified tile asynchronously. 
         */
        loadTile(path: MKTileOverlayPath, result: ()=>any):void;
    }
    export class MKTileOverlayPath {
        /**
         * The index of the tile along the x axis of the map.
         */
        x: number;
        /**
         * The index of the tile along the y axis of the map.
         */
        y: number;
        /**
         * The zoom level number for the tile. 
         */
        z: number;
        /**
         * The screen scale factor for which the tile is intended. 
         */
        contentScaleFactor: CGFloat;
        /**
         * Creates a new tile overlay path.
         */
        constructor ();
        constructor (x: number, y: number, z: number, contentScaleFactor: CGFloat);
    }
    export class MKTileOverlayRenderer extends MKOverlayRenderer {
        /**
         * Initializes and returns a tile renderer with the specified overlay object.
         */
        constructor (overlay: MKTileOverlay);
        /**
         * Forces tiles to be reloaded and displayed. 
         */
        reloadData():void;
    }
    export interface MKOverlay extends MKAnnotation {
        /**
         * The approximate center point of the overlay area.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * The projected rectangle that encompasses the overlay.
         */
        boundingMapRect: MKMapRect;
        /**
         * Returns a Boolean indicating whether the specified rectangle intersects the receiver’s shape.
         */
        intersects(mapRect: MKMapRect):boolean;
        /**
         * Returns a Boolean indicating whether the overlay content replaces the underlying map content.
         */
        canReplaceMapContent():boolean;
    }
    export class MKOverlayRenderer extends NSObject {
        /**
         * The overlay object containing the data for drawing.
         */
        overlay: MKOverlay;
        /**
         * The amount of transparency to apply to the overlay.
         */
        alpha: CGFloat;
        /**
         * The scale factor used to draw the overlay’s content.
         */
        contentScaleFactor: CGFloat;
        /**
         * The blend mode to apply to the overlay.
         */
        blendMode: CGBlendMode;
        /**
         * Initializes and returns the overlay renderer and associates it with the specified overlay object.
         */
        constructor (overlay: MKOverlay);
        /**
         * Returns the point in the overlay renderer’s drawing area corresponding to the specified point on the map.
         */
        point(mapPoint: MKMapPoint):CGPoint;
        /**
         * Returns the point on the map that corresponds to the specified point in the overlay renderer’s drawing area. 
         */
        mapPoint(point: CGPoint):MKMapPoint;
        /**
         * Returns the rectangle in the overlay renderer’s drawing area corresponding to the specified rectangle on the map.
         */
        rect(mapRect: MKMapRect):CGRect;
        /**
         * Returns the rectangle on the map that corresponds to the specified rectangle in the overlay renderer’s drawing area. 
         */
        mapRect(rect: CGRect):MKMapRect;
        /**
         * Returns a Boolean value indicating whether the overlay view is ready to draw its content.
         */
        canDraw(mapRect: MKMapRect, zoomScale: MKZoomScale):boolean;
        /**
         * Draws the overlay’s contents at the specified location on the map. 
         */
        draw(mapRect: MKMapRect, zoomScale: MKZoomScale, context: CGContext):void;
        /**
         * Invalidates the entire contents of the overlay for all zoom scales.
         */
        setNeedsDisplay():void;
    }
    export class MKShape extends NSObject {
        /**
         * The title of the shape annotation.
         */
        title: string;
        /**
         * The subtitle of the shape annotation.
         */
        subtitle: string;
    }
    export class MKMultiPoint extends MKShape {
        /**
         * The number of points associated with the shape.
         */
        pointCount: number;
        /**
         * Returns an array of map points associated with the shape.
         */
        points():UnsafeMutablePointer<MKMapPoint>;
        /**
         * Translates a point index into a unit distance along the shape.
         */
        location(index: number):CGFloat;
        /**
         * Translates a point index into a unit distance along the shape.
         */
        locations(indexes: IndexSet):CGFloat[];
        /**
         * Retrieves one or more points associated with the shape and converts them to coordinate values.
         */
        getCoordinates(coords: UnsafeMutablePointer<CLLocationCoordinate2D>, range: NSRange):void;
    }
    export class MKGeoJSONDecoder extends NSObject {
        /**
         * Decodes the provided data into native MapKit types that can be displayed on a map.
         */
        decode(data: Data):MKGeoJSONObject[];
    }
    export class MKGeoJSONFeature extends NSObject {
        /**
         * The shape or shapes associated with the GeoJSON feature.
         */
        geometry: (MKShape & MKGeoJSONObject)[];
        /**
         * An optional identifier that is returned as a string.
         */
        identifier: string;
        /**
         * Optional serialized JSON data that corresponds to the properties key.
         */
        properties: Data | null;
    }
    export interface MKGeoJSONObject extends NSObjectProtocol {}
    export class MKDirections extends NSObject {
        /**
         * A Boolean value indicating whether a request is currently in process.
         */
        isCalculating: boolean;
        /**
         * Initializes and returns a directions object using the specified request.
         */
        constructor (request: MKDirections.Request);
        /**
         * Begins calculating the requested route information asynchronously.
         */
        calculate(completionHandler: MKDirections.DirectionsHandler):void;
        /**
         * Begins calculating the requested travel-time information asynchronously.
         */
        calculateETA(completionHandler: MKDirections.ETAHandler):void;
        /**
         * Cancels a pending request.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class MKDirections
     */
    export namespace MKDirections {
        export class Request extends NSObject {
            /**
             * The starting point for routing directions.
             */
            source: MKMapItem | null;
            /**
             * The end point for routing directions
             */
            destination: MKMapItem | null;
            /**
             * The type of conveyance to which the directions should apply. 
             */
            transportType: MKDirectionsTransportType;
            /**
             * The value that indicates whether the framework should use or avoid highways when providing directions.
             */
            highwayPreference: MKDirections.RoutePreference;
            /**
             * The value that indicates whether the framework should avoid routes that have tolls when providing directions.
             */
            tollPreference: MKDirections.RoutePreference;
            /**
             * A Boolean indicating whether your app wants multiple routes when they are available.
             */
            requestsAlternateRoutes: boolean;
            /**
             * The departure date for the trip.
             */
            departureDate: Date | null;
            /**
             * The arrival date for the trip.
             */
            arrivalDate: Date | null;
            /**
             * Initializes and returns a directions request object using the specified URL.
             */
            constructor (url: URL);
            /**
             * Returns a Boolean indicating whether the specified URL contains a directions request.
             */
            static isDirectionsRequest(url: URL):boolean;
        }
        export enum RoutePreference {
            any = 0,
            avoid = 1,
        }
        export class Response extends NSObject {
            /**
             * The start point of the route.
             */
            source: MKMapItem;
            /**
             * The end point of the route.
             */
            destination: MKMapItem;
            /**
             * An array of route objects representing the directions between the start and end points.
             */
            routes: MKRoute[];
        }
        export class ETAResponse extends NSObject {
            /**
             * The start point of the route.
             */
            source: MKMapItem;
            /**
             * The end point of the route.
             */
            destination: MKMapItem;
            /**
             * The expected travel time in seconds.
             */
            expectedTravelTime: TimeInterval;
            /**
             * The expected departure time.
             */
            expectedDepartureDate: Date;
            /**
             * The expected arrival time. 
             */
            expectedArrivalDate: Date;
            /**
             * The expected travel distance, in meters.
             */
            distance: CLLocationDistance;
            /**
             * The type of conveyance used to determine the travel time.
             */
            transportType: MKDirectionsTransportType;
        }
    }
    export class MKDirectionsTransportType {
        /**
         * Directions suitable for use while driving.
         */
        static automobile: MKDirectionsTransportType;
        /**
         * Directions suitable for a pedestrian.
         */
        static walking: MKDirectionsTransportType;
        /**
         * Directions suitable for public transportation.
         */
        static transit: MKDirectionsTransportType;
        /**
         * Directions suitable for any transportation option.
         */
        static any: MKDirectionsTransportType;
        /**
         * Creates a direction transport type using a raw unsigned integer value.
         */
        constructor (rawValue: number);
    }
    export enum MKMapType {
        standard = 0,
        satellite = 1,
        hybrid = 2,
        satelliteFlyover = 3,
        hybridFlyover = 4,
        mutedStandard = 5,
    }
    export class MKRoute extends NSObject {
        /**
         * The detailed route geometry.
         */
        polyline: MKPolyline;
        /**
         * The array of steps that comprise the overall route. 
         */
        steps: MKRoute.Step[];
        /**
         * The name assigned to the route.
         */
        name: string;
        /**
         * A Boolean value that indicates whether the route contains highways.
         */
        hasHighways: boolean;
        /**
         * A Boolean value that indicates whether the route has tolls.
         */
        hasTolls: boolean;
        /**
         * An array of advisory notice strings for the route.
         */
        advisoryNotices: string[];
        /**
         * The route distance in meters.
         */
        distance: CLLocationDistance;
        /**
         * The expected travel time in seconds.
         */
        expectedTravelTime: TimeInterval;
        /**
         * The overall route transport type.
         */
        transportType: MKDirectionsTransportType;
    }
    /**
     * the same name namespace of class MKRoute
     */
    export namespace MKRoute {
        export class Step extends NSObject {
            /**
             * The detailed step geometry.
             */
            polyline: MKPolyline;
            /**
             * The written instructions for following the path represented by this step.
             */
            instructions: string;
            /**
             * Additional notices that apply to the step.
             */
            notice: string;
            /**
             * The step distance in meters.
             */
            distance: CLLocationDistance;
            /**
             * The transport type of the step.
             */
            transportType: MKDirectionsTransportType;
        }
    }
    export class MKLocalSearch extends NSObject {
        /**
         * A Boolean indicating whether the search is currently in progress.
         */
        isSearching: boolean;
        /**
         * Initializes and returns a search object configured with the specified parameters.
         */
        constructor (request: MKLocalSearch.Request);
        /**
         * Starts the search and delivers the results to the specified completion handler.
         */
        start(completionHandler: MKLocalSearch.CompletionHandler):void;
        /**
         * Cancels an in-progress search operation.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class MKLocalSearch
     */
    export namespace MKLocalSearch {
        export class Request extends NSObject {
            /**
             * A string containing the desired search item.
             */
            naturalLanguageQuery: string;
            /**
             * A map region that provides a hint as to where to search.
             */
            region: MKCoordinateRegion;
            /**
             * A filter that lists point of interest categories to include or exclude in search results.
             */
            pointOfInterestFilter: MKPointOfInterestFilter | null;
            /**
             * The types of items to include in the search results.
             */
            resultTypes: MKLocalSearch.ResultType;
            /**
             * Initializes a local search request.
             */
            constructor ();
            /**
             * Initializes and returns a search request based on the specified search completion data.
             */
            constructor (completion: MKLocalSearchCompletion);
        }
        export class ResultType {
            /**
             * Value indicating that search result should include addresses.
             */
            static address: MKLocalSearch.ResultType;
            /**
             * Value indicating that search results should include points of interest.
             */
            static pointOfInterest: MKLocalSearch.ResultType;
            /**
             * Create a search result type from the provided value.
             */
            constructor (rawValue: number);
        }
        export class Response extends NSObject {
            /**
             * An array of map items representing the search results.
             */
            mapItems: MKMapItem[];
            /**
             * The map region that encloses the returned search results.
             */
            boundingRegion: MKCoordinateRegion;
        }
    }
    export class MKLocalPointsOfInterestRequest extends NSObject {
        /**
         * The maximum distance respected for fetching points of interest from the center of the region.
         */
        static maxRadius: CLLocationDistance;
        /**
         * The region of the bounding box of the request provided or the derived bounding box of the circle created by the radius.
         */
        region: MKCoordinateRegion;
        /**
         * The center of the point of request as latitude and longitude.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * The distance provided in meters or the longest distance derived from the center point to the region’s bounding box.
         */
        radius: CLLocationDistance;
        /**
         * A filter that lists points of interest categories to include or exclude.
         */
        pointOfInterestFilter: MKPointOfInterestFilter | null;
        /**
         * Creates a points of interest search request centered on the provided coordinate with the provided radius.
         */
        constructor (coordinate: CLLocationCoordinate2D, radius: CLLocationDistance);
        /**
         * Creates a points of interest search request based on existing region.
         */
        constructor (region: MKCoordinateRegion);
    }
    export class MKLocalSearchCompleter extends NSObject {
        /**
         * The object that receives the completion results.
         */
        delegate: MKLocalSearchCompleterDelegate | null;
        /**
         * The search string for which you want completions.
         */
        queryFragment: string;
        /**
         * The region that defines the geographic scope of the search.
         */
        region: MKCoordinateRegion;
        /**
         * The types of search completions to include.
         */
        resultTypes: MKLocalSearchCompleter.ResultType;
        /**
         * A filter that lists point of interest categories to include or exclude in the search.
         */
        pointOfInterestFilter: MKPointOfInterestFilter | null;
        /**
         * The filter options for the search results.
         */
        filterType: MKLocalSearchCompleter.FilterType;
        /**
         * A Boolean value indicating whether a search operation is in progress.
         */
        isSearching: boolean;
        /**
         * The most recently received search completions.
         */
        results: MKLocalSearchCompletion[];
        /**
         * Cancels an in-progress search operation. 
         */
        cancel():void;
    }
    /**
     * the same name namespace of class MKLocalSearchCompleter
     */
    export namespace MKLocalSearchCompleter {
        export class ResultType {
            /**
             * Value indicating that address completions should be included in results.
             */
            static address: MKLocalSearchCompleter.ResultType;
            /**
             * Value indicating that point of interest completions should be included in results.
             */
            static pointOfInterest: MKLocalSearchCompleter.ResultType;
            /**
             * Value indicating that query completions should be included in results.
             */
            static query: MKLocalSearchCompleter.ResultType;
            /**
             * Creates a direction transport type using a raw unsigned integer value.
             */
            constructor (rawValue: number);
        }
        export enum FilterType {
            locationsAndQueries = 0,
            locationsOnly = 1,
        }
    }
    export interface MKLocalSearchCompleterDelegate extends NSObjectProtocol {
        /**
         * Called when the specified search completer updates its array of search completions. 
         */
        completerDidUpdateResults(completer: MKLocalSearchCompleter):void;
        /**
         * Called when the specified search completer is unable to generate a list of search results.
         */
        completer(completer: MKLocalSearchCompleter, error: Error):void;
    }
    export class MKLocalSearchCompletion extends NSObject {
        /**
         * The title string associated with the point-of-interest. 
         */
        title: string;
        /**
         * The subtitle (if any) associated with the point-of-interest.
         */
        subtitle: string;
        /**
         * The ranges of characters to highlight in the title string. 
         */
        titleHighlightRanges: NSValue[];
        /**
         * The ranges of characters to highlight in the subtitle string.
         */
        subtitleHighlightRanges: NSValue[];
    }
    export class MKLookAroundScene extends NSObject {}
    export class MKLookAroundSceneRequest extends NSObject {
        /**
         * A coordinate value that describes the location of the LookAround scene.
         */
        coordinate: CLLocationCoordinate2D;
        /**
         * A map item that describes the location of the LookAround scene.
         */
        mapItem: MKMapItem | null;
        /**
         * A Boolean value that indicates if the cancellation of a scene request was successful.
         */
        isCancelled: boolean;
        /**
         * A Boolean value that indicates whether a scene request is loading.
         */
        isLoading: boolean;
        /**
         * Creates a LookAround scene at the specified coordinates.
         */
        constructor (coordinate: CLLocationCoordinate2D);
        /**
         * Creates a LookAround scene with the location described by the specified map item.
         */
        constructor (mapItem: MKMapItem);
        /**
         * Cancels the pending scene request.
         */
        cancel():void;
        /**
         * Requests a LookAround scene and calls the specified completion handler.
         */
        getSceneWithCompletionHandler(completionHandler: ()=>any):void;
    }
    export class MKLookAroundViewController extends NSViewController,UIViewController {
        /**
         * A Boolean value that indicates whether the map’s navigation controls are visible.
         */
        isNavigationEnabled: boolean;
        /**
         * The filter used to determine the points of interest shown on the map.
         */
        pointOfInterestFilter: MKPointOfInterestFilter | null;
        /**
         * A Boolean value that indicates whether the map display road labels.
         */
        showsRoadLabels: boolean;
        /**
         * A value that indicates the badge’s position on the LookAround view.
         */
        badgePosition: MKLookAroundBadgePosition;
        /**
         * An object you provide to receive events related to the user’s interaction with the LookAround view controller.
         */
        delegate: MKLookAroundViewControllerDelegate | null;
        /**
         * The LookAround scene.
         */
        scene: MKLookAroundScene | null;
        /**
         * Creates a new LookAround view controller object from a coder object provided by a storyboard or nib file.
         */
        constructor (coder: NSCoder);
        /**
         * Creates a new LookAround view controller from the specified nib and bundle.
         */
        constructor (nibNameOrNil: string, nibBundleOrNil: Bundle | null);
        /**
         * Creates a new LookAround view controller with the specified scene.
         */
        constructor (scene: MKLookAroundScene);
    }
    export enum MKLookAroundBadgePosition {
        bottomTrailing = 2,
        topLeading = 0,
        topTrailing = 1,
    }
    export interface MKLookAroundViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the scene is about to update.
         */
        lookAroundViewControllerWillUpdateScene(viewController: MKLookAroundViewController):void;
        /**
         * Tells the delegate that the scene updated.
         */
        lookAroundViewControllerDidUpdateScene(viewController: MKLookAroundViewController):void;
        /**
         * Tells the delegate when the view controller is about to enter full-screen mode.
         */
        lookAroundViewControllerWillPresentFullScreen(viewController: MKLookAroundViewController):void;
        /**
         * Tells the delegate when the view controller enters full-screen mode.
         */
        lookAroundViewControllerDidPresentFullScreen(viewController: MKLookAroundViewController):void;
        /**
         * Tells the delegate when the view controller is about to exit full-screen mode.
         */
        lookAroundViewControllerWillDismissFullScreen(viewController: MKLookAroundViewController):void;
        /**
         * Tells the delegate when the view controller exits full-screen mode.
         */
        lookAroundViewControllerDidDismissFullScreen(viewController: MKLookAroundViewController):void;
    }
    export class MKLookAroundSnapshotter extends NSObject {
        /**
         * A Boolean value that indicates whether the snapshot request is loading.
         */
        isLoading: boolean;
        /**
         * Create a new snapshotter object with the scene and options you specify.
         */
        constructor (scene: MKLookAroundScene, options: MKLookAroundSnapshotter.Options);
        /**
         * Cancels an in-progress snapshot request.
         */
        cancel():void;
        /**
         * Requests a new snapshot and calls the completion handler you provide.
         */
        getSnapshotWithCompletionHandler(completionHandler: ()=>any):void;
    }
    /**
     * the same name namespace of class MKLookAroundSnapshotter
     */
    export namespace MKLookAroundSnapshotter {
        export class Options extends NSObject {
            /**
             * A filter to use to customize what map features are visible in the snapshot.
             */
            pointOfInterestFilter: MKPointOfInterestFilter | null;
            /**
             * The requested size of the snapshot image.
             */
            size: CGSize;
            /**
             * A collection of traits that describes orientation and other characteristics of the snapshot.
             */
            traitCollection: UITraitCollection;
        }
        export class Snapshot extends NSObject {
            /**
             * The image returned by the snapshot request.
             */
            image: UIImage;
        }
    }
    export class MKMapFeatureAnnotation extends NSObject {
        /**
         * The type of map feature this annotation represents.
         */
        featureType: MKMapFeatureAnnotation.FeatureType;
        /**
         * The icon style of a feature annotation.
         */
        iconStyle: MKIconStyle | null;
        /**
         * The feature annotation’s point of interest category.
         */
        pointOfInterestCategory: MKPointOfInterestCategory | null;
    }
    /**
     * the same name namespace of class MKMapFeatureAnnotation
     */
    export namespace MKMapFeatureAnnotation {
        export enum FeatureType {
            physicalFeature = 2,
            pointOfInterest = 0,
            territory = 1,
        }
    }
    export class MKMapFeatureOptions {
        /**
         * The option that represents physical map features such as mountain ranges, rivers, and ocean basins.
         */
        static physicalFeatures: MKMapFeatureOptions;
        /**
         * The option that represents points of interest such as museums, cafes, parks, or schools.
         */
        static pointsOfInterest: MKMapFeatureOptions;
        /**
         * The option that represents territorial boundaries such as a national border, a state boundary, or a neighborhood.
         */
        static territories: MKMapFeatureOptions;
        /**
         * Creates a new feature option structure with the specified value.
         */
        constructor (rawValue: number);
    }
    export class MKMapItemRequest extends NSObject {
        /**
         * The feature annotation this map item represents.
         */
        featureAnnotation: MKMapFeatureAnnotation;
        /**
         * A Boolean value that indicates if the cancellation of the request was successful.
         */
        isCancelled: boolean;
        /**
         * A Boolean value that indicates if the request is loading.
         */
        isLoading: boolean;
        /**
         * Creates a new map item request with the specified feature annotation.
         */
        constructor (mapFeatureAnnotation: MKMapFeatureAnnotation);
        /**
         * Cancels an in-progress map item request.
         */
        cancel():void;
        /**
         * Requests a map item and calls the provided completion handler.
         */
        getMapItem(completionHandler: ()=>any):void;
    }
    export class MKIconStyle extends NSObject {
        /**
         * The background color of the icon.
         */
        backgroundColor: UIColor;
        /**
         * The icon image.
         */
        image: UIImage;
    }
    export class MKPointOfInterestFilter extends NSObject {
        /**
         * A filter that excludes all point of interest categories.
         */
        static excludingAll: MKPointOfInterestFilter;
        /**
         * A filter that includes all point of interest categories.
         */
        static includingAll: MKPointOfInterestFilter;
        /**
         * Initialize the point of interest filter with a list of categories to exclude.
         */
        constructor (categories: MKPointOfInterestCategory[]);
        /**
         * Initialize the point of interest filter with a list of categories to include.
         */
        constructor (categories: MKPointOfInterestCategory[]);
        /**
         * Returns a Boolean value indicating whether the filter excludes the point of interest category.
         */
        excludes(category: MKPointOfInterestCategory):boolean;
        /**
         * Returns a Boolean value indicating whether the filter includes the point of interest category.
         */
        includes(category: MKPointOfInterestCategory):boolean;
    }
    export class MKPointOfInterestCategory {
        /**
         * The point of interest category for airports.
         */
        static airport: MKPointOfInterestCategory;
        /**
         * The point of interest category for amusement parks.
         */
        static amusementPark: MKPointOfInterestCategory;
        /**
         * The point of interest category for aquariums.
         */
        static aquarium: MKPointOfInterestCategory;
        /**
         * The point of interest category for ATM machines.
         */
        static atm: MKPointOfInterestCategory;
        /**
         * The point of interest category for bakeries.
         */
        static bakery: MKPointOfInterestCategory;
        /**
         * The point of interest category for banks.
         */
        static bank: MKPointOfInterestCategory;
        /**
         * The point of interest category for beaches.
         */
        static beach: MKPointOfInterestCategory;
        /**
         * The point of interest category for breweries.
         */
        static brewery: MKPointOfInterestCategory;
        /**
         * The point of interest category for cafes.
         */
        static cafe: MKPointOfInterestCategory;
        /**
         * The point of interest category for campgrounds.
         */
        static campground: MKPointOfInterestCategory;
        /**
         * The point of interest category for car rentals.
         */
        static carRental: MKPointOfInterestCategory;
        /**
         * The point of interest category for EV chargers.
         */
        static evCharger: MKPointOfInterestCategory;
        /**
         * The point of interest category for fire stations.
         */
        static fireStation: MKPointOfInterestCategory;
        /**
         * The point of interest category for fitness centers.
         */
        static fitnessCenter: MKPointOfInterestCategory;
        /**
         * The point of interest category for food markets, supermarkets, grocery stores, and convenience stores.
         */
        static foodMarket: MKPointOfInterestCategory;
        /**
         * The point of interest category for gas stations.
         */
        static gasStation: MKPointOfInterestCategory;
        /**
         * The point of interest category for hospitals.
         */
        static hospital: MKPointOfInterestCategory;
        /**
         * The point of interest category for hotels.
         */
        static hotel: MKPointOfInterestCategory;
        /**
         * The point of interest category for laundries.
         */
        static laundry: MKPointOfInterestCategory;
        /**
         * The point of interest category for libraries.
         */
        static library: MKPointOfInterestCategory;
        /**
         * The point of interest category for marinas.
         */
        static marina: MKPointOfInterestCategory;
        /**
         * The point of interest category for movie theaters.
         */
        static movieTheater: MKPointOfInterestCategory;
        /**
         * The point of interest category for museums.
         */
        static museum: MKPointOfInterestCategory;
        /**
         * The point of interest category for national parks.
         */
        static nationalPark: MKPointOfInterestCategory;
        /**
         * The point of interest category for nightlife.
         */
        static nightlife: MKPointOfInterestCategory;
        /**
         * The point of interest category for parks.
         */
        static park: MKPointOfInterestCategory;
        /**
         * The point of interest category for parking locations.
         */
        static parking: MKPointOfInterestCategory;
        /**
         * The point of interest category for pharmacies.
         */
        static pharmacy: MKPointOfInterestCategory;
        /**
         * The point of interest category for police.
         */
        static police: MKPointOfInterestCategory;
        /**
         * The point of interest category for post offices.
         */
        static postOffice: MKPointOfInterestCategory;
        /**
         * The point of interest category for locations of public transportation.
         */
        static publicTransport: MKPointOfInterestCategory;
        /**
         * The point of interest category for restaurants.
         */
        static restaurant: MKPointOfInterestCategory;
        /**
         * The point of interest category for restrooms.
         */
        static restroom: MKPointOfInterestCategory;
        /**
         * The point of interest category for schools.
         */
        static school: MKPointOfInterestCategory;
        /**
         * The point of interest category for stadiums.
         */
        static stadium: MKPointOfInterestCategory;
        /**
         * The point of interest category for stores.
         */
        static store: MKPointOfInterestCategory;
        /**
         * The point of interest category for theaters.
         */
        static theater: MKPointOfInterestCategory;
        /**
         * The point of interest category for universities.
         */
        static university: MKPointOfInterestCategory;
        /**
         * The point of interest category for wineries.
         */
        static winery: MKPointOfInterestCategory;
        /**
         * The point of interest category for zoos.
         */
        static zoo: MKPointOfInterestCategory;
        /**
         * Create a point of interest category using the provided string.
         */
        constructor (rawValue: string);
    }
    export class MKMapSnapshotter extends NSObject {
        /**
         * A Boolean value indicating whether the snapshotter is currently generating an image.
         */
        isLoading: boolean;
        /**
         * Initializes and returns a snapshotter object based on the specified options.
         */
        constructor (options: MKMapSnapshotter.Options);
        /**
         * Submits the request to create a snapshot and delivers the results to the specified block.
         */
        start(completionHandler: MKMapSnapshotter.CompletionHandler):void;
        /**
         * Cancels the current request to create a snapshot.  
         */
        cancel():void;
    }
    /**
     * the same name namespace of class MKMapSnapshotter
     */
    export namespace MKMapSnapshotter {
        export class Options extends NSObject {
            /**
             * The area of the map that you want to capture.
             */
            region: MKCoordinateRegion;
            /**
             * The map rect that you want to capture.
             */
            mapRect: MKMapRect;
            /**
             * The camera to use when taking the map snapshot.
             */
            camera: MKMapCamera;
            /**
             * The map’s visual style.
             */
            mapType: MKMapType;
            /**
             * A Boolean indicating whether the map displays extruded building information.
             */
            showsBuildings: boolean;
            /**
             * The filter used to determine the points of interest shown in the snapshot.
             */
            pointOfInterestFilter: MKPointOfInterestFilter | null;
            /**
             * A Boolean indicating whether the map displays point-of-interest information.
             */
            showsPointsOfInterest: boolean;
            /**
             * Traits that determine the appearance of the map snapshot.
             */
            traitCollection: UITraitCollection;
            /**
             * The size of the image that you want to create.
             */
            size: CGSize;
            /**
             * The visual style (light or dark) to apply to the map when rendering the snapshot image.
             */
            appearance: NSAppearance | null;
            /**
             * The scale factor to use when creating the image.
             */
            scale: CGFloat;
        }
        export class Snapshot extends NSObject {
            /**
             * The image of the map’s content.
             */
            image: UIImage;
            /**
             * The visual style that MapKit actually used when rendering the snapshot. 
             */
            appearance: NSAppearance;
            /**
             * Traits used to create the snapshot.
             */
            traitCollection: UITraitCollection;
            /**
             * Converts the specified map coordinate to a point in the coordinate space of the image.
             */
            point(coordinate: CLLocationCoordinate2D):CGPoint;
        }
    }
    export class MKError {
        /**
         * GeoJSON decoding failed.
         */
        static decodingFailed: MKError.Code;
        /**
         * Directions to the specified location are not available.
         */
        static directionsNotFound: MKError.Code;
        /**
         * The data was not loaded because data throttling is in effect.
         */
        static loadingThrottled: MKError.Code;
        /**
         * The specified placemark could not be found.
         */
        static placemarkNotFound: MKError.Code;
        /**
         * The map server was unable to return the desired information.
         */
        static serverFailure: MKError.Code;
        /**
         * An unknown error occurred.
         */
        static unknown: MKError.Code;
        /**
         * The error domain.
         */
        static errorDomain: string;
        /**
         * The error code within the domain.
         */
        code: Code;
        /**
         * The error code within the domain.
         */
        errorCode: number;
        /**
         * A dictionary that contains information about to the error.
         */
        userInfo: Record<string, any>;
        /**
         * A dictionary that contains information about to the error. 
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that contains a localized description of the error, appropriate for displaying to the user.
         */
        localizedDescription: string;
        /**
         * The hash value of the error.
         */
        hashValue: number;
        /**
         * Creates an error using the specified code and user info dictionary.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MKError
     */
    export namespace MKError {
        export enum Code {
            decodingFailed = 6,
            directionsNotFound = 5,
            loadingThrottled = 3,
            placemarkNotFound = 4,
            serverFailure = 2,
            unknown = 1,
        }
    }
    export class MKOverlayView extends UIView {}
    export class MKOverlayPathView extends MKOverlayView {}
    export class MKCircleView extends MKOverlayPathView {}
    export class MKPolygonView extends MKOverlayPathView {}
    export class MKPolylineView extends MKOverlayPathView {}
}

/**
 * Coordinate the presentation of closed-captioned data for your app's media files.
 */
declare module MediaAccessibility {
    export enum MACaptionAppearanceDomain {
        default = 0,
        user = 1,
    }
    export enum MACaptionAppearanceDisplayType {
        forcedOnly = 0,
        automatic = 1,
        alwaysOn = 2,
    }
    export enum MACaptionAppearanceBehavior {
        useValue = 0,
        useContentIfAvailable = 1,
    }
    export enum MACaptionAppearanceFontStyle {
        default = 0,
        monospacedWithSerif = 1,
        proportionalWithSerif = 2,
        monospacedWithoutSerif = 3,
        proportionalWithoutSerif = 4,
        casual = 5,
        cursive = 6,
        smallCapital = 7,
    }
    export enum MACaptionAppearanceTextEdgeStyle {
        undefined = 0,
        none = 1,
        raised = 2,
        depressed = 3,
        uniform = 4,
        dropShadow = 5,
    }
}

/**
 * Find and play songs, audio podcasts, audio books, and more from within your app.
 */
declare module MediaPlayer {
    export class MPMusicPlayerController extends NSObject {
        /**
         * The currently-playing media item, or the media item, within a queue, that you have designated to begin playback with.
         */
        nowPlayingItem: MPMediaItem | null;
        /**
         * The index of the now playing item in the current playback queue.
         */
        indexOfNowPlayingItem: number;
        /**
         * The current playback state of the music player.
         */
        playbackState: MPMusicPlaybackState;
        /**
         * The current repeat mode of the music player.
         */
        repeatMode: MPMusicRepeatMode;
        /**
         * The current shuffle mode of the music player.
         */
        shuffleMode: MPMusicShuffleMode;
        /**
         * Set the music player's playback queue using media items that fit the queue descriptor properties.
         */
        setQueue(descriptor: MPMusicPlayerQueueDescriptor):void;
        /**
         * Prepares a music player for playback.
         */
        prepareToPlay(completionHandler: ()=>any):void;
    }
    export class MPMediaQuery extends NSObject {
        /**
         * An array of media item collections whose contained items match the query’s media property predicate.
         */
        collections: MPMediaItemCollection[] | null;
    }
    export class MPMediaQuerySection extends NSObject {
        /**
         * The localized title of the media query section.
         */
        title: string;
        /**
         * The range in the media query's items or collections array that is represented by the media query section.
         */
        range: NSRange;
    }
    export class MPMediaPropertyPredicate extends MPMediaPredicate {
        /**
         * The property that the media property predicate uses when you invoke a query.
         */
        property: string;
        /**
         * The value that the media property predicate matches against when you invoke a query.
         */
        value: any;
        /**
         * The type of matching comparison that the media property predicate performs when you invoke a query.
         */
        comparisonType: MPMediaPredicateComparison;
        /**
         * Creates a media property predicate with the default comparison type.
         */
        constructor (value: any, property: string);
        /**
         * Creates a media property predicate with a specified comparison type.
         */
        constructor (value: any, property: string, comparisonType: MPMediaPredicateComparison);
    }
    export enum MPMediaPredicateComparison {
        equalTo = 0,
        contains = 1,
    }
    export class MPMediaPredicate extends NSObject {}
    export class MPMusicPlayerControllerQueue extends NSObject {
        /**
         * The media items in the queue.
         */
        items: MPMediaItem[];
    }
    export class MPMusicPlayerControllerMutableQueue extends MPMusicPlayerControllerQueue {
        /**
         * Inserts a modified queue after the designated media item.
         */
        insert(queueDescriptor: MPMusicPlayerQueueDescriptor, afterItem: MPMediaItem | null):void;
        /**
         * Removes a media item from the music player's queue.
         */
        remove(item: MPMediaItem):void;
    }
    export class MPMusicPlayerApplicationController extends MPMusicPlayerController {
        /**
         * Changes the contents of the media items in the queue.
         */
        perform(queueTransaction: ()=>any, completionHandler: ()=>any):void;
    }
    export class MPMusicPlayerMediaItemQueueDescriptor extends MPMusicPlayerQueueDescriptor {
        /**
         * Contains the media item collection used to create the queue descriptor.
         */
        itemCollection: MPMediaItemCollection;
        /**
         * Contains the media items found by the query used to create the queue descriptor.
         */
        query: MPMediaQuery;
        /**
         * Designates the media item that will be played first.
         */
        startItem: MPMediaItem | null;
        /**
         * Creates a new queue descriptor using the designated collection.
         */
        constructor (itemCollection: MPMediaItemCollection);
        /**
         * Creates a new queue descriptor using the designated query.
         */
        constructor (query: MPMediaQuery);
        /**
         * The time the designated media item is to start playing.
         */
        setStartTime(startTime: TimeInterval, mediaItem: MPMediaItem):void;
        /**
         * The time the designated media item is to stop playing.
         */
        setEndTime(endTime: TimeInterval, mediaItem: MPMediaItem):void;
    }
    export class MPMusicPlayerStoreQueueDescriptor extends MPMusicPlayerQueueDescriptor {
        /**
         * The item identified by the store identifier that will be played first.
         */
        startItemID: string;
        /**
         * An array containing the store identifiers found by the query used to create the queue descriptor.
         */
        storeIDs: string[] | null;
        /**
         * Creates a new queue descriptor using the designated store identifiers.
         */
        constructor (storeIDs: string[]);
        /**
         * Sets the time the designated store item is to start playing.
         */
        setStartTime(startTime: TimeInterval, storeID: string):void;
        /**
         * Sets the time the designated store item is to stop playing.
         */
        setEndTime(endTime: TimeInterval, storeID: string):void;
    }
    export class MPMusicPlayerPlayParametersQueueDescriptor extends MPMusicPlayerQueueDescriptor {
        /**
         * An array containing the play parameters returned from querying MusicKit.
         */
        playParametersQueue: MPMusicPlayerPlayParameters[];
        /**
         * The item identified by the play parameters that is to be played first.
         */
        startItemPlayParameters: MPMusicPlayerPlayParameters | null;
        /**
         * Creates a new queue descriptor using the designated queue of play parameters.
         */
        constructor (playParametersQueue: MPMusicPlayerPlayParameters[]);
        /**
         * Sets the time the item with the associated play parameters is to start playing.
         */
        setStartTime(startTime: TimeInterval, playParameters: MPMusicPlayerPlayParameters):void;
        /**
         * Sets the time the item with the associated play parameters is to stop playing.
         */
        setEndTime(endTime: TimeInterval, playParameters: MPMusicPlayerPlayParameters):void;
    }
    export class MPMusicPlayerPlayParameters extends NSObject {
        /**
         * The information returned from a MusicKit query and stored in a play parameters object.
         */
        dictionary: Record<string, any>;
        /**
         * Returns a new play parameters object using information from MusicKit.
         */
        constructor (dictionary: Record<string, any>);
        /**
         * Creates a new parameters object by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes the parameters object into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class MPMusicPlayerQueueDescriptor extends NSObject {}
    export class MPMediaItem extends MPMediaEntity {
        /**
         * The primary performing artist for an album.
         */
        albumArtist: string;
        /**
         * The persistent identifier for the primary performing artist for an album.
         */
        albumArtistPersistentID: MPMediaEntityPersistentID;
        /**
         * The persistent identifier for an album.
         */
        albumPersistentID: MPMediaEntityPersistentID;
        /**
         * The title of an album, such as 
         * , rather than the title of an individual song on the album, such as “Crater Dance.”
         */
        albumTitle: string;
        /**
         * The number of tracks for the album that contains the media item.
         */
        albumTrackCount: number;
        /**
         * The track number of the media item, for a media item that is part of an album.
         */
        albumTrackNumber: number;
        /**
         * The performing artists for a media item — which may vary from the primary artist for the album that a media item belongs to. 
         */
        artist: string;
        /**
         * The persistent identifier for an artist.
         */
        artistPersistentID: MPMediaEntityPersistentID;
        /**
         * The artwork image for the media item.
         */
        artwork: MPMediaItemArtwork | null;
        /**
         * The URL that points to the media item.
         */
        assetURL: URL | null;
        /**
         * The number of musical beats per minute for the media item.
         */
        beatsPerMinute: number;
        /**
         * The time of the user’s most recent interaction with the bookmark in the media item.
         */
        bookmarkTime: TimeInterval;
        /**
         * A Boolean value that indicates whether the media item is an iCloud Music Library item.
         */
        isCloudItem: boolean;
        /**
         * Textual information about the media item.
         */
        comments: string;
        /**
         * A Boolean value that indicates whether the media item is part of a compilation.
         */
        isCompilation: boolean;
        /**
         * A Boolean value that indicates whether the media item is a preorder.
         */
        isPreorder: boolean;
        /**
         * The musical composer for the media item. 
         */
        composer: string;
        /**
         * The persistent identifier for a composer.
         */
        composerPersistentID: MPMediaEntityPersistentID;
        /**
         * The date the user adds the media item to the library.
         */
        dateAdded: Date;
        /**
         * The number of discs for the album that contains the media item.
         */
        discCount: number;
        /**
         * The disc number of the media item, for a media item that is part of a multidisc album.
         */
        discNumber: number;
        /**
         * A Boolean value that indicates whether the media item has explicit (adult) lyrics or language.
         */
        isExplicitItem: boolean;
        /**
         * The music or film genre of the media item.
         */
        genre: string;
        /**
         * The persistent identifier for a genre.
         */
        genrePersistentID: MPMediaEntityPersistentID;
        /**
         * The most recent play date of the media item.
         */
        lastPlayedDate: Date | null;
        /**
         * The lyrics for the media item. 
         */
        lyrics: string;
        /**
         * The media type of the media item.
         */
        mediaType: MPMediaType;
        /**
         * The persistent identifier for the media item.
         */
        persistentID: MPMediaEntityPersistentID;
        /**
         * The number of times the user plays the media item. 
         */
        playCount: number;
        /**
         * The playback duration of the media item. 
         */
        playbackDuration: TimeInterval;
        /**
         * The nonlibrary identifier for a media item.
         */
        playbackStoreID: string;
        /**
         * The persistent identifier for an audio podcast. 
         */
        podcastPersistentID: MPMediaEntityPersistentID;
        /**
         * The title of a podcast, such as 
         * , rather than the title of an individual episode of a podcast, such as “Episode 12: Another Cold Day at the Pole.”
         */
        podcastTitle: string;
        /**
         * A Boolean value that indicates whether the media item has a protected asset.
         */
        hasProtectedAsset: boolean;
        /**
         * The user-specified rating of the media item.
         */
        rating: number;
        /**
         * The date of the media item’s first public release.
         */
        releaseDate: Date | null;
        /**
         * The number of times the user skips playing the media item.
         */
        skipCount: number;
        /**
         * The title or name of the media item.
         */
        title: string;
        /**
         * Grouping information for the media item.
         */
        userGrouping: string;
        /**
         * Obtains the persistent identifier key for a specified grouping type.
         */
        static persistentIDProperty(groupingType: MPMediaGrouping):string;
        /**
         * Obtains the title key for a specified grouping type.
         */
        static titleProperty(groupingType: MPMediaGrouping):string;
    }
    export enum MPMusicPlaybackState {
        stopped = 0,
        playing = 1,
        paused = 2,
        interrupted = 3,
        seekingForward = 4,
        seekingBackward = 5,
    }
    export class MPMediaType {
        /**
         * The media item contains music.
         */
        static music: MPMediaType;
        /**
         * The media item contains a podcast.
         */
        static podcast: MPMediaType;
        /**
         * The media item contains an audio book.
         */
        static audioBook: MPMediaType;
        /**
         * The media item contains an iTunes U audio lesson.
         */
        static audioITunesU: MPMediaType;
        /**
         * The media item contains an unspecified type of audio content.
         */
        static anyAudio: MPMediaType;
        /**
         * The media item contains a movie.
         */
        static movie: MPMediaType;
        /**
         * The media item contains a TV show.
         */
        static tvShow: MPMediaType;
        /**
         * The media item contains a video podcast.
         */
        static videoPodcast: MPMediaType;
        /**
         * The media item contains a music video.
         */
        static musicVideo: MPMediaType;
        /**
         * The media item contains an iTunes U video.
         */
        static videoITunesU: MPMediaType;
        /**
         * The media item contains a home video.
         */
        static homeVideo: MPMediaType;
        /**
         * The media item contains an unspecified type of video content.
         */
        static anyVideo: MPMediaType;
        /**
         * The media item contains an unspecified type of media content.
         */
        static any: MPMediaType;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export enum MPMusicRepeatMode {
        default = 0,
        none = 1,
        one = 2,
        all = 3,
    }
    export class MPMediaItemArtwork extends NSObject {
        /**
         * The maximum size, in points, of the image associated with the media item artwork.
         */
        bounds: CGRect;
        /**
         * The bounds, in points, of the content area for the full size image associated with the media item artwork.
         */
        imageCropRect: CGRect;
        /**
         * Creates a new image from existing artwork with the specified bounds.
         */
        constructor (boundsSize: CGSize, requestHandler: ()=>any);
        /**
         * Initializes a media item artwork instance with a full-size image.
         */
        constructor (image: UIImage);
        /**
         * Returns the artwork image for an item at the given size.
         */
        image(size: CGSize):UIImage | null;
    }
    export class MPMediaItemCollection extends MPMediaEntity {
        /**
         * The media items in a media item collection.
         */
        items: MPMediaItem[];
        /**
         * A media item whose properties are representative of the other media items in a collection.
         */
        representativeItem: MPMediaItem | null;
        /**
         * The number of media items in a collection.
         */
        count: number;
        /**
         * The types of the media items in a collection.
         */
        mediaTypes: MPMediaType;
        /**
         * Initializes a media item collection with an array of media items.
         */
        constructor (items: MPMediaItem[]);
    }
    export class MPMediaPlaylist extends MPMediaItemCollection {
        /**
         * App defined display name for the playlist.
         */
        authorDisplayName: string;
        /**
         * User supplied text that describes the playlist.
         */
        descriptionText: string;
        /**
         * The name of the playlist.
         */
        name: string;
        /**
         * The persistent identifier for the playlist.
         */
        persistentID: MPMediaEntityPersistentID;
        /**
         * The cloud identifier for the playlist.
         */
        cloudGlobalID: string;
        /**
         * The attributes associated with the playlist
         */
        playlistAttributes: MPMediaPlaylistAttribute;
        /**
         * The items seeded to generate the playlist; applies only to Genius playlists.
         */
        seedItems: MPMediaItem[] | null;
        /**
         * Adds the item associated with the product identifier to the end of the playlist.
         */
        addItem(productID: string, completionHandler: ()=>any | null):void;
        /**
         * Adds an array of media items to the end of the playlist.
         */
        add(mediaItems: MPMediaItem[], completionHandler: ()=>any | null):void;
    }
    export class MPMediaPlaylistAttribute {
        /**
         * A playlist created on a device rather than synced from the Music app.
         */
        static onTheGo: MPMediaPlaylistAttribute;
        /**
         * A smart playlist includes items that match one or more user-specified rules.
         */
        static smart: MPMediaPlaylistAttribute;
        /**
         * A Genius playlist includes items related to other items in your Music library.
         */
        static genius: MPMediaPlaylistAttribute;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class MPMediaPlaylistCreationMetadata extends NSObject {
        /**
         * App defined display name for the playlist.
         */
        authorDisplayName: String!;
        /**
         * The descriptive text for the playlist.
         */
        descriptionText: string;
        /**
         * The playlist's displayed name.
         */
        name: string;
        /**
         * Creates a new playlist metadata object with the designated name.
         */
        constructor (name: string);
    }
    export enum MPMusicShuffleMode {
        default = 0,
        off = 1,
        songs = 2,
        albums = 3,
    }
    export class MPMediaEntity extends NSObject {
        /**
         * The persistent identifier for a media entity.
         */
        persistentID: MPMediaEntityPersistentID;
        /**
         * Indicates if a media property key can be used to construct a media property predicate.
         */
        static canFilter(property: string):boolean;
        /**
         * Executes a provided block with the fetched values for the given item properties.
         */
        enumerateValues(properties: Set<String>, block: ()=>any):void;
        /**
         * Retrieves the value for a specified media property key.
         */
        value(property: string):any;
    }
    export class MPMediaPickerController extends UIViewController {
        /**
         * The delegate for a media item picker.
         */
        delegate: MPMediaPickerControllerDelegate | null;
        /**
         * A Boolean value specifying the default selection behavior for a media item picker.
         */
        allowsPickingMultipleItems: boolean;
        /**
         * A Boolean value specifying whether to display iCloud Media Library items for a media picker.
         */
        showsCloudItems: boolean;
        /**
         * The media types that media item picker presents.
         */
        mediaTypes: MPMediaType;
        /**
         * A prompt, for the user, that appears above the navigation bar buttons.
         */
        prompt: string;
        /**
         * A Boolean value specifying if protect assets are displayed.
         */
        showsItemsWithProtectedAssets: boolean;
        /**
         * Initializes a media item picker for specified media types.
         */
        constructor (mediaTypes: MPMediaType);
    }
    export interface MPMediaPickerControllerDelegate extends NSObjectProtocol {
        /**
         * Called when a user has selected a set of media items.
         */
        mediaPicker(mediaPicker: MPMediaPickerController, mediaItemCollection: MPMediaItemCollection):void;
        /**
         * Called when a user dismisses a media item picker by tapping Cancel.
         */
        mediaPickerDidCancel(mediaPicker: MPMediaPickerController):void;
    }
    export class MPVolumeView extends UIView {
        /**
         * A Boolean value that indicates the volume slider is visible in the volume view.
         */
        showsVolumeSlider: boolean;
        /**
         * A Boolean value that indicates whether the route button is visible in the volume view.
         */
        showsRouteButton: boolean;
        /**
         * The image used to designate the European Union volume limit.
         */
        volumeWarningSliderImage: UIImage | null;
        /**
         * A Boolean value indicating wireless routes are available.
         */
        areWirelessRoutesAvailable: boolean;
        /**
         * A Boolean value that indicates whether the wireless route is active.
         */
        isWirelessRouteActive: boolean;
        /**
         * Returns the maximum volume image associated with the specified control state.
         */
        maximumVolumeSliderImage(state: UIControl.State):UIImage | null;
        /**
         * Returns the minimum volume image associated with the specified control state.
         */
        minimumVolumeSliderImage(state: UIControl.State):UIImage | null;
        /**
         * Assigns a maximum volume slider image to the specified control states.
         */
        setMaximumVolumeSliderImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Assigns a minimum volume slider image to the specified control states.
         */
        setMinimumVolumeSliderImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Assigns a thumb image to the specified control states.
         */
        setVolumeThumbImage(image: UIImage | null, state: UIControl.State):void;
        /**
         * Returns the drawing rectangle for the slider’s track.
         */
        volumeSliderRect(bounds: CGRect):CGRect;
        /**
         * Returns the thumb image associated with the specified control state.
         */
        volumeThumbImage(state: UIControl.State):UIImage | null;
        /**
         * Returns the drawing rectangle for the volume slider’s thumb image.
         */
        volumeThumbRect(bounds: CGRect, rect: CGRect, value: Float):CGRect;
        /**
         * Returns the button image associated with the specified control state.
         */
        routeButtonImage(state: UIControl.State):UIImage | null;
        /**
         * Returns the drawing rectangle for the route button.
         */
        routeButtonRect(bounds: CGRect):CGRect;
        /**
         * Assigns a button image to the specified control states.
         */
        setRouteButtonImage(image: UIImage | null, state: UIControl.State):void;
    }
    export class MPNowPlayingSession extends NSObject {
        /**
         * The Now Playing session’s delegate object.
         */
        delegate: MPNowPlayingSessionDelegate | null;
        /**
         * The array of players associated with this session.
         */
        players: AVPlayer[];
        /**
         * A Boolean value that indicates whether this session is the app’s active Now Playing session.
         */
        isActive: boolean;
        /**
         * A Boolean value that indicates whether this session can become the app’s active Now Playing session.
         */
        canBecomeActive: boolean;
        /**
         * The Now Playing information center associated with this session.
         */
        nowPlayingInfoCenter: MPNowPlayingInfoCenter;
        /**
         * The remote command center associated with this session.
         */
        remoteCommandCenter: MPRemoteCommandCenter;
        automaticallyPublishesNowPlayingInfo: boolean;
        /**
         * Creates a Now Playing session object.
         */
        constructor (players: AVPlayer[]);
        /**
         * Adds a player to the session.
         */
        addPlayer(player: AVPlayer):void;
        /**
         * Removes a player from the session.
         */
        removePlayer(player: AVPlayer):void;
        /**
         * Asks the system to make this session the active Now Playing session.
         */
        becomeActiveIfPossible(completion: ()=>any | null):void;
    }
    export interface MPNowPlayingSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the session changed its active status.
         */
        nowPlayingSessionDidChangeActive(nowPlayingSession: MPNowPlayingSession):void;
        /**
         * Tells the delegate that the session is eligible to become active.
         */
        nowPlayingSessionDidChangeCanBecomeActive(nowPlayingSession: MPNowPlayingSession):void;
    }
    export class MPNowPlayingInfoCenter extends NSObject {
        /**
         * The current now-playing information for the default now playing info center.
         */
        nowPlayingInfo: Record<string, any> | null;
        /**
         * The current playback state of the app.
         */
        playbackState: MPNowPlayingPlaybackState;
        /**
         * Returns the singleton now playing info center.
         */
        static default():MPNowPlayingInfoCenter;
    }
    export enum MPNowPlayingInfoMediaType {
        none = 0,
        audio = 1,
        video = 2,
    }
    export enum MPNowPlayingPlaybackState {
        unknown = 0,
        playing = 1,
        paused = 2,
        stopped = 3,
        interrupted = 4,
    }
    export class MPNowPlayingInfoLanguageOption extends NSObject {
        /**
         * The display name for a language option.
         */
        displayName: string;
        /**
         * The unique identifier for the language option.
         */
        identifier: string;
        /**
         * The characteristics that describe the content of the language option.
         */
        languageOptionCharacteristics: string[] | null;
        /**
         * The abbreviated language code for the language option.
         */
        languageTag: string;
        /**
         * The type of language option.
         */
        languageOptionType: MPNowPlayingInfoLanguageOptionType;
        /**
         * Creates a single language option.
         */
        constructor (languageOptionType: MPNowPlayingInfoLanguageOptionType, languageTag: string, languageOptionCharacteristics: string[] | null, displayName: string, identifier: string);
        /**
         * Returns a Boolean value that determines whether to use the best audible language option based on the system preferences.
         */
        isAutomaticAudibleLanguageOption():boolean;
        /**
         * Returns a Boolean value that determines whether to use the best legible language option based on the system preferences.
         */
        isAutomaticLegibleLanguageOption():boolean;
    }
    export enum MPNowPlayingInfoLanguageOptionType {
        audible = 0,
        legible = 1,
    }
    export class MPNowPlayingInfoLanguageOptionGroup extends NSObject {
        /**
         * A Boolean value indicating whether selecting a language option in the group is required at all times.
         */
        allowEmptySelection: boolean;
        /**
         * The default language option for the group.
         */
        defaultLanguageOption: MPNowPlayingInfoLanguageOption | null;
        /**
         * The available language options for the group.
         */
        languageOptions: MPNowPlayingInfoLanguageOption[];
        /**
         * Creates a new language option group with the supplied language options.
         */
        constructor (languageOptions: MPNowPlayingInfoLanguageOption[], defaultLanguageOption: MPNowPlayingInfoLanguageOption | null, allowEmptySelection: boolean);
    }
    export class MPRemoteCommandCenter extends NSObject {
        /**
         * The command object for pausing playback of the current item.
         */
        pauseCommand: MPRemoteCommand;
        /**
         * The command object for starting playback of the current item.
         */
        playCommand: MPRemoteCommand;
        /**
         * The command object for stopping playback of the current item.
         */
        stopCommand: MPRemoteCommand;
        /**
         * The command object for toggling between playing and pausing the current item.
         */
        togglePlayPauseCommand: MPRemoteCommand;
        /**
         * The command object for selecting the next track.
         */
        nextTrackCommand: MPRemoteCommand;
        /**
         * The command object for selecting the previous track.
         */
        previousTrackCommand: MPRemoteCommand;
        /**
         * The command object for changing the repeat mode.
         */
        changeRepeatModeCommand: MPChangeRepeatModeCommand;
        /**
         * The command object for changing the shuffle mode.
         */
        changeShuffleModeCommand: MPChangeShuffleModeCommand;
        /**
         * The command object for changing the playback rate of the current media item.
         */
        changePlaybackRateCommand: MPChangePlaybackRateCommand;
        /**
         * The command object for seeking backward through a single media item.
         */
        seekBackwardCommand: MPRemoteCommand;
        /**
         * The command object for seeking forward through a single media item.
         */
        seekForwardCommand: MPRemoteCommand;
        /**
         * The command object for playing a previous point in a media item.
         */
        skipBackwardCommand: MPSkipIntervalCommand;
        /**
         * The command object for playing a future point in a media item.
         */
        skipForwardCommand: MPSkipIntervalCommand;
        /**
         * The command object for changing the playback position in a media item.
         */
        changePlaybackPositionCommand: MPChangePlaybackPositionCommand;
        /**
         * The command object for rating a media item.
         */
        ratingCommand: MPRatingCommand;
        /**
         * The command object for indicating that a user likes what is currently playing.
         */
        likeCommand: MPFeedbackCommand;
        /**
         * The command object for indicating that a user dislikes what is currently playing.
         */
        dislikeCommand: MPFeedbackCommand;
        /**
         * The command object for indicating that a user wants to remember a media item.
         */
        bookmarkCommand: MPFeedbackCommand;
        /**
         * The command object for enabling a language option.
         */
        enableLanguageOptionCommand: MPRemoteCommand;
        /**
         * The command object for disabling a language option
         */
        disableLanguageOptionCommand: MPRemoteCommand;
        /**
         * Returns the shared object you use to access the system’s remote command objects.
         */
        static shared():MPRemoteCommandCenter;
    }
    export class MPRemoteCommand extends NSObject {
        /**
         * A Boolean value that indicates whether a user can interact with the displayed element.
         */
        isEnabled: boolean;
        /**
         * Adds a block to be called when an event is received.
         */
        addTarget(handler: ()=>any):any;
        /**
         * Removes a target from the remote command object.
         */
        removeTarget(target: any):void;
    }
    export enum MPRemoteCommandHandlerStatus {
        success = 0,
        noSuchContent = 100,
        noActionableNowPlayingItem = 110,
        deviceNotFound = 120,
        commandFailed = 200,
    }
    export interface MPMediaPlayback {
        /**
         * Initiates playback of the current item.
         */
        play():void;
        /**
         * Pauses playback of the current item. 
         */
        pause():void;
        /**
         * Ends playback of the current item.
         */
        stop():void;
        /**
         * Prepares a media player for playback.
         */
        prepareToPlay():void;
        /**
         * A Boolean value indicating whether a media player is ready to play.
         */
        isPreparedToPlay: boolean;
        /**
         * Begins seeking backward through the media content.
         */
        beginSeekingBackward():void;
        /**
         * Begins seeking forward through the media content.
         */
        beginSeekingForward():void;
        /**
         * Ends forward and backward seeking through the media content.
         */
        endSeeking():void;
        /**
         * The current playback rate for the player.
         */
        currentPlaybackRate: Float;
        /**
         * The current position of the playhead. 
         */
        currentPlaybackTime: TimeInterval;
    }
    export class MPRemoteCommandEvent extends NSObject {
        /**
         * The command that sent the event.
         */
        command: MPRemoteCommand;
        /**
         * The time the event occurred.
         */
        timestamp: TimeInterval;
    }
    export class MPChangePlaybackPositionCommand extends MPRemoteCommand {}
    export class MPChangePlaybackPositionCommandEvent extends MPRemoteCommandEvent {
        /**
         * The playback position used when setting the current time of the player.
         */
        positionTime: TimeInterval;
    }
    export class MPSeekCommandEvent extends MPRemoteCommandEvent {
        /**
         * The type of seek command event
         */
        type: MPSeekCommandEventType;
    }
    export enum MPSeekCommandEventType {
        beginSeeking = 0,
        endSeeking = 1,
    }
    export class MPSkipIntervalCommand extends MPRemoteCommand {
        /**
         * The available skip intervals, in seconds, for a media item.
         */
        preferredIntervals: NSNumber[];
    }
    export class MPSkipIntervalCommandEvent extends MPRemoteCommandEvent {
        /**
         * The chosen interval, in seconds, for the skip command event.
         */
        interval: TimeInterval;
    }
    export class MPChangePlaybackRateCommand extends MPRemoteCommand {
        /**
         * The supported playback rates for a media item.
         */
        supportedPlaybackRates: NSNumber[];
    }
    export class MPChangePlaybackRateCommandEvent extends MPRemoteCommandEvent {
        /**
         * The chosen playback rate for the command event.
         */
        playbackRate: Float;
    }
    export class MPChangeLanguageOptionCommandEvent extends MPRemoteCommandEvent {
        /**
         * The requested language option to change.
         */
        languageOption: MPNowPlayingInfoLanguageOption;
        /**
         * The extent of the language setting change.
         */
        setting: MPChangeLanguageOptionSetting;
    }
    export enum MPChangeLanguageOptionSetting {
        none = 0,
        nowPlayingItemOnly = 1,
        permanent = 2,
    }
    export class MPChangeRepeatModeCommand extends MPRemoteCommand {
        /**
         * The current repeat option for a media item.
         */
        currentRepeatType: MPRepeatType;
    }
    export class MPChangeRepeatModeCommandEvent extends MPRemoteCommandEvent {
        /**
         * The repeat type used when fulfilling the event request.
         */
        repeatType: MPRepeatType;
        /**
         * A Boolean value that indicates whether the chosen repeat mode is preserved between playback sessions.
         */
        preservesRepeatMode: boolean;
    }
    export class MPChangeShuffleModeCommand extends MPRemoteCommand {
        /**
         * The current shuffle mode for a media item.
         */
        currentShuffleType: MPShuffleType;
    }
    export class MPChangeShuffleModeCommandEvent extends MPRemoteCommandEvent {
        /**
         * The shuffle type used when fulfilling the event request.
         */
        shuffleType: MPShuffleType;
        /**
         * A Boolean value that indicates whether the shuffle mode is preserved between playback sessions.
         */
        preservesShuffleMode: boolean;
    }
    export enum MPRepeatType {
        off = 0,
        one = 1,
        all = 2,
    }
    export enum MPShuffleType {
        off = 0,
        items = 1,
        collections = 2,
    }
    export class MPFeedbackCommand extends MPRemoteCommand {
        /**
         * A Boolean value that indicates whether the feedback’s action is on or off.
         */
        isActive: boolean;
        /**
         * A localized string used to describe the context of a command.
         */
        localizedTitle: string;
        /**
         * A shortened version of the string used to describe the context of a command.
         */
        localizedShortTitle: string;
    }
    export class MPFeedbackCommandEvent extends MPRemoteCommandEvent {
        /**
         * A Boolean value that indicates whether an app should perform a negative command appropriate to the target.
         */
        isNegative: boolean;
    }
    export class MPRatingCommand extends MPRemoteCommand {
        /**
         * The maximum rating for a command.
         */
        maximumRating: Float;
        /**
         * The minimum rating for a command.
         */
        minimumRating: Float;
    }
    export class MPRatingCommandEvent extends MPRemoteCommandEvent {
        /**
         * The rating for the command event.
         */
        rating: Float;
    }
    export class MPContentItem extends NSObject {
        /**
         * A single image that is associated with the media item.
         */
        artwork: MPMediaItemArtwork | null;
        /**
         * A Boolean value that indicates whether a media item is container of other items.
         */
        isContainer: boolean;
        /**
         * A Boolean value that indicates whether the media item contains explicit content.
         */
        isExplicitContent: boolean;
        /**
         * The unique identifier for the media item.
         */
        identifier: string;
        /**
         * Determines if a media item is able to be played.
         */
        isPlayable: boolean;
        /**
         * A Boolean value indicating whether the content item is streaming content.
         */
        isStreamingContent: boolean;
        /**
         * The amount of content that has been played for the media item.
         */
        playbackProgress: Float;
        /**
         * A secondary designator for the media item.
         */
        subtitle: string;
        /**
         * The public name of the media item.
         */
        title: string;
        /**
         * Sets the identifier for a media item.
         */
        constructor (identifier: string);
    }
    export class MPPlayableContentManager extends NSObject {
        /**
         * The data source provided by the app.
         */
        dataSource: MPPlayableContentDataSource | null;
        /**
         * A delegate that lets the media player manage the app’s playback queue.
         */
        delegate: MPPlayableContentDelegate | null;
        /**
         * The current state of the playable content endpoint.
         */
        context: MPPlayableContentManagerContext;
        /**
         * The content items currently playing based on their identifiers.
         */
        nowPlayingIdentifiers: string[];
        /**
         * Returns the current content manager instance.
         */
        static shared():Self;
        /**
         * Updates several Media Player content items at once.
         */
        beginUpdates():void;
        /**
         * Ends a synchronized update.
         */
        endUpdates():void;
        /**
         * Reloads the data from the data source.
         */
        reloadData():void;
    }
    export interface MPPlayableContentDataSource extends NSObjectProtocol {
        /**
         * Retrieves the media item at the specified index.
         */
        contentItem(indexPath: IndexPath):MPContentItem | null;
        /**
         * Starts to load the children of the indicated index.
         */
        beginLoadingChildItems(indexPath: IndexPath, completionHandler: ()=>any):void;
        /**
         * Returns a Boolean value indicating whether the provided content supports playback progress.
         */
        childItemsDisplayPlaybackProgress(indexPath: IndexPath):boolean;
        /**
         * Provides the number of child nodes for the indicated node.
         */
        numberOfChildItems(indexPath: IndexPath):number;
    }
    export interface MPPlayableContentDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate to begin playback of the specified content item.
         */
        playableContentManager(contentManager: MPPlayableContentManager, indexPath: IndexPath, completionHandler: ()=>any):void;
    }
    export class MPPlayableContentManagerContext extends NSObject {
        /**
         * A Boolean value indicating whether contents limits are enforced by the content server.
         */
        contentLimitsEnforced: boolean;
        /**
         * Returns a Boolean value representing whether the content server is available.
         */
        endpointAvailable: boolean;
        /**
         * Returns the number of content items that are displayed when content limiting is enforced.
         */
        enforcedContentItemsCount: number;
        /**
         * The maximum depth of the navigation hierarchy allowed by the content server.
         */
        enforcedContentTreeDepth: number;
        /**
         * A Boolean value indicating whether contents limits are enabled by the content server.
         */
        contentLimitsEnabled: boolean;
    }
    export class MPError {
        /**
         * A static string representation of the error domain.
         */
        static errorDomain: string;
        /**
         * The system cancels the requested operation before it completes.
         */
        static cancelled: MPError.Code;
        /**
         * The operation can’t complete because iCloud services aren’t in an enabled state.
         */
        static cloudServiceCapabilityMissing: MPError.Code;
        /**
         * The requested operation can’t complete due to an unknown error.
         */
        static unknown: MPError.Code;
        /**
         * The operation fails because the device can’t connect to the network.
         */
        static networkConnectionFailed: MPError.Code;
        /**
         * The operation fails because the system can’t find the requested identifier in the current storefront.
         */
        static notFound: MPError.Code;
        /**
         * The requested operation fails because the system doesn’t support it.
         */
        static notSupported: MPError.Code;
        /**
         * The operation can’t complete because the user doesn’t have permission for the request.
         */
        static permissionDenied: MPError.Code;
        /**
         * The requested operation times out.
         */
        static requestTimedOut: MPError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The integer error code.
         */
        errorCode: number;
        /**
         * The user information for the error.
         */
        userInfo: Record<string, any>;
        /**
         * The error user information for the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a player error with an error code and user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the value by passing them into the hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MPError
     */
    export namespace MPError {
        export enum Code {
            cancelled = 6,
            cloudServiceCapabilityMissing = 2,
            networkConnectionFailed = 3,
            notFound = 4,
            notSupported = 5,
            permissionDenied = 1,
            requestTimedOut = 7,
            unknown = 0,
        }
    }
    export interface MPSystemMusicPlayerController extends NSObjectProtocol {
        /**
         * Opens the Music app and plays the designated videos.
         */
        openToPlay(queueDescriptor: MPMusicPlayerQueueDescriptor):void;
    }
    export class MPMovieAccessLog extends NSObject {
        /**
         * A textual version of the web server access log for the associated movie player.
         */
        extendedLogData: Data!;
        /**
         * The string encoding for the 
         *  property.
         */
        extendedLogDataStringEncoding: number;
        /**
         * The events in the movie access log.
         */
        events: [Any]!;
    }
    export class MPMovieAccessLogEvent extends NSObject {
        /**
         * A count of media segments downloaded from the web server to your app.
         */
        numberOfSegmentsDownloaded: number;
        /**
         * The timestamp for when playback began for the movie log access event.
         */
        playbackStartDate: Date!;
        /**
         * The URI of the playback item.
         */
        uri: String!;
        /**
         * The IP address of the web server that was the source of the last delivered media segment. Can be either an IPv4 or an IPv6 address.
         */
        serverAddress: String!;
        /**
         * A count of changes to the 
         *  property over the last uninterrupted period of playback.
         */
        numberOfServerAddressChanges: number;
        /**
         * A GUID that identifies the playback session. This value is used in HTTP requests.
         */
        playbackSessionID: String!;
        /**
         * An offset into the playlist where the last uninterrupted period of playback began, in seconds.
         */
        playbackStartOffset: TimeInterval;
        /**
         * The accumulated duration of the media downloaded, in seconds.
         */
        segmentsDownloadedDuration: TimeInterval;
        /**
         * The accumulated duration of the media played, in seconds.
         */
        durationWatched: TimeInterval;
        /**
         * The total number of playback stalls encountered.
         */
        numberOfStalls: number;
        /**
         * The accumulated number of bytes transferred.
         */
        numberOfBytesTransferred: Int64;
        /**
         * The empirical throughput across all media downloaded for the movie player, in bits per second.
         */
        observedBitrate: number;
        /**
         * The throughput required to play the stream, as advertised by the web server, in bits per second.
         */
        indicatedBitrate: number;
        /**
         * The total number of dropped video frames.
         */
        numberOfDroppedVideoFrames: number;
    }
    export class MPMediaLibrary extends NSObject {
        /**
         * The calendar date on which the media library was last modified.
         */
        lastModifiedDate: Date;
        /**
         * Displays a user interface so that the user can authorize whether your app may view the media library's contents. 
         */
        static requestAuthorization(completionHandler: ()=>any):void;
        /**
         * Returns whether the app can access the user's media library.
         */
        static authorizationStatus():MPMediaLibraryAuthorizationStatus;
        /**
         * Returns an instance of the default media library.
         */
        static default():MPMediaLibrary;
        /**
         * Asks the media library to turn on notifications for whenever the library changes.
         */
        beginGeneratingLibraryChangeNotifications():void;
        /**
         * Asks the media library to turn off notifications for whenever the library changes.
         */
        endGeneratingLibraryChangeNotifications():void;
        /**
         * Retrieves an app maintained existing playlist or creates a new playlist when no playlist exists.
         */
        getPlaylist(uuid: UUID, creationMetadata: MPMediaPlaylistCreationMetadata | null, completionHandler: ()=>any):void;
        /**
         * Adds the designated item to the user's music library.
         */
        addItem(productID: string, completionHandler: ()=>any | null):void;
    }
    export class MPMovieErrorLog extends NSObject {
        /**
         * A textual version of the web server error log.
         */
        extendedLogData: Data!;
        /**
         * The string encoding for the 
         *  property.
         */
        extendedLogDataStringEncoding: number;
        /**
         * The events in the movie error log.
         */
        events: [Any]!;
    }
    export class MPMovieErrorLogEvent extends NSObject {
        /**
         * The date and time when the error occurred.
         */
        date: Date!;
        /**
         * The URI of the item being played when the error occurred.
         */
        uri: String!;
        /**
         * The IP address of the web server that was the source of the error.
         */
        serverAddress: String!;
        /**
         * A GUID (globally unique identifier) for the playback session.
         */
        playbackSessionID: String!;
        /**
         * A unique error code identifier.
         */
        errorStatusCode: number;
        /**
         * The network domain of the error.
         */
        errorDomain: String!;
        /**
         * A description of the error.
         */
        errorComment: String!;
    }
    export class MPMovieLoadState {
        static playable: MPMovieLoadState;
        static playthroughOK: MPMovieLoadState;
        static stalled: MPMovieLoadState;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class MPMovieMediaTypeMask {
        static video: MPMovieMediaTypeMask;
        static audio: MPMovieMediaTypeMask;
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: number);
    }
    export enum MPMediaLibraryAuthorizationStatus {
        notDetermined = 0,
        denied = 1,
        restricted = 2,
        authorized = 3,
    }
    export class MPMoviePlayerController extends NSObject {
        /**
         * The URL that points to the movie file.
         */
        contentURL: URL!;
        /**
         * The playback type of the movie.
         */
        movieSourceType: MPMovieSourceType;
        /**
         * The types of media available in the movie.
         */
        movieMediaTypes: MPMovieMediaTypeMask;
        /**
         * Specifies whether the movie player allows AirPlay movie playback.
         */
        allowsAirPlay: boolean;
        /**
         * Indicates whether the movie player is currently playing video via AirPlay.
         */
        isAirPlayVideoActive: boolean;
        /**
         * The width and height of the movie frame. 
         */
        naturalSize: CGSize;
        /**
         * A Boolean that indicates whether the movie player is in full-screen mode.
         */
        isFullscreen: boolean;
        /**
         * The scaling mode to use when displaying the movie.
         */
        scalingMode: MPMovieScalingMode;
        /**
         * The style of the playback controls.
         */
        controlStyle: MPMovieControlStyle;
        /**
         * A Boolean value that indicates whether the movie player should use the app’s audio session.
         */
        useApplicationAudioSession: boolean;
        /**
         * The duration of the movie, measured in seconds.
         */
        duration: TimeInterval;
        /**
         * The amount of currently playable content.
         */
        playableDuration: TimeInterval;
        /**
         * The view containing the movie content and controls.
         */
        view: UIView!;
        /**
         * A customizable view that is displayed behind the movie content.
         */
        backgroundView: UIView!;
        /**
         * The network load state of the movie player.
         */
        loadState: MPMovieLoadState;
        /**
         * The current playback state of the movie player.
         */
        playbackState: MPMoviePlaybackState;
        /**
         * The time, specified in seconds within the video timeline, when playback should start.
         */
        initialPlaybackTime: TimeInterval;
        /**
         * The end time (measured in seconds) for playback of the movie.
         */
        endPlaybackTime: TimeInterval;
        /**
         * A Boolean that indicates whether a movie should begin playback automatically.
         */
        shouldAutoplay: boolean;
        /**
         * A Boolean that indicates whether the first video frame of the movie is ready to be displayed.
         */
        readyForDisplay: boolean;
        /**
         * Determines how the movie player repeats the playback of the movie.
         */
        repeatMode: MPMovieRepeatMode;
        /**
         * Obtains the most recent time-based metadata provided by the streamed movie.
         */
        timedMetadata: [Any]!;
        /**
         * A snapshot of the network playback log for the movie player if it is playing a network stream.
         */
        accessLog: MPMovieAccessLog!;
        /**
         * A snapshot of the playback failure error log for the movie player if it is playing a network stream.
         */
        errorLog: MPMovieErrorLog!;
        /**
         * Returns a 
         *  object initialized with the movie at the specified URL.
         */
        constructor (url: URL!);
        /**
         * Causes the movie player to enter or exit full-screen mode.
         */
        setFullscreen(fullscreen: boolean, animated: boolean):void;
        /**
         * Captures and returns a thumbnail image from the current movie. 
         */
        thumbnailImage(playbackTime: TimeInterval, option: MPMovieTimeOption):UIImage!;
        /**
         * Captures one or more thumbnail images asynchronously from the current movie.
         */
        requestThumbnailImages(playbackTimes: [Any]!, option: MPMovieTimeOption):void;
        /**
         * Cancels all pending asynchronous thumbnail image requests. 
         */
        cancelAllThumbnailImageRequests():void;
    }
    export enum MPMovieControlStyle {
        none = 0,
        embedded = 1,
        fullscreen = 2,
    }
    export enum MPMovieFinishReason {
        playbackEnded = 0,
        playbackError = 1,
        userExited = 2,
    }
    export enum MPMoviePlaybackState {
        stopped = 0,
        playing = 1,
        paused = 2,
        interrupted = 3,
        seekingForward = 4,
        seekingBackward = 5,
    }
    export enum MPMovieRepeatMode {
        none = 0,
        one = 1,
    }
    export enum MPMovieScalingMode {
        none = 0,
        aspectFit = 1,
        aspectFill = 2,
        fill = 3,
    }
    export enum MPMovieTimeOption {
        nearestKeyFrame = 0,
        exact = 1,
    }
    export enum MPMovieSourceType {
        unknown = 0,
        file = 1,
        streaming = 2,
    }
    export class MPMoviePlayerViewController extends UIViewController {
        /**
         * The movie player controller object used to present the movie.
         */
        moviePlayer: MPMoviePlayerController!;
        /**
         * Returns a movie player view controller initialized with the specified movie.
         */
        constructor (contentURL: URL!);
    }
    export class MPTimedMetadata extends NSObject {
        /**
         * A dictionary containing all the metadata in the object.
         */
        allMetadata: Record<AnyHashable, any>;
        /**
         * A key that identifies a piece of timed metadata.
         */
        key: String!;
        /**
         * The namespace of the identifying key.
         */
        keyspace: String!;
        /**
         * The timestamp of the metadata, in the timebase of the media stream.
         */
        timestamp: TimeInterval;
        /**
         * The timed metadata.
         */
        value: Any!;
    }
    export class MPAdTimeRange extends NSObject {
        timeRange: CMTimeRange;
        constructor (timeRange: CMTimeRange);
    }
    export enum MPMediaGrouping {
        title = 0,
        album = 1,
        artist = 2,
        albumArtist = 3,
        composer = 4,
        genre = 5,
        playlist = 6,
        podcastTitle = 7,
    }
}

/**
 * Enable users to configure HomePod speakers to stream music directly from your media service.
 */
declare module MediaSetup {
    export class MSSetupSession extends NSObject {
        /**
         * The streaming media service account for the session to configure.
         */
        account: MSServiceAccount;
        /**
         * A delegate that provides media setup display information to the system.
         */
        presentationContext: MSAuthenticationPresentationContext | null;
        /**
         * Creates a new session.
         */
        constructor (serviceAccount: MSServiceAccount);
        /**
         * Initiates the service configuration process and sends the account details of the streaming media service to the user’s HomePod speakers.
         */
        start():void;
    }
    export class MSServiceAccount extends NSObject {
        /**
         * The localized name of the streaming media service. 
         */
        serviceName: string;
        /**
         * The user’s display name, email address, or other identifier in a streaming media service. 
         */
        accountName: string;
        /**
         * A URL the system can access to request an OAuth token for the user’s HomePod speakers.
         */
        authorizationTokenURL: URL | null;
        /**
         * A list of permissions for the token request.
         */
        authorizationScope: string;
        /**
         * A user identifier for the token request.
         */
        clientID: string;
        /**
         * A string that authenticates the user’s setup request.
         */
        clientSecret: string;
        /**
         * The path to access the configuration endpoint of your streaming media service for HomePod. 
         */
        configurationURL: URL | null;
        /**
         * Creates a new account.
         */
        constructor (serviceName: string, accountName: string);
    }
    export interface MSAuthenticationPresentationContext extends NSObjectProtocol {
        /**
         * A window that presents the system’s HomePod configuration view to the user.
         */
        presentationAnchor():MSPresentationAnchor | null;
    }
}

/**
 * Create app extensions that allow users to send text, stickers, media files, and interactive messages.
 */
declare module Messages {
    export class MSStickerBrowserViewController extends UIViewController {
        /**
         * The sticker browser view managed by this controller.
         */
        stickerBrowserView: MSStickerBrowserView;
        /**
         * A constant that indicates the size of the stickers.
         */
        stickerSize: MSStickerSize;
        /**
         * Creates a new sticker browser view controller with stickers of the provided size.
         */
        constructor (stickerSize: MSStickerSize);
    }
    export interface MSStickerBrowserViewDataSource extends NSObjectProtocol {
        /**
         * Asks the data source for the number of stickers that the browser will display.
         */
        numberOfStickers(stickerBrowserView: MSStickerBrowserView):number;
        /**
         * Asks the data source for the sticker object that the browser will display at the provided index. 
         */
        stickerBrowserView(stickerBrowserView: MSStickerBrowserView, index: number):MSSticker;
    }
    export class MSMessageTemplateLayout extends MSMessageLayout {
        /**
         * A right-aligned subcaption for the message bubble.
         */
        trailingSubcaption: string;
    }
    export class MSMessageLiveLayout extends MSMessageLayout {
        /**
         * A template layout to be displayed when the live layout is unavailable.
         */
        alternateLayout: MSMessageTemplateLayout;
        /**
         * Initializes a new live layout using the provided alternate layout.
         */
        constructor (alternateLayout: MSMessageTemplateLayout);
    }
    export enum MSMessageErrorCode {
        fileNotFound = 1,
        fileUnreadable = 2,
        improperFileType = 3,
        improperFileURL = 4,
        stickerFileImproperFileAttributes = 5,
        stickerFileImproperFileSize = 6,
        stickerFileImproperFileFormat = 7,
        urlExceedsMaxSize = 8,
        sendWhileNotVisible = 10,
        sendWithoutRecentInteraction = 9,
        apiUnavailableInPresentationContext = 11,
        unknown = -1,
    }
    export class MSStickerBrowserView extends UIView {
        /**
         * The distance that the content is inset from the edge of the browser view.
         */
        contentInset: UIEdgeInsets;
        /**
         * The distance that the content is offset from the browser’s origin.
         */
        contentOffset: CGPoint;
        /**
         * The size of the stickers in the browser.
         */
        stickerSize: MSStickerSize;
        /**
         * Asks the sticker browser to reload its data from the data source.
         */
        reloadData():void;
        /**
         * Sets the offset distance between the content and the browser’s origin.
         */
        setContentOffset(contentOffset: CGPoint, animated: boolean):void;
    }
    export enum MSStickerSize {
        small = 0,
        regular = 1,
        large = 2,
    }
    export class MSStickerView extends UIView {
        /**
         * The displayed sticker object.
         */
        sticker: MSSticker | null;
        /**
         * The amount of time it takes to complete the sticker’s animation.
         */
        animationDuration: TimeInterval;
        /**
         * Initializes a new sticker view with the provided sticker and frame.
         */
        constructor (frame: CGRect, sticker: MSSticker | null);
        /**
         * Returns a Boolean value that indicates whether the sticker is animating.
         */
        isAnimating():boolean;
        /**
         * Starts the sticker’s animation, beginning with the first frame.
         */
        startAnimating():void;
        /**
         * Stops the sticker’s animation.
         */
        stopAnimating():void;
    }
    export class MSMessagesAppViewController extends UIViewController {
        /**
         * The conversation currently displayed in the transcript.
         */
        activeConversation: MSConversation | null;
        /**
         * The extension’s current presentation style.
         */
        presentationStyle: MSMessagesAppPresentationStyle;
        /**
         * The context describing where your iMessage app is presented.
         */
        presentationContext: MSMessagesAppPresentationContext;
        /**
         * Dismisses the extension and marks it for termination.
         */
        dismiss():void;
        /**
         * Invoked just before the Messages extension becomes active.
         */
        willBecomeActive(conversation: MSConversation):void;
        /**
         * Invoked after the Messages extension becomes active.
         */
        didBecomeActive(conversation: MSConversation):void;
        /**
         * Invoked just before the message resigns its active status.
         */
        willResignActive(conversation: MSConversation):void;
        /**
         * Invoked after the message resigns its active status.
         */
        didResignActive(conversation: MSConversation):void;
        /**
         * Invoked in response to the user selecting a message object in the transcript, before the system updates the conversation’s 
         *  property.
         */
        willSelect(message: MSMessage, conversation: MSConversation):void;
        /**
         * Invoked in response to the user selecting a message object in the transcript, after the system updates the conversation’s 
         *  property.
         */
        didSelect(message: MSMessage, conversation: MSConversation):void;
        /**
         * Invoked when the iMessage app receives a new message object.
         */
        didReceive(message: MSMessage, conversation: MSConversation):void;
        /**
         * Invoked when the user sends a message object.
         */
        didStartSending(message: MSMessage, conversation: MSConversation):void;
        /**
         * Invoked when the user deletes a message object from the Messages app’s input field.
         */
        didCancelSending(message: MSMessage, conversation: MSConversation):void;
        /**
         * Asks the extension’s user interface to transition to the provided style.
         */
        requestPresentationStyle(presentationStyle: MSMessagesAppPresentationStyle):void;
        /**
         * Tells the view controller that the extension is about to transition to a new presentation style.
         */
        willTransition(presentationStyle: MSMessagesAppPresentationStyle):void;
        /**
         * Tells the view controller that the extension has transitioned to a new presentation style.
         */
        didTransition(presentationStyle: MSMessagesAppPresentationStyle):void;
    }
    export enum MSMessagesAppPresentationStyle {
        compact = 0,
        expanded = 1,
        transcript = 2,
    }
    export enum MSMessagesAppPresentationContext {
        media = 1,
        messages = 0,
    }
    export interface MSMessagesAppTranscriptPresentation {
        /**
         * The size of your messages view, given the provided maximum size.
         */
        contentSizeThatFits(size: CGSize):CGSize;
    }
    export class MSConversation extends NSObject {
        /**
         * The message that the user selected in the conversation transcript.
         */
        selectedMessage: MSMessage | null;
        /**
         * A UUID that identifies the user on this device.
         */
        localParticipantIdentifier: UUID;
        /**
         * An array of UUIDs representing the remote participants in this conversation.
         */
        remoteParticipantIdentifiers: UUID[];
        /**
         * Inserts an attachment into the current context.
         */
        insertAttachment(URL: URL, filename: string, completionHandler: ()=>any | null):void;
        /**
         * Inserts a message object into the Messages app’s input field.
         */
        insert(message: MSMessage, completionHandler: ()=>any | null):void;
        /**
         * Inserts text into the Messages app’s input field. 
         */
        insertText(text: string, completionHandler: ()=>any | null):void;
        /**
         * Sends the media file specified by the given URL.
         */
        sendAttachment(URL: URL, filename: string, completionHandler: ()=>any | null):void;
        /**
         * Sends a message object.
         */
        send(message: MSMessage, completionHandler: ()=>any | null):void;
        /**
         * Sends a text message.
         */
        sendText(text: string, completionHandler: ()=>any | null):void;
    }
    export class MSSticker extends NSObject {
        /**
         * The file URL of the image displayed by the sticker.
         */
        imageFileURL: URL;
        /**
         * The sticker’s localized description.
         */
        localizedDescription: string;
        /**
         * Initializes a sticker with the contents of the URL and the localized description.
         */
        constructor (fileURL: URL, localizedDescription: string);
    }
    export class MSMessage extends NSObject {
        /**
         * A localized string that describes the message.
         */
        accessibilityLabel: string;
        /**
         * An error object describing why the system failed to send the message.
         */
        error: Error | null;
        /**
         * A Boolean value that indicates whether the message is pending or whether it has been sent or received.
         */
        isPending: boolean;
        /**
         * A layout object that defines the message’s appearance.
         */
        layout: MSMessageLayout | null;
        /**
         * A UUID identifying the participant that sent the message.
         */
        senderParticipantIdentifier: UUID;
        /**
         * The session that this message belongs to.
         */
        session: MSSession | null;
        /**
         * A Boolean value that determines whether the message should expire after being read.
         */
        shouldExpire: boolean;
        /**
         * A succinct description of the message.
         */
        summaryText: string;
        /**
         * A URL that encodes data to be transmitted with the message.
         */
        url: URL | null;
        /**
         * Initializes a new message that is not part of a session.
         */
        constructor ();
        /**
         * Initializes a new message that is part of the provided session.
         */
        constructor (session: MSSession);
    }
    export class MSSession extends NSObject {}
    export class MSMessageLayout extends NSObject {}
}

/**
 * Create a user interface for composing email and text messages, so users can edit and send messages without leaving your app.
 */
declare module MessageUI {
    export class MFMailComposeViewController extends UINavigationController {
        /**
         * The mail composition view controller’s delegate.
         */
        mailComposeDelegate: MFMailComposeViewControllerDelegate | null;
        /**
         * Returns a Boolean that indicates whether the current device is able to send email.
         */
        static canSendMail():boolean;
        /**
         * Sets the initial text for the subject line of the email.
         */
        setSubject(subject: string):void;
        /**
         * Sets the initial recipients to include in the email’s To field. 
         */
        setToRecipients(toRecipients: string[] | null):void;
        /**
         * Sets the initial recipients to include in the email’s Cc field.
         */
        setCcRecipients(ccRecipients: string[] | null):void;
        /**
         * Sets the initial recipients to include in the email’s Bcc field.
         */
        setBccRecipients(bccRecipients: string[] | null):void;
        /**
         * Sets the initial body text to include in the email.
         */
        setMessageBody(body: string, isHTML: boolean):void;
        /**
         * Adds the specified data as an attachment to the message.
         */
        addAttachmentData(attachment: Data, mimeType: string, filename: string):void;
        /**
         * Sets the preferred email address to use in the From field, if such an address is available.
         */
        setPreferredSendingEmailAddress(emailAddress: string):void;
    }
    export class MFMailComposeError {
        /**
         * The domain for errors related to mail composition.
         */
        static errorDomain: string;
        /**
         * An error occurred while trying to save the email message to the drafts folder.
         */
        static saveFailed: MFMailComposeError.Code;
        /**
         * An error occurred while trying to queue or send the email message.
         */
        static sendFailed: MFMailComposeError.Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MFMailComposeError
     */
    export namespace MFMailComposeError {
        export enum Code {
            saveFailed = 0,
            sendFailed = 1,
        }
    }
    export interface MFMailComposeViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user wants to dismiss the mail composition view.
         */
        mailComposeController(controller: MFMailComposeViewController, result: MFMailComposeResult, error: Error | null):void;
    }
    export class MFMessageComposeViewController extends UINavigationController {
        /**
         * The delegate to which message-related notifications should be sent.
         */
        messageComposeDelegate: MFMessageComposeViewControllerDelegate | null;
        /**
         * An array of strings that contains the initial recipients of the message.
         */
        recipients: string[] | null;
        /**
         * The initial subject of the message.
         */
        subject: string;
        /**
         * The initial content of the message. 
         */
        body: string;
        /**
         * A message object from your iMessage app extension.
         */
        message: MSMessage | null;
        /**
         * Returns an array of dictionaries that describe the properties of an attachment.
         */
        attachments: Record<[AnyHashable, Any]> | null;
        /**
         * Returns a Boolean value that indicates whether the current device is capable of sending text messages.
         */
        static canSendText():boolean;
        /**
         * Indicates whether or not messages can include attachments.
         */
        static canSendAttachments():boolean;
        /**
         * Indicates whether or not messages can include subject lines, according to the user’s configuration in Settings.
         */
        static canSendSubject():boolean;
        /**
         * Indicates whether or not the message can accept a file, with the specified UTI, as an attachment.
         */
        static isSupportedAttachmentUTI(uti: string):boolean;
        /**
         * Disables the camera/attachment button in the message composition view.
         */
        disableUserAttachments():void;
        /**
         * Attaches a specified file to the message.
         */
        addAttachmentURL(attachmentURL: URL, alternateFilename: string):boolean;
        /**
         * Attaches arbitrary content to the message.
         */
        addAttachmentData(attachmentData: Data, uti: string, filename: string):boolean;
        insertCollaborationItemProvider(itemProvider: NSItemProvider):boolean;
    }
    export interface MFMessageComposeViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user finished composing the message. 
         */
        messageComposeViewController(controller: MFMessageComposeViewController, result: MessageComposeResult):void;
    }
    export enum MessageComposeResult {
        cancelled = 0,
        sent = 1,
        failed = 2,
    }
    export enum MFMailComposeResult {
        cancelled = 0,
        saved = 1,
        sent = 2,
        failed = 3,
    }
}

/**
 * Render advanced 3D graphics and compute data in parallel with graphics processors.
 */
declare module Metal {
    export enum MTLGPUFamily {
        apple7 = 1007,
        apple6 = 1006,
        apple5 = 1005,
        apple4 = 1004,
        apple3 = 1003,
        apple2 = 1002,
        apple1 = 1001,
        common3 = 3003,
        common2 = 3002,
        common1 = 3001,
        mac2 = 2002,
        mac1 = 2001,
        macCatalyst2 = 4002,
        macCatalyst1 = 4001,
    }
    export interface MTLDevice extends NSObjectProtocol {
        /**
         * A specific GPU position based on its general location.
         */
        locationNumber: number;
        /**
         * A Boolean value that indicates whether the GPU lowers its performance to conserve energy.
         */
        isLowPower: boolean;
        /**
         * A Boolean value that indicates whether the GPU is removable.
         */
        isRemovable: boolean;
        /**
         * A Boolean value that indicates whether a GPU device doesn’t have a connection to a display.
         */
        isHeadless: boolean;
        /**
         * The peer group ID the GPU belongs to, if applicable.
         */
        peerGroupID: UInt64;
        /**
         * The total number of GPUs in the peer group, if applicable.
         */
        peerCount: UInt32;
        /**
         * The unique identifier for a GPU in a peer group.
         */
        peerIndex: UInt32;
        /**
         * Creates a queue you use to submit rendering and computation commands to a GPU.
         */
        makeCommandQueue():MTLCommandQueue | null;
        /**
         * Creates an input/output command queue you use to submit commands that load assets from the file system into GPU resources or system memory.
         */
        makeIOCommandQueue(descriptor: MTLIOCommandQueueDescriptor):MTLIOCommandQueue;
        /**
         * Creates an input/output file handle instance that represents a file at a URL.
         */
        makeIOHandle(url: URL):MTLIOFileHandle;
        /**
         * Creates an indirect command buffer instance.
         */
        makeIndirectCommandBuffer(descriptor: MTLIndirectCommandBufferDescriptor, maxCount: number, options: MTLResourceOptions):MTLIndirectCommandBuffer | null;
        /**
         * Synchronously creates a compute pipeline state and reflection information.
         */
        makeComputePipelineState(descriptor: MTLComputePipelineDescriptor, options: MTLPipelineOption, reflection: AutoreleasingUnsafeMutablePointer<MTLAutoreleasedComputePipelineReflection?> | null):MTLComputePipelineState;
        /**
         * Synchronously creates a render pipeline state.
         */
        makeRenderPipelineState(descriptor: MTLRenderPipelineDescriptor):MTLRenderPipelineState;
        /**
         * Creates a depth-stencil state instance.
         */
        makeDepthStencilState(descriptor: MTLDepthStencilDescriptor):MTLDepthStencilState | null;
        /**
         * Returns a Boolean value that indicates whether the GPU can create a rasterization rate map with a specific number of layers.
         */
        supportsRasterizationRateMap(layerCount: number):boolean;
        /**
         * Creates a rasterization rate map instance.
         */
        makeRasterizationRateMap(descriptor: MTLRasterizationRateMapDescriptor):MTLRasterizationRateMap | null;
        /**
         * Creates a new GPU heap instance.
         */
        makeHeap(descriptor: MTLHeapDescriptor):MTLHeap | null;
        /**
         * Returns the size and alignment, in bytes, of a buffer if you create it from a heap.
         */
        heapBufferSizeAndAlign(length: number, options: MTLResourceOptions):MTLSizeAndAlign;
        /**
         * Returns the size and alignment, in bytes, of a texture if you create it from a heap.
         */
        heapTextureSizeAndAlign(desc: MTLTextureDescriptor):MTLSizeAndAlign;
        /**
         * Returns the size and alignment, in bytes, of an acceleration structure if you create it from a heap.
         */
        heapAccelerationStructureSizeAndAlign(size: number):MTLSizeAndAlign;
        /**
         * The largest amount of memory, in bytes, that a GPU device can allocate to a buffer instance.
         */
        maxBufferLength: number;
        /**
         * Creates a buffer the method clears with zero values.
         */
        makeBuffer(length: number, options: MTLResourceOptions):MTLBuffer | null;
        /**
         * Creates a new texture instance.
         */
        makeTexture(descriptor: MTLTextureDescriptor):MTLTexture | null;
        /**
         * Creates a texture that you can share across process boundaries.
         */
        makeSharedTexture(descriptor: MTLTextureDescriptor):MTLTexture | null;
        /**
         * Returns the minimum alignment the GPU device requires to create a linear texture from a buffer.
         */
        minimumLinearTextureAlignment(format: MTLPixelFormat):number;
        /**
         * Returns the minimum alignment the GPU device requires to create a texture buffer from a buffer.
         */
        minimumTextureBufferAlignment(format: MTLPixelFormat):number;
        /**
         * Returns a Boolean value that indicates whether the GPU can sample a texture with a specific number of sample points.
         */
        supportsTextureSampleCount(sampleCount: number):boolean;
        /**
         * Creates a sampler state instance.
         */
        makeSamplerState(descriptor: MTLSamplerDescriptor):MTLSamplerState | null;
        /**
         * Returns the default sample locations based on the number of samples.
         */
        getDefaultSamplePositions(sampleCount: number):MTLSamplePosition[];
        /**
         * Returns the dimensions of a sparse tile for a texture that has a specific sparse page size.
         */
        sparseTileSize(textureType: MTLTextureType, pixelFormat: MTLPixelFormat, sampleCount: number, sparsePageSize: MTLSparsePageSize):MTLSize;
        /**
         * Returns the size, in bytes, of a sparse tile the GPU device creates with a specific page size.
         */
        sparseTileSizeInBytes(sparsePageSize: MTLSparsePageSize):number;
        /**
         * Converts a list of sparse pixel regions to tile regions.
         */
        convertSparsePixelRegions(pixelRegions: UnsafePointer<MTLRegion>, tileRegions: UnsafeMutablePointer<MTLRegion>, tileSize: MTLSize, mode: MTLSparseTextureRegionAlignmentMode, numRegions: number):void;
        /**
         * Converts a list of sparse tile regions to pixel regions.
         */
        convertSparseTileRegions(tileRegions: UnsafePointer<MTLRegion>, pixelRegions: UnsafeMutablePointer<MTLRegion>, tileSize: MTLSize, numRegions: number):void;
        /**
         * Creates a new ray-tracing acceleration structure from a descriptor.
         */
        makeAccelerationStructure(descriptor: MTLAccelerationStructureDescriptor):MTLAccelerationStructure | null;
        /**
         * Returns the buffer sizes the GPU device needs to build, refit, and store an acceleration structure.
         */
        accelerationStructureSizes(descriptor: MTLAccelerationStructureDescriptor):MTLAccelerationStructureSizes;
        /**
         * Returns the GPU device’s support tier for argument buffers.
         */
        argumentBuffersSupport: MTLArgumentBuffersTier;
        /**
         * The maximum number of unique argument buffer samplers per app.
         */
        maxArgumentBufferSamplerCount: number;
        /**
         * Creates a new argument encoder for an array of arguments.
         */
        makeArgumentEncoder(arguments: MTLArgumentDescriptor[]):MTLArgumentEncoder | null;
        /**
         * Creates a new memory fence instance.
         */
        makeFence():MTLFence | null;
        /**
         * Creates a new event instance that you can use to synchronize commands and resources within the same GPU device.
         */
        makeEvent():MTLEvent | null;
        /**
         * Creates a new shared event instance that you can use to synchronize commands and resources across different GPU devices.
         */
        makeSharedEvent():MTLSharedEvent | null;
        /**
         * Creates a Metal library instance that contains the functions from your app’s default Metal library.
         */
        makeDefaultLibrary():MTLLibrary | null;
        /**
         * Creates a Metal library instance that contains the functions in the Metal library file at a URL.
         */
        makeLibrary(url: URL):MTLLibrary;
        /**
         * A Boolean value that indicates whether the GPU device can create and use dynamic libraries in compute pipelines.
         */
        supportsDynamicLibraries: boolean;
        /**
         * A Boolean value that indicates whether the GPU device can create and use dynamic libraries in render pipelines.
         */
        supportsRenderDynamicLibraries: boolean;
        /**
         * Creates a Metal dynamic library instance from a Metal library instance.
         */
        makeDynamicLibrary(library: MTLLibrary):MTLDynamicLibrary;
        /**
         * Creates a Metal binary archive instance.
         */
        makeBinaryArchive(descriptor: MTLBinaryArchiveDescriptor):MTLBinaryArchive;
        /**
         * Returns a Boolean value that indicates whether the GPU device supports a specific feature set.
         */
        supportsFeatureSet(featureSet: MTLFeatureSet):boolean;
    }
    export enum MTLVertexFormat {
        uchar2Normalized = 7,
        uchar3Normalized = 8,
        uchar4Normalized = 9,
        charNormalized = 48,
        char2Normalized = 10,
        char3Normalized = 11,
        char4Normalized = 12,
        ushort = 49,
        ushort2 = 13,
        ushort3 = 14,
        ushort4 = 15,
        short = 50,
        short2 = 16,
        short3 = 17,
        short4 = 18,
        ushortNormalized = 51,
        ushort2Normalized = 19,
        ushort3Normalized = 20,
        ushort4Normalized = 21,
        shortNormalized = 52,
        short2Normalized = 22,
        short3Normalized = 23,
        short4Normalized = 24,
        half = 53,
        half2 = 25,
        half3 = 26,
        half4 = 27,
        float = 28,
        float2 = 29,
        float3 = 30,
        float4 = 31,
        uint = 36,
        uint2 = 37,
        uint3 = 38,
        uint4 = 39,
        int = 32,
        int2 = 33,
        int3 = 34,
        int4 = 35,
        int1010102Normalized = 40,
        uint1010102Normalized = 41,
        uchar4Normalized_bgra = 42,
    }
    export class MTLVertexAttributeDescriptorArray extends NSObject {}
    export class MTLVertexBufferLayoutDescriptor extends NSObject {
        /**
         * The circumstances under which the vertex and its attributes are presented to the vertex function.
         */
        stepFunction: MTLVertexStepFunction;
        /**
         * The interval at which the vertex and its attributes are presented to the vertex function.
         */
        stepRate: number;
        /**
         * The distance, in bytes, between the attribute data of two vertices in the buffer.
         */
        stride: number;
    }
    export enum MTLVertexStepFunction {
        constant = 0,
        perVertex = 1,
        perInstance = 2,
        perPatch = 3,
        perPatchControlPoint = 4,
    }
    export class MTLVertexBufferLayoutDescriptorArray extends NSObject {}
    export interface MTLDrawable extends NSObjectProtocol {
        /**
         * A positive integer that identifies the drawable.
         */
        drawableID: number;
        /**
         * Presents the drawable onscreen as soon as possible.
         */
        present():void;
        /**
         * Registers a block of code to be called immediately after the drawable is presented.
         */
        addPresentedHandler(block: MTLDrawablePresentedHandler):void;
        /**
         * The host time, in seconds, when the drawable was displayed onscreen.
         */
        presentedTime: CFTimeInterval;
    }
    export class MTLRenderPassAttachmentDescriptor extends NSObject {
        /**
         * The texture object associated with this attachment.
         */
        texture: MTLTexture | null;
        /**
         * The mipmap level of the texture used for rendering to the attachment.
         */
        level: number;
        /**
         * The slice of the texture used for rendering to the attachment.
         */
        slice: number;
        /**
         * The depth plane of the texture used for rendering to the attachment.
         */
        depthPlane: number;
        /**
         * The action performed by this attachment at the start of a rendering pass for a render command encoder.
         */
        loadAction: MTLLoadAction;
        /**
         * The action performed by this attachment at the end of a rendering pass for a render command encoder.
         */
        storeAction: MTLStoreAction;
        /**
         * The options that modify the store action performed by this attachment.
         */
        storeActionOptions: MTLStoreActionOptions;
        /**
         * The destination texture used when resolving multisampled texture data into single sample values.
         */
        resolveTexture: MTLTexture | null;
        /**
         * The mipmap level of the texture used for the multisample resolve action.
         */
        resolveLevel: number;
        /**
         * The slice of the texture used for the multisample resolve action.
         */
        resolveSlice: number;
        /**
         * The depth plane of the texture used for the multisample resolve action.
         */
        resolveDepthPlane: number;
    }
    export enum MTLLoadAction {
        dontCare = 0,
        load = 1,
        clear = 2,
    }
    export enum MTLStoreAction {
        dontCare = 0,
        store = 1,
        multisampleResolve = 2,
        storeAndMultisampleResolve = 3,
        unknown = 4,
        customSampleDepthStore = 5,
    }
    export class MTLStoreActionOptions {
        /**
         * An option that stores data in a sample-position–agnostic representation.
         */
        static customSamplePositions: MTLStoreActionOptions;
        /**
         * Creates a store action option from a raw integer value.
         */
        constructor (rawValue: number);
    }
    export class MTLRenderPassColorAttachmentDescriptor extends MTLRenderPassAttachmentDescriptor {
        /**
         * The color to use when clearing the color attachment.
         */
        clearColor: MTLClearColor;
    }
    export class MTLClearColor {
        /**
         * The alpha channel.
         */
        alpha: number;
        /**
         * The blue color channel.
         */
        blue: number;
        /**
         * The green color channel.
         */
        green: number;
        /**
         * The red color channel.
         */
        red: number;
        /**
         * Returns a new color structure.
         */
        constructor ();
        /**
         * Returns a new color structure with the specified red, green, blue, and alpha values.
         */
        constructor (red: number, green: number, blue: number, alpha: number);
    }
    export class MTLRenderPassColorAttachmentDescriptorArray extends NSObject {}
    export class MTLRenderPassDepthAttachmentDescriptor extends MTLRenderPassAttachmentDescriptor {
        /**
         * The depth to use when clearing the depth attachment.
         */
        clearDepth: number;
        /**
         * The filter used for an MSAA depth resolve operation.
         */
        depthResolveFilter: MTLMultisampleDepthResolveFilter;
    }
    export enum MTLMultisampleDepthResolveFilter {
        sample0 = 0,
        min = 1,
        max = 2,
    }
    export class MTLRenderPassStencilAttachmentDescriptor extends MTLRenderPassAttachmentDescriptor {
        /**
         * The filter used for stencil multisample resolve. 
         */
        stencilResolveFilter: MTLMultisampleStencilResolveFilter;
        /**
         * The value to use when clearing the stencil attachment.
         */
        clearStencil: UInt32;
    }
    export enum MTLMultisampleStencilResolveFilter {
        depthResolvedSample = 1,
        sample0 = 0,
    }
    export interface MTLDepthStencilState extends NSObjectProtocol {
        /**
         * The device from which this state object was created.  
         */
        device: MTLDevice;
        /**
         * A string that identifies this object.
         */
        label: string;
    }
    export class MTLDepthStencilDescriptor extends NSObject {
        /**
         * The comparison that is performed between a fragment’s depth value and the depth value in the attachment, which determines whether to discard the fragment.
         */
        depthCompareFunction: MTLCompareFunction;
        /**
         * A Boolean value that indicates whether depth values can be written to the depth attachment.
         */
        isDepthWriteEnabled: boolean;
        /**
         * The stencil descriptor for back-facing primitives.
         */
        backFaceStencil: MTLStencilDescriptor!;
        /**
         * The stencil descriptor for front-facing primitives.
         */
        frontFaceStencil: MTLStencilDescriptor!;
        /**
         * A string that identifies this object.
         */
        label: string;
    }
    export class MTLStencilDescriptor extends NSObject {
        /**
         * The operation that is performed to update the values in the stencil attachment when the stencil test fails.
         */
        stencilFailureOperation: MTLStencilOperation;
        /**
         * The operation that is performed to update the values in the stencil attachment when the stencil test passes, but the depth test fails.
         */
        depthFailureOperation: MTLStencilOperation;
        /**
         * The operation that is performed to update the values in the stencil attachment when both the stencil test and the depth test pass.
         */
        depthStencilPassOperation: MTLStencilOperation;
        /**
         * The comparison that is performed between the masked reference value and a masked value in the stencil attachment.
         */
        stencilCompareFunction: MTLCompareFunction;
        /**
         * A bitmask that determines from which bits that stencil comparison tests can read.
         */
        readMask: UInt32;
        /**
         * A bitmask that determines to which bits that stencil operations can write.
         */
        writeMask: UInt32;
    }
    export enum MTLStencilOperation {
        keep = 0,
        zero = 1,
        replace = 2,
        incrementClamp = 3,
        decrementClamp = 4,
        invert = 5,
        incrementWrap = 6,
        decrementWrap = 7,
    }
    export class MTLRasterizationRateMapDescriptor extends NSObject {
        /**
         * A string used to identify the rate map you create with the descriptor.
         */
        label: string;
        /**
         * The size of the viewport coordinate system, in logical pixels.
         */
        screenSize: MTLSize;
        /**
         * The number of layers in the rate map.
         */
        layerCount: number;
        /**
         * The rasterization rates for one or more layers in the rate map.
         */
        layers: MTLRasterizationRateLayerArray;
        /**
         * A convenience initializer that creates a rate map descriptor with a given size and identifier.
         */
        constructor (screenSize: MTLSize, label: string);
        /**
         * A convenience initializer that creates a rate map descriptor with a single rate layer.
         */
        constructor (screenSize: MTLSize, layer: MTLRasterizationRateLayerDescriptor, label: string);
        /**
         * A convenience initializer that creates a rate map descriptor with a set of layer descriptors.
         */
        constructor (screenSize: MTLSize, layers: MTLRasterizationRateLayerDescriptor[], label: string);
        /**
         * Returns the layer description for a layer in the rate map.
         */
        layer(layerIndex: number):MTLRasterizationRateLayerDescriptor | null;
        /**
         * Sets a configuration for a layer rate map.
         */
        setLayer(layer: MTLRasterizationRateLayerDescriptor | null, layerIndex: number):void;
    }
    export class MTLRasterizationRateLayerArray extends NSObject {}
    export class MTLRasterizationRateLayerDescriptor extends NSObject {
        /**
         * The number of rows and columns in the layer map.
         */
        sampleCount: MTLSize;
        /**
         * The maximum number of rows and columns in the layer map.
         */
        maxSampleCount: MTLSize;
        /**
         * The horizontal rasterization rates for the layer map’s rows.
         */
        horizontal: MTLRasterizationRateSampleArray;
        /**
         * The vertical rasterization rates for the layer map’s rows.
         */
        vertical: MTLRasterizationRateSampleArray;
        /**
         * Initializes the layer map with an empty grid.
         */
        constructor (sampleCount: MTLSize);
        /**
         * Initializes a layer rate map with a set of horizontal and vertical rasterization rates.
         */
        constructor (horizontal: Float[], vertical: Float[]);
    }
    export class MTLRasterizationRateSampleArray extends NSObject {}
    export interface MTLRasterizationRateMap extends NSObjectProtocol {
        /**
         * The device object that created the rate map.
         */
        device: MTLDevice;
        /**
         * A string that identifies the rate map.
         */
        label: string;
        /**
         * The number of layers in the rate map.
         */
        layerCount: number;
        /**
         * The logical size, in pixels, of the viewport coordinate system.
         */
        screenSize: MTLSize;
        /**
         * Returns the dimensions, in pixels, of the area in the render target affected by the rasterization rate map.
         */
        physicalSize(layerIndex: number):MTLSize;
        /**
         * The granularity, in physical pixels, at which the rasterization rate varies.
         */
        physicalGranularity: MTLSize;
        /**
         * Converts a point in logical viewport coordinates to the corresponding physical coordinates in a render layer.
         */
        physicalCoordinates(screenCoordinates: MTLCoordinate2D, layerIndex: number):MTLCoordinate2D;
        /**
         * Converts a point in physical coordinates inside a layer to its corresponding logical viewport coordinates.
         */
        screenCoordinates(physicalCoordinates: MTLCoordinate2D, layerIndex: number):MTLCoordinate2D;
        /**
         * The size and alignment requirements to contain the coordinate transformation information in this rate map.
         */
        parameterDataSizeAndAlign: MTLSizeAndAlign;
        /**
         * Copies the parameter data into the provided buffer.
         */
        copyParameterData(buffer: MTLBuffer, offset: number):void;
    }
    export interface MTLBlitCommandEncoder extends MTLCommandEncoder {
        /**
         * Encodes a command to copy data from a source buffer into a destination buffer.
         */
        copy(sourceBuffer: MTLBuffer, sourceOffset: number, destinationBuffer: MTLBuffer, destinationOffset: number, size: number):void;
        /**
         * Fills a buffer with a constant value in each byte.
         */
        fill(buffer: MTLBuffer, range: Range<Int>, value: UInt8):void;
        /**
         * Encodes a command to generate mipmaps for a texture from the base mipmap level up to the maximum level.
         */
        generateMipmaps(texture: MTLTexture):void;
        /**
         * Encodes a command to copy commands from an indirect command buffer into another indirect command buffer.
         */
        copyIndirectCommandBuffer(buffer: MTLIndirectCommandBuffer, sourceRange: Range<Int>, destination: MTLIndirectCommandBuffer, destinationIndex: number):void;
        /**
         * Encodes a command to optimize a range in the indirect command buffer to improve performance.
         */
        optimizeIndirectCommandBuffer(buffer: MTLIndirectCommandBuffer, range: Range<Int>):void;
        /**
         * Encodes a command to reset a range of commands in an indirect command buffer.
         */
        resetCommandsInBuffer(buffer: MTLIndirectCommandBuffer, range: Range<Int>):void;
        /**
         * Encodes a command to synchronize the contents of a managed resource from the GPU to the CPU.
         */
        synchronize(resource: MTLResource):void;
        /**
         * Updates the given fence to capture all GPU work enqueued by the command encoder up to this specific point.
         */
        updateFence(fence: MTLFence):void;
        /**
         * Prevents further GPU commands from being enqueued by the command encoder until the given fence is reached.
         */
        waitForFence(fence: MTLFence):void;
        /**
         * Encodes a command to optimize a texture for better performance when the GPU accesses it.
         */
        optimizeContentsForGPUAccess(texture: MTLTexture):void;
        /**
         * Encodes a command to optimize a texture for better performance when the CPU accesses it.
         */
        optimizeContentsForCPUAccess(texture: MTLTexture):void;
        /**
         * Encodes a command to sample hardware counters at this point in the blit pass and store the samples into a counter sample buffer.
         */
        sampleCounters(sampleBuffer: MTLCounterSampleBuffer, sampleIndex: number, barrier: boolean):void;
        /**
         * Retrieves information about texture access patterns from the GPU.
         */
        getTextureAccessCounters(texture: MTLTexture, region: MTLRegion, mipLevel: number, slice: number, resetCounters: boolean, countersBuffer: MTLBuffer, countersBufferOffset: number):void;
        /**
         * Resets the GPU's texture access data.
         */
        resetTextureAccessCounters(texture: MTLTexture, region: MTLRegion, mipLevel: number, slice: number):void;
        /**
         * Resolves the data stored in a set of samples and copies it into a buffer.
         */
        resolveCounters(sampleBuffer: MTLCounterSampleBuffer, range: Range<Int>, destinationBuffer: MTLBuffer, destinationOffset: number):void;
    }
    export class MTLBlitPassDescriptor extends NSObject {
        /**
         * The array of sample buffers that the blit pass can access.
         */
        sampleBufferAttachments: MTLBlitPassSampleBufferAttachmentDescriptorArray;
    }
    export class MTLBlitPassSampleBufferAttachmentDescriptor extends NSObject {
        /**
         * The sample buffer to write new GPU counter samples to.
         */
        sampleBuffer: MTLCounterSampleBuffer | null;
        /**
         * The index the Metal device object uses to store GPU counters when starting the blit pass.
         */
        startOfEncoderSampleIndex: number;
        /**
         * The index the Metal device object uses to store GPU counters when ending the blit pass.
         */
        endOfEncoderSampleIndex: number;
    }
    export class MTLBlitPassSampleBufferAttachmentDescriptorArray extends NSObject {}
    export class MTLBlitOption {
        /**
         * Copies the depth portion of a combined depth and stencil resource.
         */
        static depthFromDepthStencil: MTLBlitOption;
        /**
         * Copies the stencil portion of a combined depth and stencil resource.
         */
        static stencilFromDepthStencil: MTLBlitOption;
        /**
         * Copies PVRTC data to or from a buffer.
         */
        static rowLinearPVRTC: MTLBlitOption;
        /**
         * Returns a new blit option from a specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface MTLIndirectCommandBuffer extends MTLResource {
        /**
         * The number of commands contained in the indirect command buffer.
         */
        size: number;
        /**
         * Gets the render command at the given index.
         */
        indirectRenderCommandAt(commandIndex: number):MTLIndirectRenderCommand;
        /**
         * Gets the compute command at the given index.
         */
        indirectComputeCommandAt(commandIndex: number):MTLIndirectComputeCommand;
        /**
         * Gets the compute command at the given index.
         */
        indirectComputeCommand(Index: number):MTLIndirectComputeCommand;
        /**
         * Resets a range of commands to their default state.
         */
        reset(range: Range<Int>):void;
        gpuResourceID: MTLResourceID;
    }
    export class MTLIndirectCommandBufferDescriptor extends NSObject {
        /**
         * The set of command types that you can encode into the indirect command buffer.
         */
        commandTypes: MTLIndirectCommandType;
        /**
         * A Boolean value that determines where commands in the indirect command buffer get their buffer arguments from when you execute them.
         */
        inheritBuffers: boolean;
        /**
         * A Boolean value that determines where commands in the indirect command buffer get their pipeline state from when you execute them.
         */
        inheritPipelineState: boolean;
        /**
         * The maximum number of argument buffers that you can set per command for the vertex stage.
         */
        maxVertexBufferBindCount: number;
        /**
         * The maximum number of argument buffers that you can set per command for the fragment stage.
         */
        maxFragmentBufferBindCount: number;
        /**
         * The maximum number of argument buffers that you can set per command for the compute kernel.
         */
        maxKernelBufferBindCount: number;
        supportRayTracing: boolean;
    }
    export class MTLIndirectCommandType {
        /**
         * A draw call command.
         */
        static draw: MTLIndirectCommandType;
        /**
         * An indexed draw call command.
         */
        static drawIndexed: MTLIndirectCommandType;
        /**
         * A draw call command for tessellated patches.
         */
        static drawPatches: MTLIndirectCommandType;
        /**
         * An indexed draw call command for tessellated patches.
         */
        static drawIndexedPatches: MTLIndirectCommandType;
        /**
         * A compute command using a grid aligned to threadgroup boundaries.
         */
        static concurrentDispatch: MTLIndirectCommandType;
        /**
         * A compute command using an arbitrarily sized grid.
         */
        static concurrentDispatchThreads: MTLIndirectCommandType;
        /**
         * Initializes the set of command types from a raw integer value.
         */
        constructor (rawValue: number);
    }
    export class MTLIndirectCommandBufferExecutionRange {
        /**
         * The first index in the command execution range.
         */
        location: UInt32;
        /**
         * The number of items in the command execution range.
         */
        length: UInt32;
        /**
         * Initializes an empty command execution range.
         */
        constructor ();
        /**
         * Initializes an command execution range.
         */
        constructor (location: UInt32, length: UInt32);
    }
    export interface MTLIndirectComputeCommand extends NSObjectProtocol {
        /**
         * Sets the command’s compute pipeline state object.
         */
        setComputePipelineState(pipelineState: MTLComputePipelineState):void;
        /**
         * Sets the size, in pixels, of the imageblock.
         */
        setImageblockWidth(width: number, height: number):void;
        /**
         * Sets a buffer for the compute function.
         */
        setKernelBuffer(buffer: MTLBuffer, offset: number, index: number):void;
        /**
         * Sets the size of a block of threadgroup memory.
         */
        setThreadgroupMemoryLength(length: number, index: number):void;
        /**
         * Sets the region of the stage-in attributes to apply to the compute kernel.
         */
        setStageInRegion(region: MTLRegion):void;
        /**
         * Sets the region of the stage-in attributes to apply to the compute kernel.
         */
        setStageIn(region: MTLRegion):void;
        /**
         * Adds a barrier to ensure that commands executed prior to this command are complete before this command executes.
         */
        setBarrier():void;
        /**
         * Removes any barrier set on the command.
         */
        clearBarrier():void;
        /**
         * Encodes a compute command using a grid aligned to threadgroup boundaries.
         */
        concurrentDispatchThreadgroups(threadgroupsPerGrid: MTLSize, threadsPerThreadgroup: MTLSize):void;
        /**
         * Encodes a compute command using an arbitrarily sized grid.
         */
        concurrentDispatchThreads(threadsPerGrid: MTLSize, threadsPerThreadgroup: MTLSize):void;
        /**
         * Resets the command to its default state.
         */
        reset():void;
    }
    export class MTLRegion {
        /**
         * The coordinates of the front upper-left corner of the region.
         */
        origin: MTLOrigin;
        /**
         * The dimensions of the region.
         */
        size: MTLSize;
        /**
         * Initializes a new region.
         */
        constructor ();
        /**
         * Initializes a new region with the specified origin and size.
         */
        constructor (origin: MTLOrigin, size: MTLSize);
    }
    export class MTLSize {
        /**
         * The number of elements in the x dimension.
         */
        width: number;
        /**
         * The number of elements in the y dimension.
         */
        height: number;
        /**
         * The number of elements in the z dimension.
         */
        depth: number;
        /**
         * Initializes a box size.
         */
        constructor ();
        /**
         * Initializes a size for an object with the specified dimensions.
         */
        constructor (width: number, height: number, depth: number);
    }
    export class MTLOrigin {
        /**
         * The x coordinate of the origin.
         */
        x: number;
        /**
         * The y coordinate of the origin.
         */
        y: number;
        /**
         * The z coordinate of the origin.
         */
        z: number;
        /**
         * Initializes a new origin.
         */
        constructor ();
        /**
         * Initializes a new origin with the specified coordinates.
         */
        constructor (x: number, y: number, z: number);
    }
    export class MTLStageInRegionIndirectArguments {
        /**
         * The location of the upper-left corner of the block.
         */
        stageInOrigin: any;
        /**
         * The size of the block.
         */
        stageInSize: any;
        constructor ();
        constructor (stageInOrigin: any, stageInSize: any);
    }
    export class MTLDispatchThreadgroupsIndirectArguments {
        /**
         * The number of threadgroups for the grid, in each dimension.
         */
        threadgroupsPerGrid: any;
        /**
         * Returns a new data layout for dispatching threadgroups via indirect buffer calls.
         */
        constructor ();
        /**
         * Returns a new data layout for dispatching threadgroups via indirect buffer calls, with specified threadgroups per grid.
         */
        constructor (threadgroupsPerGrid: any);
    }
    export interface MTLIndirectRenderCommand extends NSObjectProtocol {
        /**
         * Sets the render pipeline state object used by the command.
         */
        setRenderPipelineState(pipelineState: MTLRenderPipelineState):void;
        /**
         * Sets a vertex buffer argument for the command.
         */
        setVertexBuffer(buffer: MTLBuffer, offset: number, index: number):void;
        /**
         * Sets a fragment buffer argument for the command.
         */
        setFragmentBuffer(buffer: MTLBuffer, offset: number, index: number):void;
        /**
         * Encodes a command to render a number of instances of primitives using vertex data in contiguous array elements, starting from the base instance.
         */
        drawPrimitives(primitiveType: MTLPrimitiveType, vertexStart: number, vertexCount: number, instanceCount: number, baseInstance: number):void;
        /**
         * Encodes a command to render a number of instances of primitives using an index list specified in a buffer, starting from the base vertex of the base instance.
         */
        drawIndexedPrimitives(primitiveType: MTLPrimitiveType, indexCount: number, indexType: MTLIndexType, indexBuffer: MTLBuffer, indexBufferOffset: number, instanceCount: number, baseVertex: number, baseInstance: number):void;
        /**
         * Encodes a command to render a number of instances of tessellated patches.
         */
        drawPatches(numberOfPatchControlPoints: number, patchStart: number, patchCount: number, patchIndexBuffer: MTLBuffer | null, patchIndexBufferOffset: number, instanceCount: number, baseInstance: number, buffer: MTLBuffer, offset: number, instanceStride: number):void;
        /**
         * Encodes a command to render a number of instances of tessellated patches, using a control point index buffer.
         */
        drawIndexedPatches(numberOfPatchControlPoints: number, patchStart: number, patchCount: number, patchIndexBuffer: MTLBuffer | null, patchIndexBufferOffset: number, controlPointIndexBuffer: MTLBuffer, controlPointIndexBufferOffset: number, instanceCount: number, baseInstance: number, buffer: MTLBuffer, offset: number, instanceStride: number):void;
        /**
         * Resets the command to its default state.
         */
        reset():void;
    }
    export class MTLDrawPatchIndirectArguments {
        /**
         * The first instance to draw.
         */
        baseInstance: UInt32;
        /**
         * The number of instances to draw.
         */
        instanceCount: UInt32;
        /**
         * The number of patches in each instance.
         */
        patchCount: UInt32;
        /**
         * The patch start index.
         */
        patchStart: UInt32;
        /**
         * Returns a new data layout for drawing patches via indirect buffer calls.
         */
        constructor ();
        /**
         * Returns a new data layout for drawing patches via indirect buffer calls, with specified parameters.
         */
        constructor (patchCount: UInt32, instanceCount: UInt32, patchStart: UInt32, baseInstance: UInt32);
    }
    export class MTLDrawPrimitivesIndirectArguments {
        /**
         * The first instance to draw.
         */
        baseInstance: UInt32;
        /**
         * The number of instances to draw.
         */
        instanceCount: UInt32;
        /**
         * The number of vertices to draw.
         */
        vertexCount: UInt32;
        /**
         * The first vertex to draw.
         */
        vertexStart: UInt32;
        /**
         * Returns a new data layout for drawing primitives via indirect buffer calls.
         */
        constructor ();
        /**
         * Returns a new data layout for drawing primitives via indirect buffer calls, with specified parameters.
         */
        constructor (vertexCount: UInt32, instanceCount: UInt32, vertexStart: UInt32, baseInstance: UInt32);
    }
    export class MTLDrawIndexedPrimitivesIndirectArguments {
        /**
         * The first instance to draw.
         */
        baseInstance: UInt32;
        /**
         * The first vertex to draw.
         */
        baseVertex: Int32;
        /**
         * For each instance, the number of indices to read from the index buffer.
         */
        indexCount: UInt32;
        /**
         * The first index to draw.
         */
        indexStart: UInt32;
        /**
         * The number of instances to draw.
         */
        instanceCount: UInt32;
        /**
         * Returns a new data layout for drawing indexed primitives via indirect buffer calls.
         */
        constructor ();
        /**
         * Returns a new data layout for drawing indexed primitives via indirect buffer calls, with specified parameters.
         */
        constructor (indexCount: UInt32, instanceCount: UInt32, indexStart: UInt32, baseVertex: Int32, baseInstance: UInt32);
    }
    export interface MTLAccelerationStructure extends MTLResource {
        /**
         * The size of the acceleration structure’s memory allocation, in bytes.
         */
        size: number;
        gpuResourceID: MTLResourceID;
    }
    export class MTLAccelerationStructureUsage {
        /**
         * An option that specifies that you can refit the acceleration structure if the geometry changes.
         */
        static refit: MTLAccelerationStructureUsage;
        /**
         * An option that specifies that Metal needs to build the acceleration structure quickly, even if that reduces ray-tracing performance.
         */
        static preferFastBuild: MTLAccelerationStructureUsage;
        /**
         * An option that specifies that Metal needs to allow larger ray-tracing limits for the acceleration structure.
         */
        static extendedLimits: MTLAccelerationStructureUsage;
        /**
         * Creates new usage options from a raw integer value.
         */
        constructor (rawValue: number);
    }
    export class MTLPrimitiveAccelerationStructureDescriptor extends MTLAccelerationStructureDescriptor {
        /**
         * An array that contains the individual pieces of geometry that compose the acceleration structure.
         */
        geometryDescriptors: MTLAccelerationStructureGeometryDescriptor[] | null;
        /**
         * The number of keyframes in the geometry data.
         */
        motionKeyframeCount: number;
        /**
         * The start time for the range of motion that the keyframe data describes.
         */
        motionStartTime: Float;
        /**
         * The end time for the range of motion that the keyframe data describes.
         */
        motionEndTime: Float;
        /**
         * The mode to use when handling timestamps before the start time.
         */
        motionStartBorderMode: MTLMotionBorderMode;
        /**
         * The mode to use when handling timestamps after the end time.
         */
        motionEndBorderMode: MTLMotionBorderMode;
    }
    export enum MTLMotionBorderMode {
        clamp = 0,
        vanish = 1,
    }
    export class MTLInstanceAccelerationStructureDescriptor extends MTLAccelerationStructureDescriptor {
        /**
         * The format of the instance data in the descriptor buffer.
         */
        instanceDescriptorType: MTLAccelerationStructureInstanceDescriptorType;
        /**
         * The bottom-level acceleration structures that instances use in the instance acceleration structure .
         */
        instancedAccelerationStructures: MTLAccelerationStructure[] | null;
        /**
         * The number of instances in the instance descriptor buffer.
         */
        instanceCount: number;
        /**
         * A buffer that contains descriptions of each instance in the acceleration structure.
         */
        instanceDescriptorBuffer: MTLBuffer | null;
        /**
         * The offset, in bytes, to the descripton of the first instance.
         */
        instanceDescriptorBufferOffset: number;
        /**
         * The stride, in bytes, between instance descriptions.
         */
        instanceDescriptorStride: number;
        /**
         * The number of motion transforms in the motion transform buffer.
         */
        motionTransformCount: number;
        /**
         * A buffer that contains descriptions of each motion transform in the acceleration structure. 
         */
        motionTransformBuffer: MTLBuffer | null;
        /**
         * The offset, in bytes, to the descripton of the first motion transform.
         */
        motionTransformBufferOffset: number;
    }
    export enum MTLAccelerationStructureInstanceDescriptorType {
        default = 0,
        userID = 1,
        motion = 2,
    }
    export interface MTLAccelerationStructureCommandEncoder extends MTLCommandEncoder {
        /**
         * Encodes a command to build a new acceleration structure.
         */
        build(accelerationStructure: MTLAccelerationStructure, descriptor: MTLAccelerationStructureDescriptor, scratchBuffer: MTLBuffer, scratchBufferOffset: number):void;
        /**
         * Encodes a command to copy the data from one acceleration structure to another.
         */
        copy(sourceAccelerationStructure: MTLAccelerationStructure, destinationAccelerationStructure: MTLAccelerationStructure):void;
        /**
         * Encodes a command to calculate the compacted size of an acceleration structure.
         */
        writeCompactedSize(accelerationStructure: MTLAccelerationStructure, buffer: MTLBuffer, offset: number):void;
        /**
         * Encodes a command to compact an acceleration structure’s data and copy it into a different acceleration structure.
         */
        copyAndCompact(sourceAccelerationStructure: MTLAccelerationStructure, destinationAccelerationStructure: MTLAccelerationStructure):void;
        /**
         * Updates an acceleration structure with new geometry or instance data.
         */
        refit(sourceAccelerationStructure: MTLAccelerationStructure, descriptor: MTLAccelerationStructureDescriptor, destinationAccelerationStructure: MTLAccelerationStructure | null, scratchBuffer: MTLBuffer, scratchBufferOffset: number):void;
        /**
         * Tells the GPU to update the fence after all commands encoded by the encoder have finished executing.
         */
        updateFence(fence: MTLFence):void;
        /**
         * Tells the GPU to wait until the fence is updated before executing any commands encoded by the command encoder.
         */
        waitForFence(fence: MTLFence):void;
        /**
         * Makes the resources contained in the specified heap available to the acceleration structure pass.
         */
        useHeap(heap: MTLHeap):void;
        /**
         * Makes the resources contained in the specified heaps available to the acceleration structure pass.
         */
        useHeaps(heaps: MTLHeap[]):void;
        /**
         * Makes a resource available to the acceleration structure pass.
         */
        useResource(resource: MTLResource, usage: MTLResourceUsage):void;
        /**
         * Makes multiple resources available to the acceleration structure pass.
         */
        useResources(resources: MTLResource[], usage: MTLResourceUsage):void;
        /**
         * Encodes a command to sample hardware counters at this point in the acceleration structure pass and store the samples into a counter sample buffer.
         */
        sampleCounters(sampleBuffer: MTLCounterSampleBuffer, sampleIndex: number, barrier: boolean):void;
    }
    export class MTLResourceUsage {
        /**
         * An option that enables reading from the resource.
         */
        static read: MTLResourceUsage;
        /**
         * An option that enables writing to the resource.
         */
        static write: MTLResourceUsage;
        /**
         * An option that enables sampling from the resource.
         */
        static sample: MTLResourceUsage;
        /**
         * Creates a set of resource options from a raw value.
         */
        constructor (rawValue: number);
    }
    export class MTLAccelerationStructureRefitOptions {
        static perPrimitiveData: MTLAccelerationStructureRefitOptions;
        static vertexData: MTLAccelerationStructureRefitOptions;
        constructor (rawValue: number);
    }
    export class MTLAccelerationStructurePassDescriptor extends NSObject {
        sampleBufferAttachments: MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray;
    }
    export class MTLAccelerationStructurePassSampleBufferAttachmentDescriptor extends NSObject {
        endOfEncoderSampleIndex: number;
        sampleBuffer: MTLCounterSampleBuffer | null;
        startOfEncoderSampleIndex: number;
    }
    export class MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray extends NSObject {}
    export class MTLAccelerationStructureTriangleGeometryDescriptor extends MTLAccelerationStructureGeometryDescriptor {
        /**
         * The number of triangles in the buffers.
         */
        triangleCount: number;
        /**
         * A buffer that contains indices for the vertices that compose the triangle list.
         */
        indexBuffer: MTLBuffer | null;
        /**
         * The data type of indices in the index buffer.
         */
        indexType: MTLIndexType;
        /**
         * The offset, in bytes, to the first index in the buffer. 
         */
        indexBufferOffset: number;
        /**
         * A buffer  that contains vertex data.
         */
        vertexBuffer: MTLBuffer | null;
        /**
         * The offset, in bytes, for the first vertex in the vertex buffer.
         */
        vertexBufferOffset: number;
        /**
         * The stride, in bytes, between vertices in the vertex buffer.
         */
        vertexStride: number;
        transformationMatrixBuffer: MTLBuffer | null;
        transformationMatrixBufferOffset: number;
        vertexFormat: MTLAttributeFormat;
    }
    export class MTLAccelerationStructureBoundingBoxGeometryDescriptor extends MTLAccelerationStructureGeometryDescriptor {
        /**
         * The number of bounding boxes in the bounding box buffer.
         */
        boundingBoxCount: number;
        /**
         * A buffer that contains bounding box data.
         */
        boundingBoxBuffer: MTLBuffer | null;
        /**
         * The offset, in bytes, to the first bounding box in the buffer.
         */
        boundingBoxBufferOffset: number;
        /**
         * The stride, in bytes, between bounding boxes in the buffer.
         */
        boundingBoxStride: number;
    }
    export class MTLAccelerationStructureMotionTriangleGeometryDescriptor extends MTLAccelerationStructureGeometryDescriptor {
        /**
         * The number of triangles in the buffers.
         */
        triangleCount: number;
        /**
         * A buffer that contains indices for the vertices that compose the triangle list.
         */
        indexBuffer: MTLBuffer | null;
        /**
         * The data type of indices in the index buffer.
         */
        indexType: MTLIndexType;
        /**
         * The offset, in bytes, to the first index in the buffer. 
         */
        indexBufferOffset: number;
        /**
         * An array of motion keyframes, each containing triangle data.
         */
        vertexBuffers: MTLMotionKeyframeData[];
        /**
         * The stride, in bytes, between vertices in each vertex buffer.
         */
        vertexStride: number;
        transformationMatrixBuffer: MTLBuffer | null;
        transformationMatrixBufferOffset: number;
        vertexFormat: MTLAttributeFormat;
    }
    export class MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor extends MTLAccelerationStructureGeometryDescriptor {
        /**
         * The number of bounding boxes in each bounding box buffer.
         */
        boundingBoxCount: number;
        /**
         * A array of motion keyframes, each containing bounding box data.
         */
        boundingBoxBuffers: MTLMotionKeyframeData[];
        /**
         * The stride, in bytes, between bounding boxes in each buffer.
         */
        boundingBoxStride: number;
    }
    export class MTLMotionKeyframeData extends NSObject {
        /**
         * The buffer that holds the geometry data.
         */
        buffer: MTLBuffer | null;
        /**
         * The offset, in bytes, to the keyframe data.
         */
        offset: number;
    }
    export class MTLAccelerationStructureInstanceDescriptor {
        /**
         * The index of the acceleration structure to use for the instance.
         */
        accelerationStructureIndex: UInt32;
        /**
         * The transform for placing and orienting the instance in the scene.
         */
        transformationMatrix: MTLPackedFloat4x3;
        /**
         * An offset for determining which function in the intersection function table Metal needs to call when testing a ray against the instance.
         */
        intersectionFunctionTableOffset: UInt32;
        /**
         * The options for the instance.
         */
        options: MTLAccelerationStructureInstanceOptions;
        /**
         * A mask to use for the instance when testing a ray against the geometry.
         */
        mask: UInt32;
        /**
         * Creates a default acceleration structure instance.
         */
        constructor ();
        /**
         * Creates a new acceleration structure instance.
         */
        constructor (transformationMatrix: MTLPackedFloat4x3, options: MTLAccelerationStructureInstanceOptions, mask: UInt32, intersectionFunctionTableOffset: UInt32, accelerationStructureIndex: UInt32);
    }
    export class MTLAccelerationStructureUserIDInstanceDescriptor {
        /**
         * The index of the acceleration structure to use for the instance.
         */
        accelerationStructureIndex: UInt32;
        /**
         * The transform for placing and orienting the instance in the scene.
         */
        transformationMatrix: MTLPackedFloat4x3;
        /**
         * An offset for determining which function in the intersection function table Metal calls when testing a ray against the instance.
         */
        intersectionFunctionTableOffset: UInt32;
        /**
         * The options for the instance.
         */
        options: MTLAccelerationStructureInstanceOptions;
        /**
         * A mask to use for the instance when testing a ray against the geometry.
         */
        mask: UInt32;
        /**
         * The user identifier for the instance.
         */
        userID: UInt32;
        /**
         * Creates a default acceleration structure instance.
         */
        constructor ();
        /**
         * Creates a new acceleration structure instance.
         */
        constructor (transformationMatrix: MTLPackedFloat4x3, options: MTLAccelerationStructureInstanceOptions, mask: UInt32, intersectionFunctionTableOffset: UInt32, accelerationStructureIndex: UInt32, userID: UInt32);
    }
    export class MTLAccelerationStructureMotionInstanceDescriptor {
        /**
         * The index of the acceleration structure to use for this instance.
         */
        accelerationStructureIndex: UInt32;
        /**
         * The start time for the range of motion described by the keyframe data.
         */
        motionStartTime: Float;
        /**
         * The end time for the range of motion described by the keyframe data.
         */
        motionEndTime: Float;
        /**
         * The mode to use when handling timestamps before the start time.
         */
        motionStartBorderMode: MTLMotionBorderMode;
        /**
         * The mode to use when handling timestamps after the end time.
         */
        motionEndBorderMode: MTLMotionBorderMode;
        /**
         * The index for the instance’s first keyframe motion data.
         */
        motionTransformsStartIndex: UInt32;
        /**
         * The number of keyframes for this instance.
         */
        motionTransformsCount: UInt32;
        /**
         * An offset used to determine which function in the intersection function table Metal should call when testing a ray against this instance.
         */
        intersectionFunctionTableOffset: UInt32;
        /**
         * The options for this instance.
         */
        options: MTLAccelerationStructureInstanceOptions;
        /**
         * A mask used for this instance when testing a ray against the geometry.
         */
        mask: UInt32;
        /**
         * The user identifier for the instance.
         */
        userID: UInt32;
        /**
         * Creates a default acceleration structure instance.
         */
        constructor ();
        /**
         * Creates a new acceleration structure instance.
         */
        constructor (options: MTLAccelerationStructureInstanceOptions, mask: UInt32, intersectionFunctionTableOffset: UInt32, accelerationStructureIndex: UInt32, userID: UInt32, motionTransformsStartIndex: UInt32, motionTransformsCount: UInt32, motionStartBorderMode: MTLMotionBorderMode, motionEndBorderMode: MTLMotionBorderMode, motionStartTime: Float, motionEndTime: Float);
    }
    export class MTLSizeAndAlign {
        /**
         * The size of a resource, in bytes.
         */
        size: number;
        /**
         * The alignment of a resource, in bytes.
         */
        align: number;
        /**
         * Creates a default instance.
         */
        constructor ();
        /**
         * Creates a new instance initialized to the given values.
         */
        constructor (size: number, align: number);
    }
    export class MTLAccelerationStructureInstanceOptions {
        /**
         * An option that turns off culling for this instance if ray intersector has culling enabled.
         */
        static disableTriangleCulling: MTLAccelerationStructureInstanceOptions;
        /**
         * Specifies that the instance specifies front facing triangles in counter-clockwise order.
         */
        static triangleFrontFacingWindingCounterClockwise: MTLAccelerationStructureInstanceOptions;
        /**
         * Specifies that intersectors should treat the instance as opaque.
         */
        static opaque: MTLAccelerationStructureInstanceOptions;
        /**
         * Specifies that intersectors should treat the instance as non-opaque.
         */
        static nonOpaque: MTLAccelerationStructureInstanceOptions;
        /**
         * Creates new usage options from a raw integer value.
         */
        constructor (rawValue: UInt32);
    }
    export interface MTLIntersectionFunctionTable extends MTLResource {
        /**
         * Sets an entry in the table.
         */
        setFunction(_function: MTLFunctionHandle | null, index: number):void;
        /**
         * Sets a range of entries in the table.
         */
        setFunctions(functions: MTLFunctionHandle | null[], range: Range<Int>):void;
        /**
         * Sets a buffer for the intersection functions.
         */
        setBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        /**
         * Sets a range of buffers for the intersection functions.
         */
        setBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        /**
         * Sets a visible function table for the intersection functions.
         */
        setVisibleFunctionTable(functionTable: MTLVisibleFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets a range of visible function tables for the intersection functions.
         */
        setVisibleFunctionTables(functionTables: MTLVisibleFunctionTable | null[], bufferRange: Range<Int>):void;
        /**
         * Sets an entry in the intersection table to point to a system-defined opaque triangle intersection function.
         */
        setOpaqueTriangleIntersectionFunction(signature: MTLIntersectionFunctionSignature, index: number):void;
        gpuResourceID: MTLResourceID;
    }
    export class MTLIntersectionFunctionTableDescriptor extends NSObject {
        /**
         * The number of entries in the intersection function table.
         */
        functionCount: number;
    }
    export class MTLIntersectionFunctionDescriptor extends MTLFunctionDescriptor {}
    export class MTLAccelerationStructureDescriptor extends NSObject {
        /**
         * The options that describe how you intend to use the acceleration structure.
         */
        usage: MTLAccelerationStructureUsage;
    }
    export class MTLAccelerationStructureGeometryDescriptor extends NSObject {
        /**
         * A label for the geometry structure, suitable for debugging.
         */
        label: string;
        /**
         * An index into the intersection table for determining which intersection function Metal calls when it intersects a ray with the acceleration structure.
         */
        intersectionFunctionTableOffset: number;
        /**
         * A Boolean value that determines whether the geometry data in the acceleration structure needs to skip triangle-intersection tests.
         */
        opaque: boolean;
        /**
         * A Boolean value that indicates whether Metal calls the ray-intersection test more than once per primitive on the structure.
         */
        allowDuplicateIntersectionFunctionInvocation: boolean;
        primitiveDataBuffer: MTLBuffer | null;
        primitiveDataBufferOffset: number;
        primitiveDataElementSize: number;
        primitiveDataStride: number;
    }
    export class MTLIntersectionFunctionSignature {
        /**
         * A flag indicating that function signature uses instancing.
         */
        static instancing: MTLIntersectionFunctionSignature;
        /**
         * A flag indicating that function signature uses triangle data.
         */
        static triangleData: MTLIntersectionFunctionSignature;
        /**
         * A flag indicating that function signature uses world space data.
         */
        static worldSpaceData: MTLIntersectionFunctionSignature;
        static extendedLimits: MTLIntersectionFunctionSignature;
        static instanceMotion: MTLIntersectionFunctionSignature;
        static primitiveMotion: MTLIntersectionFunctionSignature;
        /**
         * Returns a new signature description from a specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface MTLResource extends NSObjectProtocol {
        /**
         * The device object that created the resource.
         */
        device: MTLDevice;
        /**
         * A string that identifies the resource.
         */
        label: string;
        /**
         * The CPU cache mode that defines the CPU mapping of the resource.
         */
        cpuCacheMode: MTLCPUCacheMode;
        /**
         * The location and access permissions of the resource.
         */
        storageMode: MTLStorageMode;
        /**
         * A mode that determines whether Metal tracks and synchronizes resource access.
         */
        hazardTrackingMode: MTLHazardTrackingMode;
        /**
         * The storage mode, CPU cache mode, and hazard tracking mode of the resource.
         */
        resourceOptions: MTLResourceOptions;
        /**
         * Specifies or queries the resource’s purgeable state.
         */
        setPurgeableState(state: MTLPurgeableState):MTLPurgeableState;
        /**
         * The distance, in bytes, from the beginning of the heap to the first byte of the resource, if you allocated the resource on a heap.
         */
        heapOffset: number;
        /**
         * The heap on which the resource is allocated, if any.
         */
        heap: MTLHeap | null;
        /**
         * Allows future heap resource allocations to alias against the resource’s memory.
         */
        makeAliasable():void;
        /**
         * A Boolean value that indicates whether future heap resource allocations may alias against the resource’s memory.
         */
        isAliasable():boolean;
        /**
         * The size of the resource, in bytes.
         */
        allocatedSize: number;
    }
    export enum MTLCPUCacheMode {
        defaultCache = 0,
        writeCombined = 1,
    }
    export enum MTLStorageMode {
        shared = 0,
        managed = 1,
        private = 2,
        memoryless = 3,
    }
    export enum MTLHazardTrackingMode {
        default = 0,
        untracked = 1,
        tracked = 2,
    }
    export enum MTLPurgeableState {
        keepCurrent = 1,
        nonVolatile = 2,
        volatile = 3,
        empty = 4,
    }
    export class MTLResourceOptions {
        /**
         * A write-combined CPU cache mode that is optimized for resources that the CPU writes into, but never reads.
         */
        static cpuCacheModeWriteCombined: MTLResourceOptions;
        /**
         * The resource is stored in system memory and is accessible to both the CPU and the GPU.
         */
        static storageModeShared: MTLResourceOptions;
        /**
         * The CPU and GPU may maintain separate copies of the resource, and any changes must be explicitly synchronized.
         */
        static storageModeManaged: MTLResourceOptions;
        /**
         * The resource can be accessed only by the GPU.
         */
        static storageModePrivate: MTLResourceOptions;
        /**
         * The resource’s contents can be accessed only by the GPU and only exist temporarily during a render pass.
         */
        static storageModeMemoryless: MTLResourceOptions;
        /**
         * An option specifying that Metal prevents hazards when modifying this object's contents.
         */
        static hazardTrackingModeTracked: MTLResourceOptions;
        /**
         * An option specifying that the app must prevent hazards when modifying this object's contents.
         */
        static hazardTrackingModeUntracked: MTLResourceOptions;
        /**
         * This constant was deprecated in iOS 9.0 and macOS 10.11.
         */
        static optionCPUCacheModeWriteCombined: MTLResourceOptions;
        constructor (rawValue: number);
    }
    export class MTLResourceID {
        constructor ();
        constructor (_impl: UInt64);
    }
    export interface MTLBuffer extends MTLResource {
        /**
         * Creates a texture that shares its storage with the buffer.
         */
        makeTexture(descriptor: MTLTextureDescriptor, offset: number, bytesPerRow: number):MTLTexture | null;
        /**
         * Gets the system address of the buffer’s storage allocation.
         */
        contents():UnsafeMutableRawPointer;
        /**
         * Informs the GPU that the CPU has modified a section of the buffer.
         */
        didModifyRange(range: Range<Int>):void;
        /**
         * Adds a debug marker string to a specific buffer range.
         */
        addDebugMarker(marker: string, range: Range<Int>):void;
        /**
         * Removes all debug marker strings from the buffer.
         */
        removeAllDebugMarkers():void;
        /**
         * The logical size of the buffer, in bytes.
         */
        length: number;
        /**
         * Creates a remote view of the buffer for another GPU in the same peer group.
         */
        makeRemoteBufferView(device: MTLDevice):MTLBuffer | null;
        /**
         * The buffer on another GPU that the buffer was created from, if any.
         */
        remoteStorageBuffer: MTLBuffer | null;
        gpuAddress: UInt64;
    }
    export class MTLArgumentDescriptor extends NSObject {
        /**
         * The data type of the argument.
         */
        dataType: MTLDataType;
        /**
         * The index ID of the argument.
         */
        index: number;
        /**
         * The access permissions of the argument.
         */
        access: MTLArgumentAccess;
        /**
         * The length of an array argument.
         */
        arrayLength: number;
        /**
         * The alignment of the constant block.
         */
        constantBlockAlignment: number;
        /**
         * The texture type of a texture argument.
         */
        textureType: MTLTextureType;
    }
    export interface MTLArgumentEncoder extends NSObjectProtocol {
        /**
         * Specifies the position in a buffer where the encoder writes argument data.
         */
        setArgumentBuffer(argumentBuffer: MTLBuffer | null, offset: number):void;
        /**
         * The number of bytes required to store the encoded resources of an argument buffer.
         */
        encodedLength: number;
        /**
         * Encodes a reference to a buffer into the argument buffer.
         */
        setBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        /**
         * Encodes references to an array of buffers into the argument buffer.
         */
        setBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        /**
         * Encodes a reference to a texture into the argument buffer.
         */
        setTexture(texture: MTLTexture | null, index: number):void;
        /**
         * Encodes references to an array of textures into the argument buffer.
         */
        setTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        /**
         * Encodes a sampler into the argument buffer.
         */
        setSamplerState(sampler: MTLSamplerState | null, index: number):void;
        /**
         * Encodes an array of samplers into the argument buffer.
         */
        setSamplerStates(samplers: MTLSamplerState | null[], range: Range<Int>):void;
        /**
         * Encodes a reference to a render pipeline state into the argument buffer.
         */
        setRenderPipelineState(pipeline: MTLRenderPipelineState | null, index: number):void;
        /**
         * Encodes references to an array of render pipeline states into the argument buffer.
         */
        setRenderPipelineStates(pipelines: MTLRenderPipelineState | null[], range: Range<Int>):void;
        /**
         * Encodes a reference to a compute pipeline state into the argument buffer.
         */
        setComputePipelineState(pipeline: MTLComputePipelineState | null, index: number):void;
        /**
         * Encodes references to an array of compute pipeline states into the argument buffer.
         */
        setComputePipelineStates(pipelines: UnsafePointer<MTLComputePipelineState?>, range: NSRange):void;
        /**
         * Returns a pointer for an inlined constant data argument in the argument buffer.
         */
        constantData(index: number):UnsafeMutableRawPointer;
        /**
         * Encodes a reference to an indirect command buffer into the argument buffer.
         */
        setIndirectCommandBuffer(indirectCommandBuffer: MTLIndirectCommandBuffer | null, index: number):void;
        /**
         * Encodes an array of indirect command buffers into the argument buffer.
         */
        setIndirectCommandBuffers(buffers: MTLIndirectCommandBuffer | null[], range: Range<Int>):void;
        /**
         * Encodes a reference to an acceleration structure into the argument buffer.
         */
        setAccelerationStructure(accelerationStructure: MTLAccelerationStructure | null, index: number):void;
        /**
         * Encodes a reference to a function table into the argument buffer.
         */
        setVisibleFunctionTable(visibleFunctionTable: MTLVisibleFunctionTable | null, index: number):void;
        /**
         * Encodes a reference to a ray-tracing intersection function table into the argument buffer.
         */
        setIntersectionFunctionTable(intersectionFunctionTable: MTLIntersectionFunctionTable | null, index: number):void;
        setIntersectionFunctionTables(intersectionFunctionTables: MTLIntersectionFunctionTable | null[], range: Range<Int>):void;
        setVisibleFunctionTables(visibleFunctionTables: MTLVisibleFunctionTable | null[], range: Range<Int>):void;
        /**
         * Creates a new argument encoder for a nested argument buffer.
         */
        makeArgumentEncoderForBuffer(index: number):MTLArgumentEncoder | null;
        /**
         * The alignment, in bytes, required for storing the encoded resources of an argument buffer.
         */
        alignment: number;
        /**
         * A string that identifies the argument buffer.
         */
        label: string;
        /**
         * The device object that created the argument encoder.
         */
        device: MTLDevice;
    }
    export interface MTLTexture extends MTLResource {
        /**
         * Copies pixel data into a section of a texture slice.
         */
        replace(region: MTLRegion, level: number, slice: number, pixelBytes: UnsafeRawPointer, bytesPerRow: number, bytesPerImage: number):void;
        /**
         * Copies pixel data from the texture to a buffer in system memory.
         */
        getBytes(pixelBytes: UnsafeMutableRawPointer, bytesPerRow: number, bytesPerImage: number, region: MTLRegion, level: number, slice: number):void;
        /**
         * Creates a new view of the texture, reinterpreting its data using a different pixel format.
         */
        makeTextureView(pixelFormat: MTLPixelFormat):MTLTexture | null;
        /**
         * The dimension and arrangement of the texture image data.
         */
        textureType: MTLTextureType;
        /**
         * The format of pixels in the texture.
         */
        pixelFormat: MTLPixelFormat;
        /**
         * The width of the texture image for the base level mipmap, in pixels.
         */
        width: number;
        /**
         * The height of the texture image for the base level mipmap, in pixels.
         */
        height: number;
        /**
         * The depth of the texture image for the base level mipmap, in pixels.
         */
        depth: number;
        /**
         * The number of mipmap levels in the texture.
         */
        mipmapLevelCount: number;
        /**
         * The number of slices in the texture array.
         */
        arrayLength: number;
        /**
         * The number of samples in each pixel.
         */
        sampleCount: number;
        /**
         * A Boolean value that indicates whether the texture can only be used as a render target. 
         */
        isFramebufferOnly: boolean;
        /**
         * Options that determine how you can use the texture.
         */
        usage: MTLTextureUsage;
        /**
         * A Boolean value indicating whether the GPU is allowed to adjust the contents of the texture to improve GPU performance.
         */
        allowGPUOptimizedContents: boolean;
        /**
         * A Boolean indicating whether this texture can be shared with other processes.
         */
        isShareable: boolean;
        /**
         * The pattern that the GPU applies to pixels when you read or sample pixels from the texture.
         */
        swizzle: MTLTextureSwizzleChannels;
        /**
         * A reference to the 
         *  the texture was created from, if any.
         */
        iosurface: IOSurfaceRef | null;
        /**
         * The plane of the 
         *  to reference if any.
         */
        iosurfacePlane: number;
        /**
         * The parent texture that the texture was created from, if any.
         */
        parent: MTLTexture | null;
        /**
         * The base level of the parent texture that the texture was created from, if any.
         */
        parentRelativeLevel: number;
        /**
         * The base slice of the parent texture that the texture was created from, if any.
         */
        parentRelativeSlice: number;
        /**
         * The source buffer that the texture was created from, if any.
         */
        buffer: MTLBuffer | null;
        /**
         * The offset in the source buffer where the texture's data comes from.
         */
        bufferOffset: number;
        /**
         * The number of bytes in each row of the texture’s source buffer, if applicable.
         */
        bufferBytesPerRow: number;
        /**
         * The resource that owns the storage for this texture.
         */
        rootResource: MTLResource | null;
        /**
         * Creates a new texture handle from a shareable texture.
         */
        makeSharedTextureHandle():MTLSharedTextureHandle | null;
        /**
         * Creates a remote texture view for another GPU in the same peer group.
         */
        makeRemoteTextureView(device: MTLDevice):MTLTexture | null;
        /**
         * The texture on another GPU that the texture was created from, if any.
         */
        remoteStorageTexture: MTLTexture | null;
        /**
         * A Boolean value that indicates whether this is a sparse texture.
         */
        isSparse: boolean;
        /**
         * The index of the first mipmap in the tail.
         */
        firstMipmapInTail: number;
        /**
         * The size of the sparse texture tail, in bytes.
         */
        tailSizeInBytes: number;
        compressionType: MTLTextureCompressionType;
        gpuResourceID: MTLResourceID;
    }
    export enum MTLTextureType {
        type1D = 0,
        type1DArray = 1,
        type2D = 2,
        type2DArray = 3,
        type2DMultisample = 4,
        typeCube = 5,
        typeCubeArray = 6,
        type3D = 7,
        type2DMultisampleArray = 8,
        typeTextureBuffer = 9,
    }
    export class MTLTextureUsage {
        /**
         * An option for a texture whose usage is unknown.
         */
        static unknown: MTLTextureUsage;
        /**
         * An option for reading or sampling from the texture in a shader.
         */
        static shaderRead: MTLTextureUsage;
        /**
         * An option for writing to the texture in a shader.
         */
        static shaderWrite: MTLTextureUsage;
        /**
         * An option for rendering to the texture in a render pass.
         */
        static renderTarget: MTLTextureUsage;
        /**
         * An option to create texture views with a different component layout.
         */
        static pixelFormatView: MTLTextureUsage;
        /**
         * Creates new, empty usage options.
         */
        constructor (rawValue: number);
    }
    export enum MTLTextureCompressionType {
        lossless = 0,
        lossy = 1,
    }
    export enum MTLSparseTextureRegionAlignmentMode {
        outward = 0,
        inward = 1,
    }
    export class MTLTextureDescriptor extends NSObject {
        /**
         * The dimension and arrangement of texture image data.
         */
        textureType: MTLTextureType;
        /**
         * The size and bit layout of all pixels in the texture.
         */
        pixelFormat: MTLPixelFormat;
        /**
         * The width of the texture image for the base level mipmap, in pixels.
         */
        width: number;
        /**
         * The height of the texture image for the base level mipmap, in pixels.
         */
        height: number;
        /**
         * The depth of the texture image for the base level mipmap, in pixels.
         */
        depth: number;
        /**
         * The number of mipmap levels for this texture.
         */
        mipmapLevelCount: number;
        /**
         * The number of samples in each fragment. 
         */
        sampleCount: number;
        /**
         * The number of array elements for this texture. 
         */
        arrayLength: number;
        /**
         * The behavior of a new memory allocation.
         */
        resourceOptions: MTLResourceOptions;
        /**
         * The CPU cache mode used for the CPU mapping of the texture.
         */
        cpuCacheMode: MTLCPUCacheMode;
        /**
         * The location and access permissions of the texture.
         */
        storageMode: MTLStorageMode;
        /**
         * The texture's hazard tracking mode.
         */
        hazardTrackingMode: MTLHazardTrackingMode;
        /**
         * A Boolean value indicating whether the GPU is allowed to adjust the texture's contents to improve GPU performance.
         */
        allowGPUOptimizedContents: boolean;
        /**
         * Options that determine how you can use the texture.
         */
        usage: MTLTextureUsage;
        /**
         * The pattern you want the GPU to apply to pixels when you read or sample pixels from the texture.
         */
        swizzle: MTLTextureSwizzleChannels;
        compressionType: MTLTextureCompressionType;
        /**
         * Creates a texture descriptor object for a 2D texture.
         */
        static texture2DDescriptor(pixelFormat: MTLPixelFormat, width: number, height: number, mipmapped: boolean):MTLTextureDescriptor;
        /**
         * Creates a texture descriptor object for a cube texture.
         */
        static textureCubeDescriptor(pixelFormat: MTLPixelFormat, size: number, mipmapped: boolean):MTLTextureDescriptor;
        /**
         * Creates a texture descriptor object for a texture buffer.
         */
        static textureBufferDescriptor(pixelFormat: MTLPixelFormat, width: number, resourceOptions: MTLResourceOptions, usage: MTLTextureUsage):MTLTextureDescriptor;
    }
    export class MTLTextureSwizzleChannels {
        /**
         * The data copied to the first output channel.
         */
        red: MTLTextureSwizzle;
        /**
         * The data copied to the second output channel.
         */
        green: MTLTextureSwizzle;
        /**
         * The data copied to the third output channel.
         */
        blue: MTLTextureSwizzle;
        /**
         * The data copied to the fourth output channel.
         */
        alpha: MTLTextureSwizzle;
        /**
         * Creates a default swizzle pattern.
         */
        constructor ();
        /**
         * Creates a swizzle pattern.
         */
        constructor (red: MTLTextureSwizzle, green: MTLTextureSwizzle, blue: MTLTextureSwizzle, alpha: MTLTextureSwizzle);
    }
    export enum MTLTextureSwizzle {
        alpha = 5,
        blue = 4,
        green = 3,
        red = 2,
        one = 1,
        zero = 0,
    }
    export class MTLAccelerationStructureSizes {
        /**
         * The size of the acceleration structure, in bytes.
         */
        accelerationStructureSize: number;
        /**
         * The amount of scratch memory, in bytes, the GPU devices needs to build the acceleration structure.
         */
        buildScratchBufferSize: number;
        /**
         * The amount of scratch memory, in bytes, the GPU device needs to refit the acceleration structure.
         */
        refitScratchBufferSize: number;
        /**
         * Creates an acceleration sizes instance with default values.
         */
        constructor ();
        /**
         * Creates an acceleration sizes instance with specific values.
         */
        constructor (accelerationStructureSize: number, buildScratchBufferSize: number, refitScratchBufferSize: number);
    }
    export class MTLSharedTextureHandle extends NSObject {
        /**
         * The device object that created the texture.
         */
        device: MTLDevice;
        /**
         * A string that identifies the texture.
         */
        label: string;
    }
    export enum MTLPixelFormat {
        a8Unorm = 1,
        r8Unorm = 10,
        r8Unorm_srgb = 11,
        r8Snorm = 12,
        r8Uint = 13,
        r8Sint = 14,
        r16Unorm = 20,
        r16Snorm = 22,
        r16Uint = 23,
        r16Sint = 24,
        r16Float = 25,
        rg8Unorm = 30,
        rg8Unorm_srgb = 31,
        rg8Snorm = 32,
        rg8Uint = 33,
        rg8Sint = 34,
        b5g6r5Unorm = 40,
        a1bgr5Unorm = 41,
        abgr4Unorm = 42,
        bgr5A1Unorm = 43,
        r32Uint = 53,
        r32Sint = 54,
        r32Float = 55,
        rg16Unorm = 60,
        rg16Snorm = 62,
        rg16Uint = 63,
        rg16Sint = 64,
        rg16Float = 65,
        rgba8Unorm = 70,
        rgba8Unorm_srgb = 71,
        rgba8Snorm = 72,
        rgba8Uint = 73,
        rgba8Sint = 74,
        bgra8Unorm = 80,
        bgra8Unorm_srgb = 81,
        bgr10a2Unorm = 94,
        rgb10a2Unorm = 90,
        rgb10a2Uint = 91,
        rg11b10Float = 92,
        rgb9e5Float = 93,
        rg32Uint = 103,
        rg32Sint = 104,
        rg32Float = 105,
        rgba16Unorm = 110,
        rgba16Snorm = 112,
        rgba16Uint = 113,
        rgba16Sint = 114,
        rgba16Float = 115,
        rgba32Uint = 123,
        rgba32Sint = 124,
        rgba32Float = 125,
        pvrtc_rgb_2bpp = 160,
        pvrtc_rgb_2bpp_srgb = 161,
        pvrtc_rgb_4bpp = 162,
        pvrtc_rgb_4bpp_srgb = 163,
        pvrtc_rgba_2bpp = 164,
        pvrtc_rgba_2bpp_srgb = 165,
        pvrtc_rgba_4bpp = 166,
        pvrtc_rgba_4bpp_srgb = 167,
        eac_r11Unorm = 170,
        eac_r11Snorm = 172,
        eac_rg11Unorm = 174,
        eac_rg11Snorm = 176,
        eac_rgba8 = 178,
        eac_rgba8_srgb = 179,
        etc2_rgb8 = 180,
        etc2_rgb8_srgb = 181,
        etc2_rgb8a1 = 182,
        etc2_rgb8a1_srgb = 183,
        astc_4x4_srgb = 186,
        astc_5x4_srgb = 187,
        astc_5x5_srgb = 188,
        astc_6x5_srgb = 189,
        astc_6x6_srgb = 190,
        astc_8x5_srgb = 192,
        astc_8x6_srgb = 193,
        astc_8x8_srgb = 194,
        astc_10x5_srgb = 195,
        astc_10x6_srgb = 196,
        astc_10x8_srgb = 197,
        astc_10x10_srgb = 198,
        astc_12x10_srgb = 199,
        astc_12x12_srgb = 200,
        astc_4x4_ldr = 204,
        astc_5x4_ldr = 205,
        astc_5x5_ldr = 206,
        astc_6x5_ldr = 207,
        astc_6x6_ldr = 208,
        astc_8x5_ldr = 210,
        astc_8x6_ldr = 211,
        astc_8x8_ldr = 212,
        astc_10x5_ldr = 213,
        astc_10x6_ldr = 214,
        astc_10x8_ldr = 215,
        astc_10x10_ldr = 216,
        astc_12x10_ldr = 217,
        astc_12x12_ldr = 218,
        astc_4x4_hdr = 222,
        astc_5x4_hdr = 223,
        astc_5x5_hdr = 224,
        astc_6x5_hdr = 225,
        astc_6x6_hdr = 226,
        astc_8x5_hdr = 228,
        astc_8x6_hdr = 229,
        astc_8x8_hdr = 230,
        astc_10x5_hdr = 231,
        astc_10x6_hdr = 232,
        astc_10x8_hdr = 233,
        astc_10x10_hdr = 234,
        astc_12x10_hdr = 235,
        astc_12x12_hdr = 236,
        bc1_rgba = 130,
        bc1_rgba_srgb = 131,
        bc2_rgba = 132,
        bc2_rgba_srgb = 133,
        bc3_rgba = 134,
        bc3_rgba_srgb = 135,
        bc4_rUnorm = 140,
        bc4_rSnorm = 141,
        bc5_rgUnorm = 142,
        bc5_rgSnorm = 143,
        bc6H_rgbFloat = 150,
        bc6H_rgbuFloat = 151,
        bc7_rgbaUnorm = 152,
        bc7_rgbaUnorm_srgb = 153,
        gbgr422 = 240,
        bgrg422 = 241,
        depth16Unorm = 250,
        depth32Float = 252,
        stencil8 = 253,
        depth24Unorm_stencil8 = 255,
        depth32Float_stencil8 = 260,
        x32_stencil8 = 261,
        x24_stencil8 = 262,
        bgra10_xr = 552,
        bgra10_xr_srgb = 553,
        bgr10_xr = 554,
        bgr10_xr_srgb = 555,
        invalid = 0,
    }
    export enum MTLArgumentBuffersTier {
        tier1 = 0,
        tier2 = 1,
    }
    export interface MTLSamplerState extends NSObjectProtocol {
        /**
         * The device object that created the sampler.
         */
        device: MTLDevice;
        /**
         * A string that identifies the sampler.
         */
        label: string;
        gpuResourceID: MTLResourceID;
    }
    export class MTLSamplerDescriptor extends NSObject {
        /**
         * A Boolean value that indicates whether texture coordinates are normalized to the range 
         * .
         */
        normalizedCoordinates: boolean;
        /**
         * The address mode for the texture depth (r) coordinate.
         */
        rAddressMode: MTLSamplerAddressMode;
        /**
         * The address mode for the texture width (s) coordinate.
         */
        sAddressMode: MTLSamplerAddressMode;
        /**
         * The address mode for the texture height (t) coordinate.
         */
        tAddressMode: MTLSamplerAddressMode;
        /**
         * The border color for clamped texture values.
         */
        borderColor: MTLSamplerBorderColor;
        /**
         * The filtering option for combining pixels within one mipmap level when the sample footprint is larger than a pixel (minification).
         */
        minFilter: MTLSamplerMinMagFilter;
        /**
         * The filtering operation for combining pixels within one mipmap level when the sample footprint is smaller than a pixel (magnification).
         */
        magFilter: MTLSamplerMinMagFilter;
        /**
         * The filtering option for combining pixels between two mipmap levels.
         */
        mipFilter: MTLSamplerMipFilter;
        /**
         * The minimum level of detail (LOD) to use when sampling from a texture.
         */
        lodMinClamp: Float;
        /**
         * The maximum level of detail (LOD) to use when sampling from a texture.
         */
        lodMaxClamp: Float;
        /**
         * A Boolean value that specifies whether the GPU can use an average level of detail (LOD) when sampling from a texture.
         */
        lodAverage: boolean;
        /**
         * The number of samples that can be taken to improve the quality of sample footprints that are anisotropic.
         */
        maxAnisotropy: number;
        /**
         * The sampler comparison function used when performing a sample compare operation on a depth texture.
         */
        compareFunction: MTLCompareFunction;
        /**
         * A Boolean value that specifies whether the sampler can be encoded into an argument buffer.
         */
        supportArgumentBuffers: boolean;
        /**
         * A string that identifies the sampler.
         */
        label: string;
    }
    export enum MTLSamplerAddressMode {
        clampToEdge = 0,
        mirrorClampToEdge = 1,
        repeat = 2,
        mirrorRepeat = 3,
        clampToZero = 4,
        clampToBorderColor = 5,
    }
    export enum MTLSamplerBorderColor {
        transparentBlack = 0,
        opaqueBlack = 1,
        opaqueWhite = 2,
    }
    export enum MTLSamplerMinMagFilter {
        nearest = 0,
        linear = 1,
    }
    export enum MTLSamplerMipFilter {
        notMipmapped = 0,
        nearest = 1,
        linear = 2,
    }
    export enum MTLCompareFunction {
        never = 0,
        less = 1,
        equal = 2,
        lessEqual = 3,
        greater = 4,
        notEqual = 5,
        greaterEqual = 6,
        always = 7,
    }
    export class MTLSamplePosition {
        /**
         * The x position of the sample on the subpixel grid.
         */
        x: Float;
        /**
         * The y position of the sample on the subpixel grid.
         */
        y: Float;
        /**
         * Returns a new sample position on a subpixel grid.
         */
        constructor ();
        /**
         * Returns a new sample position on a subpixel grid at specified coordinates.
         */
        constructor (x: Float, y: Float);
    }
    export class MTLResourceStatePassDescriptor extends NSObject {
        /**
         * The array of sample buffers that the resource state pass can access.
         */
        sampleBufferAttachments: MTLResourceStatePassSampleBufferAttachmentDescriptorArray;
    }
    export class MTLResourceStatePassSampleBufferAttachmentDescriptor extends NSObject {
        /**
         * The sample buffer to write new GPU counter samples to.
         */
        sampleBuffer: MTLCounterSampleBuffer | null;
        /**
         * The index the Metal device object should use to store GPU counters when starting the resource state pass.
         */
        startOfEncoderSampleIndex: number;
        /**
         * The index the Metal device object should use to store GPU counters when ending the resource state pass.
         */
        endOfEncoderSampleIndex: number;
    }
    export class MTLResourceStatePassSampleBufferAttachmentDescriptorArray extends NSObject {}
    export interface MTLResourceStateCommandEncoder extends MTLCommandEncoder {
        /**
         * Encodes a command to update the texture mappings for a region in a single texture mipmap.
         */
        updateTextureMapping(texture: MTLTexture, mode: MTLSparseTextureMappingMode, region: MTLRegion, mipLevel: number, slice: number):void;
        /**
         * Encodes a command to update memory mappings for multiple regions inside a texture.
         */
        updateTextureMappings(texture: MTLTexture, mode: MTLSparseTextureMappingMode, regions: UnsafePointer<MTLRegion>, mipLevels: UnsafePointer<Int>, slices: UnsafePointer<Int>, numRegions: number):void;
        /**
         * Updates the given fence to capture all GPU work that the command encoder has enqueued up to this  point.
         */
        update(fence: MTLFence):void;
        /**
         * Prevents the command encoder from enqueuing further GPU commands until the given fence is reached.
         */
        wait(fence: MTLFence):void;
        moveTextureMappings(sourceTexture: MTLTexture, sourceSlice: number, sourceLevel: number, sourceOrigin: MTLOrigin, sourceSize: MTLSize, destinationTexture: MTLTexture, destinationSlice: number, destinationLevel: number, destinationOrigin: MTLOrigin):void;
    }
    export enum MTLSparseTextureMappingMode {
        map = 0,
        unmap = 1,
    }
    export class MTLMapIndirectArguments {
        /**
         * The x coordinate of the region to change, measured in tile coordinates.
         */
        regionOriginX: UInt32;
        /**
         * The y coordinate of the region to change, measured in tile coordinates.
         */
        regionOriginY: UInt32;
        /**
         * The z coordinate of the region to change, measured in tile coordinates.
         */
        regionOriginZ: UInt32;
        /**
         * The width of the region, measured in tile coordinates.
         */
        regionSizeWidth: UInt32;
        /**
         * The height of the region, measured in tile coordinates.
         */
        regionSizeHeight: UInt32;
        /**
         * The depth of the region, measured in tile coordinates.
         */
        regionSizeDepth: UInt32;
        /**
         * The mipmap to change.
         */
        mipMapLevel: UInt32;
        /**
         * The texture slice to change.
         */
        sliceId: UInt32;
        /**
         * Returns a default data layout for mapping sparse texture regions.
         */
        constructor ();
        /**
         * Returns a new data layout for mapping sparse texture regions.
         */
        constructor (regionOriginX: UInt32, regionOriginY: UInt32, regionOriginZ: UInt32, regionSizeWidth: UInt32, regionSizeHeight: UInt32, regionSizeDepth: UInt32, mipMapLevel: UInt32, sliceId: UInt32);
    }
    export interface MTLHeap extends NSObjectProtocol {
        /**
         * The device object that created the heap.
         */
        device: MTLDevice;
        /**
         * A string that identifies the heap.
         */
        label: string;
        /**
         * The heap's type.
         */
        type: MTLHeapType;
        /**
         * The heap's storage mode.
         */
        storageMode: MTLStorageMode;
        /**
         * The heap's CPU cache mode.
         */
        cpuCacheMode: MTLCPUCacheMode;
        /**
         * The heap's hazard tracking mode.
         */
        hazardTrackingMode: MTLHazardTrackingMode;
        /**
         * The options for resources created by the heap.
         */
        resourceOptions: MTLResourceOptions;
        /**
         * The total size of the heap, in bytes.
         */
        size: number;
        /**
         * The size of all resources currently in the heap, in bytes.
         */
        usedSize: number;
        /**
         * The size, in bytes, of the current heap allocation.
         */
        currentAllocatedSize: number;
        /**
         * The maximum size of a resource, in bytes, that can be currently allocated from the heap.
         */
        maxAvailableSize(alignment: number):number;
        /**
         * Sets the purgeable state of the heap.
         */
        setPurgeableState(state: MTLPurgeableState):MTLPurgeableState;
        /**
         * Creates a buffer on the heap.
         */
        makeBuffer(length: number, options: MTLResourceOptions):MTLBuffer | null;
        /**
         * Creates a texture on the heap.
         */
        makeTexture(desc: MTLTextureDescriptor):MTLTexture | null;
        makeAccelerationStructure(descriptor: MTLAccelerationStructureDescriptor):MTLAccelerationStructure | null;
    }
    export class MTLDynamicLibraryError {
        /**
         * An error code that represents the absence of any problems.
         */
        static none: MTLDynamicLibraryError.Code;
        /**
         * An error code that indicates an app is using an invalid reference to a library file, typically related to a URL.
         */
        static invalidFile: MTLDynamicLibraryError.Code;
        /**
         * An error code that indicates Metal couldn’t compile a dynamic library.
         */
        static compilationFailure: MTLDynamicLibraryError.Code;
        /**
         * An error code that indicates Metal couldn’t resolve the installation name for a new dynamic library.
         */
        static unresolvedInstallName: MTLDynamicLibraryError.Code;
        /**
         * An error code that indicates a dynamic library couldn’t link to other dynamic libraries.
         */
        static dependencyLoadFailure: MTLDynamicLibraryError.Code;
        /**
         * An error code that indicates the GPU device doesn’t support dynamic libraries.
         */
        static unsupported: MTLDynamicLibraryError.Code;
        /**
         * The current dynamic library error domain.
         */
        static errorDomain: string;
        /**
         * An integer value that represents a dynamic library error.
         */
        errorCode: number;
        /**
         * A dictionary of additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * An integer value that represents the error.
         */
        code: Code;
        /**
         * A dictionary of additional information.
         */
        userInfo: Record<string, any>;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a dynamic library error with an error code.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MTLDynamicLibraryError
     */
    export namespace MTLDynamicLibraryError {
        export enum Code {
            none = 0,
            invalidFile = 1,
            compilationFailure = 2,
            unresolvedInstallName = 3,
            dependencyLoadFailure = 4,
            unsupported = 5,
        }
    }
    export enum MTLHeapType {
        automatic = 0,
        placement = 1,
        sparse = 2,
    }
    export class MTLHeapDescriptor extends NSObject {
        /**
         * The type of heap to create.
         */
        type: MTLHeapType;
        /**
         * The storage mode for the heap.
         */
        storageMode: MTLStorageMode;
        /**
         * The CPU cache mode for the heap.
         */
        cpuCacheMode: MTLCPUCacheMode;
        /**
         * The heap's hazard tracking mode.
         */
        hazardTrackingMode: MTLHazardTrackingMode;
        /**
         * The options for all the resources you create on the heap. 
         */
        resourceOptions: MTLResourceOptions;
        /**
         * The size of the heap, in bytes.
         */
        size: number;
        sparsePageSize: MTLSparsePageSize;
    }
    export interface MTLIOCommandQueue extends NSObjectProtocol {
        /**
         * Creates an input/output command buffer for the command queue.
         */
        makeCommandBuffer():MTLIOCommandBuffer;
        /**
         * Creates an input/output command buffer for the command queue that doesn’t retain the instances you pass to its methods.
         */
        makeCommandBufferWithUnretainedReferences():MTLIOCommandBuffer;
        /**
         * Appends a barrier that tells the input/output command queue to finish running all in-flight command buffers before running any new command buffers.
         */
        enqueueBarrier():void;
        /**
         * An optional name for the input/output command queue.
         */
        label: string;
    }
    export class MTLIOCommandQueueDescriptor extends NSObject {
        /**
         * Configures the priority for a new input/output command queue.
         */
        priority: MTLIOPriority;
        /**
         * Configures the queue type for a new input/output command queue.
         */
        type: MTLIOCommandQueueType;
        /**
         * Sets the largest number of individual commands that an input/output command queue can run at a time.
         */
        maxCommandsInFlight: number;
        /**
         * Sets the largest number of outstanding input/output command buffers a queue can have at any point in time.
         */
        maxCommandBufferCount: number;
        /**
         * An optional memory allocator that you implement to manage the scratch memory that an input/output command queue requests.
         */
        scratchBufferAllocator: MTLIOScratchBufferAllocator | null;
    }
    export enum MTLIOPriority {
        normal = 1,
        low = 2,
        high = 0,
    }
    export enum MTLIOCommandQueueType {
        concurrent = 0,
        serial = 1,
    }
    export interface MTLIOScratchBufferAllocator extends NSObjectProtocol {
        /**
         * Creates a scratch memory buffer for an input/output command queue.
         */
        makeScratchBuffer(minimumSize: number):MTLIOScratchBuffer | null;
    }
    export interface MTLIOScratchBuffer extends NSObjectProtocol {
        /**
         * A Metal buffer that serves as scratch memory for an input/output command queue.
         */
        buffer: MTLBuffer;
    }
    export interface MTLIOCommandBuffer extends NSObjectProtocol {
        /**
         * Encodes a command that loads data from a file handle into a GPU buffer.
         */
        load(buffer: MTLBuffer, offset: number, size: number, sourceHandle: MTLIOFileHandle, sourceHandleOffset: number):void;
        /**
         * Encodes a command that loads data from a file handle into CPU-accessible memory buffer.
         */
        loadBytes(pointer: UnsafeMutableRawPointer, size: number, sourceHandle: MTLIOFileHandle, sourceHandleOffset: number):void;
        /**
         * Encodes a barrier into the command buffer.
         */
        addBarrier():void;
        /**
         * Encodes a command that signals a shared event to other parts of your app.
         */
        signalEvent(event: MTLSharedEvent, value: UInt64):void;
        /**
         * Encodes a command that pauses the command buffer’s execution until another part of your app signals a shared event.
         */
        waitForEvent(event: MTLSharedEvent, value: UInt64):void;
        /**
         * Encodes a command that writes the input/output command buffer’s status to a buffer.
         */
        copyStatus(buffer: MTLBuffer, offset: number):void;
        /**
         * Adds a closure that Metal calls immediately after the GPU finishes executing the commands in the input/output command buffer.
         */
        addCompletedHandler(block: MTLIOCommandBufferHandler):void;
        /**
         * Submits the command buffer to the queue for execution on the GPU.
         */
        commit():void;
        /**
         * Reserves a place for the input/output command buffer in the input/output command queue without committing the command buffer.
         */
        enqueue():void;
        /**
         * Submits a request to abandon a command buffer the queue is currently running.
         */
        tryCancel():void;
        /**
         * Blocks the current thread until the GPU finishes executing the input/output command buffer and all of its completion handlers.
         */
        waitUntilCompleted():void;
        /**
         * Represents the state of the input/output command buffer.
         */
        status: MTLIOStatus;
        /**
         * Stores the details of an error when the GPU experienced a problem with the input/output command buffer.
         */
        error: Error | null;
        /**
         * An optional name for the input/output command buffer.
         */
        label: string;
        /**
         * Sets the current name for this input/output command encoder by adding it to the top of the debug name stack.
         */
        pushDebugGroup(_string: string):void;
        /**
         * Restores the previous name for this input/output command encoder by removing the top item of the debug name stack.
         */
        popDebugGroup():void;
    }
    export interface MTLIOFileHandle extends NSObjectProtocol {
        /**
         * An optional name for the file that the handle represents.
         */
        label: string;
    }
    export enum MTLIOStatus {
        pending = 0,
        complete = 3,
        cancelled = 1,
        error = 2,
    }
    export class MTLIOError {
        /**
         * An error that represents a problem with a file URL.
         */
        static urlInvalid: MTLIOError.Code;
        /**
         * An error that represents a problem internal to the Metal framework.
         */
        static internal: MTLIOError.Code;
        /**
         * The current error domain for input/output command queues.
         */
        static errorDomain: string;
        /**
         * An integer value that represents an error case.
         */
        errorCode: number;
        /**
         * A dictionary of additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * An integer value that represents the code.
         */
        code: Code;
        /**
         * A dictionary of additional information.
         */
        userInfo: Record<string, any>;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates an input/output command queue error with an error code.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MTLIOError
     */
    export namespace MTLIOError {
        export enum Code {
            urlInvalid = 1,
            internal = 2,
        }
    }
    export enum MTLIOCompressionMethod {
        zlib = 0,
        lzfse = 1,
        lz4 = 2,
        lzma = 3,
        lzBitmap = 4,
    }
    export enum MTLIOCompressionStatus {
        complete = 0,
        error = 1,
    }
    export class MTLRenderStages {
        /**
         * The vertex rendering stage.
         */
        static vertex: MTLRenderStages;
        /**
         * The fragment rendering stage.
         */
        static fragment: MTLRenderStages;
        /**
         * The tile rendering stage.
         */
        static tile: MTLRenderStages;
        static mesh: MTLRenderStages;
        static object: MTLRenderStages;
        /**
         * Initializes a render stage from a raw value.
         */
        constructor (rawValue: number);
    }
    export class MTLBarrierScope {
        /**
         * The barrier affects any buffer objects.
         */
        static buffers: MTLBarrierScope;
        /**
         * The barrier affects any render targets.
         */
        static renderTargets: MTLBarrierScope;
        /**
         * The barrier affects textures.
         */
        static textures: MTLBarrierScope;
        constructor (rawValue: number);
    }
    export interface MTLFence extends NSObjectProtocol {
        /**
         * The device object that created the fence.
         */
        device: MTLDevice;
        /**
         * A string that identifies the fence.
         */
        label: string;
    }
    export interface MTLEvent extends NSObjectProtocol {
        /**
         * The device object that created the event.
         */
        device: MTLDevice | null;
        /**
         * A string that identifies the event.
         */
        label: string;
    }
    export interface MTLSharedEvent extends MTLEvent {
        /**
         * The current signal value for the shareable event.
         */
        signaledValue: UInt64;
        /**
         * Schedules a notification handler to be called after the shareable event’s signal value equals or exceeds a given value.
         */
        notify(listener: MTLSharedEventListener, value: UInt64, block: MTLSharedEventNotificationBlock):void;
        /**
         * Creates a new shareable event handle.
         */
        makeSharedEventHandle():MTLSharedEventHandle;
    }
    export class MTLSharedEventHandle extends NSObject {
        /**
         * A string that identifies the shareable event.
         */
        label: string;
    }
    export class MTLSharedEventListener extends NSObject {
        /**
         * The dispatch queue used to dispatch any notifications.
         */
        dispatchQueue: DispatchQueue;
        /**
         * Creates a new shareable event listener.
         */
        constructor ();
        /**
         * Creates a new shareable event listener with a specific dispatch queue.
         */
        constructor (dispatchQueue: DispatchQueue);
    }
    export interface MTLLibrary extends NSObjectProtocol {
        /**
         * The installation name for a dynamic library.
         */
        installName: string;
        /**
         * The library’s basic type.
         */
        type: MTLLibraryType;
        /**
         * The names of all public functions in the library.
         */
        functionNames: string[];
        /**
         * Creates an object that represents a shader function in the library.
         */
        makeFunction(functionName: string):MTLFunction | null;
        /**
         * Asynchronously creates an object representing a ray-tracing intersection function, using the specified descriptor.
         */
        makeIntersectionFunction(descriptor: MTLIntersectionFunctionDescriptor, completionHandler: ()=>any):void;
        /**
         * The Metal device object that created the library.
         */
        device: MTLDevice;
        /**
         * A string that identifies the library.
         */
        label: string;
    }
    export interface MTLDynamicLibrary extends NSObjectProtocol {
        /**
         * The Metal device object that created the dynamic library.
         */
        device: MTLDevice;
        /**
         * A file path for this dynamic library.
         */
        installName: string;
        /**
         * A string that identifies the library.
         */
        label: string;
        /**
         * Writes the contents of the dynamic library to a file.
         */
        serialize(url: URL):void;
    }
    export interface MTLBinaryArchive extends NSObjectProtocol {
        /**
         * The Metal device object that created the binary archive.
         */
        device: MTLDevice;
        /**
         * A string that identifies the library.
         */
        label: string;
        /**
         * Adds a description of a compute pipeline to the archive.
         */
        addComputePipelineFunctions(descriptor: MTLComputePipelineDescriptor):void;
        /**
         * Adds a description of a render pipeline to the archive.
         */
        addRenderPipelineFunctions(descriptor: MTLRenderPipelineDescriptor):void;
        /**
         * Adds a description of a tile renderer pipeline to the archive.
         */
        addTileRenderPipelineFunctions(descriptor: MTLTileRenderPipelineDescriptor):void;
        /**
         * Adds a description of a function to the archive. 
         */
        addFunction(descriptor: MTLFunctionDescriptor, library: MTLLibrary):void;
        /**
         * Writes the contents of the archive to a file.
         */
        serialize(url: URL):void;
    }
    export class MTLCompileOptions extends NSObject {
        /**
         * A Boolean value that indicates whether the compiler can perform optimizations for floating-point arithmetic that may violate the IEEE 754 standard.
         */
        fastMathEnabled: boolean;
        /**
         * A Boolean value that indicates whether the compiler should compile vertex shaders conservatively to generate consistent position calculations.
         */
        preserveInvariance: boolean;
        /**
         * The language version used to interpret the library source code.
         */
        languageVersion: MTLLanguageVersion;
        /**
         * A list of preprocessor macros to apply when compiling the library source.
         */
        preprocessorMacros: Record<string, NSObject> | null;
        /**
         * An option that tells the compiler what to prioritize when it compiles Metal shader code.
         */
        optimizationLevel: MTLLibraryOptimizationLevel;
        /**
         * An array of dynamic libraries the Metal compiler links against.
         */
        libraries: MTLDynamicLibrary[] | null;
        /**
         * The kind of library to create.
         */
        libraryType: MTLLibraryType;
        /**
         * For a dynamic library, the name to use when installing the library.
         */
        installName: string;
    }
    export enum MTLLibraryType {
        executable = 0,
        dynamic = 1,
    }
    export enum MTLLanguageVersion {
        version1_0 = 65536,
        version1_1 = 65537,
        version1_2 = 65538,
        version2_0 = 131072,
        version2_1 = 131073,
        version2_2 = 131074,
        version2_3 = 131075,
        version2_4 = 131076,
        version3_0 = 196608,
    }
    export enum MTLLibraryOptimizationLevel {
        default = 0,
        size = 1,
    }
    export class MTLFunctionDescriptor extends NSObject {
        /**
         * The name of the function to fetch from the library.
         */
        name: string;
        /**
         * A new name for the created function object.
         */
        specializedName: string;
        /**
         * The set of constant values assigned to the function constants.
         */
        constantValues: MTLFunctionConstantValues | null;
        /**
         * Flags specifying how Metal should create the new function object.
         */
        options: MTLFunctionOptions;
        /**
         * The binary archives to search for a previously-compiled version of this function.
         */
        binaryArchives: MTLBinaryArchive[] | null;
    }
    export class MTLFunctionOptions {
        /**
         * An option that tells Metal to compile the function to a binary format for dynamic linking.
         */
        static compileToBinary: MTLFunctionOptions;
        /**
         * Creates a new function options structure from a raw value.
         */
        constructor (rawValue: number);
    }
    export class MTLLinkedFunctions extends NSObject {
        /**
         * An array of function objects to link to the new function.
         */
        functions: MTLFunction[] | null;
        /**
         * An array of function objects already compiled to a binary representation to link.
         */
        binaryFunctions: MTLFunction[] | null;
        /**
         * An optional list of groups specifying which functions your shader can call at each call site.
         */
        groups: Record<string, MTLFunction[]> | null;
        /**
         * An array of function objects to link to the new function, without exporting the functions publicly.
         */
        privateFunctions: MTLFunction[] | null;
    }
    export interface MTLFunction extends NSObjectProtocol {
        /**
         * The device object that created the shader function.
         */
        device: MTLDevice;
        /**
         * A string that identifies the shader function.
         */
        label: string;
        /**
         * The shader function’s type.
         */
        functionType: MTLFunctionType;
        /**
         * The function’s name.
         */
        name: string;
        /**
         * The options that Metal used to compile this function.
         */
        options: MTLFunctionOptions;
        /**
         * The tessellation patch type of a post-tessellation vertex function.
         */
        patchType: MTLPatchType;
        /**
         * The number of patch control points in the post-tessellation vertex function.
         */
        patchControlPointCount: number;
        /**
         * An array that describes the vertex input attributes to a vertex function.
         */
        vertexAttributes: MTLVertexAttribute[] | null;
        /**
         * An array that describes the input attributes to the function. 
         */
        stageInputAttributes: MTLAttribute[] | null;
        /**
         * A dictionary of function constants for a specialized function. 
         */
        functionConstantsDictionary: Record<string, MTLFunctionConstant>;
        /**
         * Creates an argument encoder for an argument buffer that’s one of this function's arguments.
         */
        makeArgumentEncoder(bufferIndex: number):MTLArgumentEncoder;
    }
    export enum MTLFunctionType {
        vertex = 1,
        fragment = 2,
        kernel = 3,
        intersection = 6,
        visible = 5,
        mesh = 7,
        object = 8,
    }
    export enum MTLPatchType {
        none = 0,
        triangle = 1,
        quad = 2,
    }
    export interface MTLFunctionHandle extends NSObjectProtocol {
        /**
         * The device object that created the shader function.
         */
        device: MTLDevice;
        /**
         * The shader function’s type.
         */
        functionType: MTLFunctionType;
        /**
         * The function’s name.
         */
        name: string;
    }
    export class MTLVisibleFunctionTableDescriptor extends NSObject {
        /**
         * The number of entries in the function table.
         */
        functionCount: number;
    }
    export interface MTLVisibleFunctionTable extends MTLResource {
        /**
         * Sets a table entry to point to a callable function.
         */
        setFunction(_function: MTLFunctionHandle | null, index: number):void;
        /**
         * Sets a range of table entries to point to an array of callable functions.
         */
        setFunctions(functions: MTLFunctionHandle | null[], range: Range<Int>):void;
        gpuResourceID: MTLResourceID;
    }
    export class MTLBinaryArchiveDescriptor extends NSObject {
        /**
         * A URL to a Metal binary archive file.
         */
        url: URL | null;
    }
    export class MTLStitchedLibraryDescriptor extends NSObject {
        /**
         * The list of functions for creating the stitched library.
         */
        functions: MTLFunction[];
        /**
         * The function graphs that define the new stitched library’s functions.
         */
        functionGraphs: MTLFunctionStitchingGraph[];
    }
    export class MTLFunctionStitchingGraph extends NSObject {
        /**
         * The name of the new stitched function.
         */
        functionName: string;
        /**
         * The nodes in the function’s call graph.
         */
        nodes: MTLFunctionStitchingFunctionNode[];
        /**
         * The node with the output that’s the output of the new stitched function.
         */
        outputNode: MTLFunctionStitchingFunctionNode | null;
        /**
         * A list of attributes to configure how the Metal device object generates the new stitched function.
         */
        attributes: MTLFunctionStitchingAttribute[];
        /**
         * Creates a description of a new function call graph.
         */
        constructor (functionName: string, nodes: MTLFunctionStitchingFunctionNode[], outputNode: MTLFunctionStitchingFunctionNode | null, attributes: MTLFunctionStitchingAttribute[]);
    }
    export class MTLFunctionStitchingInputNode extends NSObject {
        /**
         * The index in the command’s buffer argument table that declares which data to read for this input node.
         */
        argumentIndex: number;
        /**
         * Creates a new input node.
         */
        constructor (argument: number);
    }
    export class MTLFunctionStitchingFunctionNode extends NSObject {
        /**
         * The name of the function to call.
         */
        name: string;
        /**
         * An ordered list of the nodes that provide the function’s arguments.
         */
        arguments: MTLFunctionStitchingNode[];
        /**
         * The list of nodes that must execute before executing the node.
         */
        controlDependencies: MTLFunctionStitchingFunctionNode[];
        /**
         * Creates a new function node.
         */
        constructor (name: string, arguments: MTLFunctionStitchingNode[], controlDependencies: MTLFunctionStitchingFunctionNode[]);
    }
    export class MTLBinaryArchiveError {
        /**
         * An error code that represents the absence of any problems.
         */
        static none: MTLBinaryArchiveError.Code;
        /**
         * An error code that indicates an app is using an invalid reference to an archive file, typically related to a URL.
         */
        static invalidFile: MTLBinaryArchiveError.Code;
        /**
         * An error code that indicates the archive’s inability to compile its contents, typically when serializing it to a URL.
         */
        static compilationFailure: MTLBinaryArchiveError.Code;
        /**
         * An error code that indicates a problem with a configuration, typically in a descriptor or an archive’s inability to add linked functions.
         */
        static unexpectedElement: MTLBinaryArchiveError.Code;
        /**
         * An error code that indicates the Metal framework has an internal problem.
         */
        static internalError: MTLBinaryArchiveError.Code;
        /**
         * The current binary archive error domain.
         */
        static errorDomain: string;
        /**
         * An integer value that represents a binary shader archive error.
         */
        errorCode: number;
        /**
         * A dictionary of additional information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * An integer value that represents the error.
         */
        code: Code;
        /**
         * A dictionary of additional information.
         */
        userInfo: Record<string, any>;
        /**
         * The hashed value of the error.
         */
        hashValue: number;
        /**
         * Creates a binary archive error with an error code.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MTLBinaryArchiveError
     */
    export namespace MTLBinaryArchiveError {
        export enum Code {
            none = 0,
            invalidFile = 1,
            compilationFailure = 3,
            unexpectedElement = 2,
            internalError = 4,
        }
    }
    export interface MTLFunctionStitchingNode extends NSCopying,NSObjectProtocol {}
    export class MTLFunctionStitchingAttributeAlwaysInline extends NSObject {}
    export interface MTLFunctionStitchingAttribute extends NSObjectProtocol {}
    export class MTLFunctionConstant extends NSObject {
        /**
         * The name of the function constant.
         */
        name: string;
        /**
         * The data type of the function constant.
         */
        type: MTLDataType;
        /**
         * The index of the function constant.
         */
        index: number;
        /**
         * A Boolean value indicating whether the function constant must be provided to specialize the function.
         */
        required: boolean;
    }
    export class MTLFunctionConstantValues extends NSObject {
        /**
         * Sets a value for a function constant at a specific index.
         */
        setConstantValue(value: UnsafeRawPointer, type: MTLDataType, index: number):void;
        /**
         * Sets values for a group of function constants within a specific index range.
         */
        setConstantValues(values: UnsafeRawPointer, type: MTLDataType, range: Range<Int>):void;
        /**
         * Deletes all previously set constant values.
         */
        reset():void;
    }
    export class MTLComputePipelineReflection extends NSObject {
        /**
         * An array of objects that describe the arguments of a compute function.
         */
        arguments: MTLArgument[];
        bindings: MTLBinding[];
    }
    export class MTLRenderPipelineReflection extends NSObject {
        /**
         * An array of objects that describe the arguments of a vertex function.
         */
        vertexArguments: MTLArgument[] | null;
        /**
         * An array of objects that describe the arguments of a fragment function.
         */
        fragmentArguments: MTLArgument[] | null;
        /**
         * An array of objects that describe the arguments of a tile shading function.
         */
        tileArguments: MTLArgument[] | null;
        fragmentBindings: MTLBinding[];
        meshBindings: MTLBinding[];
        objectBindings: MTLBinding[];
        tileBindings: MTLBinding[];
        vertexBindings: MTLBinding[];
    }
    export enum MTLBindingType {
        buffer = 0,
        imageblock = 17,
        imageblockData = 16,
        instanceAccelerationStructure = 26,
        intersectionFunctionTable = 27,
        objectPayload = 34,
        primitiveAccelerationStructure = 25,
        sampler = 3,
        texture = 2,
        threadgroupMemory = 1,
        visibleFunctionTable = 24,
    }
    export interface MTLBinding extends NSObjectProtocol {
        access: MTLArgumentAccess;
        index: number;
        isArgument: boolean;
        isUsed: boolean;
        name: string;
        type: MTLBindingType;
    }
    export interface MTLBufferBinding extends MTLBinding {
        bufferAlignment: number;
        bufferDataSize: number;
        bufferDataType: MTLDataType;
        bufferPointerType: MTLPointerType | null;
        bufferStructType: MTLStructType | null;
    }
    export interface MTLTextureBinding extends MTLBinding {
        arrayLength: number;
        isDepthTexture: boolean;
        textureDataType: MTLDataType;
        textureType: MTLTextureType;
    }
    export interface MTLThreadgroupBinding extends MTLBinding {
        threadgroupMemoryAlignment: number;
        threadgroupMemoryDataSize: number;
    }
    export interface MTLObjectPayloadBinding extends MTLBinding {
        objectPayloadAlignment: number;
        objectPayloadDataSize: number;
    }
    export class MTLArgument extends NSObject {
        /**
         * The name of the argument.
         */
        name: string;
        /**
         * A Boolean that indicates whether the compiled function uses the argument.
         */
        isActive: boolean;
        /**
         * The index in the argument table that corresponds to the function argument.
         */
        index: number;
        /**
         * The argument’s resource type.
         */
        type: MTLArgumentType;
        /**
         * The argument's read and/or write access.
         */
        access: MTLArgumentAccess;
        /**
         * The required byte alignment in memory for the buffer data.
         */
        bufferAlignment: number;
        /**
         * The size, in bytes, of the buffer data.
         */
        bufferDataSize: number;
        /**
         * The data type of the buffer data.
         */
        bufferDataType: MTLDataType;
        /**
         * A description of the structure data of a buffer argument.
         */
        bufferStructType: MTLStructType | null;
        /**
         * A description of the pointer to a buffer argument.
         */
        bufferPointerType: MTLPointerType | null;
        /**
         * The data type of a texture argument.
         */
        textureDataType: MTLDataType;
        /**
         * The texture type of a texture argument.
         */
        textureType: MTLTextureType;
        /**
         * A Boolean value that indicates whether the texture is a depth texture.
         */
        isDepthTexture: boolean;
        /**
         * The number of elements, if the argument is an array.
         */
        arrayLength: number;
        /**
         * The required byte alignment in memory for the threadgroup data.
         */
        threadgroupMemoryAlignment: number;
        /**
         * The size, in bytes, of the threadgroup data.
         */
        threadgroupMemoryDataSize: number;
    }
    export enum MTLArgumentType {
        buffer = 0,
        threadgroupMemory = 1,
        texture = 2,
        sampler = 3,
        imageblock = 17,
        imageblockData = 16,
        visibleFunctionTable = 24,
        intersectionFunctionTable = 27,
        primitiveAccelerationStructure = 25,
        instanceAccelerationStructure = 26,
    }
    export enum MTLArgumentAccess {
        readOnly = 0,
        writeOnly = 2,
        readWrite = 1,
    }
    export class MTLAttribute extends NSObject {
        /**
         * The name of the attribute.
         */
        name: string;
        /**
         * The index of the attribute, as declared in Metal shader source code.
         */
        attributeIndex: number;
        /**
         * The data type for the attribute, as declared in Metal shader source code.
         */
        attributeType: MTLDataType;
        /**
         * A Boolean value that indicates whether the attribute is active.
         */
        isActive: boolean;
        /**
         * A Boolean value that indicates whether the attribute represents control point data.
         */
        isPatchControlPointData: boolean;
        /**
         * A Boolean value that indicates whether the attribute represents tessellation patch data.
         */
        isPatchData: boolean;
    }
    export class MTLVertexAttribute extends NSObject {
        /**
         * The name of the attribute.
         */
        name: string;
        /**
         * The index of the attribute, as declared in Metal shader source code.
         */
        attributeIndex: number;
        /**
         * The data type for the attribute, as declared in Metal shader source code.
         */
        attributeType: MTLDataType;
        /**
         * A Boolean value that indicates whether this vertex attribute is active.
         */
        isActive: boolean;
        /**
         * A Boolean value that indicates whether this vertex attribute represents control point data.
         */
        isPatchControlPointData: boolean;
        /**
         * A Boolean value that indicates whether this vertex attribute represents patch data.
         */
        isPatchData: boolean;
    }
    export class MTLType extends NSObject {
        /**
         * The data type of the function argument.
         */
        dataType: MTLDataType;
    }
    export enum MTLDataType {
        bool = 53,
        bool2 = 54,
        bool3 = 55,
        bool4 = 56,
        char = 45,
        char2 = 46,
        char3 = 47,
        char4 = 48,
        uchar = 49,
        uchar2 = 50,
        uchar3 = 51,
        uchar4 = 52,
        short = 37,
        short2 = 38,
        short3 = 39,
        short4 = 40,
        ushort = 41,
        ushort2 = 42,
        ushort3 = 43,
        ushort4 = 44,
        int = 29,
        int2 = 30,
        int3 = 31,
        int4 = 32,
        uint = 33,
        uint2 = 34,
        uint3 = 35,
        uint4 = 36,
        long = 81,
        long2 = 82,
        long3 = 83,
        long4 = 84,
        ulong = 85,
        ulong2 = 86,
        ulong3 = 87,
        ulong4 = 88,
        float = 3,
        float2 = 4,
        float3 = 5,
        float4 = 6,
        float2x2 = 7,
        float2x3 = 8,
        float2x4 = 9,
        float3x2 = 10,
        float3x3 = 11,
        float3x4 = 12,
        float4x2 = 13,
        float4x3 = 14,
        float4x4 = 15,
        half = 16,
        half2 = 17,
        half3 = 18,
        half4 = 19,
        half2x2 = 20,
        half2x3 = 21,
        half2x4 = 22,
        half3x2 = 23,
        half3x3 = 24,
        half3x4 = 25,
        half4x2 = 26,
        half4x3 = 27,
        half4x4 = 28,
        r8Snorm = 63,
        r8Unorm = 62,
        rg8Snorm = 67,
        rg8Unorm = 66,
        rgba8Snorm = 72,
        rgba8Unorm = 70,
        rgba8Unorm_srgb = 71,
        r16Snorm = 65,
        r16Unorm = 64,
        rg16Snorm = 69,
        rg16Unorm = 68,
        rgba16Snorm = 74,
        rgba16Unorm = 73,
        rgb9e5Float = 77,
        rgb10a2Unorm = 75,
        rg11b10Float = 76,
        texture = 58,
        sampler = 59,
        indirectCommandBuffer = 80,
        renderPipeline = 78,
        computePipeline = 79,
        visibleFunctionTable = 115,
        intersectionFunctionTable = 116,
        primitiveAccelerationStructure = 117,
        instanceAccelerationStructure = 118,
        none = 0,
        struct = 1,
        array = 2,
        pointer = 60,
    }
    export enum MTLFeatureSet {
        iOS_GPUFamily5_v1 = 16,
        iOS_GPUFamily4_v2 = 15,
        iOS_GPUFamily4_v1 = 11,
        iOS_GPUFamily3_v4 = 14,
        iOS_GPUFamily3_v3 = 10,
        iOS_GPUFamily3_v2 = 7,
        iOS_GPUFamily3_v1 = 4,
        iOS_GPUFamily2_v5 = 13,
        iOS_GPUFamily2_v4 = 9,
        iOS_GPUFamily2_v3 = 6,
        iOS_GPUFamily2_v2 = 3,
        iOS_GPUFamily2_v1 = 1,
        iOS_GPUFamily1_v5 = 12,
        iOS_GPUFamily1_v4 = 8,
        iOS_GPUFamily1_v3 = 5,
        iOS_GPUFamily1_v2 = 2,
        iOS_GPUFamily1_v1 = 0,
        tvOS_GPUFamily2_v2 = 30005,
        tvOS_GPUFamily2_v1 = 30003,
        tvOS_GPUFamily1_v4 = 30004,
        tvOS_GPUFamily1_v3 = 30002,
        tvOS_GPUFamily1_v2 = 30001,
        tvOS_GPUFamily1_v1 = 30000,
        macOS_GPUFamily2_v1 = 10005,
        macOS_GPUFamily1_v4 = 10004,
        macOS_GPUFamily1_v3 = 10003,
        macOS_GPUFamily1_v2 = 10001,
        macOS_GPUFamily1_v1 = 10000,
        macOS_ReadWriteTextureTier2 = 10002,
    }
    export class MTLArrayType extends MTLType {
        /**
         * The number of elements in the array.
         */
        arrayLength: number;
        /**
         * The data type of the array’s elements.
         */
        elementType: MTLDataType;
        /**
         * The stride between array elements, in bytes.
         */
        stride: number;
        /**
         * The stride, in bytes, between argument indices.
         */
        argumentIndexStride: number;
        /**
         * Provides a description of the underlying type when an array holds other arrays as its elements.
         */
        element():MTLArrayType | null;
        /**
         * Provides a description of the underlying struct type when an array holds structs as its elements.
         */
        elementStructType():MTLStructType | null;
        /**
         * Provides a description of the underlying pointer type when an array holds pointers as its elements.
         */
        elementPointerType():MTLPointerType | null;
        /**
         * Provides a description of the underlying texture type when an array holds textures as its elements.
         */
        elementTextureReferenceType():MTLTextureReferenceType | null;
    }
    export class MTLStructType extends MTLType {
        /**
         * An array of objects that describe the fields in the struct. 
         */
        members: MTLStructMember[];
        /**
         * Provides a representation of a struct member.
         */
        memberByName(name: string):MTLStructMember | null;
    }
    export class MTLStructMember extends NSObject {
        /**
         * The name of the struct member.
         */
        name: string;
        /**
         * The data type of the struct member.
         */
        dataType: MTLDataType;
        /**
         * The location of this member relative to the start of its struct, in bytes.
         */
        offset: number;
        /**
         * The index in the argument table that corresponds to the struct member.
         */
        argumentIndex: number;
        /**
         * Provides a description of the underlying array when the struct member holds an array.
         */
        arrayType():MTLArrayType | null;
        /**
         * Provides a description of the underlying struct when the struct member holds a struct.
         */
        structType():MTLStructType | null;
        /**
         * Provides a description of the underlying pointer when the struct member holds a pointer.
         */
        pointerType():MTLPointerType | null;
        /**
         * Provides a description of the underlying texture when the struct member holds a texture.
         */
        textureReferenceType():MTLTextureReferenceType | null;
    }
    export class MTLPointerType extends MTLType {
        /**
         * The required byte alignment in memory for the element data.
         */
        alignment: number;
        /**
         * The size, in bytes, of the element data.
         */
        dataSize: number;
        /**
         * The data type of the element data.
         */
        elementType: MTLDataType;
        /**
         * The function’s read/write access to the element data.
         */
        access: MTLArgumentAccess;
        /**
         * A Boolean value that indicates whether the element is an argument buffer.
         */
        elementIsArgumentBuffer: boolean;
        /**
         * Provides a description of the underlying array when the pointer points to an array.
         */
        elementArrayType():MTLArrayType | null;
        /**
         * Provides a description of the underlying struct when the pointer points to a struct.
         */
        elementStructType():MTLStructType | null;
    }
    export class MTLTextureReferenceType extends MTLType {
        /**
         * The texture type of the texture.
         */
        textureType: MTLTextureType;
        /**
         * The data type of the texture.
         */
        textureDataType: MTLDataType;
        /**
         * The texture's read/write access to the argument.
         */
        access: MTLArgumentAccess;
        /**
         * A Boolean value that indicates whether the texture is a depth texture.
         */
        isDepthTexture: boolean;
    }
    export class MTLLibraryError {
        /**
         * Metal couldn’t support the requested action.
         */
        static unsupported: MTLLibraryError.Code;
        /**
         * The action caused an internal error.
         */
        static internal: MTLLibraryError.Code;
        /**
         * The library or function failed to compile.
         */
        static compileFailure: MTLLibraryError.Code;
        /**
         * The library or function compiled successfully but generated warnings.
         */
        static compileWarning: MTLLibraryError.Code;
        /**
         * Metal couldn’t find the Metal source file.
         */
        static fileNotFound: MTLLibraryError.Code;
        /**
         * Metal couldn’t find the specified Metal function.
         */
        static functionNotFound: MTLLibraryError.Code;
        /**
         * The error domain used by Metal when returning library or function creation errors.
         */
        static errorDomain: string;
        /**
         * The error code that can result from the creation of Metal library or Metal function object.
         */
        errorCode: number;
        /**
         * The user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MTLLibraryError
     */
    export namespace MTLLibraryError {
        export enum Code {
            unsupported = 1,
            internal = 2,
            compileFailure = 3,
            compileWarning = 4,
            fileNotFound = 6,
            functionNotFound = 5,
        }
    }
    export class MTLDeviceNotificationName {
        /**
         * A notification that Metal sends to observers when the system adds a GPU device.
         */
        static wasAdded: MTLDeviceNotificationName;
        /**
         * A notification that Metal sends to observers when a person requests to remove a GPU device from the system.
         */
        static removalRequested: MTLDeviceNotificationName;
        /**
         * A notification that Metal sends to observers when the system removes a GPU device.
         */
        static wasRemoved: MTLDeviceNotificationName;
        /**
         * Creates a Metal device notification name from a string.
         */
        constructor (rawValue: string);
    }
    export interface MTLFunctionLog extends NSObjectProtocol {
        /**
         * The type of message that was logged.
         */
        type: MTLFunctionLogType;
        /**
         * If known, the location of the logging command within a shader source file.
         */
        debugLocation: MTLFunctionLogDebugLocation | null;
        /**
         * The label for the encoder that logged the message.
         */
        encoderLabel: string;
        /**
         * When known, the function object corresponding to the logged message.
         */
        function: MTLFunction | null;
    }
    export enum MTLFunctionLogType {
        validation = 0,
    }
    export interface MTLFunctionLogDebugLocation extends NSObjectProtocol {
        /**
         * The name of the shader function.
         */
        functionName: string;
        /**
         * The URL of the file that contains the shader function.
         */
        url: URL | null;
        /**
         * The line that the log message appears on.
         */
        line: number;
        /**
         * The column where the log message appears.
         */
        column: number;
    }
    export interface MTLCommandQueue extends NSObjectProtocol {
        /**
         * Creates a command buffer.
         */
        makeCommandBuffer():MTLCommandBuffer | null;
        /**
         * Creates a command buffer that doesn't hold strong references to any objects required to execute the command buffer.
         */
        makeCommandBufferWithUnretainedReferences():MTLCommandBuffer | null;
        /**
         * The device from which the command queue was created.
         */
        device: MTLDevice;
        /**
         * A string that identifies the command queue.
         */
        label: string;
        /**
         * Informs Xcode about when GPU Frame Capture starts and stops.
         */
        insertDebugCaptureBoundary():void;
    }
    export class MTLLogContainer {
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<MTLLogContainer>;
        publisher: any;
        /**
         * A value less than or equal to the number of elements in the sequence, calculated nondestructively.
         */
        underestimatedCount: number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
         */
        drop(predicate: Bool):DropWhileSequence<MTLLogContainer>;
        /**
         * Returns a sequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):DropFirstSequence<MTLLogContainer>;
        /**
         * Returns a sequence containing all but the given number of final elements.
         */
        dropLast(k: number):Element[];
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<MTLLogContainer>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Element[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):Element | null;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        makeIterator():MTLLogContainer.Iterator;
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Element | null;
        /**
         * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
         */
        prefix(maxLength: number):PrefixSequence<MTLLogContainer>;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Element[];
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Element[];
        /**
         * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<Element>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
         */
        suffix(maxLength: number):Element[];
    }
    /**
     * the same name namespace of class MTLLogContainer
     */
    export namespace MTLLogContainer {
        export class Iterator {
            next():MTLLogContainer.Element | null;
        }
    }
    export class MTLCaptureManager extends NSObject {
        /**
         * The capture scope to use when a capture is initiated in Xcode.
         */
        defaultCaptureScope: MTLCaptureScope | null;
        /**
         * A Boolean value that indicates whether Metal commands are being captured.
         */
        isCapturing: boolean;
        /**
         * Provides the shared capture manager for your Metal app.
         */
        static shared():MTLCaptureManager;
        /**
         * Checks to see whether a particular capture destination is supported.
         */
        supportsDestination(destination: MTLCaptureDestination):boolean;
        /**
         * Creates a capture scope for commands submitted to a specific device object.
         */
        makeCaptureScope(device: MTLDevice):MTLCaptureScope;
        /**
         * Starts capturing any of your app’s Metal commands, with the capture session defined by a descriptor object.
         */
        startCapture(descriptor: MTLCaptureDescriptor):void;
        /**
         * Stops capturing Metal commands.
         */
        stopCapture():void;
    }
    export class MTLCaptureDescriptor extends NSObject {
        /**
         * The object whose contents should be captured.
         */
        captureObject: any;
        /**
         * The destination for any captured command data.
         */
        destination: MTLCaptureDestination;
        /**
         * A URL for a file to write the capture data into.
         */
        outputURL: URL | null;
    }
    export interface MTLCaptureScope extends NSObjectProtocol {
        /**
         * Tells Metal to begin recording command information.
         */
        begin():void;
        /**
         * Tells Metal to stop recording command information.
         */
        end():void;
        /**
         * A string that identifies the capture scope.
         */
        label: string;
        /**
         * The device object from which you created the capture scope. 
         */
        device: MTLDevice;
        /**
         * The command queue that this capture scope uses to limit which commands are recorded. 
         */
        commandQueue: MTLCommandQueue | null;
    }
    export enum MTLCaptureDestination {
        developerTools = 1,
        gpuTraceDocument = 2,
    }
    export enum MTLCaptureError {
        alreadyCapturing = 2,
        invalidDescriptor = 3,
        notSupported = 1,
    }
    export class MTLCommandBufferDescriptor extends NSObject {
        /**
         * A Boolean value indicating whether the command buffer retains references to resources.
         */
        retainedReferences: boolean;
        /**
         * The error reporting mechanisms to use when errors occur during command execution.
         */
        errorOptions: MTLCommandBufferErrorOption;
    }
    export class MTLCounterSampleBufferDescriptor extends NSObject {
        /**
         * The counter set to sample.
         */
        counterSet: MTLCounterSet | null;
        /**
         * A label for the counter sample buffer.
         */
        label: string;
        /**
         * The number of samples that can be stored in the buffer.
         */
        sampleCount: number;
        /**
         * The storage mode to use for the sample buffer.
         */
        storageMode: MTLStorageMode;
    }
    export interface MTLCounterSampleBuffer extends NSObjectProtocol {
        /**
         * The device object that created the counter sample buffer.
         */
        device: MTLDevice;
        /**
         * A string that identifies the counter sample buffer.
         */
        label: string;
        /**
         * The number of samples in the buffer.
         */
        sampleCount: number;
        /**
         * Resolve the counters from a range of samples and copy them to memory.
         */
        resolveCounterRange(range: Range<Int>):Data | null;
    }
    export interface MTLCounter extends NSObjectProtocol {
        /**
         * The name of the counter.
         */
        name: string;
    }
    export interface MTLCounterSet extends NSObjectProtocol {
        /**
         * The name of the counter set.
         */
        name: string;
        /**
         * An array containing the counters in the counter set that the Metal device object supports.
         */
        counters: MTLCounter[];
    }
    export class MTLCommonCounter {
        /**
         * A counter that holds a timestamp.
         */
        static timestamp: MTLCommonCounter;
        /**
         * A counter that holds the number of cycles spent in vertex shaders.
         */
        static vertexCycles: MTLCommonCounter;
        /**
         * A counter that holds the number of cycles spent in fragment shaders.
         */
        static fragmentCycles: MTLCommonCounter;
        /**
         * A counter that holds the number of cycles spent in the tesselation stage.
         */
        static tessellationCycles: MTLCommonCounter;
        /**
         * A counter that holds the number of cycles spent in post-tessellation vertex shaders.
         */
        static postTessellationVertexCycles: MTLCommonCounter;
        /**
         * A counter that holds the number of cycles spent writing data to render targets.
         */
        static renderTargetWriteCycles: MTLCommonCounter;
        /**
         * A counter that holds the number of cycles spent in the GPU.
         */
        static totalCycles: MTLCommonCounter;
        /**
         * A counter that holds the number of vertices processed by the vertex shader.
         */
        static vertexInvocations: MTLCommonCounter;
        /**
         * A counter that holds the number of tessellation patches sent to the tessellation stage.
         */
        static tessellationInputPatches: MTLCommonCounter;
        /**
         * A counter that holds the number of vertices sent to the post-tessellation vertex shader.
         */
        static postTessellationVertexInvocations: MTLCommonCounter;
        /**
         * A counter that holds the number of primitives sent to the clip stage.
         */
        static clipperInvocations: MTLCommonCounter;
        /**
         * A counter that holds the number of primitives generated by the clip stage.
         */
        static clipperPrimitivesOut: MTLCommonCounter;
        /**
         * A counter that holds the number of fragments generated by the rasterizer.
         */
        static fragmentInvocations: MTLCommonCounter;
        /**
         * A counter that holds the number of fragments that pass the scissor, depth, and stencil tests.
         */
        static fragmentsPassed: MTLCommonCounter;
        /**
         * A counter that holds the number of compute kernel invocations.
         */
        static computeKernelInvocations: MTLCommonCounter;
        /**
         * Creates a counter from a raw value.
         */
        constructor (rawValue: string);
    }
    export class MTLCommandBufferErrorOption {
        /**
         * A command buffer that encodes additional details about specific errors that occurred during command execution.
         */
        static encoderExecutionStatus: MTLCommandBufferErrorOption;
        /**
         * Initializes a set of error options from a raw integer value.
         */
        constructor (rawValue: number);
    }
    export class MTLCommonCounterSet {
        /**
         * A counter set that measures GPU timestamps at different points in the pipeline.
         */
        static timestamp: MTLCommonCounterSet;
        /**
         * A counter set that measures hardware utilization as a measure of cycles spent in different stages.
         */
        static stageUtilization: MTLCommonCounterSet;
        /**
         * A counter set that measures workload processing statistics throughout pipeline stages.
         */
        static statistic: MTLCommonCounterSet;
        /**
         * Creates a common counter set from a raw value.
         */
        constructor (rawValue: string);
    }
    export class MTLCounterResultStageUtilization {
        /**
         * The total number of cycles spent in the render pass.
         */
        totalCycles: UInt64;
        /**
         * The number of cycles spent running vertex shaders.
         */
        vertexCycles: UInt64;
        /**
         * The number of cycles spent tessellating patches.
         */
        tessellationCycles: UInt64;
        /**
         * The number of cycles spent running post-tessellation vertex shaders.
         */
        postTessellationVertexCycles: UInt64;
        /**
         * The number of cycles spent running fragment shaders.
         */
        fragmentCycles: UInt64;
        /**
         * The number of cycles spent writing data to render targets.
         */
        renderTargetCycles: UInt64;
        /**
         * Initializes a default stage utilization result.
         */
        constructor ();
        /**
         * Initializes a stage utilization result with predetermined values.
         */
        constructor (totalCycles: UInt64, vertexCycles: UInt64, tessellationCycles: UInt64, postTessellationVertexCycles: UInt64, fragmentCycles: UInt64, renderTargetCycles: UInt64);
    }
    export class MTLCounterResultStatistic {
        /**
         * The number of tessellation patches passed into the tessellation stage.
         */
        tessellationInputPatches: UInt64;
        /**
         * The number of times vertex shaders were called.
         */
        vertexInvocations: UInt64;
        /**
         * The number of vertices created by the tessellation stage.
         */
        postTessellationVertexInvocations: UInt64;
        /**
         * The number of primitives sent to the clip stage.
         */
        clipperInvocations: UInt64;
        /**
         * The number of primitives emitted by the clip stage.
         */
        clipperPrimitivesOut: UInt64;
        /**
         * The number of times fragment shaders were called.
         */
        fragmentInvocations: UInt64;
        /**
         * The number of fragments passed to the visibility and blend stages.
         */
        fragmentsPassed: UInt64;
        /**
         * The number of times compute kernels were called.
         */
        computeKernelInvocations: UInt64;
        /**
         * Initializes a default statistics result.
         */
        constructor ();
        /**
         * Initializes a statistics result with predetermined values.
         */
        constructor (tessellationInputPatches: UInt64, vertexInvocations: UInt64, postTessellationVertexInvocations: UInt64, clipperInvocations: UInt64, clipperPrimitivesOut: UInt64, fragmentInvocations: UInt64, fragmentsPassed: UInt64, computeKernelInvocations: UInt64);
    }
    export interface MTLCommandBuffer extends NSObjectProtocol {
        /**
         * Creates an object from a descriptor to encode a rendering pass into the command buffer.
         */
        makeRenderCommandEncoder(renderPassDescriptor: MTLRenderPassDescriptor):MTLRenderCommandEncoder | null;
        /**
         * Creates an object that can split the work of encoding commands for a single render pass.
         */
        makeParallelRenderCommandEncoder(renderPassDescriptor: MTLRenderPassDescriptor):MTLParallelRenderCommandEncoder | null;
        /**
         * Creates an object from a descriptor to encode a compute pass into the command buffer.
         */
        makeComputeCommandEncoder(computePassDescriptor: MTLComputePassDescriptor):MTLComputeCommandEncoder | null;
        /**
         * Creates an object to encode a block information transfer (blit) pass into the command buffer.
         */
        makeBlitCommandEncoder():MTLBlitCommandEncoder | null;
        /**
         * Creates an object to encode a resource state pass into the command buffer.
         */
        makeResourceStateCommandEncoder():MTLResourceStateCommandEncoder | null;
        /**
         * Creates an object from a descriptor to encode resource state pass into the command buffer.
         */
        resourceStateCommandEncoder(resourceStatePassDescriptor: MTLResourceStatePassDescriptor):MTLResourceStateCommandEncoder | null;
        /**
         * Creates an object to encode an acceleration structure pass into the command buffer.
         */
        makeAccelerationStructureCommandEncoder():MTLAccelerationStructureCommandEncoder | null;
        /**
         * The device from which this command buffer was created.
         */
        device: MTLDevice;
        /**
         * The command queue that created the command buffer.
         */
        commandQueue: MTLCommandQueue;
        /**
         * A string that identifies this object.
         */
        label: string;
        /**
         * Reserves a place for the command buffer on the associated command queue.
         */
        enqueue():void;
        /**
         * Commits the command buffer for execution.
         */
        commit():void;
        /**
         * Registers a block of code that Metal calls immediately after it schedules the command buffer for execution on the GPU.
         */
        addScheduledHandler(block: MTLCommandBufferHandler):void;
        /**
         * Registers a block of code that Metal calls immediately after the GPU finishes executing the commands in the command buffer.
         */
        addCompletedHandler(block: MTLCommandBufferHandler):void;
        /**
         * Blocks execution of the current thread until the command buffer is scheduled.
         */
        waitUntilScheduled():void;
        /**
         * Blocks execution of the current thread until execution of the command buffer is completed.
         */
        waitUntilCompleted():void;
        /**
         * A string that identifies this object.
         */
        pushDebugGroup(_string: string):void;
        /**
         * A string that identifies this object.
         */
        popDebugGroup():void;
        /**
         * Registers a drawable presentation to occur as soon as possible.
         */
        present(drawable: MTLDrawable):void;
        /**
         * The current stage in the lifetime of the command buffer.
         */
        status: MTLCommandBufferStatus;
        /**
         * Settings that determine what and how the command buffer records information about execution errors.
         */
        errorOptions: MTLCommandBufferErrorOption;
        /**
         * The error that occurred when the command buffer was executed.
         */
        error: Error | null;
        /**
         * Logged messages that were recorded when the queue executed the command buffer.
         */
        logs: MTLLogContainer;
        /**
         * The host time, in seconds, when the CPU began scheduling this command buffer for execution.
         */
        kernelStartTime: CFTimeInterval;
        /**
         * The host time, in seconds, when the CPU finished scheduling this command buffer for execution.
         */
        kernelEndTime: CFTimeInterval;
        /**
         * The host time, in seconds, when the GPU began executing this command buffer.
         */
        gpuStartTime: CFTimeInterval;
        /**
         * The host time, in seconds, when the GPU finished executing this command buffer.
         */
        gpuEndTime: CFTimeInterval;
        /**
         * Encodes a command that signals the given event, updating it to a new value.
         */
        encodeSignalEvent(event: MTLEvent, value: UInt64):void;
        /**
         * Encodes a command that blocks the execution of the command buffer until the given event reaches the given value.
         */
        encodeWaitForEvent(event: MTLEvent, value: UInt64):void;
        /**
         * A Boolean value that indicates whether the command buffer maintains strong references to associated resource objects (textures, buffers) necessary to complete execution of any encoded commands.
         */
        retainedReferences: boolean;
    }
    export class MTLCounterResultTimestamp {
        /**
         * A timestamp.
         */
        timestamp: UInt64;
        /**
         * Initializes a default timestamp counter.
         */
        constructor ();
        /**
         * Initializes a default timestamp with a value.
         */
        constructor (timestamp: UInt64);
    }
    export class MTLComputePassSampleBufferAttachmentDescriptor extends NSObject {
        /**
         * The sample buffer to write new GPU counter samples to.
         */
        sampleBuffer: MTLCounterSampleBuffer | null;
        /**
         * The index the Metal device object uses to store GPU counters when starting the compute pass.
         */
        startOfEncoderSampleIndex: number;
        /**
         * The index the Metal device object uses to store GPU counters when ending the compute pass.
         */
        endOfEncoderSampleIndex: number;
    }
    export class MTLComputePassSampleBufferAttachmentDescriptorArray extends NSObject {}
    export class MTLRenderPassSampleBufferAttachmentDescriptor extends NSObject {
        /**
         * The sample buffer to write new GPU counter samples to.
         */
        sampleBuffer: MTLCounterSampleBuffer | null;
        /**
         * The index the Metal device object should use to store GPU counters when starting the render pass’s vertex stage.
         */
        startOfVertexSampleIndex: number;
        /**
         * The index the Metal device object should use to store GPU counters when ending the render pass’s vertex stage.
         */
        endOfVertexSampleIndex: number;
        /**
         * The index the Metal device object should use to store GPU counters when starting the render pass’s fragment stage.
         */
        startOfFragmentSampleIndex: number;
        /**
         * The index the Metal device object should use to store GPU counters when ending the render pass’s fragment stage. 
         */
        endOfFragmentSampleIndex: number;
    }
    export class MTLRenderPassSampleBufferAttachmentDescriptorArray extends NSObject {}
    export class MTLCounterSampleBufferError {
        /**
         * An internal error occurred.
         */
        static internal: MTLCounterSampleBufferError.Code;
        /**
         * The counter sampler ran out of memory.
         */
        static outOfMemory: MTLCounterSampleBufferError.Code;
        /**
         * You passed in an invalid parameter when creating the counter sample buffer.
         */
        static invalid: MTLCounterSampleBufferError.Code;
        /**
         * The error domain used by Metal when returning counter sampling errors.
         */
        static errorDomain: string;
        /**
         * The error code that can result from a counter sampling request.
         */
        errorCode: number;
        /**
         * The user information dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MTLCounterSampleBufferError
     */
    export namespace MTLCounterSampleBufferError {
        export enum Code {
            internal = 2,
            invalid = 1,
            outOfMemory = 0,
        }
    }
    export enum MTLSparsePageSize {
        size16 = 101,
        size256 = 103,
        size64 = 102,
    }
    export enum MTLDispatchType {
        concurrent = 1,
        serial = 0,
    }
    export enum MTLCommandBufferStatus {
        notEnqueued = 0,
        enqueued = 1,
        committed = 2,
        scheduled = 3,
        completed = 4,
        error = 5,
    }
    export class MTLCommandBufferError {}
    /**
     * the same name namespace of class MTLCommandBufferError
     */
    export namespace MTLCommandBufferError {
        export enum Code {
            none = 0,
            internal = 1,
            timeout = 2,
            pageFault = 3,
            blacklisted = 4,
            notPermitted = 7,
            outOfMemory = 8,
            invalidResource = 9,
            memoryless = 10,
            deviceRemoved = 11,
            stackOverflow = 12,
        }
    }
    export interface MTLCommandBufferEncoderInfo extends NSObjectProtocol {
        /**
         * The label string of the encoder.
         */
        label: string;
        /**
         * The execution status of the command encoder.
         */
        errorState: MTLCommandEncoderErrorState;
        /**
         * An array of debug signposts that Metal recorded during execution of commands in the command encoder.
         */
        debugSignposts: string[];
    }
    export enum MTLCommandEncoderErrorState {
        unknown = 0,
        affected = 2,
        completed = 1,
        faulted = 4,
        pending = 3,
    }
    export interface MTLCommandEncoder extends NSObjectProtocol {
        /**
         * Declares that all command generation from the encoder is completed.
         */
        endEncoding():void;
        /**
         * Inserts a debug string into the captured frame data.
         */
        insertDebugSignpost(_string: string):void;
        /**
         * Pushes a specific string onto a stack of debug group strings for the command encoder.
         */
        pushDebugGroup(_string: string):void;
        /**
         * Pops the latest string off of a stack of debug group strings for the command encoder.
         */
        popDebugGroup():void;
        /**
         * The Metal device from which the command encoder was created.
         */
        device: MTLDevice;
        /**
         * A string that labels the command encoder.
         */
        label: string;
    }
    export interface MTLComputeCommandEncoder extends MTLCommandEncoder {
        /**
         * Sets the current compute pipeline state object.
         */
        setComputePipelineState(state: MTLComputePipelineState):void;
        /**
         * Sets a buffer for the compute function. 
         */
        setBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        /**
         * Sets an array of buffers for the vertex function.
         */
        setBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        /**
         * Sets where the data begins in a buffer already bound to the compute shader.
         */
        setBufferOffset(offset: number, index: number):void;
        /**
         * Sets a block of data for the compute shader.
         */
        setBytes(bytes: UnsafeRawPointer, length: number, index: number):void;
        /**
         * Sets a sampler for the compute function.
         */
        setSamplerState(sampler: MTLSamplerState | null, index: number):void;
        /**
         * Sets an array of sampler states in a range of indices in the sampler state argument table.
         */
        setSamplerStates(samplers: MTLSamplerState | null[], range: Range<Int>):void;
        /**
         * Sets a texture for the compute function.
         */
        setTexture(texture: MTLTexture | null, index: number):void;
        /**
         * Sets an array of textures for the compute function. 
         */
        setTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        /**
         * Sets the size of a block of threadgroup memory.
         */
        setThreadgroupMemoryLength(length: number, index: number):void;
        /**
         * Sets a visible function table for the compute function.
         */
        setVisibleFunctionTable(visibleFunctionTable: MTLVisibleFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets an array of visible function tables for the compute function.
         */
        setVisibleFunctionTables(visibleFunctionTables: MTLVisibleFunctionTable | null[], bufferRange: Range<Int>):void;
        /**
         * Sets a intersection function table for the compute function.
         */
        setIntersectionFunctionTable(intersectionFunctionTable: MTLIntersectionFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets an array of intersection function tables for the compute function.
         */
        setIntersectionFunctionTables(intersectionFunctionTables: MTLIntersectionFunctionTable | null[], bufferRange: Range<Int>):void;
        /**
         * Sets an acceleration structure for the compute function.
         */
        setAccelerationStructure(accelerationStructure: MTLAccelerationStructure | null, bufferIndex: number):void;
        /**
         * Encodes a compute command using a grid aligned to threadgroup boundaries.
         */
        dispatchThreadgroups(threadgroupsPerGrid: MTLSize, threadsPerThreadgroup: MTLSize):void;
        /**
         * Encodes a compute command using an arbitrarily sized grid.
         */
        dispatchThreads(threadsPerGrid: MTLSize, threadsPerThreadgroup: MTLSize):void;
        /**
         * Specifies that a resource in an argument buffer can be safely used by a compute pass.
         */
        useResource(resource: MTLResource, usage: MTLResourceUsage):void;
        /**
         * Specifies that an array of resources in an argument buffer can be safely used by a compute pass.
         */
        useResources(resources: MTLResource[], usage: MTLResourceUsage):void;
        /**
         * Specifies that a heap containing resources in an argument buffer can be safely used by a compute pass.
         */
        useHeap(heap: MTLHeap):void;
        /**
         * Specifies that an array of heaps containing resources in an argument buffer can be safely used by a compute pass.
         */
        useHeaps(heaps: MTLHeap[]):void;
        /**
         * Sets the size, in pixels, of the imageblock.
         */
        setImageblockWidth(width: number, height: number):void;
        /**
         * Sets the region of the stage-in attributes to apply to the compute kernel.
         */
        setStageInRegion(region: MTLRegion):void;
        /**
         * Sets the region of the stage-in attributes to apply to the compute kernel using an indirect buffer.
         */
        setStageInRegionWithIndirectBuffer(indirectBuffer: MTLBuffer, indirectBufferOffset: number):void;
        /**
         * The strategy to use when dispatching commands encoded by the compute command encoder.
         */
        dispatchType: MTLDispatchType;
        /**
         * Encodes a barrier so that changes to a set of resource types made by commands encoded before the barrier are completed before further commands are executed.
         */
        memoryBarrier(scope: MTLBarrierScope):void;
        /**
         * Encodes a command to execute commands in an indirect command buffer.
         */
        executeCommands(indirectCommandBuffer: MTLIndirectCommandBuffer, executionRange: NSRange):void;
        /**
         * Encodes a command to execute commands in an indirect command buffer.
         */
        executeCommandsInBuffer(buffer: MTLIndirectCommandBuffer, range: Range<Int>):void;
        /**
         * Tells the GPU to update the fence after all commands encoded by the compute command encoder have finished executing.
         */
        updateFence(fence: MTLFence):void;
        /**
         * Tells the GPU to wait until the fence is updated before executing any commands encoded by the compute command encoder.
         */
        waitForFence(fence: MTLFence):void;
        /**
         * Encodes a command to sample hardware counters at this point in the compute pass and store the samples into a counter sample buffer.
         */
        sampleCounters(sampleBuffer: MTLCounterSampleBuffer, sampleIndex: number, barrier: boolean):void;
    }
    export class MTLComputePassDescriptor extends NSObject {
        /**
         * The strategy to use for dispatching any compute commands encoded in the compute pass.
         */
        dispatchType: MTLDispatchType;
        /**
         * The array of sample buffers that the compute pass can access.
         */
        sampleBufferAttachments: MTLComputePassSampleBufferAttachmentDescriptorArray;
    }
    export interface MTLComputePipelineState extends NSObjectProtocol {
        /**
         * The maximum number of threads in a threadgroup that you can dispatch to the pipeline.
         */
        maxTotalThreadsPerThreadgroup: number;
        /**
         * The number of threads that the GPU executes simultaneously.
         */
        threadExecutionWidth: number;
        /**
         * The length, in bytes, of statically allocated threadgroup memory.
         */
        staticThreadgroupMemoryLength: number;
        /**
         * The Metal device object that created the pipeline state.
         */
        device: MTLDevice;
        /**
         * A string that identifies the compute pipeline state object.
         */
        label: string;
        /**
         * Returns the imageblock memory length, in bytes, for the specified imageblock dimensions.
         */
        imageblockMemoryLength(imageblockDimensions: MTLSize):number;
        /**
         * A Boolean value that indicates whether the pipeline supports indirect command buffers.
         */
        supportIndirectCommandBuffers: boolean;
        /**
         * Creates a function handle for a visible function.
         */
        functionHandle(_function: MTLFunction):MTLFunctionHandle | null;
        /**
         * Creates a new pipeline state object with additional callable functions.
         */
        makeComputePipelineStateWithAdditionalBinaryFunctions(functions: MTLFunction[]):MTLComputePipelineState;
        /**
         * Creates a new visible function table.
         */
        makeVisibleFunctionTable(descriptor: MTLVisibleFunctionTableDescriptor):MTLVisibleFunctionTable | null;
        /**
         * Creates a new intersection function table.
         */
        makeIntersectionFunctionTable(descriptor: MTLIntersectionFunctionTableDescriptor):MTLIntersectionFunctionTable | null;
        gpuResourceID: MTLResourceID;
    }
    export class MTLComputePipelineDescriptor extends NSObject {
        /**
         * The compute kernel the pipeline calls.
         */
        computeFunction: MTLFunction | null;
        /**
         * A Boolean value that indicates whether the threadgroup size must always be a multiple of the thread execution width.
         */
        threadGroupSizeIsMultipleOfThreadExecutionWidth: boolean;
        /**
         * The maximum number of threads in a threadgroup that you can dispatch to the compute function.
         */
        maxTotalThreadsPerThreadgroup: number;
        /**
         * The maximum function call depth from the top-most shader function.
         */
        maxCallStackDepth: number;
        /**
         * The organization of input and output data for the compute function. 
         */
        stageInputDescriptor: MTLStageInputOutputDescriptor | null;
        /**
         * The buffer mutability options for a compute pipeline's kernel function.
         */
        buffers: MTLPipelineBufferDescriptorArray;
        /**
         * A string that identifies the object.
         */
        label: string;
        /**
         * A Boolean value that indicates whether you can encode commands that reference the pipeline state object into an indirect command buffer.
         */
        supportIndirectCommandBuffers: boolean;
        /**
         * The dynamic libraries that contain any precompiled shader functions you want to link.
         */
        insertLibraries: MTLDynamicLibrary[] | null;
        /**
         * The functions that you can specify as function arguments when encoding commands that use this pipeline.
         */
        linkedFunctions: MTLLinkedFunctions | null;
        /**
         * A Boolean value that indicates whether you can use the pipeline to create new pipelines by adding binary functions to its callable functions list.
         */
        supportAddingBinaryFunctions: boolean;
        /**
         * The binary archives that contain any precompiled shader functions you want to link.
         */
        binaryArchives: MTLBinaryArchive[] | null;
        preloadedLibraries: MTLDynamicLibrary[];
        /**
         * Resets all compute pipeline descriptor properties to their default values.
         */
        reset():void;
    }
    export class MTLAttributeDescriptor extends NSObject {
        /**
         * The index in the argument table for the buffer that contains the data for the attribute.
         */
        bufferIndex: number;
        /**
         * The offset of the data from the start of the buffer data.
         */
        offset: number;
        /**
         * The format of the attribute's data.
         */
        format: MTLAttributeFormat;
    }
    export enum MTLAttributeFormat {
        invalid = 0,
        uchar = 45,
        uchar2 = 1,
        uchar3 = 2,
        uchar4 = 3,
        char = 46,
        char2 = 4,
        char3 = 5,
        char4 = 6,
        ucharNormalized = 47,
        uchar2Normalized = 7,
        uchar3Normalized = 8,
        uchar4Normalized = 9,
        charNormalized = 48,
        char2Normalized = 10,
        char3Normalized = 11,
        char4Normalized = 12,
        ushort = 49,
        ushort2 = 13,
        ushort3 = 14,
        ushort4 = 15,
        short = 50,
        short2 = 16,
        short3 = 17,
        short4 = 18,
        ushortNormalized = 51,
        ushort2Normalized = 19,
        ushort3Normalized = 20,
        ushort4Normalized = 21,
        shortNormalized = 52,
        short2Normalized = 22,
        short3Normalized = 23,
        short4Normalized = 24,
        half = 53,
        half2 = 25,
        half3 = 26,
        half4 = 27,
        float = 28,
        float2 = 29,
        float3 = 30,
        float4 = 31,
        uint = 36,
        uint2 = 37,
        uint3 = 38,
        uint4 = 39,
        int = 32,
        int2 = 33,
        int3 = 34,
        int4 = 35,
        int1010102Normalized = 40,
        uint1010102Normalized = 41,
        uchar4Normalized_bgra = 42,
    }
    export class MTLAttributeDescriptorArray extends NSObject {}
    export class MTLBufferLayoutDescriptor extends NSObject {
        /**
         * The distance, in bytes, between entries in the buffer for the attribute.
         */
        stride: number;
        /**
         * Determines which aspect of command execution triggers data fetches.
         */
        stepFunction: MTLStepFunction;
        /**
         * The rate at which data is fetched by the step function.
         */
        stepRate: number;
    }
    export enum MTLStepFunction {
        constant = 0,
        perInstance = 2,
        perPatch = 3,
        perPatchControlPoint = 4,
        perVertex = 1,
        threadPositionInGridX = 5,
        threadPositionInGridY = 6,
        threadPositionInGridXIndexed = 7,
        threadPositionInGridYIndexed = 8,
    }
    export class MTLBufferLayoutDescriptorArray extends NSObject {}
    export class MTLStageInputOutputDescriptor extends NSObject {
        /**
         * An array that describes where and how to fetch data for the function.
         */
        attributes: MTLAttributeDescriptorArray;
        /**
         * An array that describes how data is fetched for the function.
         */
        layouts: MTLBufferLayoutDescriptorArray;
        /**
         * The location of the index buffer for a compute function using indexed thread addressing.
         */
        indexBufferIndex: number;
        /**
         * The data type of the indices stored in the index buffer.
         */
        indexType: MTLIndexType;
        /**
         * Resets the default state for the descriptor.
         */
        reset():void;
    }
    export class MTLPipelineBufferDescriptor extends NSObject {
        /**
         * A mutability option that determines whether you can update a buffer’s contents before related commands use the buffer.
         */
        mutability: MTLMutability;
    }
    export enum MTLMutability {
        default = 0,
        mutable = 1,
        immutable = 2,
    }
    export class MTLPipelineBufferDescriptorArray extends NSObject {}
    export class MTLPipelineOption {
        /**
         * An option that requests argument information for buffers, textures, and threadgroup memory.
         */
        static argumentInfo: MTLPipelineOption;
        /**
         * An option that requests detailed buffer type information for buffer arguments.
         */
        static bufferTypeInfo: MTLPipelineOption;
        /**
         * An option that specifies that Metal should create the pipeline state object only if the compiled shader is present inside the binary archive.
         */
        static failOnBinaryArchiveMiss: MTLPipelineOption;
        /**
         * Creates new, empty compilation options.
         */
        constructor (rawValue: number);
    }
    export interface MTLRenderCommandEncoder extends MTLCommandEncoder {
        /**
         * Sets the current render pipeline state object.
         */
        setRenderPipelineState(pipelineState: MTLRenderPipelineState):void;
        /**
         * Sets how to rasterize triangle and triangle strip primitives.
         */
        setTriangleFillMode(fillMode: MTLTriangleFillMode):void;
        /**
         * Sets the winding order of front-facing primitives.
         */
        setFrontFacing(frontFacingWinding: MTLWinding):void;
        /**
         * Specifies whether to cull primitives when front- or back-facing.
         */
        setCullMode(cullMode: MTLCullMode):void;
        /**
         * Sets the depth and stencil test state.
         */
        setDepthStencilState(depthStencilState: MTLDepthStencilState | null):void;
        /**
         * Adjusts the depth values from fragment functions by a scaling factor and a scaling bias, clamping the bias to a maximum amount.
         */
        setDepthBias(depthBias: Float, slopeScale: Float, clamp: Float):void;
        /**
         * Controls what is done with fragments outside of the near or far planes.
         */
        setDepthClipMode(depthClipMode: MTLDepthClipMode):void;
        /**
         * Sets the stencil reference values for front and back stencil comparison tests.
         */
        setStencilReferenceValues(frontReferenceValue: UInt32, backReferenceValue: UInt32):void;
        /**
         * Sets a stencil reference value for both front and back stencil comparison tests.
         */
        setStencilReferenceValue(referenceValue: UInt32):void;
        /**
         * Sets the viewport used for transformations and clipping.
         */
        setViewport(viewport: MTLViewport):void;
        /**
         * Sets an array of viewports.
         */
        setViewports(viewports: MTLViewport[]):void;
        /**
         * Sets the scissor rectangle for a fragment scissor test.
         */
        setScissorRect(rect: MTLScissorRect):void;
        /**
         * Sets an array of scissor rectangles.
         */
        setScissorRects(scissorRects: MTLScissorRect[]):void;
        /**
         * Specifies the constant blend color and alpha values.
         */
        setBlendColor(red: Float, green: Float, blue: Float, alpha: Float):void;
        /**
         * Configures which visibility test the GPU executes and the destination for any results it generates.
         */
        setVisibilityResultMode(mode: MTLVisibilityResultMode, offset: number):void;
        /**
         * Adds an untracked resource to the render pass, specifying which render stages need it.
         */
        useResource(resource: MTLResource, usage: MTLResourceUsage, stages: MTLRenderStages):void;
        /**
         * Adds an array of untracked resources to the render pass, specifying which stages need them.
         */
        use(resources: UnsafePointer<MTLResource>, count: number, usage: MTLResourceUsage, stages: MTLRenderStages):void;
        /**
         * Adds the resources in a heap to the render pass, specifying which render stages need them.
         */
        useHeap(heap: MTLHeap, stages: MTLRenderStages):void;
        /**
         * Adds the resources in an array of heaps to the render pass.
         */
        useHeaps(heaps: MTLHeap[]):void;
        /**
         * Adds an array of untracked resources to the render pass.
         */
        useResources(resources: MTLResource[], usage: MTLResourceUsage):void;
        /**
         * Sets a buffer for the vertex function. 
         */
        setVertexBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        /**
         * Sets an array of buffers for the vertex function.
         */
        setVertexBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        /**
         * Sets where the data begins in a buffer already bound to the vertex shader.
         */
        setVertexBufferOffset(offset: number, index: number):void;
        /**
         * Sets a block of data for the vertex shader.
         */
        setVertexBytes(bytes: UnsafeRawPointer, length: number, index: number):void;
        /**
         * Sets a sampler for the vertex function.
         */
        setVertexSamplerState(sampler: MTLSamplerState | null, index: number):void;
        /**
         * Sets multiple samplers for the vertex function.
         */
        setVertexSamplerStates(samplers: MTLSamplerState | null[], range: Range<Int>):void;
        /**
         * Sets a texture for the vertex function.
         */
        setVertexTexture(texture: MTLTexture | null, index: number):void;
        /**
         * Sets an array of textures for the vertex function.
         */
        setVertexTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        /**
         * Sets a visible function table for the vertex function.
         */
        setVertexVisibleFunctionTable(functionTable: MTLVisibleFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets a intersection function table for the vertex function.
         */
        setVertexIntersectionFunctionTable(intersectionFunctionTable: MTLIntersectionFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets an acceleration structure for the vertex function.
         */
        setVertexAccelerationStructure(accelerationStructure: MTLAccelerationStructure | null, bufferIndex: number):void;
        /**
         * Sets a buffer for the fragment function.
         */
        setFragmentBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        /**
         * Sets an array of buffers for the fragment function in a range of indices in the buffer argument table.
         */
        setFragmentBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        /**
         * Sets where the data begins in a buffer already bound to the fragment shader.
         */
        setFragmentBufferOffset(offset: number, index: number):void;
        /**
         * Sets a block of data for the fragment shader.
         */
        setFragmentBytes(bytes: UnsafeRawPointer, length: number, index: number):void;
        /**
         * Sets a sampler state for the fragment function at an index in the sampler state argument table.
         */
        setFragmentSamplerState(sampler: MTLSamplerState | null, index: number):void;
        /**
         * Sets sampler states for the fragment function in a range of indices in the sampler state argument table, specifying clamp values for levels of detail.
         */
        setFragmentSamplerStates(samplers: MTLSamplerState | null[], lodMinClamps: Float[], lodMaxClamps: Float[], range: Range<Int>):void;
        /**
         * Sets a texture for the fragment function at an index in the texture argument table.
         */
        setFragmentTexture(texture: MTLTexture | null, index: number):void;
        /**
         * Sets an array of textures for the fragment function in a range of indices in the texture argument table. 
         */
        setFragmentTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        /**
         * Sets a visible function table for the fragment function.
         */
        setFragmentVisibleFunctionTable(functionTable: MTLVisibleFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets a intersection function table for the fragment function.
         */
        setFragmentIntersectionFunctionTable(intersectionFunctionTable: MTLIntersectionFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets an acceleration structure for the fragment function.
         */
        setFragmentAccelerationStructure(accelerationStructure: MTLAccelerationStructure | null, bufferIndex: number):void;
        /**
         * Sets the per-patch tessellation factors buffer for the tessellator.
         */
        setTessellationFactorBuffer(buffer: MTLBuffer | null, offset: number, instanceStride: number):void;
        /**
         * Sets the scale factor applied to the per-patch tessellation factors.
         */
        setTessellationFactorScale(scale: Float):void;
        /**
         * Sets the number of output vertices for each input vertex, along with offsets into the layer and viewport lists.
         */
        setVertexAmplificationCount(count: number, viewMappings: UnsafePointer<MTLVertexAmplificationViewMapping> | null):void;
        /**
         * Encodes a command to render a number of instances of primitives using vertex data in contiguous array elements, starting from the base instance.
         */
        drawPrimitives(primitiveType: MTLPrimitiveType, vertexStart: number, vertexCount: number, instanceCount: number, baseInstance: number):void;
        /**
         * Encodes a command to render a number of instances of primitives using an index list specified in a buffer, starting from the base vertex of the base instance.
         */
        drawIndexedPrimitives(primitiveType: MTLPrimitiveType, indexCount: number, indexType: MTLIndexType, indexBuffer: MTLBuffer, indexBufferOffset: number, instanceCount: number, baseVertex: number, baseInstance: number):void;
        /**
         * Encodes a command to render a number of instances of tessellated patches.
         */
        drawPatches(numberOfPatchControlPoints: number, patchStart: number, patchCount: number, patchIndexBuffer: MTLBuffer | null, patchIndexBufferOffset: number, instanceCount: number, baseInstance: number):void;
        /**
         * Encodes a command to render a number of instances of tessellated patches, using a control point index buffer.
         */
        drawIndexedPatches(numberOfPatchControlPoints: number, patchStart: number, patchCount: number, patchIndexBuffer: MTLBuffer | null, patchIndexBufferOffset: number, controlPointIndexBuffer: MTLBuffer, controlPointIndexBufferOffset: number, instanceCount: number, baseInstance: number):void;
        /**
         * Encodes a command to sample hardware counters at this point in the render pass and store the samples into a counter sample buffer.
         */
        sampleCounters(sampleBuffer: MTLCounterSampleBuffer, sampleIndex: number, barrier: boolean):void;
        /**
         * Sets the size of a threadgroup memory buffer for the tile function at an index in the argument table.
         */
        setThreadgroupMemoryLength(length: number, offset: number, index: number):void;
        /**
         * Sets a buffer for the tile function at an index in the buffer argument table. 
         */
        setTileBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        /**
         * Sets an array of buffers for the tile function in a range of indices in the buffer argument table. 
         */
        setTileBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        /**
         * Sets an offset specifying the start of the data for a buffer already bound to the tile function.
         */
        setTileBufferOffset(offset: number, index: number):void;
        /**
         * Sets a block of data for the tile function at an index in the buffer argument table.
         */
        setTileBytes(bytes: UnsafeRawPointer, length: number, index: number):void;
        /**
         * Sets a sampler state for the tile function at an index in the sampler state argument table.
         */
        setTileSamplerState(sampler: MTLSamplerState | null, index: number):void;
        /**
         * Sets a sampler state for the tile function in a range of indices in the sampler state argument table.
         */
        setTileSamplerStates(samplers: MTLSamplerState | null[], range: Range<Int>):void;
        /**
         * Sets a texture for the tile function at an index in the texture argument table.
         */
        setTileTexture(texture: MTLTexture | null, index: number):void;
        /**
         * Sets an array of textures for the tile function in a range of indices in the texture argument table. 
         */
        setTileTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        /**
         * Sets a visible function table for the tile function.
         */
        setTileVisibleFunctionTable(functionTable: MTLVisibleFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets a intersection function table for the tile function.
         */
        setTileIntersectionFunctionTable(intersectionFunctionTable: MTLIntersectionFunctionTable | null, bufferIndex: number):void;
        /**
         * Sets an acceleration structure for the tile function.
         */
        setTileAccelerationStructure(accelerationStructure: MTLAccelerationStructure | null, bufferIndex: number):void;
        /**
         * The width of the tile, in pixels, for this render pass.
         */
        tileWidth: number;
        /**
         * The height of the tile, in pixels, for this render pass.
         */
        tileHeight: number;
        /**
         * Encodes a dispatch call to perform a midrender compute operation.
         */
        dispatchThreadsPerTile(threadsPerTile: MTLSize):void;
        /**
         * Encodes a command to execute commands in an indirect command buffer.
         */
        executeCommandsInBuffer(buffer: MTLIndirectCommandBuffer, range: Range<Int>):void;
        /**
         * Updates the given fence to capture all GPU work enqueued by the command encoder up to the given render stage.
         */
        updateFence(fence: MTLFence, stages: MTLRenderStages):void;
        /**
         * Prevents further GPU work to be enqueued by the command encoder until the given fence is reached for the given render stage.
         */
        waitForFence(fence: MTLFence, stages: MTLRenderStages):void;
        /**
         * Encodes a barrier so that data written to memory by commands encoded before the barrier is available to commands encoded after the barrier.
         */
        memoryBarrier(scope: MTLBarrierScope, after: MTLRenderStages, before: MTLRenderStages):void;
        /**
         * Ensures that any texture reads issued after the barrier can safely read from any rendering to those textures performed before the barrier.
         */
        textureBarrier():void;
        /**
         * Specifies a store action for a color attachment.
         */
        setColorStoreAction(storeAction: MTLStoreAction, colorAttachmentIndex: number):void;
        /**
         * Specifies store action options for a color attachment.
         */
        setColorStoreActionOptions(storeActionOptions: MTLStoreActionOptions, colorAttachmentIndex: number):void;
        /**
         * Specifies the depth store action for the depth attachment.
         */
        setDepthStoreAction(storeAction: MTLStoreAction):void;
        /**
         * Specifies store action options for the depth attachment.
         */
        setDepthStoreActionOptions(storeActionOptions: MTLStoreActionOptions):void;
        /**
         * Specifies the stencil store action for the stencil attachment.
         */
        setStencilStoreAction(storeAction: MTLStoreAction):void;
        /**
         * Specifies store action options for the stencil attachment.
         */
        setStencilStoreActionOptions(storeActionOptions: MTLStoreActionOptions):void;
        drawMeshThreadgroups(threadgroupsPerGrid: MTLSize, threadsPerObjectThreadgroup: MTLSize, threadsPerMeshThreadgroup: MTLSize):void;
        drawMeshThreads(threadsPerGrid: MTLSize, threadsPerObjectThreadgroup: MTLSize, threadsPerMeshThreadgroup: MTLSize):void;
        setFragmentIntersectionFunctionTables(functionTables: MTLIntersectionFunctionTable | null[], bufferRange: Range<Int>):void;
        setFragmentVisibleFunctionTables(functionTables: MTLVisibleFunctionTable | null[], bufferRange: Range<Int>):void;
        setMeshBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        setMeshBufferOffset(offset: number, index: number):void;
        setMeshBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        setMeshBytes(bytes: UnsafeRawPointer, length: number, index: number):void;
        setMeshSamplerState(sampler: MTLSamplerState | null, index: number):void;
        setMeshSamplerStates(samplers: MTLSamplerState | null[], lodMinClamps: Float[], lodMaxClamps: Float[], range: Range<Int>):void;
        setMeshTexture(texture: MTLTexture | null, index: number):void;
        setMeshTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        setObjectBuffer(buffer: MTLBuffer | null, offset: number, index: number):void;
        setObjectBufferOffset(offset: number, index: number):void;
        setObjectBuffers(buffers: MTLBuffer | null[], offsets: number[], range: Range<Int>):void;
        setObjectBytes(bytes: UnsafeRawPointer, length: number, index: number):void;
        setObjectSamplerState(sampler: MTLSamplerState | null, index: number):void;
        setObjectSamplerStates(samplers: MTLSamplerState | null[], lodMinClamps: Float[], lodMaxClamps: Float[], range: Range<Int>):void;
        setObjectTexture(texture: MTLTexture | null, index: number):void;
        setObjectTextures(textures: MTLTexture | null[], range: Range<Int>):void;
        setObjectThreadgroupMemoryLength(length: number, index: number):void;
        setTileIntersectionFunctionTables(functionTables: MTLIntersectionFunctionTable | null[], bufferRange: Range<Int>):void;
        setTileVisibleFunctionTables(functionTables: MTLVisibleFunctionTable | null[], bufferRange: Range<Int>):void;
        setVertexIntersectionFunctionTables(functionTables: MTLIntersectionFunctionTable | null[], bufferRange: Range<Int>):void;
        setVertexVisibleFunctionTables(functionTables: MTLVisibleFunctionTable | null[], bufferRange: Range<Int>):void;
    }
    export enum MTLTriangleFillMode {
        fill = 0,
        lines = 1,
    }
    export enum MTLWinding {
        clockwise = 0,
        counterClockwise = 1,
    }
    export enum MTLCullMode {
        none = 0,
        front = 1,
        back = 2,
    }
    export enum MTLDepthClipMode {
        clip = 0,
        clamp = 1,
    }
    export enum MTLVisibilityResultMode {
        disabled = 0,
        boolean = 1,
        counting = 2,
    }
    export enum MTLPrimitiveType {
        point = 0,
        line = 1,
        lineStrip = 2,
        triangle = 3,
        triangleStrip = 4,
    }
    export enum MTLIndexType {
        uint16 = 0,
        uint32 = 1,
    }
    export enum MTLReadWriteTextureTier {
        tier1 = 1,
        tier2 = 2,
        tierNone = 0,
    }
    export interface MTLParallelRenderCommandEncoder extends MTLCommandEncoder {
        /**
         * Create an object that encodes commands that perform graphics rendering operations and may be assigned to a different thread.
         */
        makeRenderCommandEncoder():MTLRenderCommandEncoder | null;
        /**
         * Specifies a known store action to replace the initial 
         *  value specified for a given color attachment.
         */
        setColorStoreAction(storeAction: MTLStoreAction, colorAttachmentIndex: number):void;
        /**
         * Specifies known store action options for a given color attachment.
         */
        setColorStoreActionOptions(storeActionOptions: MTLStoreActionOptions, colorAttachmentIndex: number):void;
        /**
         * Specifies a known store action to replace the initial 
         *  value specified for a given depth attachment.
         */
        setDepthStoreAction(storeAction: MTLStoreAction):void;
        /**
         * Specifies known store action options for a given depth attachment.
         */
        setDepthStoreActionOptions(storeActionOptions: MTLStoreActionOptions):void;
        /**
         * Specifies a known store action to replace the initial 
         *  value specified for a given stencil attachment.
         */
        setStencilStoreAction(storeAction: MTLStoreAction):void;
        /**
         * Specifies known store action options for a given stencil attachment.
         */
        setStencilStoreActionOptions(storeActionOptions: MTLStoreActionOptions):void;
    }
    export class MTLRenderPassDescriptor extends NSObject {
        /**
         * An array of state information for attachments that store color data.
         */
        colorAttachments: MTLRenderPassColorAttachmentDescriptorArray;
        /**
         * State information for an attachment that stores depth data.
         */
        depthAttachment: MTLRenderPassDepthAttachmentDescriptor!;
        /**
         * State information for an attachment that stores stencil data.
         */
        stencilAttachment: MTLRenderPassStencilAttachmentDescriptor!;
        /**
         * A buffer where the GPU writes visibility test results when fragments pass depth and stencil tests.
         */
        visibilityResultBuffer: MTLBuffer | null;
        /**
         * The number of active layers that all attachments must have for layered rendering.
         */
        renderTargetArrayLength: number;
        /**
         * The width, in pixels, to constrain the render target to.
         */
        renderTargetWidth: number;
        /**
         * The height, in pixels, to constrain the render target to.
         */
        renderTargetHeight: number;
        /**
         * The per-sample size, in bytes, of the largest explicit imageblock layout in the render pass.
         */
        imageblockSampleLength: number;
        /**
         * The per-tile size, in bytes, of the persistent threadgroup memory allocation.
         */
        threadgroupMemoryLength: number;
        /**
         * The tile width, in pixels.
         */
        tileWidth: number;
        /**
         * The tile height, in pixels.
         */
        tileHeight: number;
        /**
         * The raster sample count for the render pass when the render pass doesn’t have explicit attachments.
         */
        defaultRasterSampleCount: number;
        /**
         * The rasterization rate map to use when executing the render pass.
         */
        rasterizationRateMap: MTLRasterizationRateMap | null;
        /**
         * The array of sample buffers that the render pass can access.
         */
        sampleBufferAttachments: MTLRenderPassSampleBufferAttachmentDescriptorArray;
        /**
         * Sets the programmable sample positions for a render pass.
         */
        setSamplePositions(positions: MTLSamplePosition[]):void;
        /**
         * Returns the programmable sample positions set for a render pass.
         */
        getSamplePositions():MTLSamplePosition[];
    }
    export class MTLMeshRenderPipelineDescriptor extends NSObject {
        colorAttachments: MTLRenderPipelineColorAttachmentDescriptorArray;
        depthAttachmentPixelFormat: MTLPixelFormat;
        fragmentBuffers: MTLPipelineBufferDescriptorArray;
        fragmentFunction: MTLFunction | null;
        isAlphaToCoverageEnabled: boolean;
        isAlphaToOneEnabled: boolean;
        isRasterizationEnabled: boolean;
        label: string;
        maxTotalThreadgroupsPerMeshGrid: number;
        maxTotalThreadsPerMeshThreadgroup: number;
        maxTotalThreadsPerObjectThreadgroup: number;
        maxVertexAmplificationCount: number;
        meshBuffers: MTLPipelineBufferDescriptorArray;
        meshFunction: MTLFunction | null;
        meshThreadgroupSizeIsMultipleOfThreadExecutionWidth: boolean;
        objectBuffers: MTLPipelineBufferDescriptorArray;
        objectFunction: MTLFunction | null;
        objectThreadgroupSizeIsMultipleOfThreadExecutionWidth: boolean;
        payloadMemoryLength: number;
        rasterSampleCount: number;
        stencilAttachmentPixelFormat: MTLPixelFormat;
        reset():void;
    }
    export class MTLRenderPipelineDescriptor extends NSObject {
        /**
         * A string that identifies the render pipeline descriptor.
         */
        label: string;
        /**
         * The vertex function the pipeline calls to process vertices.
         */
        vertexFunction: MTLFunction | null;
        /**
         * The fragment function the pipeline calls to process fragments.
         */
        fragmentFunction: MTLFunction | null;
        /**
         * The maximum function call depth from the top-most vertex shader function.
         */
        maxVertexCallStackDepth: number;
        /**
         * The maximum function call depth from the top-most fragment shader function.
         */
        maxFragmentCallStackDepth: number;
        /**
         * The organization of vertex data in an attribute’s argument table.
         */
        vertexDescriptor: MTLVertexDescriptor | null;
        /**
         * An array that contains the buffer mutability options for a render pipeline's vertex function.
         */
        vertexBuffers: MTLPipelineBufferDescriptorArray;
        /**
         * An array that contains the buffer mutability options for a render pipeline's fragment function.
         */
        fragmentBuffers: MTLPipelineBufferDescriptorArray;
        /**
         * An array of attachments that store color data.
         */
        colorAttachments: MTLRenderPipelineColorAttachmentDescriptorArray;
        /**
         * The pixel format of the attachment that stores depth data.
         */
        depthAttachmentPixelFormat: MTLPixelFormat;
        /**
         * The pixel format of the attachment that stores stencil data.
         */
        stencilAttachmentPixelFormat: MTLPixelFormat;
        /**
         * The number of samples in each fragment.
         */
        sampleCount: number;
        /**
         * A Boolean value that indicates whether to read and use the alpha channel fragment output for color attachments to compute a sample coverage mask.
         */
        isAlphaToCoverageEnabled: boolean;
        /**
         * A Boolean value that indicates whether to force alpha channel values for color attachments to the largest representable value.
         */
        isAlphaToOneEnabled: boolean;
        /**
         * A Boolean value that determines whether the pipeline rasterizes primitives.
         */
        isRasterizationEnabled: boolean;
        /**
         * The type of primitive topology the pipeline renders.
         */
        inputPrimitiveTopology: MTLPrimitiveTopologyClass;
        /**
         * The number of samples in each fragment.
         */
        rasterSampleCount: number;
        /**
         * The maximum tessellation factor that the tessellator uses when tessellating patches.
         */
        maxTessellationFactor: number;
        /**
         * A Boolean value that determines whether the pipeline scales the tessellation factor.
         */
        isTessellationFactorScaleEnabled: boolean;
        /**
         * The format of the tessellation factors in the tessellation factor buffer.
         */
        tessellationFactorFormat: MTLTessellationFactorFormat;
        /**
         * The size of the control point indices in a control point index buffer.
         */
        tessellationControlPointIndexType: MTLTessellationControlPointIndexType;
        /**
         * The step function for determining the tessellation factors for a patch from the tessellation factor buffer.
         */
        tessellationFactorStepFunction: MTLTessellationFactorStepFunction;
        /**
         * The winding order of triangles from the tessellator.
         */
        tessellationOutputWindingOrder: MTLWinding;
        /**
         * The partitioning mode that the tessellator uses to derive the number and spacing of segments for subdividing a corresponding edge.
         */
        tessellationPartitionMode: MTLTessellationPartitionMode;
        /**
         * A Boolean value that determines whether you can encode commands into an indirect command buffer using the render pipeline.
         */
        supportIndirectCommandBuffers: boolean;
        /**
         * The maximum vertex amplification count you can set when encoding render commands.
         */
        maxVertexAmplificationCount: number;
        /**
         * A Boolean value that indicates whether you can use the pipeline to create new pipelines by adding binary functions to the vertex shader’s callable functions list.
         */
        supportAddingVertexBinaryFunctions: boolean;
        /**
         * A Boolean value that indicates whether you can use the pipeline to create new pipelines by adding binary functions to the fragment shader’s callable functions list.
         */
        supportAddingFragmentBinaryFunctions: boolean;
        /**
         * An array of binary archives to search for precompiled versions of the shader.
         */
        binaryArchives: MTLBinaryArchive[] | null;
        /**
         * Functions that you can specify as function arguments for the vertex shader when encoding commands that use the pipeline.
         */
        vertexLinkedFunctions: MTLLinkedFunctions!;
        /**
         * Functions that you can specify as function arguments for the fragment shader when encoding commands that use the pipeline.
         */
        fragmentLinkedFunctions: MTLLinkedFunctions!;
        fragmentPreloadedLibraries: MTLDynamicLibrary[];
        vertexPreloadedLibraries: MTLDynamicLibrary[];
        /**
         * Specifies the default rendering pipeline state values for the descriptor.
         */
        reset():void;
    }
    export enum MTLPrimitiveTopologyClass {
        unspecified = 0,
        point = 1,
        line = 2,
        triangle = 3,
    }
    export enum MTLTessellationFactorFormat {
        half = 0,
    }
    export enum MTLTessellationControlPointIndexType {
        none = 0,
        uint16 = 1,
        uint32 = 2,
    }
    export enum MTLTessellationFactorStepFunction {
        constant = 0,
        perPatch = 1,
        perInstance = 2,
        perPatchAndPerInstance = 3,
    }
    export enum MTLTessellationPartitionMode {
        pow2 = 0,
        integer = 1,
        fractionalOdd = 2,
        fractionalEven = 3,
    }
    export enum MTLCounterSamplingPoint {
        atBlitBoundary = 4,
        atDispatchBoundary = 2,
        atDrawBoundary = 1,
        atStageBoundary = 0,
        atTileDispatchBoundary = 3,
    }
    export class MTLRenderPipelineColorAttachmentDescriptor extends NSObject {
        /**
         * The pixel format of the color attachment’s texture.
         */
        pixelFormat: MTLPixelFormat;
        /**
         * A bitmask that restricts which color channels are written into the texture.
         */
        writeMask: MTLColorWriteMask;
        /**
         * A Boolean value that determines whether blending is enabled.
         */
        isBlendingEnabled: boolean;
        /**
         * The blend operation assigned for the alpha data.
         */
        alphaBlendOperation: MTLBlendOperation;
        /**
         * The blend operation assigned for the RGB data.
         */
        rgbBlendOperation: MTLBlendOperation;
        /**
         * The destination blend factor (DBF) used by the alpha blend operation.
         */
        destinationAlphaBlendFactor: MTLBlendFactor;
        /**
         * The destination blend factor (DBF) used by the RGB blend operation.
         */
        destinationRGBBlendFactor: MTLBlendFactor;
        /**
         * The source blend factor (SBF) used by the alpha blend operation.
         */
        sourceAlphaBlendFactor: MTLBlendFactor;
        /**
         * The source blend factor (SBF) used by the RGB blend operation.
         */
        sourceRGBBlendFactor: MTLBlendFactor;
    }
    export enum MTLBlendOperation {
        add = 0,
        subtract = 1,
        reverseSubtract = 2,
        min = 3,
        max = 4,
    }
    export enum MTLBlendFactor {
        zero = 0,
        one = 1,
        sourceColor = 2,
        oneMinusSourceColor = 3,
        sourceAlpha = 4,
        oneMinusSourceAlpha = 5,
        destinationColor = 6,
        oneMinusDestinationColor = 7,
        destinationAlpha = 8,
        oneMinusDestinationAlpha = 9,
        sourceAlphaSaturated = 10,
        blendColor = 11,
        oneMinusBlendColor = 12,
        blendAlpha = 13,
        oneMinusBlendAlpha = 14,
        source1Color = 15,
        oneMinusSource1Color = 16,
        source1Alpha = 17,
        oneMinusSource1Alpha = 18,
    }
    export class MTLColorWriteMask {
        /**
         * The red color channel is enabled.
         */
        static red: MTLColorWriteMask;
        /**
         * The green color channel is enabled.
         */
        static green: MTLColorWriteMask;
        /**
         * The blue color channel is enabled.
         */
        static blue: MTLColorWriteMask;
        /**
         * The alpha color channel is enabled.
         */
        static alpha: MTLColorWriteMask;
        /**
         * All color channels are enabled.
         */
        static all: MTLColorWriteMask;
        /**
         * Returns a new color write mask from a specified raw value.
         */
        constructor (rawValue: number);
    }
    export class MTLRenderPipelineColorAttachmentDescriptorArray extends NSObject {}
    export interface MTLRenderPipelineState extends NSObjectProtocol {
        /**
         * The device object that created the pipeline state object.
         */
        device: MTLDevice;
        /**
         * A string that identifies the render pipeline state object.
         */
        label: string;
        /**
         * The maximum number of threads that can be in a single threadgroup.
         */
        maxTotalThreadsPerThreadgroup: number;
        /**
         * A Boolean value that indicates whether the pipeline state object requires a threadgroup size equal to the tile size.
         */
        threadgroupSizeMatchesTileSize: boolean;
        /**
         * The size, in bytes, of the render pipeline's imageblock for a single sample.
         */
        imageblockSampleLength: number;
        /**
         * Returns the imageblock memory length for the specified imageblock dimensions.
         */
        imageblockMemoryLength(imageblockDimensions: MTLSize):number;
        /**
         * A Boolean value that indicates whether you can encode commands into an indirect command buffer using the render pipeline. 
         */
        supportIndirectCommandBuffers: boolean;
        /**
         * Creates a function handle for a visible function.
         */
        functionHandle(_function: MTLFunction, stage: MTLRenderStages):MTLFunctionHandle | null;
        /**
         * Creates a new pipeline state object with additional callable functions.
         */
        makeRenderPipelineState(additionalBinaryFunctions: MTLRenderPipelineFunctionsDescriptor):MTLRenderPipelineState;
        /**
         * Creates a new visible function table.
         */
        makeVisibleFunctionTable(descriptor: MTLVisibleFunctionTableDescriptor, stage: MTLRenderStages):MTLVisibleFunctionTable | null;
        /**
         * Creates a new intersection function table.
         */
        makeIntersectionFunctionTable(descriptor: MTLIntersectionFunctionTableDescriptor, stage: MTLRenderStages):MTLIntersectionFunctionTable | null;
        gpuResourceID: MTLResourceID;
        maxTotalThreadgroupsPerMeshGrid: number;
        maxTotalThreadsPerMeshThreadgroup: number;
        maxTotalThreadsPerObjectThreadgroup: number;
        meshThreadExecutionWidth: number;
        objectThreadExecutionWidth: number;
    }
    export class MTLRenderPipelineFunctionsDescriptor extends NSObject {
        /**
         * The vertex functions to add to the render pipeline.
         */
        vertexAdditionalBinaryFunctions: MTLFunction[] | null;
        /**
         * The fragment functions to add to the render pipeline.
         */
        fragmentAdditionalBinaryFunctions: MTLFunction[] | null;
        /**
         * The tile functions to add to the render pipeline.
         */
        tileAdditionalBinaryFunctions: MTLFunction[] | null;
    }
    export class MTLTileRenderPipelineDescriptor extends NSObject {
        /**
         * A string that identifies the tile pipeline descriptor.
         */
        label: string;
        /**
         * The compute kernel or fragment function the pipeline calls.
         */
        tileFunction: MTLFunction;
        /**
         * An array that contains the buffer mutability options for a render pipeline’s tile function. 
         */
        tileBuffers: MTLPipelineBufferDescriptorArray;
        /**
         * The maximum function call depth from the top-most shader function.
         */
        maxCallStackDepth: number;
        /**
         * A Boolean value that indicates whether all threadgroups for this pipeline completely cover tiles.
         */
        threadgroupSizeMatchesTileSize: boolean;
        /**
         * The number of samples in each fragment.
         */
        rasterSampleCount: number;
        /**
         * An array of attachments that store color data.
         */
        colorAttachments: MTLTileRenderPipelineColorAttachmentDescriptorArray;
        /**
         * The maximum number of threads in a threadgroup when dispatching a command using the pipeline.
         */
        maxTotalThreadsPerThreadgroup: number;
        /**
         * A Boolean value that indicates whether you can use the pipeline to create new pipelines by adding binary functions to its callable functions list.
         */
        supportAddingBinaryFunctions: boolean;
        /**
         * An array of binary archives to search for precompiled versions of the shader.
         */
        binaryArchives: MTLBinaryArchive[] | null;
        /**
         * Functions that you can specify as function arguments for the tile shader when encoding commands that use the pipeline. 
         */
        linkedFunctions: MTLLinkedFunctions!;
        preloadedLibraries: MTLDynamicLibrary[];
        /**
         * Specifies the default rendering pipeline state values for the descriptor.
         */
        reset():void;
    }
    export class MTLTileRenderPipelineColorAttachmentDescriptor extends NSObject {
        /**
         * The pixel format associated with the tile shading render pipeline.
         */
        pixelFormat: MTLPixelFormat;
    }
    export class MTLTileRenderPipelineColorAttachmentDescriptorArray extends NSObject {}
    export enum MTLDeviceLocation {
        builtIn = 0,
        slot = 1,
        external = 2,
        unspecified = 18446744073709551615,
    }
    export class MTLViewport {
        /**
         * The x coordinate of the upper-left corner of the viewport.
         */
        originX: number;
        /**
         * The y coordinate of the upper-left corner of the viewport.
         */
        originY: number;
        /**
         * The width of the viewport, in pixels.
         */
        width: number;
        /**
         * The height of the viewport, in pixels.
         */
        height: number;
        /**
         * The z coordinate of the near clipping plane of the viewport.
         */
        znear: number;
        /**
         * The z coordinate of the far clipping plane of the viewport.
         */
        zfar: number;
        /**
         * Returns a new viewport.
         */
        constructor ();
        /**
         * Returns a new viewport of a specified size at a specified origin.
         */
        constructor (originX: number, originY: number, width: number, height: number, znear: number, zfar: number);
    }
    export class MTLScissorRect {
        /**
         * The height of the scissor rectangle, in pixels.
         */
        height: number;
        /**
         * The width of the scissor rectangle, in pixels.
         */
        width: number;
        /**
         * The x window coordinate of the upper-left corner of the scissor rectangle.
         */
        x: number;
        /**
         * The y window coordinate of the upper-left corner of the scissor rectangle.
         */
        y: number;
        constructor ();
        constructor (x: number, y: number, width: number, height: number);
    }
    export class MTLVertexAmplificationViewMapping {
        /**
         * An offset into the list of render targets.
         */
        renderTargetArrayIndexOffset: UInt32;
        /**
         * An offset into the list of viewports.
         */
        viewportArrayIndexOffset: UInt32;
        /**
         * Initializes a default view mapping.
         */
        constructor ();
        /**
         * Initializes a new view mapping.
         */
        constructor (viewportArrayIndexOffset: UInt32, renderTargetArrayIndexOffset: UInt32);
    }
    export class MTLQuadTessellationFactorsHalf {
        /**
         * The edge tessellation factors, with each index value providing the tessellation factor for a particular edge.
         */
        edgeTessellationFactor: any;
        /**
         * The inside tessellation factors, with the value in index 0 providing the horizontal tessellation factor and the value in index 1 providing the vertical tessellation factor.
         */
        insideTessellationFactor: any;
        /**
         * Returns a new per-patch tessellation factors structure.
         */
        constructor ();
        /**
         * Returns a new per-patch tessellation factors structure with the specified parameters.
         */
        constructor (edgeTessellationFactor: any, insideTessellationFactor: any);
    }
    export class MTLTriangleTessellationFactorsHalf {
        /**
         * The edge tessellation factors, with each index value providing the tessellation factor for a particular edge.
         */
        edgeTessellationFactor: any;
        /**
         * The inside tessellation factor.
         */
        insideTessellationFactor: UInt16;
        constructor ();
        constructor (edgeTessellationFactor: any, insideTessellationFactor: UInt16);
    }
    export class MTLVertexDescriptor extends NSObject {
        /**
         * An array of state data that describes how vertex attribute data is stored in memory and is mapped to arguments for a vertex shader function.
         */
        attributes: MTLVertexAttributeDescriptorArray;
        /**
         * An array of state data that describes how data are fetched by a vertex shader function when rendering primitives.
         */
        layouts: MTLVertexBufferLayoutDescriptorArray;
        /**
         * Resets the default state for the vertex descriptor.
         */
        reset():void;
    }
    export class MTLVertexAttributeDescriptor extends NSObject {
        /**
         * The format of the vertex attribute.
         */
        format: MTLVertexFormat;
        /**
         * The location of an attribute in vertex data, determined by the byte offset from the start of the vertex data. 
         */
        offset: number;
        /**
         * The index in the argument table for the associated vertex buffer.
         */
        bufferIndex: number;
    }
}

/**
 * Build Metal apps quicker and easier using a common set of utility classes.
 */
declare module MetalKit {
    export class MTKMesh extends NSObject {
        /**
         * An array of submeshes containing index buffers referencing the mesh vertices.
         */
        submeshes: MTKSubmesh[];
        /**
         * An array of buffers in which mesh vertex data resides.
         */
        vertexBuffers: MTKMeshBuffer[];
        /**
         * The number of vertices in the vertex buffers.
         */
        vertexCount: number;
        /**
         * A Model I/O vertex descriptor specifying the data layout in the vertex buffers.
         */
        vertexDescriptor: MDLVertexDescriptor;
        /**
         * The name of the mesh.
         */
        name: string;
        /**
         * Initializes a MetalKit mesh and its submeshes from a Model I/O mesh.
         */
        constructor (mesh: MDLMesh, device: MTLDevice);
        static newMeshes(asset: MDLAsset, device: MTLDevice):any;
    }
    export class MTKModelError {
        /**
         * The error domain used by MetalKit when returning mesh initialization errors.
         */
        static domain: MTKModelError;
        /**
         * The key used to retrieve an error string from an error object’s 
         *  dictionary.
         */
        static key: MTKModelError;
    }
    export class MTKMeshBuffer extends NSObject {
        /**
         * The allocator object used to create this mesh buffer.
         */
        allocator: MTKMeshBufferAllocator;
        /**
         * The type of data contained in the originating Model I/O buffer.
         */
        type: MDLMeshBufferType;
        /**
         * The Metal buffer backing all vertex and index data.
         */
        buffer: MTLBuffer;
        /**
         * The logical size of the Metal buffer, in bytes.
         */
        length: number;
        /**
         * The byte offset of the data within the Metal buffer.
         */
        offset: number;
        zone():MDLMeshBufferZone | null;
    }
    export class MTKMeshBufferAllocator extends NSObject {
        /**
         * The device used to create Metal objects.
         */
        device: MTLDevice;
        /**
         * Initializes a new allocator object.
         */
        constructor (device: MTLDevice);
    }
    export class MTKSubmesh extends NSObject {
        /**
         * The parent mesh containing the vertex data of this submesh.
         */
        mesh: MTKMesh | null;
        /**
         * The index buffer used to render the submesh object.
         */
        indexBuffer: MTKMeshBuffer;
        /**
         * The number of indices in the index buffer.
         */
        indexCount: number;
        /**
         * The type of index data in the index buffer.
         */
        indexType: MTLIndexType;
        /**
         * The primitive type with which to draw the submesh object.
         */
        primitiveType: MTLPrimitiveType;
        /**
         * The name of the submesh.
         */
        name: string;
    }
    export class MTKTextureLoader extends NSObject {
        /**
         * The device object that the texture loader uses to create textures.
         */
        device: MTLDevice;
        /**
         * Initializes a new texture loader object.
         */
        constructor (device: MTLDevice);
        /**
         * Synchronously loads image data and creates a new Metal texture from a given URL.
         */
        newTexture(URL: URL, options: Record<MTKTextureLoader.Option, any> | null):MTLTexture;
        /**
         * Synchronously loads image data and creates new Metal textures from the specified list of URLs.
         */
        newTextures(URLs: URL[], options: Record<MTKTextureLoader.Option, any> | null, error: NSErrorPointer):MTLTexture[];
    }
    /**
     * the same name namespace of class MTKTextureLoader
     */
    export namespace MTKTextureLoader {
        export class Option {
            /**
             * A key used to specify whether the texture loader should allocate memory for mipmaps in the texture.
             */
            static allocateMipmaps: MTKTextureLoader.Option;
            /**
             * A key used to specify whether the texture loader should generate mipmaps for the texture. 
             */
            static generateMipmaps: MTKTextureLoader.Option;
            /**
             * A key used to specify the CPU cache mode for the texture.
             */
            static textureCPUCacheMode: MTKTextureLoader.Option;
            /**
             * A key used to specify the storage mode for the texture.
             */
            static textureStorageMode: MTKTextureLoader.Option;
            /**
             * A key used to specify the intended usage of the texture. 
             */
            static textureUsage: MTKTextureLoader.Option;
            /**
             * A key used to specify when to flip the pixel coordinates of the texture.
             */
            static origin: MTKTextureLoader.Option;
            /**
             * A key used to specify how cube texture data is arranged in the source image.
             */
            static cubeLayout: MTKTextureLoader.Option;
            /**
             * A key used to specify whether the texture data is stored as sRGB image data.
             */
            static SRGB: MTKTextureLoader.Option;
            /**
             * Creates a texture loader option from a raw string value.
             */
            constructor (rawValue: string);
        }
        export class Origin {
            /**
             * An option for specifying images that should be flipped only to put their origin in the top-left corner.
             */
            static topLeft: MTKTextureLoader.Origin;
            /**
             * An option for specifying images that should be flipped only to put their origin in the bottom-left corner.
             */
            static bottomLeft: MTKTextureLoader.Origin;
            /**
             * An option that specifies that images should always be flipped.
             */
            static flippedVertically: MTKTextureLoader.Origin;
            /**
             * Creates a texture origin option from a raw string value.
             */
            constructor (rawValue: string);
        }
        export class CubeLayout {
            /**
             * Specifies that the source 2D image is a vertical arrangement of six cube faces.
             */
            static vertical: MTKTextureLoader.CubeLayout;
            /**
             * Creates a cube layout option from a raw string value.
             */
            constructor (rawValue: string);
        }
        export class Error {
            /**
             * The error domain used by 
             *  when returning texture loading errors.
             */
            static domain: MTKTextureLoader.Error;
            /**
             * The key used to retrieve an error string from an error object’s 
             *  dictionary.
             */
            static key: MTKTextureLoader.Error;
            constructor (rawValue: string);
        }
    }
    export class MTKView extends NSView,UIView {
        /**
         * The view’s delegate.
         */
        delegate: MTKViewDelegate | null;
        /**
         * The device object the view uses to create its Metal objects.
         */
        device: MTLDevice | null;
        /**
         * The device object that the system recommends using for this view.
         */
        preferredDevice: MTLDevice | null;
        /**
         * The color pixel format for the current drawable’s texture.
         */
        colorPixelFormat: MTLPixelFormat;
        /**
         * The color space of the rendered content.
         */
        colorspace: CGColorSpace | null;
        /**
         * A Boolean value that determines whether the drawable’s textures are used only for rendering.
         */
        framebufferOnly: boolean;
        /**
         * The current size of drawable textures.
         */
        drawableSize: CGSize;
        /**
         * The recommended dimensions of the drawable.
         */
        preferredDrawableSize: CGSize;
        /**
         * A Boolean value that controls whether to resize the drawable as the view changes size.
         */
        autoResizeDrawable: boolean;
        /**
         * The color to use to clear the color target when creating a render pass descriptor.
         */
        clearColor: MTLClearColor;
        /**
         * The format used to generate the 
         *  object.
         */
        depthStencilPixelFormat: MTLPixelFormat;
        /**
         * The texture usage characteristics that the view uses when creating the depth and stencil textures.
         */
        depthStencilAttachmentTextureUsage: MTLTextureUsage;
        /**
         * The depth value to use to clear the depth target when creating a render pass descriptor.
         */
        clearDepth: number;
        /**
         * The stencil value to use to clear the stencil target when creating a render pass descriptor.
         */
        clearStencil: UInt32;
        /**
         * The sample count used to generate the 
         *  object.
         */
        sampleCount: number;
        /**
         * The texture usage characteristics that the view uses when creating multisample textures.
         */
        multisampleColorAttachmentTextureUsage: MTLTextureUsage;
        /**
         * Creates a render pass descriptor to draw into the current drawable.
         */
        currentRenderPassDescriptor: MTLRenderPassDescriptor | null;
        /**
         * The drawable to use for the current frame.
         */
        currentDrawable: CAMetalDrawable | null;
        /**
         * A packed depth and stencil texture associated with the 
         *  object’s texture.
         */
        depthStencilTexture: MTLTexture | null;
        /**
         * The multisample color sample texture to render into.
         */
        multisampleColorTexture: MTLTexture | null;
        /**
         * The rate at which the view redraws its contents.
         */
        preferredFramesPerSecond: number;
        /**
         * A Boolean value that indicates whether the draw loop is paused.
         */
        isPaused: boolean;
        /**
         * A Boolean value that indicates whether the view responds to 
         * .
         */
        enableSetNeedsDisplay: boolean;
        /**
         * A Boolean value that determines whether the view presents its content using a Core Animation transaction.
         */
        presentsWithTransaction: boolean;
        depthStencilStorageMode: MTLStorageMode;
        /**
         * Initializes a view from data in a given unarchiver.
         */
        constructor (coder: NSCoder);
        /**
         * Initializes a view with the specified frame rectangle and Metal device.
         */
        constructor (frameRect: CGRect, device: MTLDevice | null);
        /**
         * Redraws the view’s contents immediately.
         */
        draw():void;
        /**
         * Releases the 
         *  and 
         *  objects.
         */
        releaseDrawables():void;
    }
    export interface MTKViewDelegate extends NSObjectProtocol {
        /**
         * Updates the view’s contents upon receiving a change in layout, resolution, or size.
         */
        mtkView(view: MTKView, size: CGSize):void;
        /**
         * Draws the view’s contents.
         */
        draw(view: MTKView):void;
    }
}

/**
 * Render, compose, and animate visual elements.
 */
declare module CoreAnimation {
    export class CAMetalLayer extends CALayer {
        /**
         * The Metal device responsible for the layer’s drawable resources.
         */
        device: MTLDevice | null;
        /**
         * The device object that the system recommends using for this layer.
         */
        preferredDevice: MTLDevice | null;
        /**
         * The pixel format of the layer’s textures.
         */
        pixelFormat: MTLPixelFormat;
        /**
         * The color space of the rendered content.
         */
        colorspace: CGColorSpace | null;
        /**
         * A Boolean value that determines whether the layer’s textures are used only for rendering.
         */
        framebufferOnly: boolean;
        /**
         * The size, in pixels, of textures for rendering layer content.
         */
        drawableSize: CGSize;
        /**
         * A Boolean value that determines whether the layer presents its content using a Core Animation transaction.
         */
        presentsWithTransaction: boolean;
        /**
         * A Boolean value that determines whether the layer synchronizes its updates to the display’s refresh rate.
         */
        displaySyncEnabled: boolean;
        /**
         * Enables extended dynamic range values onscreen.
         */
        wantsExtendedDynamicRangeContent: boolean;
        /**
         * Metadata describing the tone mapping to apply to the extended dynamic range (EDR) values in the layer.
         */
        edrMetadata: CAEDRMetadata | null;
        /**
         * The number of Metal drawables in the resource pool managed by Core Animation.
         */
        maximumDrawableCount: number;
        /**
         * A Boolean value that determines whether requests for a new buffer expire if the system can’t satisfy them.
         */
        allowsNextDrawableTimeout: boolean;
        developerHUDProperties: Record<AnyHashable, any> | null;
        /**
         * Waits until a Metal drawable is available, and then returns it.
         */
        nextDrawable():CAMetalDrawable | null;
    }
    export interface CAMetalDrawable extends MTLDrawable {
        /**
         * A Metal texture object that contains the drawable’s contents.
         */
        texture: MTLTexture;
        /**
         * The layer that owns this drawable object.
         */
        layer: CAMetalLayer;
    }
    export class CALayer extends NSObject {
        /**
         * The rectangle that defines how the layer contents are scaled if the layer’s contents are resized. Animatable.
         */
        contentsCenter: CGRect;
        /**
         * A bitmask defining how the layer is resized when the bounds of its superlayer changes.
         */
        autoresizingMask: CAAutoresizingMask;
        /**
         * The constraints used to position current layer’s sublayers.
         */
        constraints: CAConstraint[] | null;
        /**
         * A dictionary containing layer actions.
         */
        actions: Record<string, CAAction> | null;
        /**
         * The visible region of the layer in its own coordinate space.
         */
        visibleRect: CGRect;
        /**
         * The name of the receiver.
         */
        name: string;
        /**
         * A constant that specifies how the layer's contents are positioned or scaled within its bounds.
         */
        contentsGravity: CALayerContentsGravity;
        cornerCurve: CALayerCornerCurve;
        /**
         * The opacity of the receiver. Animatable.
         */
        opacity: Float;
        /**
         * A Boolean indicating whether the layer is displayed. Animatable.
         */
        isHidden: boolean;
        /**
         * A Boolean indicating whether sublayers are clipped to the layer’s bounds. Animatable.
         */
        masksToBounds: boolean;
        /**
         * An optional layer whose alpha channel is used to mask the layer’s content.  
         */
        mask: CALayer | null;
        /**
         * A Boolean indicating whether the layer displays its content when facing away from the viewer. Animatable.
         */
        isDoubleSided: boolean;
        /**
         * The radius to use when drawing rounded corners for the layer’s background. Animatable. 
         */
        cornerRadius: CGFloat;
        maskedCorners: CACornerMask;
        /**
         * The width of the layer’s border. Animatable.
         */
        borderWidth: CGFloat;
        /**
         * The color of the layer’s border. Animatable.
         */
        borderColor: CGColor | null;
        /**
         * The background color of the receiver. Animatable.
         */
        backgroundColor: CGColor | null;
        /**
         * The opacity of the layer’s shadow. Animatable.
         */
        shadowOpacity: Float;
        /**
         * The blur radius (in points) used to render the layer’s shadow. Animatable.
         */
        shadowRadius: CGFloat;
        /**
         * The offset (in points) of the layer’s shadow. Animatable.
         */
        shadowOffset: CGSize;
        /**
         * The color of the layer’s shadow. Animatable.
         */
        shadowColor: CGColor | null;
        /**
         * The shape of the layer’s shadow. Animatable.
         */
        shadowPath: CGPath | null;
        /**
         * An optional dictionary used to store property values that aren't explicitly defined by the layer.
         */
        style: Record<AnyHashable, any> | null;
        /**
         * A Boolean indicating whether the layer is allowed to perform edge antialiasing.
         */
        allowsEdgeAntialiasing: boolean;
        /**
         * A Boolean indicating whether the layer is allowed to composite itself as a group separate from its parent.
         */
        allowsGroupOpacity: boolean;
        /**
         * An array of Core Image filters to apply to the contents of the layer and its sublayers. Animatable.
         */
        filters: any[] | null;
        /**
         * A CoreImage filter used to composite the layer and the content behind it. Animatable.
         */
        compositingFilter: any;
        /**
         * An array of Core Image filters to apply to the content immediately behind the layer. Animatable.
         */
        backgroundFilters: any[] | null;
        /**
         * The filter used when reducing the size of the content.
         */
        minificationFilter: CALayerContentsFilter;
        /**
         * The bias factor used by the minification filter to determine the levels of detail.
         */
        minificationFilterBias: Float;
        /**
         * The filter used when increasing the size of the content.
         */
        magnificationFilter: CALayerContentsFilter;
        /**
         * A Boolean value indicating whether the layer contains completely opaque content.
         */
        isOpaque: boolean;
        /**
         * A bitmask defining how the edges of the receiver are rasterized.
         */
        edgeAntialiasingMask: CAEdgeAntialiasingMask;
        /**
         * A Boolean that indicates whether the geometry of the layer and its sublayers is flipped vertically.
         */
        isGeometryFlipped: boolean;
        /**
         * A Boolean indicating whether drawing commands are deferred and processed asynchronously in a background thread. 
         */
        drawsAsynchronously: boolean;
        /**
         * A Boolean that indicates whether the layer is rendered as a bitmap before compositing. Animatable
         */
        shouldRasterize: boolean;
        /**
         * The scale at which to rasterize content, relative to the coordinate space of the layer. Animatable
         */
        rasterizationScale: CGFloat;
        /**
         * A hint for the desired storage format of the layer contents.
         */
        contentsFormat: CALayerContentsFormat;
        /**
         * The layer’s frame rectangle.
         */
        frame: CGRect;
        /**
         * The layer’s bounds rectangle. Animatable.
         */
        bounds: CGRect;
        /**
         * The layer’s position in its superlayer’s coordinate space. Animatable.
         */
        position: CGPoint;
        /**
         * The layer’s position on the z axis. Animatable.
         */
        zPosition: CGFloat;
        /**
         * The layer’s delegate object.
         */
        delegate: CALayerDelegate | null;
        /**
         * The anchor point for the layer’s position along the z axis. Animatable.
         */
        anchorPointZ: CGFloat;
        /**
         * Defines the anchor point of the layer's bounds rectangle. Animatable.
         */
        anchorPoint: CGPoint;
        /**
         * The scale factor applied to the layer.
         */
        contentsScale: CGFloat;
        /**
         * The transform applied to the layer’s contents. Animatable.
         */
        transform: CATransform3D;
        /**
         * Specifies the transform to apply to sublayers when rendering. Animatable.
         */
        sublayerTransform: CATransform3D;
        /**
         * An array containing the layer’s sublayers.
         */
        sublayers: CALayer[] | null;
        /**
         * The superlayer of the layer.
         */
        superlayer: CALayer | null;
        /**
         * An object that provides the contents of the layer. Animatable.
         */
        contents: any;
        /**
         * A Boolean indicating whether the layer contents must be updated when its bounds rectangle changes.
         */
        needsDisplayOnBoundsChange: boolean;
        /**
         * The rectangle, in the unit coordinate space, that defines the portion of the layer’s contents that should be used. Animatable.
         */
        contentsRect: CGRect;
        /**
         * The object responsible for laying out the layer’s sublayers.
         */
        layoutManager: CALayoutManager | null;
        /**
         * Returns an initialized 
         *  object.
         */
        constructor ();
        /**
         * Override to copy or initialize custom fields of the specified layer. 
         */
        constructor (layer: any);
        /**
         * Initializes a layer with a remote client ID.
         */
        constructor (client_id: UInt32);
        /**
         * Returns the default action for the current class. 
         */
        static defaultAction(event: string):CAAction | null;
        /**
         * Specifies the default value associated with the specified key. 
         */
        static defaultValue(key: string):any;
        static cornerCurveExpansionFactor(curve: CALayerCornerCurve):CGFloat;
        /**
         * Returns a Boolean indicating whether the layer has been marked as needing a layout update.
         */
        needsLayout():boolean;
        /**
         * Informs the receiver that the size of its superlayer changed.
         */
        resize(size: CGSize):void;
        /**
         * Informs the receiver’s sublayers that the receiver’s size has changed.
         */
        resizeSublayers(size: CGSize):void;
        /**
         * Returns the preferred size of the layer in the coordinate space of its superlayer.
         */
        preferredFrameSize():CGSize;
        /**
         * Adds the specified constraint to the layer.
         */
        addConstraint(c: CAConstraint):void;
        /**
         * Returns the action object assigned to the specified key.
         */
        action(event: string):CAAction | null;
        /**
         * Reloads the content of this layer.
         */
        display():void;
        /**
         * Converts the point from the specified layer’s coordinate system to the receiver’s coordinate system.
         */
        convert(p: CGPoint, l: CALayer | null):CGPoint;
        /**
         * Converts the time interval from the specified layer’s time space to the receiver’s time space.
         */
        convertTime(t: CFTimeInterval, l: CALayer | null):CFTimeInterval;
        /**
         * Returns the farthest descendant of the receiver in the layer hierarchy (including itself) that contains the specified point.
         */
        hitTest(p: CGPoint):CALayer | null;
        /**
         * Returns whether the receiver contains a specified point.
         */
        contains(p: CGPoint):boolean;
        /**
         * Initiates a scroll in the layer’s closest ancestor scroll layer so that the specified point lies at the origin of the scroll layer.
         */
        scroll(p: CGPoint):void;
        /**
         * Draws the layer’s content using the specified graphics context.
         */
        draw(ctx: CGContext):void;
        /**
         * Initiates a scroll in the layer’s closest ancestor scroll layer so that the specified rectangle becomes visible.
         */
        scrollRectToVisible(r: CGRect):void;
        /**
         * Returns a Boolean indicating whether the value of the specified key should be archived.
         */
        shouldArchiveValue(key: string):boolean;
        /**
         * Returns a copy of the presentation layer object that represents the state of the layer as it currently appears onscreen.
         */
        presentation():Self | null;
        /**
         * Returns a Boolean indicating whether the layer content is implicitly flipped when rendered.
         */
        contentsAreFlipped():boolean;
        /**
         * Returns the model layer object associated with the receiver, if any. 
         */
        model():Self;
        /**
         * Renders the layer and its sublayers into the specified context.
         */
        render(ctx: CGContext):void;
        /**
         * Returns an affine version of the layer’s transform.
         */
        affineTransform():CGAffineTransform;
        /**
         * Sets the layer’s transform to the specified affine transform.
         */
        setAffineTransform(m: CGAffineTransform):void;
        /**
         * Appends the layer to the layer’s list of sublayers.
         */
        addSublayer(layer: CALayer):void;
        /**
         * Detaches the layer from its parent layer.
         */
        removeFromSuperlayer():void;
        /**
         * Inserts the specified layer into the receiver’s list of sublayers at the specified index.
         */
        insertSublayer(layer: CALayer, idx: UInt32):void;
        /**
         * Replaces the specified sublayer with a different layer object.
         */
        replaceSublayer(oldLayer: CALayer, newLayer: CALayer):void;
        /**
         * Marks the layer’s contents as needing to be updated.
         */
        setNeedsDisplay():void;
        /**
         * Initiates the update process for a layer if it is currently marked as needing an update.
         */
        displayIfNeeded():void;
        /**
         * Returns a Boolean indicating whether the layer has been marked as needing an update.
         */
        needsDisplay():boolean;
        /**
         * Add the specified animation object to the layer’s render tree.
         */
        add(anim: CAAnimation, key: string):void;
        /**
         * Returns the animation object with the specified identifier.
         */
        animation(key: string):CAAnimation | null;
        /**
         * Remove all animations attached to the layer.
         */
        removeAllAnimations():void;
        /**
         * Remove the animation object with the specified key.
         */
        removeAnimation(key: string):void;
        /**
         * Returns an array of strings that identify the animations currently attached to the layer.
         */
        animationKeys():string[] | null;
        /**
         * Invalidates the layer’s layout and marks it as needing an update.
         */
        setNeedsLayout():void;
        /**
         * Tells the layer to update its layout.
         */
        layoutSublayers():void;
        /**
         * Recalculate the receiver’s layout, if required. 
         */
        layoutIfNeeded():void;
    }
    export class CAAutoresizingMask {
        /**
         * The left margin between the receiver and its superview is flexible.
         */
        static layerMinXMargin: CAAutoresizingMask;
        /**
         * The receiver’s width is flexible.
         */
        static layerWidthSizable: CAAutoresizingMask;
        /**
         * The right margin between the receiver and its superview is flexible.
         */
        static layerMaxXMargin: CAAutoresizingMask;
        /**
         * The bottom margin between the receiver and its superview is flexible.
         */
        static layerMinYMargin: CAAutoresizingMask;
        /**
         * The receiver’s height is flexible.
         */
        static layerHeightSizable: CAAutoresizingMask;
        /**
         * The top margin between the receiver and its superview is flexible.
         */
        static layerMaxYMargin: CAAutoresizingMask;
        constructor (rawValue: UInt32);
    }
    export class CAEdgeAntialiasingMask {
        static layerLeftEdge: CAEdgeAntialiasingMask;
        static layerRightEdge: CAEdgeAntialiasingMask;
        static layerBottomEdge: CAEdgeAntialiasingMask;
        static layerTopEdge: CAEdgeAntialiasingMask;
        constructor (rawValue: UInt32);
    }
    export class CALayerContentsFilter {
        /**
         * Linear interpolation filter.
         */
        static linear: CALayerContentsFilter;
        /**
         * Nearest neighbor interpolation filter.
         */
        static nearest: CALayerContentsFilter;
        /**
         * Trilinear minification filter. Enables mipmap generation. Some renderers may ignore this, or impose additional restrictions, such as source images requiring power-of-two dimensions.
         */
        static trilinear: CALayerContentsFilter;
    }
    export class CATransform3D {
        /**
         * The entry at position 1,1 in the matrix.
         */
        m11: CGFloat;
        /**
         * The entry at position 1,2 in the matrix.
         */
        m12: CGFloat;
        /**
         * The entry at position 1,3 in the matrix.
         */
        m13: CGFloat;
        /**
         * The entry at position 1,4 in the matrix.
         */
        m14: CGFloat;
        /**
         * The entry at position 2,1 in the matrix.
         */
        m21: CGFloat;
        /**
         * The entry at position 2,2 in the matrix.
         */
        m22: CGFloat;
        /**
         * The entry at position 2,3 in the matrix.
         */
        m23: CGFloat;
        /**
         * The entry at position 2,4 in the matrix.
         */
        m24: CGFloat;
        /**
         * The entry at position 3,1 in the matrix.
         */
        m31: CGFloat;
        /**
         * The entry at position 3,2 in the matrix.
         */
        m32: CGFloat;
        /**
         * The entry at position 3,3 in the matrix.
         */
        m33: CGFloat;
        /**
         * The entry at position 3,4 in the matrix.
         */
        m34: CGFloat;
        /**
         * The entry at position 4,1 in the matrix.
         */
        m41: CGFloat;
        /**
         * The entry at position 4,2 in the matrix.
         */
        m42: CGFloat;
        /**
         * The entry at position 4,3 in the matrix.
         */
        m43: CGFloat;
        /**
         * The entry at position 4,4 in the matrix.
         */
        m44: CGFloat;
        constructor ();
        constructor (m11: CGFloat, m12: CGFloat, m13: CGFloat, m14: CGFloat, m21: CGFloat, m22: CGFloat, m23: CGFloat, m24: CGFloat, m31: CGFloat, m32: CGFloat, m33: CGFloat, m34: CGFloat, m41: CGFloat, m42: CGFloat, m43: CGFloat, m44: CGFloat);
        constructor (m: float4x4);
    }
    export class CALayerContentsGravity {
        /**
         * The content is horizontally and vertically centered in the bounds rectangle.
         */
        static center: CALayerContentsGravity;
        /**
         * The content is horizontally centered at the top-edge of the bounds rectangle.
         */
        static top: CALayerContentsGravity;
        /**
         * The content is horizontally centered at the bottom-edge of the bounds rectangle.
         */
        static bottom: CALayerContentsGravity;
        /**
         * The content is vertically centered at the left-edge of the bounds rectangle.
         */
        static left: CALayerContentsGravity;
        /**
         * The content is vertically centered at the right-edge of the bounds rectangle.
         */
        static right: CALayerContentsGravity;
        /**
         * The content is positioned in the top-left corner of the bounds rectangle.
         */
        static topLeft: CALayerContentsGravity;
        /**
         * The content is positioned in the top-right corner of the bounds rectangle.
         */
        static topRight: CALayerContentsGravity;
        /**
         * The content is positioned in the bottom-left corner of the bounds rectangle.
         */
        static bottomLeft: CALayerContentsGravity;
        /**
         * The content is positioned in the bottom-right corner of the bounds rectangle.
         */
        static bottomRight: CALayerContentsGravity;
        /**
         * The content is resized to fit the entire bounds rectangle.
         */
        static resize: CALayerContentsGravity;
        /**
         * The content is resized to fit the bounds rectangle, preserving the aspect of the content. If the content does not completely fill the bounds rectangle, the content is centered in the partial axis.
         */
        static resizeAspect: CALayerContentsGravity;
        /**
         * The content is resized to completely fill the bounds rectangle, while still preserving the aspect of the content. The content is centered in the axis it exceeds.
         */
        static resizeAspectFill: CALayerContentsGravity;
    }
    export interface CALayerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to implement the display process.
         */
        display(layer: CALayer):void;
        /**
         * Tells the delegate to implement the display process using the layer's 
         * .
         */
        draw(layer: CALayer, ctx: CGContext):void;
        /**
         * Notifies the delegate of an imminent draw.
         */
        layerWillDraw(layer: CALayer):void;
        /**
         * Tells the delegate a layer's bounds have changed.
         */
        layoutSublayers(layer: CALayer):void;
        /**
         * Returns the default action of the 
         *  method. 
         */
        action(layer: CALayer, event: string):CAAction | null;
    }
    export class CAConstraint extends NSObject {
        /**
         * The attribute the constraint affects.
         */
        attribute: CAConstraintAttribute;
        /**
         * Offset value of the constraint attribute.
         */
        offset: CGFloat;
        /**
         * Scale factor of the constraint attribute.
         */
        scale: CGFloat;
        /**
         * The constraint attribute of the layer the receiver is calculated relative to 
         */
        sourceAttribute: CAConstraintAttribute;
        /**
         * Name of the layer that the constraint is calculated relative to. 
         */
        sourceName: string;
        /**
         * Creates and returns an 
         *  object with the specified parameters.
         */
        constructor (attr: CAConstraintAttribute, srcId: string, srcAttr: CAConstraintAttribute, c: CGFloat);
        /**
         * Creates and returns an 
         *  object with the specified parameters.
         */
        constructor (attr: CAConstraintAttribute, srcId: string, srcAttr: CAConstraintAttribute);
        /**
         * Returns an 
         *  object with the specified parameters. Designated initializer.
         */
        constructor (attr: CAConstraintAttribute, srcId: string, srcAttr: CAConstraintAttribute, m: CGFloat, c: CGFloat);
    }
    export enum CAConstraintAttribute {
        height = 7,
        maxX = 2,
        maxY = 6,
        midX = 1,
        midY = 5,
        minX = 0,
        minY = 4,
        width = 3,
    }
    export interface CALayoutManager extends NSObjectProtocol {
        /**
         * Invalidates the layout of a layer so it knows to refresh its content on the next frame.
         */
        invalidateLayout(layer: CALayer):void;
        /**
         * Override to customize layout of sublayers whenever the layer needs redrawing.
         */
        layoutSublayers(layer: CALayer):void;
        /**
         * Override to customize layer size.
         */
        preferredSize(layer: CALayer):CGSize;
    }
    export class CAConstraintLayoutManager extends NSObject {}
    export interface CAAction {
        /**
         * Called to trigger the action specified by the identifier.
         */
        run(event: string, anObject: any, dict: Record<AnyHashable, any> | null):void;
    }
    export class CATextLayer extends CALayer {
        /**
         * The text to be rendered by the receiver.
         */
        string: any;
        /**
         * The font used to render the receiver’s text.
         */
        font: CFTypeRef | null;
        /**
         * The font size used to render the receiver’s text. Animatable.
         */
        fontSize: CGFloat;
        /**
         * The color used to render the receiver’s text. Animatable.
         */
        foregroundColor: CGColor | null;
        /**
         * Determines whether to allow subpixel quantization for the graphics context used for text rendering. 
         */
        allowsFontSubpixelQuantization: boolean;
        /**
         * Determines whether the text is wrapped to fit within the receiver’s bounds.
         */
        isWrapped: boolean;
        /**
         * Determines how individual lines of text are horizontally aligned within the receiver’s bounds.
         */
        alignmentMode: CATextLayerAlignmentMode;
        /**
         * Determines how the text is truncated to fit within the receiver’s bounds.
         */
        truncationMode: CATextLayerTruncationMode;
    }
    export class CATextLayerTruncationMode {
        /**
         * If the 
         *  property is 
         * , the text is wrapped to the receiver’s bounds, otherwise the text is clipped to the receiver’s bounds.
         */
        static none: CATextLayerTruncationMode;
        /**
         * Each line is displayed so that the end fits in the container and the missing text is indicated by some kind of ellipsis glyph.
         */
        static start: CATextLayerTruncationMode;
        /**
         * Each line is displayed so that the beginning fits in the container and the missing text is indicated by some kind of ellipsis glyph.
         */
        static end: CATextLayerTruncationMode;
        /**
         * Each line is displayed so that the beginning and end fit in the container and the missing text is indicated by some kind of ellipsis glyph in the middle.
         */
        static middle: CATextLayerTruncationMode;
    }
    export class CATextLayerAlignmentMode {
        /**
         * Use the natural alignment of the text’s script.
         */
        static natural: CATextLayerAlignmentMode;
        /**
         * Text is visually left aligned.
         */
        static left: CATextLayerAlignmentMode;
        /**
         * Text is visually right aligned.
         */
        static right: CATextLayerAlignmentMode;
        /**
         * Text is visually center aligned.
         */
        static center: CATextLayerAlignmentMode;
        /**
         * Text is justified.
         */
        static justified: CATextLayerAlignmentMode;
    }
    export class CAShapeLayer extends CALayer {
        /**
         * The path defining the shape to be rendered. Animatable.
         */
        path: CGPath | null;
        /**
         * The color used to fill the shape’s path. Animatable.
         */
        fillColor: CGColor | null;
        /**
         * The fill rule used when filling the shape’s path.
         */
        fillRule: CAShapeLayerFillRule;
        /**
         * Specifies the line cap style for the shape’s path.
         */
        lineCap: CAShapeLayerLineCap;
        /**
         * The dash pattern applied to the shape’s path when stroked.
         */
        lineDashPattern: NSNumber[] | null;
        /**
         * The dash phase applied to the shape’s path when stroked. Animatable.
         */
        lineDashPhase: CGFloat;
        /**
         * Specifies the line join style for the shape’s path.
         */
        lineJoin: CAShapeLayerLineJoin;
        /**
         * Specifies the line width of the shape’s path. Animatable.
         */
        lineWidth: CGFloat;
        /**
         * The miter limit used when stroking the shape’s path. Animatable.
         */
        miterLimit: CGFloat;
        /**
         * The color used to stroke the shape’s path. Animatable.
         */
        strokeColor: CGColor | null;
        /**
         * The relative location at which to begin stroking the path. Animatable.
         */
        strokeStart: CGFloat;
        /**
         * The relative location at which to stop stroking the path. Animatable.
         */
        strokeEnd: CGFloat;
    }
    export class CAShapeLayerFillRule {
        /**
         * Specifies the non-zero winding rule. Count each left-to-right path as +1 and each right-to-left path as -1. If the sum of all crossings is 0, the point is outside the path. If the sum is nonzero, the point is inside the path and the region containing it is filled.
         */
        static nonZero: CAShapeLayerFillRule;
        /**
         * Specifies the even-odd winding rule. Count the total number of path crossings. If the number of crossings is even, the point is outside the path. If the number of crossings is odd, the point is inside the path and the region containing it should be filled.
         */
        static evenOdd: CAShapeLayerFillRule;
    }
    export class CAShapeLayerLineJoin {
        /**
         * Specifies a miter line shape of the joints between connected segments of a stroked path.
         */
        static miter: CAShapeLayerLineJoin;
        /**
         * Specifies a round line shape of the joints between connected segments of a stroked path.
         */
        static round: CAShapeLayerLineJoin;
        /**
         * Specifies a bevel line shape of the joints between connected segments of a stroked path.
         */
        static bevel: CAShapeLayerLineJoin;
    }
    export class CAShapeLayerLineCap {
        /**
         * Specifies a butt line cap style for endpoints for an open path when stroked.
         */
        static butt: CAShapeLayerLineCap;
        /**
         * Specifies a round line cap style for endpoints for an open path when stroked.
         */
        static round: CAShapeLayerLineCap;
        /**
         * Specifies a square line cap style for endpoints for an open path when stroked.
         */
        static square: CAShapeLayerLineCap;
    }
    export class CAGradientLayer extends CALayer {
        /**
         * An array of 
         *  objects defining the color of each gradient stop. Animatable.
         */
        colors: any[] | null;
        /**
         * An optional array of NSNumber objects defining the location of each gradient stop. Animatable.
         */
        locations: NSNumber[] | null;
        /**
         * The end point of the gradient when drawn in the layer’s coordinate space. Animatable.
         */
        endPoint: CGPoint;
        /**
         * The start point of the gradient when drawn in the layer’s coordinate space. Animatable.
         */
        startPoint: CGPoint;
        /**
         * Style of gradient drawn by the layer.
         */
        type: CAGradientLayerType;
    }
    export class CAGradientLayerType {
        /**
         * An axial gradient (also called a linear gradient) varies along an axis between two defined end points. All points that lie on a line perpendicular to the axis have the same color value.
         */
        static axial: CAGradientLayerType;
    }
    export class CAAnimation extends NSObject {
        /**
         * Determines if the animation is removed from the target layer’s animations upon completion.
         */
        isRemovedOnCompletion: boolean;
        /**
         * An optional timing function defining the pacing of the animation.
         */
        timingFunction: CAMediaTimingFunction | null;
        /**
         * Specifies the receiver’s delegate object.
         */
        delegate: CAAnimationDelegate | null;
        /**
         * For animations attached to SceneKit objects, a Boolean value that determines whether the animation is evaluated using the scene time or the system time.
         */
        usesSceneTimeBase: boolean;
        /**
         * For animations attached to SceneKit objects, the duration for transitioning into the animation’s effect as it begins.
         */
        fadeInDuration: CGFloat;
        /**
         * For animations attached to SceneKit objects, the duration for transitioning out of the animation’s effect as it ends.
         */
        fadeOutDuration: CGFloat;
        /**
         * For animations attached to SceneKit objects, a list of events attached to an animation.
         */
        animationEvents: SCNAnimationEvent[] | null;
        preferredFrameRateRange: CAFrameRateRange;
        /**
         * Creates an animation from a SceneKit animation.
         */
        constructor (animation: SCNAnimation);
        /**
         * Specifies the default value of the property with the specified key. 
         */
        static defaultValue(key: string):any;
        /**
         * Specifies whether the value of the property for a given key is archived.
         */
        shouldArchiveValue(key: string):boolean;
    }
    export interface CAAnimationDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate the animation has started. 
         */
        animationDidStart(anim: CAAnimation):void;
        /**
         * Tells the delegate the animation has ended. 
         */
        animationDidStop(anim: CAAnimation, flag: boolean):void;
    }
    export class CAPropertyAnimation extends CAAnimation {
        /**
         * Specifies the key path the receiver animates.
         */
        keyPath: string;
        /**
         * Determines if the value of the property is the value at the end of the previous repeat cycle, plus the value of the current repeat cycle.
         */
        isCumulative: boolean;
        /**
         * Determines if the value specified by the animation is added to the current render tree value to produce the new render tree value.
         */
        isAdditive: boolean;
        /**
         * An optional value function that is applied to interpolated values.
         */
        valueFunction: CAValueFunction | null;
        /**
         * Creates and returns an 
         *  instance for the specified key path.
         */
        constructor (path: string);
    }
    export class CABasicAnimation extends CAPropertyAnimation {
        /**
         * Defines the value the receiver uses to start interpolation.
         */
        fromValue: any;
        /**
         * Defines the value the receiver uses to end interpolation.
         */
        toValue: any;
        /**
         * Defines the value the receiver uses to perform relative interpolation.
         */
        byValue: any;
    }
    export class CAKeyframeAnimation extends CAPropertyAnimation {
        /**
         * An array of objects that specify the keyframe values to use for the animation.
         */
        values: any[] | null;
        /**
         * The path for a point-based property to follow.
         */
        path: CGPath | null;
        /**
         * An optional array of 
         *  objects that define the time at which to apply a given keyframe segment.
         */
        keyTimes: NSNumber[] | null;
        /**
         * An optional array of 
         *  objects that define the pacing for each keyframe segment.
         */
        timingFunctions: CAMediaTimingFunction[] | null;
        /**
         * Specifies how intermediate keyframe values are calculated by the receiver.
         */
        calculationMode: CAAnimationCalculationMode;
        /**
         * Determines whether objects animating along the path rotate to match the path tangent.
         */
        rotationMode: CAAnimationRotationMode | null;
        /**
         * An array of 
         *  objects that define the tightness of the curve. 
         */
        tensionValues: NSNumber[] | null;
        /**
         * An array of 
         *  objects that define the sharpness of the timing curve’s corners.
         */
        continuityValues: NSNumber[] | null;
        /**
         * An array of 
         *  objects that define the position of the curve relative to a control point.
         */
        biasValues: NSNumber[] | null;
    }
    export class CAAnimationRotationMode {
        static rotateAuto: CAAnimationRotationMode;
        static rotateAutoReverse: CAAnimationRotationMode;
    }
    export class CAAnimationCalculationMode {
        /**
         * Simple linear calculation between keyframe values.
         */
        static linear: CAAnimationCalculationMode;
        /**
         * Each keyframe value is used in turn, no interpolated values are calculated.
         */
        static discrete: CAAnimationCalculationMode;
        /**
         * Linear keyframe values are interpolated to produce an even pace throughout the animation.
         */
        static paced: CAAnimationCalculationMode;
        /**
         * Smooth spline calculation between keyframe values.
         */
        static cubic: CAAnimationCalculationMode;
        /**
         * Cubic keyframe values are interpolated to produce an even pace throughout the animation.
         */
        static cubicPaced: CAAnimationCalculationMode;
    }
    export class CASpringAnimation extends CABasicAnimation {
        /**
         * Defines how the spring’s motion should be damped due to the forces of friction.
         */
        damping: CGFloat;
        /**
         * The initial velocity of the object attached to the spring.
         */
        initialVelocity: CGFloat;
        /**
         * The mass of the object attached to the end of the spring.
         */
        mass: CGFloat;
        /**
         * The estimated duration required for the spring system to be considered at rest.
         */
        settlingDuration: CFTimeInterval;
        /**
         * The spring stiffness coefficient.
         */
        stiffness: CGFloat;
    }
    export class CATransition extends CAAnimation {
        /**
         * Indicates the start point of the receiver as a fraction of the entire transition.
         */
        startProgress: Float;
        /**
         * Indicates the end point of the receiver as a fraction of the entire transition.
         */
        endProgress: Float;
        /**
         * Specifies the predefined transition type.
         */
        type: CATransitionType;
        /**
         * Specifies an optional subtype that indicates the direction for the predefined motion-based transitions.
         */
        subtype: CATransitionSubtype | null;
        /**
         * An optional Core Image filter object that provides the transition.
         */
        filter: any;
    }
    export class CATransitionType {
        /**
         * The layer’s content fades as it becomes visible or hidden.
         */
        static fade: CATransitionType;
        /**
         * The layer’s content slides into place over any existing content. The 
         *  are used with this transition.
         */
        static moveIn: CATransitionType;
        /**
         * The layer’s content pushes any existing content as it slides into place. The 
         *  are used with this transition. 
         */
        static push: CATransitionType;
        /**
         * The layer’s content is revealed gradually in the direction specified by the transition subtype. The 
         *  are used with this transition.
         */
        static reveal: CATransitionType;
    }
    export class CATransitionSubtype {
        /**
         * The transition begins at the right side of the layer.
         */
        static fromRight: CATransitionSubtype;
        /**
         * The transition begins at the left side of the layer.
         */
        static fromLeft: CATransitionSubtype;
        /**
         * The transition begins at the top of the layer.
         */
        static fromTop: CATransitionSubtype;
        /**
         * The transition begins at the bottom of the layer.
         */
        static fromBottom: CATransitionSubtype;
    }
    export class CAValueFunction extends NSObject {
        /**
         * Returns the name of the value function.
         */
        name: CAValueFunctionName;
        /**
         * Returns the value function object identified by the name.
         */
        constructor (name: CAValueFunctionName);
    }
    export class CAValueFunctionName {
        /**
         * A value function that rotates by the input value, in radians, around the x-axis. This value function expects a single input value.
         */
        static rotateX: CAValueFunctionName;
        /**
         * A value function that rotates by the input value, in radians, around the y-axis. This value function expects a single input value.
         */
        static rotateY: CAValueFunctionName;
        /**
         * A value function that rotates by the input value, in radians, around the z-axis. This value function expects a single input value.
         */
        static rotateZ: CAValueFunctionName;
        /**
         * A value function scales by the input value along all three axis. Animations using this value transform function must provide animation values in an 
         *  of three 
         *  instances that specify the (x, y, z) scale values.
         */
        static scale: CAValueFunctionName;
        /**
         * A value function scales by the input value along the x-axis. Animations referencing this value transform function must provide a single animation value.
         */
        static scaleX: CAValueFunctionName;
        /**
         * A value function scales by the input value along the y-axis. Animations referencing this value function must provide a single animation value.
         */
        static scaleY: CAValueFunctionName;
        /**
         * A value function that scales by the input value along the z-axis. Animations referencing this value function must provide a single animation value.
         */
        static scaleZ: CAValueFunctionName;
        /**
         * A value function that translates by the input values along all three axis. Animations using this value transform function must provide animation values in an 
         *  of three 
         *  instances that specify the (x, y, z) translate values.
         */
        static translate: CAValueFunctionName;
        /**
         * A value function translates by the input value along the x-axis. Animations referencing this value function must provide a single input value.
         */
        static translateX: CAValueFunctionName;
        /**
         * A value function translates by the input value along the y-axis. Animations referencing this value function must provide a single input value.
         */
        static translateY: CAValueFunctionName;
        /**
         * A value function translates by the input value along the z-axis. Animations referencing this value function must provide a single input value.
         */
        static translateZ: CAValueFunctionName;
    }
    export class CAAnimationGroup extends CAAnimation {
        /**
         * An array of 
         *  objects to be evaluated in the time space of the receiver.
         */
        animations: CAAnimation[] | null;
    }
    export class CATransaction extends NSObject {
        /**
         * Begin a new transaction for the current thread.
         */
        static begin():void;
        /**
         * Commit all changes made during the current transaction.
         */
        static commit():void;
        /**
         * Flushes any extant implicit transaction.
         */
        static flush():void;
        /**
         * Returns the animation duration used by all animations within this transaction group.
         */
        static animationDuration():CFTimeInterval;
        /**
         * Sets the animation duration used by all animations within this transaction group.
         */
        static setAnimationDuration(dur: CFTimeInterval):void;
        /**
         * Returns the timing function used for all animations within this transaction group. 
         */
        static animationTimingFunction():CAMediaTimingFunction | null;
        /**
         * Sets the timing function used for all animations within this transaction group. 
         */
        static setAnimationTimingFunction(_function: CAMediaTimingFunction | null):void;
        /**
         * Returns whether actions triggered as a result of property changes made within this transaction group are suppressed. 
         */
        static disableActions():boolean;
        /**
         * Sets whether actions triggered as a result of property changes made within this transaction group are suppressed.
         */
        static setDisableActions(flag: boolean):void;
        /**
         * Returns the completion block object.
         */
        static completionBlock():()=>any | null;
        /**
         * Sets the completion block object.
         */
        static setCompletionBlock(block: ()=>any | null):void;
        /**
         * Attempts to acquire a recursive spin-lock lock, ensuring that returned layer values are valid until unlocked.
         */
        static lock():void;
        /**
         * Relinquishes a previously acquired transaction lock.
         */
        static unlock():void;
        /**
         * Sets the arbitrary keyed-data for the specified key.
         */
        static setValue(anObject: any, key: string):void;
        /**
         * Returns the arbitrary keyed-data specified by the given key. 
         */
        static value(key: string):any;
    }
    export class CACornerMask {
        static layerMaxXMaxYCorner: CACornerMask;
        static layerMaxXMinYCorner: CACornerMask;
        static layerMinXMaxYCorner: CACornerMask;
        static layerMinXMinYCorner: CACornerMask;
        constructor (rawValue: number);
    }
    export class CAMediaTimingFunction extends NSObject {
        /**
         * Creates and returns a new instance of 
         *  configured with the predefined timing function specified by 
         * .
         */
        constructor (name: CAMediaTimingFunctionName);
        /**
         * Returns an initialized timing function modeled as a cubic Bézier curve using the specified control points.
         */
        constructor (c1x: Float, c1y: Float, c2x: Float, c2y: Float);
        /**
         * Returns the control point for the specified index.
         */
        getControlPoint(idx: number, ptr: UnsafeMutablePointer<Float>):void;
    }
    export class CAMediaTimingFunctionName {
        /**
         * Linear pacing, which causes an animation to occur evenly over its duration.
         */
        static linear: CAMediaTimingFunctionName;
        /**
         * Ease-in pacing, which causes an animation to begin slowly and then speed up as it progresses.
         */
        static easeIn: CAMediaTimingFunctionName;
        /**
         * Ease-out pacing, which causes an animation to begin quickly and then slow as it progresses.
         */
        static easeOut: CAMediaTimingFunctionName;
        /**
         * Ease-in-ease-out pacing, which causes an animation to begin slowly, accelerate through the middle of its duration, and then slow again before completing.
         */
        static easeInEaseOut: CAMediaTimingFunctionName;
        /**
         * The system default timing function. Use this function to ensure that the timing of your animations matches that of most system animations.
         */
        static default: CAMediaTimingFunctionName;
    }
    export interface CAMediaTiming {
        /**
         * Specifies the begin time of the receiver in relation to its parent object, if applicable.
         */
        beginTime: CFTimeInterval;
        /**
         * Specifies an additional time offset in active local time.
         */
        timeOffset: CFTimeInterval;
        /**
         * Determines the number of times the animation will repeat.
         */
        repeatCount: Float;
        /**
         * Determines how many seconds the animation will repeat for.
         */
        repeatDuration: CFTimeInterval;
        /**
         * Specifies the basic duration of the animation, in seconds.
         */
        duration: CFTimeInterval;
        /**
         * Specifies how time is mapped to receiver’s time space from the parent time space. 
         */
        speed: Float;
        /**
         * Determines if the receiver plays in the reverse upon completion.
         */
        autoreverses: boolean;
        /**
         * Determines if the receiver’s presentation is frozen or removed once its active duration has completed.
         */
        fillMode: CAMediaTimingFillMode;
    }
    export class CAMediaTimingFillMode {
        /**
         * The receiver is removed from the presentation when the animation is completed.
         */
        static removed: CAMediaTimingFillMode;
        /**
         * The receiver remains visible in its final state when the animation is completed.
         */
        static forwards: CAMediaTimingFillMode;
        /**
         * The receiver clamps values before zero to zero when the animation is completed.
         */
        static backwards: CAMediaTimingFillMode;
        /**
         * The receiver clamps values at both ends of the object’s time space
         */
        static both: CAMediaTimingFillMode;
    }
    export class CADisplayLink extends NSObject {
        /**
         * The time interval between screen refresh updates.
         */
        duration: CFTimeInterval;
        /**
         * The preferred frame rate for the display link callback.
         */
        preferredFramesPerSecond: number;
        /**
         * A Boolean value that indicates whether the system suspends the display link’s notifications to the target.
         */
        isPaused: boolean;
        /**
         * The time interval that represents when the last frame displayed.
         */
        timestamp: CFTimeInterval;
        /**
         * The time interval that represents when the next frame displays.
         */
        targetTimestamp: CFTimeInterval;
        /**
         * The number of frames that must pass before the display link notifies the target again.
         */
        frameInterval: number;
        preferredFrameRateRange: CAFrameRateRange;
        /**
         * Creates a display link with the target and selector you specify.
         */
        constructor (target: any, sel: Selector);
        /**
         * Registers the display link with a run loop.
         */
        add(runloop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Removes the display link from the run loop for the given mode.
         */
        remove(runloop: RunLoop, mode: RunLoop.Mode):void;
        /**
         * Removes the display link from all run loop modes.
         */
        invalidate():void;
    }
    export class CAEmitterLayer extends CALayer {
        /**
         * The array emitter cells attached to the layer.
         */
        emitterCells: CAEmitterCell[] | null;
        /**
         * Defines how particle cells are rendered into the layer.
         */
        renderMode: CAEmitterLayerRenderMode;
        /**
         * The position of the center of the particle emitter. Animatable.
         */
        emitterPosition: CGPoint;
        /**
         * Specifies the emitter shape.
         */
        emitterShape: CAEmitterLayerEmitterShape;
        /**
         * Specifies the center of the particle emitter shape along the z-axis. Animatable.
         */
        emitterZPosition: CGFloat;
        /**
         * Determines the depth of the emitter shape.
         */
        emitterDepth: CGFloat;
        /**
         * Determines the size of the particle emitter shape. Animatable.
         */
        emitterSize: CGSize;
        /**
         * Defines a multiplier applied to the cell-defined particle scale.
         */
        scale: Float;
        /**
         * Specifies the seed used to initialize the random number generator.
         */
        seed: UInt32;
        /**
         * Defines a multiplier applied to the cell-defined particle spin. Animatable.
         */
        spin: Float;
        /**
         * Defines a multiplier applied to the cell-defined particle velocity. Animatable.
         */
        velocity: Float;
        /**
         * Defines a multiplier that is applied to the cell-defined birth rate. Animatable
         */
        birthRate: Float;
        /**
         * Specifies the emitter mode.
         */
        emitterMode: CAEmitterLayerEmitterMode;
        /**
         * Defines a multiplier applied to the cell-defined lifetime range when particles are created. Animatable.
         */
        lifetime: Float;
        /**
         * Defines whether the layer flattens the particles into its plane.
         */
        preservesDepth: boolean;
    }
    export class CAEmitterLayerEmitterShape {
        /**
         * Particles are emitted from a single point at (
         * , 
         * , 
         * )
         */
        static point: CAEmitterLayerEmitterShape;
        /**
         * Particles are emitted along a line from (
         * , 
         * , 
         * ) to (
         * , 
         * , 
         * ).
         */
        static line: CAEmitterLayerEmitterShape;
        /**
         * Particles are emitted from a rectangle with opposite corners [emitterPosition.x - emitterSize.width/2, emitterPosition.y - emitterSize.height/2, emitterZPosition], [emitterPosition.x + emitterSize.width/2, emitterPosition.y + emitterSize.height/2, emitterZPosition].
         */
        static rectangle: CAEmitterLayerEmitterShape;
        /**
         * Particles are emitted from a cuboid (3D rectangle) with opposite corners: [emitterPosition.x - emitterSize.width/2, emitterPosition.y - emitterSize.height/2, emitterZPosition - emitterDepth/2], [emitterPosition.x + emitterSize.width/2, emitterPosition.y + emitterSize.height/2, emitterZPosition+emitterDepth/2].
         */
        static cuboid: CAEmitterLayerEmitterShape;
        /**
         * Particles are emitted from a circle centered at (
         * , 
         * , 
         * ) of radius 
         * .
         */
        static circle: CAEmitterLayerEmitterShape;
        /**
         * Particles are emitted from a sphere centered at (
         * , 
         * , 
         * ) of radius 
         * .
         */
        static sphere: CAEmitterLayerEmitterShape;
    }
    export class CAEmitterLayerEmitterMode {
        /**
         * Particles are emitted from points on the particle emitter. 
         */
        static points: CAEmitterLayerEmitterMode;
        /**
         * Particles are emitted from the outline of the particle emitter.
         */
        static outline: CAEmitterLayerEmitterMode;
        /**
         * Particles are emitted from the surface of the particle emitter.
         */
        static surface: CAEmitterLayerEmitterMode;
        /**
         * Particles are emitted from the a position within the particle emitter.
         */
        static volume: CAEmitterLayerEmitterMode;
    }
    export class CAEmitterLayerRenderMode {
        /**
         * Particles are rendered unordered. This mode uses source-over compositing.
         */
        static unordered: CAEmitterLayerRenderMode;
        /**
         * Particles are rendered oldest first. This mode uses source-over compositing.
         */
        static oldestFirst: CAEmitterLayerRenderMode;
        /**
         * Particles are rendered oldest last. This mode uses source-over compositing.
         */
        static oldestLast: CAEmitterLayerRenderMode;
        /**
         * Particles are rendered from back to front, sorted by z-position. This mode uses source-over compositing.
         */
        static backToFront: CAEmitterLayerRenderMode;
        /**
         * The particles are rendered using source-additive compositing.
         */
        static additive: CAEmitterLayerRenderMode;
    }
    export class CAEmitterCell extends NSObject {
        /**
         * An object that provides the contents of the layer. Animatable.
         */
        contents: any;
        /**
         * A rectangle (in the unit coordinate space) that specifies the portion of 
         *  that the receiver should draw. Animatable.
         */
        contentsRect: CGRect;
        /**
         * An optional array containing the sub-cells of this cell.
         */
        emitterCells: CAEmitterCell[] | null;
        /**
         * A Boolean value indicating whether or not cells from this emitter are rendered.
         */
        isEnabled: boolean;
        /**
         * The color of each emitted object. Animatable.
         */
        color: CGColor | null;
        /**
         * The amount by which the red color component of the cell can vary. Animatable.
         */
        redRange: Float;
        /**
         * The amount by which the green color component of the cell can vary. Animatable.
         */
        greenRange: Float;
        /**
         * The amount by which the blue color component of the cell can vary. Animatable.
         */
        blueRange: Float;
        /**
         * The amount by which the alpha component of the cell can vary. Animatable.
         */
        alphaRange: Float;
        /**
         * The speed, in seconds, at which the red color component changes over the lifetime of the cell. Animatable.
         */
        redSpeed: Float;
        /**
         * The speed, in seconds, at which the green color component changes over the lifetime of the cell. Animatable.
         */
        greenSpeed: Float;
        /**
         * The speed, in seconds, at which the blue color component changes over the lifetime of the cell. Animatable.
         */
        blueSpeed: Float;
        /**
         * The speed, in seconds, at which the alpha component changes over the lifetime of the cell. Animatable.
         */
        alphaSpeed: Float;
        /**
         * The filter used when increasing the size of the content.
         */
        magnificationFilter: string;
        /**
         * The filter used when reducing the size of the content.
         */
        minificationFilter: string;
        /**
         * The bias factor used by the minification filter to determine the levels of detail.
         */
        minificationFilterBias: Float;
        /**
         * Specifies the scale factor applied to the cell. Animatable.
         */
        scale: CGFloat;
        /**
         * Specifies the range over which the scale value can vary. Animatable.
         */
        scaleRange: CGFloat;
        /**
         * The scale factor of the cell contents.
         */
        contentsScale: CGFloat;
        /**
         * The name of the cell.
         */
        name: string;
        /**
         * An optional dictionary containing additional style values that are not explicitly defined by the receiver.
         */
        style: Record<AnyHashable, any> | null;
        /**
         * The rotational velocity, measured in radians per second, to apply to the cell. Animatable.
         */
        spin: CGFloat;
        /**
         * The amount by which the spin of the cell can vary over its lifetime. Animatable.
         */
        spinRange: CGFloat;
        /**
         * The latitudinal orientation of the emission angle. Animatable.
         */
        emissionLatitude: CGFloat;
        /**
         * The longitudinal orientation of the emission angle. Animatable.
         */
        emissionLongitude: CGFloat;
        /**
         * The angle, in radians, defining a cone around the emission angle. Animatable.
         */
        emissionRange: CGFloat;
        /**
         * The lifetime of the cell, in seconds. Animatable.
         */
        lifetime: Float;
        /**
         * The mean value by which the 
         *  of the cell can vary. Animatable.
         */
        lifetimeRange: Float;
        /**
         * The number of emitted objects created every second. Animatable.
         */
        birthRate: Float;
        /**
         * The speed at which the scale changes over the lifetime of the cell. Animatable.
         */
        scaleSpeed: CGFloat;
        /**
         * The initial velocity of the cell. Animatable.
         */
        velocity: CGFloat;
        /**
         * The amount by which the velocity of the cell can vary. Animatable.
         */
        velocityRange: CGFloat;
        /**
         * The x component of an acceleration vector applied to cell.
         */
        xAcceleration: CGFloat;
        /**
         * The y component of an acceleration vector applied to cell.
         */
        yAcceleration: CGFloat;
        /**
         * The z component of an acceleration vector applied to cell.
         */
        zAcceleration: CGFloat;
        /**
         * Returns the default value of the property with the specified key. 
         */
        static defaultValue(key: string):any;
        /**
         * Returns a Boolean value indicating whether the value for a given key should be archived.
         */
        shouldArchiveValue(key: string):boolean;
    }
    export class CAScrollLayer extends CALayer {
        /**
         * Defines the axes in which the layer may be scrolled.
         */
        scrollMode: CAScrollLayerScrollMode;
        /**
         * Changes the origin of the receiver to the specified point.
         */
        scroll(p: CGPoint):void;
    }
    export class CAScrollLayerScrollMode {
        /**
         * The receiver is unable to scroll.
         */
        static none: CAScrollLayerScrollMode;
        /**
         * The receiver is able to scroll vertically.
         */
        static vertically: CAScrollLayerScrollMode;
        /**
         * The receiver is able to scroll horizontally.
         */
        static horizontally: CAScrollLayerScrollMode;
        /**
         * The receiver is able to scroll both horizontally and vertically.
         */
        static both: CAScrollLayerScrollMode;
    }
    export class CATiledLayer extends CALayer {
        /**
         * The number of levels of detail maintained by this layer.
         */
        levelsOfDetail: number;
        /**
         * The number of magnified levels of detail for this layer.
         */
        levelsOfDetailBias: number;
        /**
         * The maximum size of each tile used to create the layer's content.
         */
        tileSize: CGSize;
        /**
         * The time, in seconds, that newly added images take to "fade-in" to the rendered representation of the tiled layer.
         */
        static fadeDuration():CFTimeInterval;
    }
    export class CATransformLayer extends CALayer {}
    export class CAReplicatorLayer extends CALayer {
        /**
         * The number of copies to create, including the source layers.
         */
        instanceCount: number;
        /**
         * Specifies the delay, in seconds, between replicated copies. Animatable.
         */
        instanceDelay: CFTimeInterval;
        /**
         * The transform matrix applied to the previous instance to produce the current instance. Animatable.
         */
        instanceTransform: CATransform3D;
        /**
         * Defines whether this layer flattens its sublayers into its plane.
         */
        preservesDepth: boolean;
        /**
         * Defines the color used to multiply the source object. Animatable.
         */
        instanceColor: CGColor | null;
        /**
         * Defines the offset added to the red component of the color for each replicated instance. Animatable.
         */
        instanceRedOffset: Float;
        /**
         * Defines the offset added to the green component of the color for each replicated instance. Animatable.
         */
        instanceGreenOffset: Float;
        /**
         * Defines the offset added to the blue component of the color for each replicated instance. Animatable.
         */
        instanceBlueOffset: Float;
        /**
         * Defines the offset added to the alpha component of the color for each replicated instance. Animatable.
         */
        instanceAlphaOffset: Float;
    }
    export class CAEAGLLayer extends CALayer {
        /**
         * A Boolean value that determines whether the layer presents its content using a Core Animation transaction.
         */
        presentsWithTransaction: boolean;
    }
    export class CAEDRMetadata extends NSObject {
        /**
         * Extended dynamic range (EDR) metadata for the Hybrid Log-Gamma (HLG) transfer function.
         */
        static hlg: CAEDRMetadata;
        static isAvailable: boolean;
        /**
         * Creates EDR metadata for HDR10 content based on mastering display color information and content light levels.
         */
        static hdr10(displayData: Data | null, contentData: Data | null, scale: Float):CAEDRMetadata;
    }
    export class CAOpenGLLayer extends CALayer {
        /**
         * The layer's colorspace in Core Graphics.
         */
        colorspace: CGColorSpace | null;
        /**
         * Tells whether or not the layer supports content with extended dynamic range.
         */
        wantsExtendedDynamicRangeContent: boolean;
        /**
         * Determines when the contents of the layer are updated. 
         */
        isAsynchronous: boolean;
        /**
         * Returns whether the receiver should draw OpenGL content for the specified time.
         */
        canDraw(ctx: CGLContextObj, pf: CGLPixelFormatObj, t: CFTimeInterval, ts: UnsafePointer<CVTimeStamp> | null):boolean;
        /**
         * Draws the OpenGL content for the specified time.
         */
        draw(ctx: CGLContextObj, pf: CGLPixelFormatObj, t: CFTimeInterval, ts: UnsafePointer<CVTimeStamp> | null):void;
        /**
         * Returns the OpenGL pixel format suitable for rendering to the set of displays specified by the display mask.
         */
        copyCGLPixelFormat(mask: UInt32):CGLPixelFormatObj;
        /**
         * Releases the specified OpenGL pixel format object.
         */
        releaseCGLPixelFormat(pf: CGLPixelFormatObj):void;
        /**
         * Returns the rendering context the receiver requires for the specified pixel format.
         */
        copyCGLContext(pf: CGLPixelFormatObj):CGLContextObj;
        /**
         * Releases the specified rendering context.
         */
        releaseCGLContext(ctx: CGLContextObj):void;
    }
    export class CARenderer extends NSObject {
        /**
         * The root layer of the layer-tree the receiver should render.
         */
        layer: CALayer | null;
        /**
         * The bounds of the receiver.
         */
        bounds: CGRect;
        /**
         * Creates and returns a 
         *  instance with the render target specified by the Core OpenGL context.
         */
        constructor (ctx: UnsafeMutableRawPointer, dict: Record<AnyHashable, any> | null);
        /**
         * Creates a layer renderer from a Metal texture.
         */
        constructor (tex: MTLTexture, dict: Record<AnyHashable, any> | null);
        /**
         * Begin rendering a frame at the specified time.
         */
        beginFrame(t: CFTimeInterval, ts: UnsafeMutablePointer<CVTimeStamp> | null):void;
        /**
         * Returns the bounds of the update region that contains all pixels that will be rendered by the current frame.
         */
        updateBounds():CGRect;
        /**
         * Adds the rectangle to the update region of the current frame.
         */
        addUpdate(r: CGRect):void;
        /**
         * Render the update region of the current frame to the target context.
         */
        render():void;
        /**
         * Returns the time at which the next update should happen.
         */
        nextFrameTime():CFTimeInterval;
        /**
         * Release any data associated with the current frame.
         */
        endFrame():void;
        setDestination(tex: MTLTexture):void;
    }
    export class CARemoteLayerClient extends NSObject {
        /**
         * The ID of the remote layer client.
         */
        clientId: UInt32;
        /**
         * The layer associated with the remote client.
         */
        layer: CALayer | null;
        /**
         * Creates a layer client from a server port.
         */
        constructor (port: mach_port_t);
        /**
         * Invalidates a remote layer client.
         */
        invalidate():void;
    }
    export class CARemoteLayerServer extends NSObject {
        /**
         * The port number of the server.
         */
        serverPort: mach_port_t;
        /**
         * Returns the (singleton) instance of the shared remote layer server.
         */
        static shared():CARemoteLayerServer;
    }
    export class CAFrameRateRange {
        static default: CAFrameRateRange;
        maximum: Float;
        minimum: Float;
        preferred: Float | null;
        constructor ();
        constructor (minimum: Float, maximum: Float, preferred: Float | null);
    }
    export class CALayerContentsFormat {
        static RGBA16Float: CALayerContentsFormat;
        static RGBA8Uint: CALayerContentsFormat;
        static gray8Uint: CALayerContentsFormat;
        constructor (rawValue: string);
    }
    export class CALayerCornerCurve {
        static circular: CALayerCornerCurve;
        static continuous: CALayerCornerCurve;
        constructor (rawValue: string);
    }
}

/**
 * Optimize graphics and compute performance with kernels that are fine-tuned for the unique characteristics of each Metal GPU family.
 */
declare module MetalPerformanceShaders {
    export class MPSImageDilate extends MPSUnaryImageKernel {
        /**
         * The height of the filter window. which must be an odd number.
         */
        kernelHeight: number;
        /**
         * The width of the filter window which must be an odd number.
         */
        kernelWidth: number;
        /**
         * Initializes the kernel with a specified width, height, and weight values.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, values: UnsafePointer<Float>);
    }
    export class MPSImageThresholdToZeroInverse extends MPSUnaryImageKernel {
        /**
         * The threshold value used to initialize the threshold filter.
         */
        thresholdValue: Float;
        /**
         * The color transform used to initialize the threshold filter.
         */
        transform: UnsafePointer<Float>;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes the kernel.
         */
        constructor (device: MTLDevice, thresholdValue: Float, transform: UnsafePointer<Float> | null);
    }
    export class MPSCNNLocalContrastNormalizationGradientNode extends MPSNNGradientFilterNode {
        pm: Float;
        ps: Float;
    }
    export class MPSCNNSpatialNormalizationGradientNode extends MPSNNGradientFilterNode {
        alpha: Float;
        beta: Float;
        delta: Float;
        kernelHeight: number;
        kernelWidth: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, kernelSize: number);
    }
    export class MPSCNNNormalizationNode extends MPSNNFilterNode {
        alpha: Float;
        beta: Float;
        delta: Float;
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNUpsamplingBilinearNode extends MPSNNFilterNode {
        scaleFactorX: number;
        scaleFactorY: number;
        alignCorners: boolean;
        constructor (sourceNode: MPSNNImageNode, integerScaleFactorX: number, integerScaleFactorY: number);
        constructor (sourceNode: MPSNNImageNode, integerScaleFactorX: number, integerScaleFactorY: number, alignCorners: boolean);
    }
    export class MPSCNNUpsamplingNearestNode extends MPSNNFilterNode {
        scaleFactorX: number;
        scaleFactorY: number;
        constructor (sourceNode: MPSNNImageNode, integerScaleFactorX: number, integerScaleFactorY: number);
    }
    export class MPSCNNUpsamplingBilinearGradientNode extends MPSNNGradientFilterNode {
        scaleFactorX: number;
        scaleFactorY: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, scaleFactorX: number, scaleFactorY: number);
    }
    export class MPSCNNUpsamplingNearestGradientNode extends MPSNNGradientFilterNode {
        scaleFactorX: number;
        scaleFactorY: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, scaleFactorX: number, scaleFactorY: number);
    }
    export class MPSNNBilinearScaleNode extends MPSNNScaleNode {}
    export class MPSNNLanczosScaleNode extends MPSNNScaleNode {}
    export class MPSNNScaleNode extends MPSNNFilterNode {
        constructor (sourceNode: MPSNNImageNode, size: MTLSize);
        constructor (sourceNode: MPSNNImageNode, transformProvider: MPSImageTransformProvider | null, size: MTLSize);
    }
    export interface MPSImageTransformProvider extends NSObjectProtocol,NSSecureCoding {
        transform(image: MPSImage, handle: MPSHandle | null):MPSScaleTransform;
    }
    export class MPSCNNDropoutNode extends MPSNNFilterNode {
        keepProbability: Float;
        maskStrideInPixels: MTLSize;
        seed: number;
        constructor (source: MPSNNImageNode);
        constructor (source: MPSNNImageNode, keepProbability: Float);
        constructor (source: MPSNNImageNode, keepProbability: Float, seed: number, maskStrideInPixels: MTLSize);
    }
    export class MPSCNNDropoutGradientNode extends MPSNNGradientFilterNode {
        keepProbability: Float;
        maskStrideInPixels: MTLSize;
        seed: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, keepProbability: Float, seed: number, maskStrideInPixels: MTLSize);
    }
    export class MPSImageThresholdTruncate extends MPSUnaryImageKernel {
        /**
         * The threshold value used to initialize the threshold filter.
         */
        thresholdValue: Float;
        /**
         * The color transform used to initialize the threshold filter.
         */
        transform: UnsafePointer<Float>;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes the kernel.
         */
        constructor (device: MTLDevice, thresholdValue: Float, transform: UnsafePointer<Float> | null);
    }
    export class MPSNNConcatenationNode extends MPSNNFilterNode {
        constructor (sourceNodes: MPSNNImageNode[]);
    }
    export class MPSNNConcatenationGradientNode extends MPSNNGradientFilterNode {
        constructor (gradientSourceNode: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSCNNLossNode extends MPSNNFilterNode {
        inputLabels: MPSNNLabelsNode;
        constructor (source: MPSNNImageNode, descriptor: MPSCNNLossDescriptor);
    }
    export class MPSCNNYOLOLossNode extends MPSNNFilterNode {
        inputLabels: MPSNNLabelsNode;
        constructor (source: MPSNNImageNode, descriptor: MPSCNNYOLOLossDescriptor);
    }
    export class MPSNNLabelsNode extends MPSNNStateNode {}
    export class MPSNNFilterNode extends NSObject {
        label: string;
        paddingPolicy: MPSNNPadding;
        resultImage: MPSNNImageNode;
        resultState: MPSNNStateNode | null;
        resultStates: MPSNNStateNode[] | null;
        gradientFilter(gradientImage: MPSNNImageNode):MPSNNGradientFilterNode;
        gradientFilters(gradientImage: MPSNNImageNode):MPSNNGradientFilterNode[];
        trainingGraph(gradientImage: MPSNNImageNode | null, nodeHandler: MPSGradientNodeBlock | null):MPSNNFilterNode[] | null;
    }
    export interface MPSNNPadding extends NSObjectProtocol,NSSecureCoding {
        destinationImageDescriptor(sourceImages: MPSImage[], sourceStates: MPSState[] | null, kernel: MPSKernel, inDescriptor: MPSImageDescriptor):MPSImageDescriptor;
        paddingMethod():MPSNNPaddingMethod;
        label():string;
        inverse():Self | null;
    }
    export class MPSImage extends NSObject {
        /**
         * The device on which the image will be used.
         */
        device: MTLDevice;
        /**
         * The formal width of the image, in pixels.
         */
        width: number;
        /**
         * The formal height of the image, in pixels.
         */
        height: number;
        /**
         * The number of feature channels per pixel.
         */
        featureChannels: number;
        /**
         * The number of images for batch processing.
         */
        numberOfImages: number;
        /**
         * The type of the underlying texture, typically 
         *  or 
         * .
         */
        textureType: MTLTextureType;
        /**
         * The pixel format of the underlying texture.
         */
        pixelFormat: MTLPixelFormat;
        /**
         * The number of bits of numeric precision available for each feature channel.
         */
        precision: number;
        /**
         * The intended usage of the underlying texture.
         */
        usage: MTLTextureUsage;
        /**
         * The number of bytes from the first byte of one pixel to the first byte of the next pixel, in storage order. (Includes padding.)
         */
        pixelSize: number;
        /**
         * The underlying texture.
         */
        texture: MTLTexture;
        /**
         * A string to help identify this object.
         */
        label: string;
        featureChannelFormat: MPSImageFeatureChannelFormat;
        parent: MPSImage | null;
        /**
         * Initializes an empty image.
         */
        constructor (device: MTLDevice, imageDescriptor: MPSImageDescriptor);
        /**
         * Initializes an image from a texture. The user-allocated texture has been created for a specific number of feature channels and number of images.
         */
        constructor (texture: MTLTexture, featureChannels: number);
        constructor (parent: MPSImage, sliceRange: NSRange, featureChannels: number);
        static defaultAllocator():MPSImageAllocator;
        /**
         * Set (or query) the purgeable state of the image’s underlying texture.
         */
        setPurgeableState(state: MPSPurgeableState):MPSPurgeableState;
        readBytes(dataBytes: UnsafeMutableRawPointer, dataLayout: MPSDataLayout, bytesPerRow: number, region: MTLRegion, featureChannelInfo: MPSImageReadWriteParams, imageIndex: number):void;
        writeBytes(dataBytes: UnsafeRawPointer, dataLayout: MPSDataLayout, bytesPerRow: number, region: MTLRegion, featureChannelInfo: MPSImageReadWriteParams, imageIndex: number):void;
        batchRepresentation():MPSImage[];
        resourceSize():number;
        subImage(range: NSRange):MPSImage;
        synchronize(commandBuffer: MTLCommandBuffer):void;
    }
    export class MPSImageDescriptor extends NSObject {
        /**
         * The width of the image.
         */
        width: number;
        /**
         * The height of the image.
         */
        height: number;
        /**
         * The number of feature channels per pixel.
         */
        featureChannels: number;
        /**
         * The number of images for batch processing.
         */
        numberOfImages: number;
        /**
         * The pixel format for the underlying texture.
         */
        pixelFormat: MTLPixelFormat;
        /**
         * The storage format to use for each channel in the image.
         */
        channelFormat: MPSImageFeatureChannelFormat;
        /**
         * The CPU cache mode of the underlying texture.
         */
        cpuCacheMode: MTLCPUCacheMode;
        /**
         * The storage mode of underlying texture. 
         */
        storageMode: MTLStorageMode;
        /**
         * Options to specify the intended usage of the underlying texture.
         */
        usage: MTLTextureUsage;
        /**
         * Creates an image descriptor for a single image.
         */
        constructor (channelFormat: MPSImageFeatureChannelFormat, width: number, height: number, featureChannels: number);
        /**
         * Creates an image descriptor for an image container with options to set texture usage and batch size (number of images).
         */
        constructor (channelFormat: MPSImageFeatureChannelFormat, width: number, height: number, featureChannels: number, numberOfImages: number, usage: MTLTextureUsage);
        copy(zone: NSZone | null):Self;
    }
    export enum MPSPurgeableState {
        allocationDeferred = 0,
        keepCurrent = 1,
        nonVolatile = 2,
        volatile = 3,
        empty = 4,
    }
    export class MPSImageReadWriteParams {
        featureChannelOffset: number;
        numberOfFeatureChannelsToReadWrite: number;
        constructor ();
        constructor (featureChannelOffset: number, numberOfFeatureChannelsToReadWrite: number);
    }
    export class MPSImageIntegral extends MPSUnaryImageKernel {}
    export enum MPSDataLayout {
        featureChannelsxHeightxWidth = 1,
        HeightxWidthxFeatureChannels = 0,
    }
    export interface MPSImageAllocator extends NSObjectProtocol,NSSecureCoding {
        image(cmdBuf: MTLCommandBuffer, descriptor: MPSImageDescriptor, kernel: MPSKernel):MPSImage;
        imageBatch(cmdBuf: MTLCommandBuffer, descriptor: MPSImageDescriptor, kernel: MPSKernel, count: number):MPSImage[];
    }
    export class MPSImageIntegralOfSquares extends MPSUnaryImageKernel {}
    export class MPSImageConversion extends MPSUnaryImageKernel {
        /**
         * Premultiplication description for the source texture.
         */
        sourceAlpha: MPSAlphaType;
        /**
         * Premultiplication description for the destination texture.
         */
        destinationAlpha: MPSAlphaType;
        /**
         * Initializes a filter that can convert texture color space, alpha, and pixel format.
         */
        constructor (device: MTLDevice, srcAlpha: MPSAlphaType, destAlpha: MPSAlphaType, backgroundColor: UnsafeMutablePointer<CGFloat> | null, conversionInfo: CGColorConversionInfo | null);
    }
    export enum MPSAlphaType {
        nonPremultiplied = 0,
        alphaIsOne = 1,
        premultiplied = 2,
    }
    export class MPSImageScale extends MPSUnaryImageKernel {
        scaleTransform: UnsafePointer<MPSScaleTransform> | null;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSImageLanczosScale extends MPSImageScale {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSScaleTransform {
        /**
         * The horizontal scale factor.
         */
        scaleX: number;
        /**
         * The vertical scale factor.
         */
        scaleY: number;
        /**
         * The horizontal translation factor.
         */
        translateX: number;
        /**
         * The vertical translation factor.
         */
        translateY: number;
        constructor ();
        constructor (scaleX: number, scaleY: number, translateX: number, translateY: number);
    }
    export class MPSImageAreaMin extends MPSImageAreaMax {}
    export class MPSImageBilinearScale extends MPSImageScale {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSState extends NSObject {
        isTemporary: boolean;
        label: string;
        readCount: number;
        resource: MTLResource | null;
        resourceCount: number;
        constructor (device: MTLDevice, bufferSize: number);
        constructor (device: MTLDevice, resourceList: MPSStateResourceList);
        constructor (device: MTLDevice, descriptor: MTLTextureDescriptor);
        constructor (resource: MTLResource | null);
        constructor (resources: MTLResource[] | null);
        static temporaryState(cmdBuf: MTLCommandBuffer):Self;
        bufferSize(index: number):number;
        destinationImageDescriptor(sourceImages: MPSImage[], sourceStates: MPSState[] | null, kernel: MPSKernel, inDescriptor: MPSImageDescriptor):MPSImageDescriptor;
        resourceSize():number;
        resourceType(index: number):MPSStateResourceType;
        synchronize(commandBuffer: MTLCommandBuffer):void;
        textureInfo(index: number):MPSStateTextureInfo;
    }
    export class MPSKernel extends NSObject {
        /**
         * The set of options used to run the kernel.
         */
        options: MPSKernelOptions;
        /**
         * The device on which the kernel will be used.
         */
        device: MTLDevice;
        /**
         * The string that identifies the kernel.
         */
        label: string;
        constructor (aDecoder: NSCoder);
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a new kernel object.
         */
        constructor (device: MTLDevice);
        /**
         * Makes a copy of this kernel object for a new device.
         */
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
    }
    export class MPSImageTranspose extends MPSUnaryImageKernel {}
    export class MPSKernelOptions {
        /**
         * The default option for the kernel. Kernels created with this option will not skip any API validation and will not use reduced precision.
         */
        static none: MPSKernelOptions;
        /**
         * A property that directs the kernel to perform or skip argument validation.
         */
        static skipAPIValidation: MPSKernelOptions;
        /**
         * When possible, kernels use a higher-precision data representation internally than the destination storage format to avoid excessive accumulation of computational rounding error in the result. This option advises the kernel that the destination storage format already has too much precision for what is ultimately required downstream, and the kernel may use reduced precision internally when it determines that a less precise result would yield better performance. When enabled, the performance win is often small and the precision of the result may vary by hardware and OS.
         */
        static allowReducedPrecision: MPSKernelOptions;
        /**
         * Some kernels may automatically split up their work internally into multiple tiles. This improves performance on larger textures and reduces the amount of memory needed by the framework for temporary storage. However, if you are using your own tiling scheme to achieve similar results, your tile sizes and the framework’s choice of tile sizes may interfere with one another, causing the framework to subdivide your tiles for its own use inefficiently. Use this option to force the framework to process your data tile as a single chunk.
         */
        static disableInternalTiling: MPSKernelOptions;
        /**
         * Enabling this option will cause various kernel 
         *  methods to call the 
         *  and 
         *  methods. The debug string will be drawn from the kernel’s 
         *  property, if available, or the name of the class otherwise.
         */
        static insertDebugGroups: MPSKernelOptions;
        static verbose: MPSKernelOptions;
        constructor (rawValue: number);
    }
    export class MPSImageStatisticsMean extends MPSUnaryImageKernel {
        clipRectSource: MTLRegion;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSImageErode extends MPSImageDilate {}
    export class MPSNNStateNode extends NSObject {
        handle: MPSHandle | null;
        exportFromGraph: boolean;
        synchronizeResource: boolean;
    }
    export class MPSNNBinaryGradientStateNode extends MPSNNStateNode {}
    export class MPSNNGradientStateNode extends MPSNNStateNode {}
    export class MPSNNGradientFilterNode extends MPSNNFilterNode {}
    export interface MPSNNTrainableNode extends NSObjectProtocol {
        trainingStyle: MPSNNTrainingStyle;
    }
    export class MPSCNNAdd extends MPSCNNArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSCNNAddGradient extends MPSCNNArithmeticGradient {
        constructor (device: MTLDevice, isSecondarySourceFilter: boolean);
    }
    export class MPSCNNSubtract extends MPSCNNArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSImageStatisticsMeanAndVariance extends MPSUnaryImageKernel {
        clipRectSource: MTLRegion;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSCNNSubtractGradient extends MPSCNNArithmeticGradient {
        constructor (device: MTLDevice, isSecondarySourceFilter: boolean);
    }
    export class MPSCNNMultiply extends MPSCNNArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSCNNMultiplyGradient extends MPSCNNArithmeticGradient {
        constructor (device: MTLDevice, isSecondarySourceFilter: boolean);
    }
    export class MPSCNNDivide extends MPSCNNArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSCNNArithmetic extends MPSCNNBinaryKernel {
        bias: Float;
        maximumValue: Float;
        minimumValue: Float;
        primaryScale: Float;
        primaryStrideInFeatureChannels: number;
        secondaryScale: Float;
        secondaryStrideInFeatureChannels: number;
        encode(commandBuffer: MTLCommandBuffer, primaryImage: MPSImage, secondaryImage: MPSImage, destinationState: MPSCNNArithmeticGradientState, destinationImage: MPSImage):void;
        encodeBatch(commandBuffer: MTLCommandBuffer, primaryImages: MPSImage[], secondaryImages: MPSImage[], destinationStates: MPSCNNArithmeticGradientState[], destinationImages: MPSImage[]):void;
    }
    export class MPSCNNArithmeticGradient extends MPSCNNGradientKernel {
        bias: Float;
        isSecondarySourceFilter: boolean;
        maximumValue: Float;
        minimumValue: Float;
        primaryScale: Float;
        secondaryScale: Float;
        secondaryStrideInFeatureChannels: number;
    }
    export class MPSCNNArithmeticGradientState extends MPSNNBinaryGradientState {}
    export class MPSCNNBinaryConvolution extends MPSCNNKernel {
        inputFeatureChannels: number;
        outputFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a binary convolution kernel.
         */
        constructor (device: MTLDevice, convolutionData: MPSCNNConvolutionDataSource, outputBiasTerms: UnsafePointer<Float> | null, outputScaleTerms: UnsafePointer<Float> | null, inputBiasTerms: UnsafePointer<Float> | null, inputScaleTerms: UnsafePointer<Float> | null, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
        /**
         * Initializes a binary convolution kernel.
         */
        constructor (device: MTLDevice, convolutionData: MPSCNNConvolutionDataSource, scaleValue: Float, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
    }
    export interface MPSCNNConvolutionDataSource extends NSCopying,NSObjectProtocol {
        biasTerms():UnsafeMutablePointer<Float> | null;
        dataType():MPSDataType;
        descriptor():MPSCNNConvolutionDescriptor;
        label():string;
        load():boolean;
        lookupTableForUInt8Kernel():UnsafeMutablePointer<Float>;
        purge():void;
        rangesForUInt8Kernel():UnsafeMutablePointer<vector_float2>;
        weights():UnsafeMutableRawPointer;
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        kernelWeightsDataType():MPSDataType;
        update(commandBuffer: MTLCommandBuffer, gradientState: MPSCNNConvolutionGradientState, sourceState: MPSCNNConvolutionWeightsAndBiasesState):MPSCNNConvolutionWeightsAndBiasesState | null;
        weightsLayout():MPSCNNConvolutionWeightsLayout;
        weightsQuantizationType():MPSCNNWeightsQuantizationType;
    }
    export class MPSImageStatisticsMinAndMax extends MPSUnaryImageKernel {
        clipRectSource: MTLRegion;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export enum MPSCNNBinaryConvolutionType {
        AND = 2,
        XNOR = 1,
        binaryWeights = 0,
    }
    export enum MPSCNNBinaryConvolutionFlags {
        none = 0,
        useBetaScaling = 1,
    }
    export class MPSCNNConvolution extends MPSCNNKernel {
        /**
         * The number of feature channels per pixel in the input image.
         */
        inputFeatureChannels: number;
        /**
         * The number of feature channels per pixel in the output image.
         */
        outputFeatureChannels: number;
        /**
         * The number of groups that the input and output channels are divided into.
         */
        groups: number;
        subPixelScaleFactor: number;
        /**
         * The neuron filter to be applied as part of the convolution operation.
         */
        neuron: MPSCNNNeuron | null;
        neuronType: MPSCNNNeuronType;
        neuronParameterA: Float;
        neuronParameterB: Float;
        accumulatorPrecisionOption: MPSNNConvolutionAccumulatorPrecisionOption;
        channelMultiplier: number;
        dataSource: MPSCNNConvolutionDataSource;
        fusedNeuronDescriptor: MPSNNNeuronDescriptor | null;
        neuronParameterC: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a convolution kernel.
         */
        constructor (device: MTLDevice, convolutionDescriptor: MPSCNNConvolutionDescriptor, kernelWeights: UnsafePointer<Float>, biasTerms: UnsafePointer<Float> | null, flags: MPSCNNConvolutionFlags);
        constructor (device: MTLDevice, weights: MPSCNNConvolutionDataSource);
        exportWeightsAndBiases(commandBuffer: MTLCommandBuffer, resultStateCanBeTemporary: boolean):MPSCNNConvolutionWeightsAndBiasesState;
        reloadWeightsAndBiases(dataSource: MPSCNNConvolutionDataSource):void;
        reloadWeightsAndBiasesFromDataSource():void;
        resultState(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNConvolutionGradientState | null;
        resultStateBatch(sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSCNNConvolutionGradientState[] | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNConvolutionGradientState | null;
        temporaryResultStateBatch(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSCNNConvolutionGradientState[] | null;
    }
    export class MPSCNNConvolutionDescriptor extends NSObject {
        static supportsSecureCoding: boolean;
        /**
         * The number of groups that the input and output channels are divided into.
         */
        groups: number;
        /**
         * The number of feature channels per pixel in the input image.
         */
        inputFeatureChannels: number;
        /**
         * The height of the kernel window.
         */
        kernelHeight: number;
        /**
         * The width of the kernel window.
         */
        kernelWidth: number;
        /**
         * The number of feature channels per pixel in the output image.
         */
        outputFeatureChannels: number;
        /**
         * The output stride (downsampling factor) in the x dimension.
         */
        strideInPixelsX: number;
        /**
         * The output stride (downsampling factor) in the y dimension.
         */
        strideInPixelsY: number;
        /**
         * The neuron filter to be applied as part of the convolution operation.
         */
        neuron: MPSCNNNeuron | null;
        dilationRateX: number;
        dilationRateY: number;
        fusedNeuronDescriptor: MPSNNNeuronDescriptor;
        constructor (aDecoder: NSCoder);
        constructor (kernelWidth: number, kernelHeight: number, inputFeatureChannels: number, outputFeatureChannels: number);
        /**
         * Creates a convolution descriptor with an optional neuron filter.
         */
        constructor (kernelWidth: number, kernelHeight: number, inputFeatureChannels: number, outputFeatureChannels: number, neuronFilter: MPSCNNNeuron | null);
        neuronParameterA():Float;
        neuronParameterB():Float;
        neuronType():MPSCNNNeuronType;
        encode(aCoder: NSCoder):void;
        setBatchNormalizationParametersForInferenceWithMean(mean: UnsafePointer<Float> | null, variance: UnsafePointer<Float> | null, gamma: UnsafePointer<Float> | null, beta: UnsafePointer<Float> | null, epsilon: Float):void;
        setNeuronToPReLUWithParametersA(A: Data):void;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float):void;
    }
    export class MPSImageConvolution extends MPSUnaryImageKernel {
        /**
         * The height of the filter window. Must be an odd number.
         */
        kernelHeight: number;
        /**
         * The width of the filter window. Must be an odd number.
         */
        kernelWidth: number;
        /**
         * The value added to a convolved pixel before it is converted back to its intended storage format.
         */
        bias: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a convolution filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, kernelWeights: UnsafePointer<Float>);
    }
    export class MPSImageReduceRowMax extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export enum MPSCNNConvolutionFlags {
        none = 0,
    }
    export class MPSImageReduceRowMin extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSCNNNeuron extends MPSCNNKernel {
        a: Float;
        b: Float;
        c: Float;
        data: Data | null;
        neuronType: MPSCNNNeuronType;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, neuronDescriptor: MPSNNNeuronDescriptor);
    }
    export enum MPSCNNNeuronType {
        none = 0,
        reLU = 1,
        linear = 2,
        sigmoid = 3,
        hardSigmoid = 4,
        tanH = 5,
        absolute = 6,
        softPlus = 7,
        softSign = 8,
        ELU = 9,
        count = 16,
        exponential = 13,
        geLU = 15,
        logarithm = 14,
        pReLU = 10,
        power = 12,
        reLUN = 11,
    }
    export class MPSImageReduceRowSum extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSImageReduceRowMean extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSCNNDepthWiseConvolutionDescriptor extends MPSCNNConvolutionDescriptor {
        channelMultiplier: number;
    }
    export class MPSCNNSubPixelConvolutionDescriptor extends MPSCNNConvolutionDescriptor {
        subPixelScaleFactor: number;
    }
    export class MPSCNNConvolutionTranspose extends MPSCNNKernel {
        groups: number;
        inputFeatureChannels: number;
        kernelOffsetX: number;
        kernelOffsetY: number;
        outputFeatureChannels: number;
        accumulatorPrecisionOption: MPSNNConvolutionAccumulatorPrecisionOption;
        dataSource: MPSCNNConvolutionDataSource;
        /**
         * Initializes a transposed convolution kernel.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a transposed convolution kernel.
         */
        constructor (device: MTLDevice, weights: MPSCNNConvolutionDataSource);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, convolutionGradientState: MPSCNNConvolutionGradientState | null):MPSImage;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[], convolutionGradientState: MPSCNNConvolutionGradientState[] | null):MPSImage[];
        exportWeightsAndBiases(commandBuffer: MTLCommandBuffer, resultStateCanBeTemporary: boolean):MPSCNNConvolutionWeightsAndBiasesState;
        reloadWeightsAndBiases(commandBuffer: MTLCommandBuffer, state: MPSCNNConvolutionWeightsAndBiasesState):void;
        reloadWeightsAndBiasesFromDataSource():void;
        resultState(sourceImage: MPSImage, sourceStates: MPSCNNConvolutionGradientState[] | null, destinationImage: MPSImage):MPSCNNConvolutionTransposeGradientState | null;
        resultStateBatch(sourceImage: MPSImage[], sourceStates: MPSCNNConvolutionGradientState[][] | null, destinationImage: MPSImage[]):MPSCNNConvolutionTransposeGradientState[] | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSCNNConvolutionGradientState[] | null, destinationImage: MPSImage):MPSCNNConvolutionTransposeGradientState | null;
        temporaryResultStateBatch(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[], sourceStates: MPSCNNConvolutionGradientState[][] | null, destinationImage: MPSImage[]):MPSCNNConvolutionTransposeGradientState[] | null;
    }
    export class MPSImageReduceColumnMax extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSImageReduceColumnMin extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSCNNConvolutionGradient extends MPSCNNGradientKernel {
        channelMultiplier: number;
        dataSource: MPSCNNConvolutionDataSource;
        gradientOption: MPSCNNConvolutionGradientOption;
        groups: number;
        serializeWeightsAndBiases: boolean;
        sourceGradientFeatureChannels: number;
        sourceImageFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, weights: MPSCNNConvolutionDataSource);
        reloadWeightsAndBiases(commandBuffer: MTLCommandBuffer, state: MPSCNNConvolutionWeightsAndBiasesState):void;
        reloadWeightsAndBiasesFromDataSource():void;
    }
    export class MPSImageReduceColumnSum extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSCNNConvolutionGradientState extends MPSNNGradientState {
        convolution: MPSCNNConvolution;
        gradientForBiases: MTLBuffer;
        gradientForWeights: MTLBuffer;
        gradientForWeightsLayout: MPSCNNConvolutionWeightsLayout;
    }
    export interface MPSImageSizeEncodingState extends NSObjectProtocol {
        sourceHeight: number;
        sourceWidth: number;
    }
    export class MPSCNNConvolutionWeightsAndBiasesState extends MPSState {
        biases: MTLBuffer | null;
        biasesOffset: number;
        weights: MTLBuffer;
        weightsOffset: number;
        constructor (device: MTLDevice, descriptor: MPSCNNConvolutionDescriptor);
        constructor (weights: MTLBuffer, biases: MTLBuffer | null);
        constructor (weights: MTLBuffer, weightsOffset: number, biases: MTLBuffer | null, biasesOffset: number, descriptor: MPSCNNConvolutionDescriptor);
        static temporaryCNNConvolutionWeightsAndBiasesState(commandBuffer: MTLCommandBuffer, descriptor: MPSCNNConvolutionDescriptor):Self;
    }
    export class MPSImageReduceColumnMean extends MPSImageReduceUnary {
        constructor (device: MTLDevice);
    }
    export class MPSCNNPoolingAverage extends MPSCNNPooling {
        zeroPadSizeX: number;
        zeroPadSizeY: number;
        /**
         * Initializes an average pooling filter.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes an average pooling filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNPoolingAverageGradient extends MPSCNNPoolingGradient {
        zeroPadSizeX: number;
        zeroPadSizeY: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNPoolingL2Norm extends MPSCNNPooling {
        /**
         * Initializes an L2-norm pooling filter.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes an L2-norm pooling filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNPoolingMax extends MPSCNNPooling {
        /**
         * Initializes a max pooling filter.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a max pooling filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNDilatedPoolingMax extends MPSCNNPooling {
        dilationRateX: number;
        dilationRateY: number;
        /**
         * Initializes a dilated max pooling filter.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a dilated max pooling filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, dilationRateX: number, dilationRateY: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSImageReduceUnary extends MPSUnaryImageKernel {
        clipRectSource: MTLRegion;
    }
    export class MPSCNNPooling extends MPSCNNKernel {
        /**
         * Initializes a pooling filter.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a pooling filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
        /**
         * Initializes a pooling filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNPoolingGradient extends MPSCNNGradientKernel {
        sourceSize: MTLSize;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNDilatedPoolingMaxGradient extends MPSCNNPoolingGradient {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, dilationRateX: number, dilationRateY: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNPoolingL2NormGradient extends MPSCNNPoolingGradient {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNPoolingMaxGradient extends MPSCNNPoolingGradient {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSImageAdd extends MPSImageArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSCNNBinaryFullyConnected extends MPSCNNBinaryConvolution {
        /**
         * Initializes a fully connected convolution layer with binary weights.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a fully connected convolution layer with binary weights.
         */
        constructor (device: MTLDevice, convolutionData: MPSCNNConvolutionDataSource, outputBiasTerms: UnsafePointer<Float> | null, outputScaleTerms: UnsafePointer<Float> | null, inputBiasTerms: UnsafePointer<Float> | null, inputScaleTerms: UnsafePointer<Float> | null, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
        /**
         * Initializes a fully connected convolution layer with binary weights.
         */
        constructor (device: MTLDevice, convolutionData: MPSCNNConvolutionDataSource, scaleValue: Float, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
    }
    export class MPSImageSubtract extends MPSImageArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSCNNFullyConnected extends MPSCNNConvolution {
        /**
         * Initializes a fully connected convolution layer.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a fully connected convolution layer.
         */
        constructor (device: MTLDevice, weights: MPSCNNConvolutionDataSource);
        /**
         * Initializes a fully connected convolution layer.
         */
        constructor (device: MTLDevice, convolutionDescriptor: MPSCNNConvolutionDescriptor, kernelWeights: UnsafePointer<Float>, biasTerms: UnsafePointer<Float> | null, flags: MPSCNNConvolutionFlags);
    }
    export class MPSImageMultiply extends MPSImageArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSImageDivide extends MPSImageArithmetic {
        constructor (device: MTLDevice);
    }
    export class MPSCNNFullyConnectedGradient extends MPSCNNConvolutionGradient {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, weights: MPSCNNConvolutionDataSource);
    }
    export class MPSCNNNeuronAbsolute extends MPSCNNNeuron {
        /**
         * Initializes an absolute neuron filter.
         */
        constructor (device: MTLDevice);
    }
    export class MPSCNNNeuronELU extends MPSCNNNeuron {
        /**
         * Initializes a parametric ELU neuron filter.
         */
        constructor (device: MTLDevice, a: Float);
    }
    export class MPSCNNNeuronHardSigmoid extends MPSCNNNeuron {
        /**
         * Initializes a hard sigmoid neuron filter.
         */
        constructor (device: MTLDevice, a: Float, b: Float);
    }
    export class MPSImageArithmetic extends MPSBinaryImageKernel {
        bias: Float;
        primaryScale: Float;
        primaryStrideInPixels: MTLSize;
        secondaryScale: Float;
        secondaryStrideInPixels: MTLSize;
        maximumValue: Float;
        minimumValue: Float;
    }
    export class MPSCNNNeuronLinear extends MPSCNNNeuron {
        /**
         * Initializes a linear neuron filter.
         */
        constructor (device: MTLDevice, a: Float, b: Float);
    }
    export class MPSCNNNeuronPReLU extends MPSCNNNeuron {
        constructor (device: MTLDevice, a: UnsafePointer<Float>, count: number);
    }
    export class MPSCNNNeuronReLUN extends MPSCNNNeuron {
        constructor (device: MTLDevice, a: Float, b: Float);
    }
    export class MPSCNNNeuronReLU extends MPSCNNNeuron {
        /**
         * Initializes a ReLU neuron filter.
         */
        constructor (device: MTLDevice, a: Float);
    }
    export class MPSCNNNeuronSigmoid extends MPSCNNNeuron {
        /**
         * Initializes a sigmoid neuron filter.
         */
        constructor (device: MTLDevice);
    }
    export class MPSCNNNeuronSoftPlus extends MPSCNNNeuron {
        /**
         * Initializes a parametric softplus neuron filter.
         */
        constructor (device: MTLDevice, a: Float, b: Float);
    }
    export class MPSCNNNeuronSoftSign extends MPSCNNNeuron {
        /**
         * Initializes a softsign neuron filter.
         */
        constructor (device: MTLDevice);
    }
    export class MPSCNNNeuronTanH extends MPSCNNNeuron {
        /**
         * Initializes a hyperbolic tangent neuron filter.
         */
        constructor (device: MTLDevice, a: Float, b: Float);
    }
    export class MPSCNNNeuronExponential extends MPSCNNNeuron {
        constructor (device: MTLDevice, a: Float, b: Float, c: Float);
    }
    export class MPSCNNNeuronGradient extends MPSCNNGradientKernel {
        a: Float;
        b: Float;
        c: Float;
        data: Data | null;
        neuronType: MPSCNNNeuronType;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, neuronDescriptor: MPSNNNeuronDescriptor);
    }
    export class MPSCNNNeuronLogarithm extends MPSCNNNeuron {
        constructor (device: MTLDevice, a: Float, b: Float, c: Float);
    }
    export class MPSCNNNeuronPower extends MPSCNNNeuron {
        constructor (device: MTLDevice, a: Float, b: Float, c: Float);
    }
    export class MPSNNNeuronDescriptor extends NSObject {
        a: Float;
        b: Float;
        c: Float;
        data: Data | null;
        neuronType: MPSCNNNeuronType;
        static cnnNeuronDescriptor(neuronType: MPSCNNNeuronType):MPSNNNeuronDescriptor;
        static cnnNeuronPReLUDescriptor(data: Data, noCopy: boolean):MPSNNNeuronDescriptor;
    }
    export class MPSCNNSoftMax extends MPSCNNKernel {}
    export class MPSCNNLogSoftMax extends MPSCNNKernel {}
    export class MPSCNNLogSoftMaxGradient extends MPSCNNGradientKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSCNNSoftMaxGradient extends MPSCNNGradientKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSCNNCrossChannelNormalization extends MPSCNNKernel {
        /**
         * The "alpha" variable of the kernel function.
         */
        alpha: Float;
        /**
         * The "beta" variable of the kernel function.
         */
        beta: Float;
        /**
         * The "delta" variable of the kernel function.
         */
        delta: Float;
        /**
         * The size of the square kernel window.
         */
        kernelSize: number;
        /**
         * Initializes a normalization kernel in a channel.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a normalization kernel in a channel.
         */
        constructor (device: MTLDevice, kernelSize: number);
    }
    export class MPSCNNCrossChannelNormalizationGradient extends MPSCNNGradientKernel {
        alpha: Float;
        beta: Float;
        delta: Float;
        kernelSize: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelSize: number);
    }
    export class MPSCNNLocalContrastNormalization extends MPSCNNKernel {
        /**
         * The "alpha" variable of the kernel function.
         */
        alpha: Float;
        /**
         * The "beta" variable of the kernel function.
         */
        beta: Float;
        /**
         * The "delta" variable of the kernel function.
         */
        delta: Float;
        /**
         * The "p0" variable of the kernel function.
         */
        p0: Float;
        /**
         * The "pm" variable of the kernel function.
         */
        pm: Float;
        /**
         * The "ps" variable of the kernel function.
         */
        ps: Float;
        /**
         * Initializes a local contrast normalization kernel.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a local contrast normalization kernel.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
    }
    export class MPSImageEuclideanDistanceTransform extends MPSUnaryImageKernel {
        searchLimitRadius: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSCNNLocalContrastNormalizationGradient extends MPSCNNGradientKernel {
        alpha: Float;
        beta: Float;
        delta: Float;
        p0: Float;
        pm: Float;
        ps: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
    }
    export class MPSCNNSpatialNormalization extends MPSCNNKernel {
        /**
         * The "alpha" variable of the kernel function.
         */
        alpha: Float;
        /**
         * The "beta" variable of the kernel function.
         */
        beta: Float;
        /**
         * The "delta" variable of the kernel function.
         */
        delta: Float;
        /**
         * Initializes a spatial normalization kernel.
         */
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a spatial normalization kernel.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
    }
    export class MPSCNNSpatialNormalizationGradient extends MPSCNNGradientKernel {
        alpha: Float;
        beta: Float;
        delta: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
    }
    export class MPSCNNBatchNormalization extends MPSCNNKernel {
        dataSource: MPSCNNBatchNormalizationDataSource;
        epsilon: Float;
        numberOfFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, dataSource: MPSCNNBatchNormalizationDataSource);
        constructor (device: MTLDevice, dataSource: MPSCNNBatchNormalizationDataSource, fusedNeuronDescriptor: MPSNNNeuronDescriptor | null);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, batchNormalizationState: MPSCNNBatchNormalizationState, destinationImage: MPSImage):void;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[], batchNormalizationState: MPSCNNBatchNormalizationState, destinationImages: MPSImage[]):void;
        reloadDataSource(dataSource: MPSCNNBatchNormalizationDataSource):void;
        reloadGammaAndBeta(commandBuffer: MTLCommandBuffer, gammaAndBetaState: MPSCNNNormalizationGammaAndBetaState):void;
        reloadGammaAndBetaFromDataSource():void;
        reloadMeanAndVariance(commandBuffer: MTLCommandBuffer, meanAndVarianceState: MPSCNNNormalizationMeanAndVarianceState):void;
        reloadMeanAndVarianceFromDataSource():void;
        resultState(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNBatchNormalizationState | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNBatchNormalizationState | null;
    }
    export class MPSCNNBatchNormalizationGradient extends MPSCNNGradientKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, fusedNeuronDescriptor: MPSNNNeuronDescriptor | null);
        encode(commandBuffer: MTLCommandBuffer, sourceGradient: MPSImage, sourceImage: MPSImage, batchNormalizationState: MPSCNNBatchNormalizationState):MPSImage;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceGradients: MPSImage[], sourceImages: MPSImage[], batchNormalizationState: MPSCNNBatchNormalizationState):MPSImage[];
    }
    export class MPSImageGuidedFilter extends MPSKernel {
        epsilon: Float;
        kernelDiameter: number;
        reconstructOffset: Float;
        reconstructScale: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, kernelDiameter: number);
        encodeReconstruction(commandBuffer: MTLCommandBuffer, guidanceTexture: MTLTexture, coefficientsTextureA: MTLTexture, coefficientsTextureB: MTLTexture, destinationTexture: MTLTexture):void;
        encodeRegression(commandBuffer: MTLCommandBuffer, sourceTexture: MTLTexture, guidanceTexture: MTLTexture, weightsTexture: MTLTexture | null, destinationCoefficientsTextureA: MTLTexture, destinationCoefficientsTextureB: MTLTexture):void;
    }
    export class MPSCNNBatchNormalizationState extends MPSNNGradientState {
        batchNormalization: MPSCNNBatchNormalization;
        beta():MTLBuffer | null;
        gamma():MTLBuffer | null;
        gradientForBeta():MTLBuffer | null;
        gradientForGamma():MTLBuffer | null;
        mean():MTLBuffer | null;
        reset():void;
        variance():MTLBuffer | null;
    }
    export class MPSCNNNormalizationMeanAndVarianceState extends MPSState {
        mean: MTLBuffer;
        variance: MTLBuffer;
        constructor (mean: MTLBuffer, variance: MTLBuffer);
        static temporaryState(commandBuffer: MTLCommandBuffer, numberOfFeatureChannels: number):Self;
    }
    export class MPSCNNBatchNormalizationStatistics extends MPSCNNKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[], batchNormalizationState: MPSCNNBatchNormalizationState):void;
    }
    export class MPSCNNBatchNormalizationStatisticsGradient extends MPSCNNGradientKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, fusedNeuronDescriptor: MPSNNNeuronDescriptor | null);
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceGradients: MPSImage[], sourceImages: MPSImage[], batchNormalizationState: MPSCNNBatchNormalizationState):void;
    }
    export class MPSCNNInstanceNormalization extends MPSCNNKernel {
        dataSource: MPSCNNInstanceNormalizationDataSource;
        epsilon: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, dataSource: MPSCNNInstanceNormalizationDataSource);
        reloadDataSource(dataSource: MPSCNNInstanceNormalizationDataSource):void;
        reloadGammaAndBeta(commandBuffer: MTLCommandBuffer, gammaAndBetaState: MPSCNNNormalizationGammaAndBetaState):void;
        reloadGammaAndBetaFromDataSource():void;
        resultState(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNInstanceNormalizationGradientState | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNInstanceNormalizationGradientState | null;
    }
    export class MPSCNNInstanceNormalizationGradient extends MPSCNNGradientKernel {}
    export class MPSCNNInstanceNormalizationGradientState extends MPSNNGradientState {
        beta: MTLBuffer | null;
        gamma: MTLBuffer | null;
        gradientForBeta: MTLBuffer;
        gradientForGamma: MTLBuffer;
        instanceNormalization: MPSCNNInstanceNormalization;
    }
    export class MPSCNNNormalizationGammaAndBetaState extends MPSState {
        beta: MTLBuffer;
        gamma: MTLBuffer;
        constructor (gamma: MTLBuffer, beta: MTLBuffer);
        static temporaryState(commandBuffer: MTLCommandBuffer, numberOfFeatureChannels: number):Self;
    }
    export class MPSCNNUpsampling extends MPSCNNKernel {
        scaleFactorX: number;
        scaleFactorY: number;
        alignCorners: boolean;
    }
    export class MPSCNNUpsamplingBilinear extends MPSCNNUpsampling {
        /**
         * Initializes a bilinear spatial upsampling filter.
         */
        constructor (device: MTLDevice, integerScaleFactorX: number, integerScaleFactorY: number);
        constructor (device: MTLDevice, integerScaleFactorX: number, integerScaleFactorY: number, alignCorners: boolean);
    }
    export class MPSCNNUpsamplingNearest extends MPSCNNUpsampling {
        /**
         * Initializes a nearest spatial upsampling filter.
         */
        constructor (device: MTLDevice, integerScaleFactorX: number, integerScaleFactorY: number);
    }
    export class MPSCNNUpsamplingBilinearGradient extends MPSCNNUpsamplingGradient {
        constructor (device: MTLDevice, integerScaleFactorX: number, integerScaleFactorY: number);
    }
    export class MPSCNNUpsamplingGradient extends MPSCNNGradientKernel {
        scaleFactorX: number;
        scaleFactorY: number;
    }
    export class MPSCNNUpsamplingNearestGradient extends MPSCNNUpsamplingGradient {
        constructor (device: MTLDevice, integerScaleFactorX: number, integerScaleFactorY: number);
    }
    export class MPSCNNDropout extends MPSCNNKernel {
        keepProbability: Float;
        maskStrideInPixels: MTLSize;
        seed: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, keepProbability: Float, seed: number, maskStrideInPixels: MTLSize);
        resultState(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNDropoutGradientState | null;
        resultStateBatch(sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSCNNDropoutGradientState | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNDropoutGradientState | null;
        temporaryResultStateBatch(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSCNNDropoutGradientState[] | null;
    }
    export class MPSCNNDropoutGradient extends MPSCNNGradientKernel {
        keepProbability: Float;
        maskStrideInPixels: MTLSize;
        seed: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, keepProbability: Float, seed: number, maskStrideInPixels: MTLSize);
    }
    export class MPSCNNDropoutGradientState extends MPSNNGradientState {
        maskData():Data;
    }
    export class MPSCNNLoss extends MPSCNNKernel {
        delta: Float;
        epsilon: Float;
        labelSmoothing: Float;
        lossType: MPSCNNLossType;
        numberOfClasses: number;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        weight: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, lossDescriptor: MPSCNNLossDescriptor);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, labels: MPSCNNLossLabels):MPSImage;
    }
    export class MPSCNNLossDataDescriptor extends NSObject {
        bytesPerImage: number;
        bytesPerRow: number;
        layout: MPSDataLayout;
        size: MTLSize;
        constructor (data: Data, layout: MPSDataLayout, size: MTLSize);
    }
    export class MPSCNNLossDescriptor extends NSObject {
        delta: Float;
        epsilon: Float;
        labelSmoothing: Float;
        lossType: MPSCNNLossType;
        numberOfClasses: number;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        weight: Float;
        constructor (lossType: MPSCNNLossType, reductionType: MPSCNNReductionType);
    }
    export class MPSImageFindKeypoints extends MPSKernel {
        keypointRangeInfo: MPSImageKeypointRangeInfo;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, info: UnsafePointer<MPSImageKeypointRangeInfo>);
        encode(commandBuffer: MTLCommandBuffer, source: MTLTexture, regions: UnsafePointer<MTLRegion>, numberOfRegions: number, keypointCountBuffer: MTLBuffer, keypointCountBufferOffset: number, keypointDataBuffer: MTLBuffer, keypointDataBufferOffset: number):void;
    }
    export class MPSCNNLossLabels extends MPSState {
        constructor (device: MTLDevice, labelsDescriptor: MPSCNNLossDataDescriptor);
        constructor (device: MTLDevice, lossImageSize: MTLSize, labelsDescriptor: MPSCNNLossDataDescriptor, weightsDescriptor: MPSCNNLossDataDescriptor | null);
        constructor (device: MTLDevice, lossImageSize: MTLSize, labelsImage: MPSImage, weightsImage: MPSImage | null);
        labelsImage():MPSImage;
        lossImage():MPSImage;
        weightsImage():MPSImage;
    }
    export class MPSCNNYOLOLoss extends MPSCNNKernel {
        anchorBoxes: Data;
        lossClasses: MPSCNNLoss;
        lossConfidence: MPSCNNLoss;
        lossWH: MPSCNNLoss;
        lossXY: MPSCNNLoss;
        maxIOUForObjectAbsence: Float;
        minIOUForObjectPresence: Float;
        numberOfAnchorBoxes: number;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        scaleClass: Float;
        scaleNoObject: Float;
        scaleObject: Float;
        scaleWH: Float;
        scaleXY: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, lossDescriptor: MPSCNNYOLOLossDescriptor);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, labels: MPSCNNLossLabels):MPSImage;
    }
    export class MPSCNNYOLOLossDescriptor extends NSObject {
        anchorBoxes: Data;
        classesLossDescriptor: MPSCNNLossDescriptor;
        confidenceLossDescriptor: MPSCNNLossDescriptor;
        maxIOUForObjectAbsence: Float;
        minIOUForObjectPresence: Float;
        numberOfAnchorBoxes: number;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        rescore: boolean;
        scaleClass: Float;
        scaleNoObject: Float;
        scaleObject: Float;
        scaleWH: Float;
        scaleXY: Float;
        whLossDescriptor: MPSCNNLossDescriptor;
        xyLossDescriptor: MPSCNNLossDescriptor;
        static cnnLossDescriptor(XYLossType: MPSCNNLossType, WHLossType: MPSCNNLossType, confidenceLossType: MPSCNNLossType, classesLossType: MPSCNNLossType, reductionType: MPSCNNReductionType, anchorBoxes: Data, numberOfAnchorBoxes: number):MPSCNNYOLOLossDescriptor;
    }
    export class MPSImageKeypointData {
        keypointColorValue: Float;
        keypointCoordinate: vector_ushort2;
        constructor ();
        constructor (keypointCoordinate: vector_ushort2, keypointColorValue: Float);
    }
    export class MPSNNReduceRowMax extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceRowMin extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceRowSum extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceRowMean extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceColumnMax extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceColumnMin extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceColumnSum extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceColumnMean extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsMax extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsMin extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsSum extends MPSNNReduceUnary {
        weight: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsMean extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsArgumentMax extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsArgumentMin extends MPSNNReduceUnary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReduceFeatureChannelsAndWeightsSum extends MPSNNReduceBinary {
        doWeightedSumByNonZeroWeights: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, doWeightedSumByNonZeroWeights: boolean);
    }
    export class MPSNNReduceFeatureChannelsAndWeightsMean extends MPSNNReduceBinary {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSImageKeypointRangeInfo {
        maximumKeypoints: number;
        minimumThresholdValue: Float;
        constructor ();
        constructor (maximumKeypoints: number, minimumThresholdValue: Float);
    }
    export class MPSNNReduceUnary extends MPSCNNKernel {
        clipRectSource: MTLRegion;
        offset: MPSOffset;
    }
    export class MPSNNReduceBinary extends MPSCNNBinaryKernel {
        primaryOffset: MPSOffset;
        primarySourceClipRect: MTLRegion;
        secondaryOffset: MPSOffset;
        secondarySourceClipRect: MTLRegion;
    }
    export class MPSImageMedian extends MPSUnaryImageKernel {
        /**
         * The diameter, in pixels, of the filter window.
         */
        kernelDiameter: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a filter for a particular kernel size and device.
         */
        constructor (device: MTLDevice, kernelDiameter: number);
        /**
         * Queries the maximum diameter, in pixels, of the filter window supported by the median filter.
         */
        static maxKernelDiameter():number;
        /**
         * Queries the minimum diameter, in pixels, of the filter window supported by the median filter.
         */
        static minKernelDiameter():number;
    }
    export class MPSNNReshape extends MPSCNNKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, outState: AutoreleasingUnsafeMutablePointer<MPSState?>, isTemporary: boolean, reshapedWidth: number, reshapedHeight: number, reshapedFeatureChannels: number):MPSImage;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[], outStates: AutoreleasingUnsafeMutablePointer<NSArray?>, isTemporary: boolean, reshapedWidth: number, reshapedHeight: number, reshapedFeatureChannels: number):MPSImage[];
    }
    export class MPSNNSlice extends MPSCNNKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNOptimizerAdam extends MPSNNOptimizer {
        beta1: number;
        beta2: number;
        epsilon: Float;
        timeStep: number;
        constructor (device: MTLDevice, beta1: number, beta2: number, epsilon: Float, timeStep: number, optimizerDescriptor: MPSNNOptimizerDescriptor);
        constructor (device: MTLDevice, learningRate: Float);
        encode(commandBuffer: MTLCommandBuffer, batchNormalizationGradientState: MPSCNNBatchNormalizationState, batchNormalizationSourceState: MPSCNNBatchNormalizationState, inputMomentumVectors: MPSVector[], inputVelocityVectors: MPSVector[], maximumVelocityVectors: MPSVector[] | null, resultState: MPSCNNNormalizationGammaAndBetaState):void;
    }
    export class MPSNNOptimizerRMSProp extends MPSNNOptimizer {
        decay: number;
        epsilon: Float;
        constructor (device: MTLDevice, decay: number, epsilon: Float, optimizerDescriptor: MPSNNOptimizerDescriptor);
        constructor (device: MTLDevice, learningRate: Float);
        encode(commandBuffer: MTLCommandBuffer, batchNormalizationGradientState: MPSCNNBatchNormalizationState, batchNormalizationSourceState: MPSCNNBatchNormalizationState, inputSumOfSquaresVectors: MPSVector[] | null, resultState: MPSCNNNormalizationGammaAndBetaState):void;
    }
    export class MPSNNOptimizerStochasticGradientDescent extends MPSNNOptimizer {
        momentumScale: Float;
        useNesterovMomentum: boolean;
        useNestrovMomentum: boolean;
        constructor (device: MTLDevice, learningRate: Float);
        constructor (device: MTLDevice, momentumScale: Float, useNesterovMomentum: boolean, optimizerDescriptor: MPSNNOptimizerDescriptor);
        constructor (device: MTLDevice, momentumScale: Float, useNestrovMomentum: boolean, optimizerDescriptor: MPSNNOptimizerDescriptor);
        encode(commandBuffer: MTLCommandBuffer, batchNormalizationGradientState: MPSCNNBatchNormalizationState, batchNormalizationSourceState: MPSCNNBatchNormalizationState, inputMomentumVectors: MPSVector[] | null, resultState: MPSCNNNormalizationGammaAndBetaState):void;
    }
    export class MPSUnaryImageKernel extends MPSKernel {
        /**
         * The position of the destination clip rectangle origin relative to the source buffer.
         */
        offset: MPSOffset;
        /**
         * An optional clip rectangle to use when writing data. Only the pixels in the rectangle will be overwritten.
         */
        clipRect: MTLRegion;
        /**
         * The edge mode to use when texture reads stray off the edge of an image.
         */
        edgeMode: MPSImageEdgeMode;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        /**
         * This method attempts to apply a kernel in place on a texture.
         */
        encode(commandBuffer: MTLCommandBuffer, texture: UnsafeMutablePointer<MTLTexture>, copyAllocator: MPSCopyAllocator | null):boolean;
        /**
         * Determines the region of the source texture that will be read for an encode operation.
         */
        sourceRegion(destinationSize: MTLSize):MPSRegion;
    }
    export class MPSNNOptimizer extends MPSKernel {
        applyGradientClipping: boolean;
        gradientClipMax: Float;
        gradientClipMin: Float;
        gradientRescale: Float;
        learningRate: Float;
        regularizationScale: Float;
        regularizationType: MPSNNRegularizationType;
        setLearningRate(newLearningRate: Float):void;
    }
    export class MPSNNOptimizerDescriptor extends NSObject {
        applyGradientClipping: boolean;
        gradientClipMax: Float;
        gradientClipMin: Float;
        gradientRescale: Float;
        learningRate: Float;
        regularizationScale: Float;
        regularizationType: MPSNNRegularizationType;
        constructor (learningRate: Float, gradientRescale: Float, applyGradientClipping: boolean, gradientClipMax: Float, gradientClipMin: Float, regularizationType: MPSNNRegularizationType, regularizationScale: Float);
        constructor (learningRate: Float, gradientRescale: Float, regularizationType: MPSNNRegularizationType, regularizationScale: Float);
    }
    export class MPSCNNKernel extends MPSKernel {
        /**
         * The position of the destination image's clip rectangle origin, relative to the source image.
         */
        offset: MPSOffset;
        /**
         * An optional clip rectangle to use when writing data. Only the pixels in the clip rectangle will be overwritten.
         */
        clipRect: MTLRegion;
        /**
         * The number of channels in the destination image to skip before writing output data.
         */
        destinationFeatureChannelOffset: number;
        /**
         * The edge mode to use when texture reads stray off the edge of an image.
         */
        edgeMode: MPSImageEdgeMode;
        kernelHeight: number;
        kernelWidth: number;
        strideInPixelsX: number;
        strideInPixelsY: number;
        isBackwards: boolean;
        padding: MPSNNPadding;
        destinationImageAllocator: MPSImageAllocator;
        dilationRateX: number;
        dilationRateY: number;
        isStateModified: boolean;
        sourceFeatureChannelMaxCount: number;
        sourceFeatureChannelOffset: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage):MPSImage;
        appendBatchBarrier():boolean;
        batchEncodingStorageSize(sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[] | null):number;
        destinationImageDescriptor(sourceImages: MPSImage[], sourceStates: MPSState[] | null):MPSImageDescriptor;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[]):MPSImage[];
        encodingStorageSize(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage | null):number;
        isResultStateReusedAcrossBatch():boolean;
        resultState(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSState | null;
        resultStateBatch(sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSState[] | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSState | null;
        temporaryResultStateBatch(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSState[] | null;
    }
    export class MPSOffset {
        /**
         * The horizontal component of the offset, in pixels.
         */
        x: number;
        /**
         * The vertical component of the offset, in pixels.
         */
        y: number;
        /**
         * The depth component of the offset, in pixels.
         */
        z: number;
        constructor ();
        constructor (x: number, y: number, z: number);
    }
    export enum MPSImageEdgeMode {
        zero = 0,
        clamp = 1,
        constant = 4,
        mirror = 2,
        mirrorWithEdge = 3,
    }
    export class MPSRegion {
        /**
         * The top-left corner of the region.
         */
        origin: MPSOrigin;
        /**
         * The size of the region.
         */
        size: MPSSize;
        constructor ();
        constructor (origin: MPSOrigin, size: MPSSize);
    }
    export class MPSOrigin {
        /**
         * The x coordinate of the position, in pixels.
         */
        x: number;
        /**
         * The y coordinate of the position, in pixels.
         */
        y: number;
        /**
         * The z coordinate of the position, in pixels.
         */
        z: number;
        constructor ();
        constructor (x: number, y: number, z: number);
    }
    export class MPSSize {
        /**
         * The depth of the region, in pixels.
         */
        depth: number;
        /**
         * The height of the region, in pixels.
         */
        height: number;
        /**
         * The width of the region, in pixels.
         */
        width: number;
        constructor ();
        constructor (width: number, height: number, depth: number);
    }
    export class MPSBinaryImageKernel extends MPSKernel {
        /**
         * The position of the destination clip rectangle origin relative to the primary source buffer.
         */
        primaryOffset: MPSOffset;
        /**
         * The position of the destination clip rectangle origin relative to the secondary source buffer.
         */
        secondaryOffset: MPSOffset;
        /**
         * The edge mode to use when texture reads stray off the edge of the primary source image.
         */
        primaryEdgeMode: MPSImageEdgeMode;
        /**
         * The edge mode to use when texture reads stray off the edge of the secondary source image.
         */
        secondaryEdgeMode: MPSImageEdgeMode;
        /**
         * An optional clip rectangle to use when writing data. Only the pixels in the rectangle will be overwritten.
         */
        clipRect: MTLRegion;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        /**
         * This method attempts to apply a kernel in place on a texture.
         */
        encode(commandBuffer: MTLCommandBuffer, primaryTexture: MTLTexture, inPlaceSecondaryTexture: UnsafeMutablePointer<MTLTexture>, copyAllocator: MPSCopyAllocator | null):boolean;
        /**
         * Determines the region of the primary source texture that will be read for an encode operation.
         */
        primarySourceRegion(destinationSize: MTLSize):MPSRegion;
        /**
         * Determines the region of the secondary source texture that will be read for an encode operation.
         */
        secondarySourceRegion(destinationSize: MTLSize):MPSRegion;
    }
    export class MPSCNNBinaryKernel extends MPSKernel {
        clipRect: MTLRegion;
        destinationFeatureChannelOffset: number;
        destinationImageAllocator: MPSImageAllocator;
        isBackwards: boolean;
        padding: MPSNNPadding;
        primaryEdgeMode: MPSImageEdgeMode;
        primaryOffset: MPSOffset;
        primaryStrideInPixelsX: number;
        primaryStrideInPixelsY: number;
        secondaryEdgeMode: MPSImageEdgeMode;
        secondaryOffset: MPSOffset;
        secondaryStrideInPixelsX: number;
        secondaryStrideInPixelsY: number;
        isStateModified: boolean;
        primaryDilationRateX: number;
        primaryDilationRateY: number;
        primaryKernelHeight: number;
        primaryKernelWidth: number;
        primarySourceFeatureChannelMaxCount: number;
        primarySourceFeatureChannelOffset: number;
        secondaryDilationRateX: number;
        secondaryDilationRateY: number;
        secondaryKernelHeight: number;
        secondaryKernelWidth: number;
        secondarySourceFeatureChannelMaxCount: number;
        secondarySourceFeatureChannelOffset: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(commandBuffer: MTLCommandBuffer, primaryImage: MPSImage, secondaryImage: MPSImage):MPSImage;
        appendBatchBarrier():boolean;
        batchEncodingStorageSize(primaryImage: MPSImage[], secondaryImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[] | null):number;
        destinationImageDescriptor(sourceImages: MPSImage[], sourceStates: MPSState[] | null):MPSImageDescriptor;
        encodeBatch(commandBuffer: MTLCommandBuffer, primaryImage: MPSImage[], secondaryImage: MPSImage[]):MPSImage[];
        encodingStorageSize(primaryImage: MPSImage, secondaryImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage | null):number;
        isResultStateReusedAcrossBatch():boolean;
        resultState(primaryImage: MPSImage, secondaryImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSState | null;
        resultStateBatch(primaryImage: MPSImage[], secondaryImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSState[] | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, primaryImage: MPSImage, secondaryImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSState | null;
        temporaryResultStateBatch(commandBuffer: MTLCommandBuffer, primaryImage: MPSImage[], secondaryImage: MPSImage[], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSState[] | null;
    }
    export class MPSCNNGradientKernel extends MPSCNNBinaryKernel {
        kernelOffsetX: number;
        kernelOffsetY: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(commandBuffer: MTLCommandBuffer, sourceGradient: MPSImage, sourceImage: MPSImage, gradientState: MPSState):MPSImage;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceGradients: MPSImage[], sourceImages: MPSImage[], gradientStates: MPSState[]):MPSImage[];
    }
    export class MPSNNDefaultPadding extends NSObject {
        constructor (method: MPSNNPaddingMethod);
        static forTensorflowAveragePooling():Self;
        static forTensorflowAveragePoolingValidOnly():Self;
        label():string;
    }
    export class MPSNNPaddingMethod {
        static addRemainderToBottomLeft: MPSNNPaddingMethod;
        static addRemainderToBottomRight: MPSNNPaddingMethod;
        static addRemainderToMask: MPSNNPaddingMethod;
        static addRemainderToTopRight: MPSNNPaddingMethod;
        static alignBottomRight: MPSNNPaddingMethod;
        static alignMask: MPSNNPaddingMethod;
        static alignTopLeft: MPSNNPaddingMethod;
        static align_reserved: MPSNNPaddingMethod;
        static custom: MPSNNPaddingMethod;
        static sizeFull: MPSNNPaddingMethod;
        static sizeMask: MPSNNPaddingMethod;
        static sizeSame: MPSNNPaddingMethod;
        static size_reserved: MPSNNPaddingMethod;
        static excludeEdges: MPSNNPaddingMethod;
        static centered: MPSNNPaddingMethod;
        static customAllowForNodeFusion: MPSNNPaddingMethod;
        static customWhitelistForNodeFusion: MPSNNPaddingMethod;
        /**
         * A padding method where leftover padding is added to the top or left side of image as appropriate.	  
         */
        static topLeft: MPSNNPaddingMethod;
        /**
         * A padding method where result values are only produced for the area that is guaranteed to have all of its input values defined   
         */
        static validOnly: MPSNNPaddingMethod;
        constructor (rawValue: number);
    }
    export class MPSRNNImageInferenceLayer extends MPSCNNKernel {
        bidirectionalCombineMode: MPSRNNBidirectionalCombineMode;
        numberOfLayers: number;
        recurrentOutputIsTemporary: boolean;
        storeAllIntermediateStates: boolean;
        inputFeatureChannels: number;
        outputFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, rnnDescriptor: MPSRNNDescriptor);
        constructor (device: MTLDevice, rnnDescriptors: MPSRNNDescriptor[]);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encodeBidirectionalSequence(commandBuffer: MTLCommandBuffer, sourceSequence: MPSImage[], destinationForwardImages: MPSImage[], destinationBackwardImages: MPSImage[] | null):void;
        encodeSequence(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[], destinationImages: MPSImage[], recurrentInputState: MPSRNNRecurrentImageState | null, recurrentOutputStates: NSMutableArray | null):void;
    }
    export class MPSRNNDescriptor extends NSObject {
        inputFeatureChannels: number;
        layerSequenceDirection: MPSRNNSequenceDirection;
        outputFeatureChannels: number;
        useFloat32Weights: boolean;
        useLayerInputUnitTransformMode: boolean;
    }
    export enum MPSRNNBidirectionalCombineMode {
        add = 1,
        concatenate = 2,
        none = 0,
    }
    export class MPSRNNRecurrentImageState extends MPSState {
        getMemoryCellImage(layerIndex: number):MPSImage | null;
        getRecurrentOutputImage(layerIndex: number):MPSImage | null;
    }
    export class MPSRNNMatrixInferenceLayer extends MPSKernel {
        bidirectionalCombineMode: MPSRNNBidirectionalCombineMode;
        inputFeatureChannels: number;
        numberOfLayers: number;
        outputFeatureChannels: number;
        recurrentOutputIsTemporary: boolean;
        storeAllIntermediateStates: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, rnnDescriptor: MPSRNNDescriptor);
        constructor (device: MTLDevice, rnnDescriptors: MPSRNNDescriptor[]);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encodeBidirectionalSequence(commandBuffer: MTLCommandBuffer, sourceSequence: MPSMatrix[], destinationForwardMatrices: MPSMatrix[], destinationBackwardMatrices: MPSMatrix[] | null):void;
        encodeSequence(commandBuffer: MTLCommandBuffer, sourceMatrices: MPSMatrix[], destinationMatrices: MPSMatrix[], recurrentInputState: MPSRNNRecurrentMatrixState | null, recurrentOutputStates: NSMutableArray | null):void;
    }
    export class MPSRNNRecurrentMatrixState extends MPSState {
        getMemoryCellMatrix(layerIndex: number):MPSMatrix | null;
        getRecurrentOutputMatrix(layerIndex: number):MPSMatrix | null;
    }
    export class MPSRNNSingleGateDescriptor extends MPSRNNDescriptor {
        inputWeights: MPSCNNConvolutionDataSource | null;
        recurrentWeights: MPSCNNConvolutionDataSource | null;
        static createRNNSingleGateDescriptor(inputFeatureChannels: number, outputFeatureChannels: number):Self;
    }
    export class MPSImageBox extends MPSUnaryImageKernel {
        /**
         * The height of the filter window. Must be an odd number.
         */
        kernelHeight: number;
        /**
         * The width of the filter window. Must be an odd number.
         */
        kernelWidth: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a box filter.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
    }
    export class MPSGRUDescriptor extends MPSRNNDescriptor {
        flipOutputGates: boolean;
        gatePnormValue: Float;
        inputGateInputWeights: MPSCNNConvolutionDataSource | null;
        inputGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        outputGateInputGateWeights: MPSCNNConvolutionDataSource | null;
        outputGateInputWeights: MPSCNNConvolutionDataSource | null;
        outputGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        recurrentGateInputWeights: MPSCNNConvolutionDataSource | null;
        recurrentGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        static createGRUDescriptor(inputFeatureChannels: number, outputFeatureChannels: number):Self;
    }
    export class MPSLSTMDescriptor extends MPSRNNDescriptor {
        cellGateInputWeights: MPSCNNConvolutionDataSource | null;
        cellGateMemoryWeights: MPSCNNConvolutionDataSource | null;
        cellGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        cellToOutputNeuronParamA: Float;
        cellToOutputNeuronParamB: Float;
        cellToOutputNeuronType: MPSCNNNeuronType;
        forgetGateInputWeights: MPSCNNConvolutionDataSource | null;
        forgetGateMemoryWeights: MPSCNNConvolutionDataSource | null;
        forgetGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        inputGateInputWeights: MPSCNNConvolutionDataSource | null;
        inputGateMemoryWeights: MPSCNNConvolutionDataSource | null;
        inputGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        memoryWeightsAreDiagonal: boolean;
        outputGateInputWeights: MPSCNNConvolutionDataSource | null;
        outputGateMemoryWeights: MPSCNNConvolutionDataSource | null;
        outputGateRecurrentWeights: MPSCNNConvolutionDataSource | null;
        cellToOutputNeuronParamC: Float;
        static createLSTMDescriptor(inputFeatureChannels: number, outputFeatureChannels: number):Self;
    }
    export enum MPSRNNSequenceDirection {
        backward = 1,
        forward = 0,
    }
    export class MPSRNNMatrixTrainingLayer extends MPSKernel {
        accumulateWeightGradients: boolean;
        inputFeatureChannels: number;
        outputFeatureChannels: number;
        recurrentOutputIsTemporary: boolean;
        storeAllIntermediateStates: boolean;
        trainingStateIsTemporary: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, rnnDescriptor: MPSRNNDescriptor, trainableWeights: NSMutableArray);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        createTemporaryWeightGradientMatrices(matricesOut: NSMutableArray, dataType: MPSDataType, commandBuffer: MTLCommandBuffer):void;
        createWeightGradientMatrices(matricesOut: NSMutableArray, dataType: MPSDataType):void;
        createWeightMatrices(matricesOut: NSMutableArray):void;
        encodeCopyWeights(commandBuffer: MTLCommandBuffer, weights: MPSMatrix[], matrixId: MPSRNNMatrixId, matrix: MPSMatrix, copyFromWeightsToMatrix: boolean, matrixOffset: MTLOrigin):void;
        encodeForwardSequence(commandBuffer: MTLCommandBuffer, sourceMatrices: MPSMatrix[], destinationMatrices: MPSMatrix[], trainingStates: NSMutableArray, weights: MPSMatrix[]):void;
        encodeGradientSequence(commandBuffer: MTLCommandBuffer, forwardSources: MPSMatrix[], forwardSourceOffsets: UnsafeMutablePointer<Int> | null, sourceGradients: MPSMatrix[], sourceGradientOffsets: UnsafeMutablePointer<Int> | null, destinationGradients: MPSMatrix[] | null, destinationOffsets: UnsafeMutablePointer<Int> | null, weightGradients: MPSMatrix[] | null, trainingStates: MPSRNNMatrixTrainingState[], recurrentInputState: MPSRNNRecurrentMatrixState | null, recurrentOutputStates: NSMutableArray | null, weights: MPSMatrix[]):void;
    }
    export class MPSRNNMatrixTrainingState extends MPSState {}
    export class MPSMatrix extends NSObject {
        /**
         * The device on which the matrix will be used.
         */
        device: MTLDevice;
        /**
         * The number of rows in the matrix.
         */
        rows: number;
        /**
         * The number of columns in the matrix.
         */
        columns: number;
        /**
         * The type of the values in the matrix.
         */
        dataType: MPSDataType;
        /**
         * The stride, in bytes, between corresponding elements of consecutive rows in the matrix.
         */
        rowBytes: number;
        /**
         * The buffer that stores the matrix data.
         */
        data: MTLBuffer;
        matrices: number;
        matrixBytes: number;
        offset: number;
        /**
         * Initializes a matrix with a buffer.
         */
        constructor (buffer: MTLBuffer, descriptor: MPSMatrixDescriptor);
        constructor (buffer: MTLBuffer, offset: number, descriptor: MPSMatrixDescriptor);
        constructor (device: MTLDevice, descriptor: MPSMatrixDescriptor);
        resourceSize():number;
        synchronize(commandBuffer: MTLCommandBuffer):void;
    }
    export class MPSMatrixDescriptor extends NSObject {
        /**
         * The number of rows in the matrix.
         */
        rows: number;
        /**
         * The number of columns in the matrix.
         */
        columns: number;
        /**
         * The type of the values in the matrix.
         */
        dataType: MPSDataType;
        matrices: number;
        matrixBytes: number;
        constructor (rows: number, columns: number, matrices: number, rowBytes: number, matrixBytes: number, dataType: MPSDataType);
        constructor (rows: number, columns: number, rowBytes: number, dataType: MPSDataType);
        /**
         * Creates a matrix descriptor with the specified dimensions and data type.
         */
        constructor (rows: number, columns: number, rowBytes: number, dataType: MPSDataType);
        /**
         * Determines the recommended matrix row stride, in bytes, for a given number of columns.
         */
        static rowBytes(columns: number, dataType: MPSDataType):number;
    }
    export enum MPSDataType {
        floatBit = 268435456,
        float32 = 268435488,
        invalid = 0,
        float16 = 268435472,
        int16 = 536870928,
        int8 = 536870920,
        normalizedBit = 1073741824,
        signedBit = 536870912,
        uInt16 = 16,
        uInt32 = 32,
        uInt8 = 8,
        unorm1 = 1073741825,
        unorm8 = 1073741832,
        alternateEncodingBit = 2147483648,
        bool = 2147483656,
        int32 = 536870944,
        int64 = 536870976,
        uInt64 = 64,
    }
    export class MPSTemporaryMatrix extends MPSMatrix {
        readCount: number;
        constructor (commandBuffer: MTLCommandBuffer, matrixDescriptor: MPSMatrixDescriptor);
        static prefetchStorage(commandBuffer: MTLCommandBuffer, descriptorList: MPSMatrixDescriptor[]):void;
    }
    export class MPSVector extends NSObject {
        data: MTLBuffer;
        dataType: MPSDataType;
        device: MTLDevice;
        length: number;
        vectorBytes: number;
        vectors: number;
        offset: number;
        constructor (buffer: MTLBuffer, descriptor: MPSVectorDescriptor);
        constructor (buffer: MTLBuffer, offset: number, descriptor: MPSVectorDescriptor);
        constructor (device: MTLDevice, descriptor: MPSVectorDescriptor);
        resourceSize():number;
        synchronize(commandBuffer: MTLCommandBuffer):void;
    }
    export class MPSVectorDescriptor extends NSObject {
        dataType: MPSDataType;
        length: number;
        vectorBytes: number;
        vectors: number;
        constructor (length: number, dataType: MPSDataType);
        constructor (length: number, vectors: number, vectorBytes: number, dataType: MPSDataType);
    }
    export class MPSTemporaryVector extends MPSVector {
        readCount: number;
        constructor (commandBuffer: MTLCommandBuffer, descriptor: MPSVectorDescriptor);
        static prefetchStorage(commandBuffer: MTLCommandBuffer, descriptorList: MPSVectorDescriptor[]):void;
    }
    export class MPSMatrixDecompositionCholesky extends MPSMatrixUnaryKernel {
        constructor (device: MTLDevice, lower: boolean, order: number);
        encode(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, resultMatrix: MPSMatrix, status: MTLBuffer | null):void;
    }
    export class MPSMatrixSolveCholesky extends MPSMatrixBinaryKernel {
        constructor (device: MTLDevice, upper: boolean, order: number, numberOfRightHandSides: number);
        encode(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, rightHandSideMatrix: MPSMatrix, solutionMatrix: MPSMatrix):void;
    }
    export class MPSMatrixDecompositionLU extends MPSMatrixUnaryKernel {
        constructor (device: MTLDevice, rows: number, columns: number);
        encode(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, resultMatrix: MPSMatrix, pivotIndices: MPSMatrix, status: MTLBuffer | null):void;
    }
    export class MPSMatrixSolveLU extends MPSMatrixBinaryKernel {
        constructor (device: MTLDevice, transpose: boolean, order: number, numberOfRightHandSides: number);
        encode(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, rightHandSideMatrix: MPSMatrix, pivotIndices: MPSMatrix, solutionMatrix: MPSMatrix):void;
    }
    export class MPSMatrixSolveTriangular extends MPSMatrixBinaryKernel {
        constructor (device: MTLDevice, right: boolean, upper: boolean, transpose: boolean, unit: boolean, order: number, numberOfRightHandSides: number, alpha: number);
        encode(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, rightHandSideMatrix: MPSMatrix, solutionMatrix: MPSMatrix):void;
    }
    export class MPSMatrixUnaryKernel extends MPSKernel {
        batchSize: number;
        batchStart: number;
        resultMatrixOrigin: MTLOrigin;
        sourceMatrixOrigin: MTLOrigin;
    }
    export class MPSMatrixBinaryKernel extends MPSKernel {
        batchSize: number;
        batchStart: number;
        primarySourceMatrixOrigin: MTLOrigin;
        resultMatrixOrigin: MTLOrigin;
        secondarySourceMatrixOrigin: MTLOrigin;
    }
    export enum MPSMatrixDecompositionStatus {
        failure = -1,
        nonPositiveDefinite = -3,
        singular = -2,
        success = 0,
    }
    export class MPSMatrixSum extends MPSKernel {
        columns: number;
        count: number;
        neuronParameterA: Float;
        neuronParameterB: Float;
        neuronParameterC: Float;
        resultMatrixOrigin: MTLOrigin;
        rows: number;
        transpose: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, count: number, rows: number, columns: number, transpose: boolean);
        encode(buffer: MTLCommandBuffer, sourceMatrices: MPSMatrix[], resultMatrix: MPSMatrix, scaleVector: MPSVector | null, offsetVector: MPSVector | null, biasVector: MPSVector | null, startIndex: number):void;
        neuronType():MPSCNNNeuronType;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float, parameterC: Float):void;
    }
    export class MPSMatrixMultiplication extends MPSKernel {
        /**
         * The origin of the left input matrix.
         */
        leftMatrixOrigin: MTLOrigin;
        /**
         * The origin of the right input matrix.
         */
        rightMatrixOrigin: MTLOrigin;
        /**
         * The origin of the result matrix.
         */
        resultMatrixOrigin: MTLOrigin;
        batchSize: number;
        batchStart: number;
        /**
         * Initializes a matrix multiplication kernel.
         */
        constructor (device: MTLDevice, transposeLeft: boolean, transposeRight: boolean, resultRows: number, resultColumns: number, interiorColumns: number, alpha: number, beta: number);
        constructor (device: MTLDevice, resultRows: number, resultColumns: number, interiorColumns: number);
        /**
         * Encodes a matrix multiplication kernel to a command buffer.
         */
        encode(commandBuffer: MTLCommandBuffer, leftMatrix: MPSMatrix, rightMatrix: MPSMatrix, resultMatrix: MPSMatrix):void;
    }
    export class MPSMatrixVectorMultiplication extends MPSMatrixBinaryKernel {
        constructor (device: MTLDevice, transpose: boolean, rows: number, columns: number, alpha: number, beta: number);
        constructor (device: MTLDevice, rows: number, columns: number);
        encode(commandBuffer: MTLCommandBuffer, inputMatrix: MPSMatrix, inputVector: MPSVector, resultVector: MPSVector):void;
    }
    export class MPSMatrixFindTopK extends MPSMatrixUnaryKernel {
        indexOffset: number;
        numberOfTopKValues: number;
        sourceColumns: number;
        sourceRows: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, numberOfTopKValues: number);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, inputMatrix: MPSMatrix, resultIndexMatrix: MPSMatrix, resultValueMatrix: MPSMatrix):void;
    }
    export class MPSMatrixCopy extends MPSKernel {
        copyColumns: number;
        copyRows: number;
        destinationsAreTransposed: boolean;
        sourcesAreTransposed: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, copyRows: number, copyColumns: number, sourcesAreTransposed: boolean, destinationsAreTransposed: boolean);
        encode(commandBuffer: MTLCommandBuffer, copyDescriptor: MPSMatrixCopyDescriptor):void;
    }
    export class MPSMatrixCopyToImage extends MPSKernel {
        dataLayout: MPSDataLayout;
        sourceMatrixBatchIndex: number;
        sourceMatrixOrigin: MTLOrigin;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, dataLayout: MPSDataLayout);
        encode(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, destinationImage: MPSImage):void;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceMatrix: MPSMatrix, destinationImages: MPSImage[]):void;
    }
    export class MPSMatrixCopyDescriptor extends NSObject {
        constructor (device: MTLDevice, count: number);
        constructor (sourceMatrices: MPSMatrix[], destinationMatrices: MPSMatrix[], offsets: MPSVector | null, byteOffset: number);
        constructor (sourceMatrix: MPSMatrix, destinationMatrix: MPSMatrix, offsets: MPSMatrixCopyOffsets);
        setCopyOperationAt(index: number, sourceMatrix: MPSMatrix, destinationMatrix: MPSMatrix, offsets: MPSMatrixCopyOffsets):void;
    }
    export class MPSImageCopyToMatrix extends MPSKernel {
        dataLayout: MPSDataLayout;
        destinationMatrixBatchIndex: number;
        destinationMatrixOrigin: MTLOrigin;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, dataLayout: MPSDataLayout);
        encode(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, destinationMatrix: MPSMatrix):void;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[], destinationMatrix: MPSMatrix):void;
    }
    export class MPSMatrixFullyConnected extends MPSMatrixBinaryKernel {
        alpha: number;
        sourceInputFeatureChannels: number;
        sourceNumberOfFeatureVectors: number;
        sourceOutputFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, inputMatrix: MPSMatrix, weightMatrix: MPSMatrix, biasVector: MPSVector | null, resultMatrix: MPSMatrix):void;
        neuronParameterA():Float;
        neuronParameterB():Float;
        neuronParameterC():Float;
        neuronType():MPSCNNNeuronType;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float, parameterC: Float):void;
    }
    export class MPSImageAreaMax extends MPSUnaryImageKernel {
        /**
         * The height of the filter window. Must be an odd number.
         */
        kernelHeight: number;
        /**
         * The width of the filter window. Must be an odd number.
         */
        kernelWidth: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes the kernel with a specified width and height.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number);
    }
    export class MPSMatrixFullyConnectedGradient extends MPSMatrixBinaryKernel {
        alpha: number;
        sourceInputFeatureChannels: number;
        sourceNumberOfFeatureVectors: number;
        sourceOutputFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encodeForData(commandBuffer: MTLCommandBuffer, gradientMatrix: MPSMatrix, weightMatrix: MPSMatrix, resultGradientForDataMatrix: MPSMatrix):void;
        encodeForWeightsAndBias(commandBuffer: MTLCommandBuffer, gradientMatrix: MPSMatrix, inputMatrix: MPSMatrix, resultGradientForWeightMatrix: MPSMatrix, resultGradientForBiasVector: MPSVector | null):void;
    }
    export class MPSMatrixNeuron extends MPSMatrixUnaryKernel {
        alpha: number;
        sourceInputFeatureChannels: number;
        sourceNumberOfFeatureVectors: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, inputMatrix: MPSMatrix, biasVector: MPSVector | null, resultMatrix: MPSMatrix):void;
        neuronParameterA():Float;
        neuronParameterB():Float;
        neuronParameterC():Float;
        neuronType():MPSCNNNeuronType;
        setNeuronToPReLUWithParametersA(A: Data):void;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float, parameterC: Float):void;
    }
    export class MPSMatrixNeuronGradient extends MPSMatrixBinaryKernel {
        alpha: number;
        sourceInputFeatureChannels: number;
        sourceNumberOfFeatureVectors: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, gradientMatrix: MPSMatrix, inputMatrix: MPSMatrix, biasVector: MPSVector | null, resultGradientForDataMatrix: MPSMatrix, resultGradientForBiasVector: MPSVector | null):void;
        neuronParameterA():Float;
        neuronParameterB():Float;
        neuronParameterC():Float;
        neuronType():MPSCNNNeuronType;
        setNeuronToPReLUWithParametersA(A: Data):void;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float, parameterC: Float):void;
    }
    export class MPSMatrixLogSoftMax extends MPSMatrixSoftMax {}
    export class MPSMatrixLogSoftMaxGradient extends MPSMatrixSoftMaxGradient {}
    export class MPSMatrixSoftMax extends MPSMatrixUnaryKernel {
        sourceColumns: number;
        sourceRows: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, inputMatrix: MPSMatrix, resultMatrix: MPSMatrix):void;
    }
    export class MPSMatrixSoftMaxGradient extends MPSMatrixBinaryKernel {
        sourceColumns: number;
        sourceRows: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, gradientMatrix: MPSMatrix, forwardOutputMatrix: MPSMatrix, resultMatrix: MPSMatrix):void;
    }
    export class MPSMatrixBatchNormalization extends MPSMatrixUnaryKernel {
        computeStatistics: boolean;
        epsilon: Float;
        sourceInputFeatureChannels: number;
        sourceNumberOfFeatureVectors: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, inputMatrix: MPSMatrix, meanVector: MPSVector, varianceVector: MPSVector, gammaVector: MPSVector | null, betaVector: MPSVector | null, resultMatrix: MPSMatrix):void;
        neuronParameterA():Float;
        neuronParameterB():Float;
        neuronParameterC():Float;
        neuronType():MPSCNNNeuronType;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float, parameterC: Float):void;
    }
    export class MPSMatrixBatchNormalizationGradient extends MPSMatrixBinaryKernel {
        epsilon: Float;
        sourceInputFeatureChannels: number;
        sourceNumberOfFeatureVectors: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, gradientMatrix: MPSMatrix, inputMatrix: MPSMatrix, meanVector: MPSVector, varianceVector: MPSVector, gammaVector: MPSVector | null, betaVector: MPSVector | null, resultGradientForDataMatrix: MPSMatrix, resultGradientForGammaVector: MPSVector | null, resultGradientForBetaVector: MPSVector | null):void;
        neuronParameterA():Float;
        neuronParameterB():Float;
        neuronParameterC():Float;
        neuronType():MPSCNNNeuronType;
        setNeuronType(neuronType: MPSCNNNeuronType, parameterA: Float, parameterB: Float, parameterC: Float):void;
    }
    export class MPSRayIntersector extends MPSKernel {
        boundingBoxIntersectionTestType: MPSBoundingBoxIntersectionTestType;
        cullMode: MTLCullMode;
        frontFacingWinding: MTLWinding;
        intersectionDataType: MPSIntersectionDataType;
        intersectionStride: number;
        rayDataType: MPSRayDataType;
        rayIndexDataType: MPSDataType;
        rayMask: UInt32;
        rayMaskOperator: MPSRayMaskOperator;
        rayMaskOptions: MPSRayMaskOptions;
        rayStride: number;
        triangleIntersectionTestType: MPSTriangleIntersectionTestType;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(coder: NSCoder):void;
        encodeIntersection(commandBuffer: MTLCommandBuffer, intersectionType: MPSIntersectionType, rayBuffer: MTLBuffer, rayBufferOffset: number, intersectionBuffer: MTLBuffer, intersectionBufferOffset: number, rayCount: number, accelerationStructure: MPSAccelerationStructure):void;
        recommendedMinimumRayBatchSize(rayCount: number):number;
    }
    export class MPSAccelerationStructureGroup extends NSObject {
        device: MTLDevice;
        constructor (device: MTLDevice);
    }
    export class MPSInstanceAccelerationStructure extends MPSAccelerationStructure {
        accelerationStructures: MPSPolygonAccelerationStructure[] | null;
        instanceBuffer: MTLBuffer | null;
        instanceBufferOffset: number;
        instanceCount: number;
        maskBuffer: MTLBuffer | null;
        maskBufferOffset: number;
        transformBuffer: MTLBuffer | null;
        transformBufferOffset: number;
        transformType: MPSTransformType;
    }
    export class MPSTriangleAccelerationStructure extends MPSPolygonAccelerationStructure {
        triangleCount: number;
    }
    export class MPSAccelerationStructure extends MPSKernel {
        boundingBox: MPSAxisAlignedBoundingBox;
        group: MPSAccelerationStructureGroup;
        status: MPSAccelerationStructureStatus;
        usage: MPSAccelerationStructureUsage;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (aDecoder: NSCoder, group: MPSAccelerationStructureGroup);
        constructor (device: MTLDevice);
        constructor (group: MPSAccelerationStructureGroup);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(coder: NSCoder):void;
        encodeRefit(commandBuffer: MTLCommandBuffer):void;
        rebuild():void;
    }
    export class MPSKeyedUnarchiver extends NSKeyedUnarchiver {
        constructor (device: MTLDevice);
        constructor (data: Data, device: MTLDevice, error: NSErrorPointer);
        constructor (data: Data, device: MTLDevice);
        static unarchiveObject(data: Data, device: MTLDevice):any;
        static unarchiveTopLevelObject(data: Data, device: MTLDevice):any;
        static unarchivedObject(cls: AnyClass, data: Data, device: MTLDevice):any;
        mpsMTLDevice():MTLDevice;
    }
    export interface MPSDeviceProvider {
        mpsMTLDevice():MTLDevice!;
    }
    export class MPSCNNConvolutionTransposeGradient extends MPSCNNGradientKernel {
        dataSource: MPSCNNConvolutionDataSource;
        gradientOption: MPSCNNConvolutionGradientOption;
        groups: number;
        sourceGradientFeatureChannels: number;
        sourceImageFeatureChannels: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, weights: MPSCNNConvolutionDataSource);
        reloadWeightsAndBiases(commandBuffer: MTLCommandBuffer, state: MPSCNNConvolutionWeightsAndBiasesState):void;
        reloadWeightsAndBiasesFromDataSource():void;
    }
    export class MPSImageTent extends MPSImageBox {}
    export class MPSCNNConvolutionTransposeGradientNode extends MPSCNNConvolutionGradientNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSCNNConvolutionTransposeGradientStateNode, weights: MPSCNNConvolutionDataSource | null);
    }
    export class MPSCNNConvolutionTransposeGradientState extends MPSCNNConvolutionGradientState {
        convolutionTranspose: MPSCNNConvolutionTranspose;
    }
    export class MPSCNNConvolutionTransposeGradientStateNode extends MPSCNNConvolutionGradientStateNode {}
    export class MPSCNNFullyConnectedGradientNode extends MPSCNNConvolutionGradientNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSCNNConvolutionGradientStateNode, weights: MPSCNNConvolutionDataSource | null);
    }
    export class MPSCNNGroupNormalization extends MPSCNNKernel {
        dataSource: MPSCNNGroupNormalizationDataSource;
        epsilon: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, dataSource: MPSCNNGroupNormalizationDataSource);
        reloadGammaAndBeta(commandBuffer: MTLCommandBuffer, gammaAndBetaState: MPSCNNNormalizationGammaAndBetaState):void;
        reloadGammaAndBetaFromDataSource():void;
        resultState(sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNGroupNormalizationGradientState | null;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage, sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSCNNGroupNormalizationGradientState | null;
    }
    export class MPSCNNGroupNormalizationGradient extends MPSCNNGradientKernel {}
    export class MPSCNNGroupNormalizationGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSCNNGroupNormalizationGradientState extends MPSNNGradientState {
        beta: MTLBuffer | null;
        gamma: MTLBuffer | null;
        gradientForBeta: MTLBuffer;
        gradientForGamma: MTLBuffer;
        groupNormalization: MPSCNNGroupNormalization;
    }
    export class MPSCNNGroupNormalizationNode extends MPSNNFilterNode {
        trainingStyle: MPSNNTrainingStyle;
        constructor (source: MPSNNImageNode, dataSource: MPSCNNGroupNormalizationDataSource);
    }
    export class MPSCNNMultiaryKernel extends MPSKernel {
        clipRect: MTLRegion;
        destinationFeatureChannelOffset: number;
        destinationImageAllocator: MPSImageAllocator;
        isBackwards: boolean;
        isStateModified: boolean;
        padding: MPSNNPadding;
        sourceCount: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, sourceCount: number);
        appendBatchBarrier():boolean;
        destinationImageDescriptor(sourceImages: MPSImage[], sourceStates: MPSState[] | null):MPSImageDescriptor;
        dilationRateXatIndex(index: number):number;
        dilationRateYatIndex(index: number):number;
        edgeMode(index: number):MPSImageEdgeMode;
        encode(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[]):MPSImage;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImageBatches: MPSImage[][]):MPSImage[];
        isResultStateReusedAcrossBatch():boolean;
        kernelHeight(index: number):number;
        kernelWidth(index: number):number;
        offset(index: number):MPSOffset;
        resultState(sourceImages: MPSImage[], sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSState | null;
        resultStateBatch(sourceImages: MPSImage[][], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSState[] | null;
        setDilationRateX(dilationRate: number, index: number):void;
        setDilationRateY(dilationRate: number, index: number):void;
        setEdgeMode(edgeMode: MPSImageEdgeMode, index: number):void;
        setKernelHeight(height: number, index: number):void;
        setKernelWidth(width: number, index: number):void;
        setOffset(offset: MPSOffset, index: number):void;
        setSourceFeatureChannelMaxCount(count: number, index: number):void;
        setSourceFeatureChannelOffset(offset: number, index: number):void;
        setStrideInPixelsX(stride: number, index: number):void;
        setStrideInPixelsY(stride: number, index: number):void;
        sourceFeatureChannelMaxCount(index: number):number;
        sourceFeatureChannelOffset(index: number):number;
        stride(index: number):number;
        temporaryResultState(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[], sourceStates: MPSState[] | null, destinationImage: MPSImage):MPSState | null;
        temporaryResultStateBatch(commandBuffer: MTLCommandBuffer, sourceImage: MPSImage[][], sourceStates: MPSState[][] | null, destinationImage: MPSImage[]):MPSState[] | null;
    }
    export class MPSCNNNeuronGeLUNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCommandBuffer extends NSObject {
        commandBuffer: MTLCommandBuffer;
        heapProvider: MPSHeapProvider | null;
        predicate: MPSPredicate | null;
        rootCommandBuffer: MTLCommandBuffer;
        constructor (commandBuffer: MTLCommandBuffer);
        constructor (commandQueue: MTLCommandQueue);
        commitAndContinue():void;
        prefetchHeap(size: number):void;
    }
    export class MPSImageCanny extends MPSUnaryImageKernel {
        colorTransform: UnsafePointer<Float>;
        highThreshold: Float;
        lowThreshold: Float;
        sigma: Float;
        useFastMode: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, transform: UnsafePointer<Float>, sigma: Float);
    }
    export class MPSImageEDLines extends MPSKernel {
        clipRectSource: MTLRegion;
        detailRatio: UInt16;
        gaussianSigma: Float;
        gradientThreshold: Float;
        lineErrorThreshold: Float;
        maxLines: number;
        mergeLocalityThreshold: Float;
        minLineLength: UInt16;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, gaussianSigma: Float, minLineLength: UInt16, maxLines: number, detailRatio: UInt16, gradientThreshold: Float, lineErrorThreshold: Float, mergeLocalityThreshold: Float);
        encode(commandBuffer: MTLCommandBuffer, source: MTLTexture, dest: MTLTexture | null, endpointBuffer: MTLBuffer, endpointOffset: number):void;
    }
    export class MPSImageGaussianBlur extends MPSUnaryImageKernel {
        /**
         * The sigma value with which the filter was created.
         */
        sigma: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a Gaussian blur filter.
         */
        constructor (device: MTLDevice, sigma: Float);
    }
    export class MPSImageNormalizedHistogram extends MPSKernel {
        clipRectSource: MTLRegion;
        histogramInfo: MPSImageHistogramInfo;
        zeroHistogram: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, histogramInfo: UnsafePointer<MPSImageHistogramInfo>);
        encode(commandBuffer: MTLCommandBuffer, source: MTLTexture, minmaxTexture: MTLTexture, histogram: MTLBuffer, histogramOffset: number):void;
        histogramSize(sourceFormat: MTLPixelFormat):number;
    }
    export class MPSMatrixRandom extends MPSKernel {
        batchSize: number;
        batchStart: number;
        destinationDataType: MPSDataType;
        distributionType: MPSMatrixRandomDistribution;
        encode(commandBuffer: MTLCommandBuffer, destinationMatrix: MPSMatrix):void;
    }
    export class MPSMatrixRandomDistributionDescriptor extends NSObject {
        distributionType: MPSMatrixRandomDistribution;
        maximum: Float;
        mean: Float;
        minimum: Float;
        standardDeviation: Float;
        static default():MPSMatrixRandomDistributionDescriptor;
        static normalDistributionDescriptor(mean: Float, standardDeviation: Float):MPSMatrixRandomDistributionDescriptor;
        static uniformDistributionDescriptor(minimum: Float, maximum: Float):MPSMatrixRandomDistributionDescriptor;
    }
    export class MPSMatrixRandomMTGP32 extends MPSMatrixRandom {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, destinationDataType: MPSDataType, seed: number);
        constructor (device: MTLDevice, destinationDataType: MPSDataType, seed: number, distributionDescriptor: MPSMatrixRandomDistributionDescriptor);
        synchronizeState(commandBuffer: MTLCommandBuffer):void;
    }
    export class MPSMatrixRandomPhilox extends MPSMatrixRandom {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, destinationDataType: MPSDataType, seed: number);
        constructor (device: MTLDevice, destinationDataType: MPSDataType, seed: number, distributionDescriptor: MPSMatrixRandomDistributionDescriptor);
    }
    export class MPSNDArray extends NSObject {
        dataType: MPSDataType;
        dataTypeSize: number;
        device: MTLDevice;
        label: string;
        numberOfDimensions: number;
        parent: MPSNDArray | null;
        constructor (device: MTLDevice, descriptor: MPSNDArrayDescriptor);
        constructor (device: MTLDevice, value: number);
        static defaultAllocator():MPSNDArrayAllocator;
        arrayView(cmdBuf: MTLCommandBuffer, descriptor: MPSNDArrayDescriptor, aliasing: MPSAliasingStrategy):MPSNDArray | null;
        descriptor():MPSNDArrayDescriptor;
        exportData(cmdBuf: MTLCommandBuffer, buffer: MTLBuffer, destinationDataType: MPSDataType, offset: number, rowStrides: UnsafeMutablePointer<Int> | null):void;
        importData(cmdBuf: MTLCommandBuffer, images: MPSImage[], offset: MPSImageCoordinate):void;
        length(dimensionIndex: number):number;
        readBytes(buffer: UnsafeMutableRawPointer, strideBytesPerDimension: UnsafeMutablePointer<Int> | null):void;
        resourceSize():number;
        synchronize(commandBuffer: MTLCommandBuffer):void;
        writeBytes(buffer: UnsafeMutableRawPointer, strideBytesPerDimension: UnsafeMutablePointer<Int> | null):void;
    }
    export class MPSNDArrayBinaryKernel extends MPSNDArrayMultiaryKernel {
        primaryDilationRates: MPSNDArraySizes;
        primaryEdgeMode: MPSImageEdgeMode;
        primaryKernelSizes: MPSNDArraySizes;
        primaryOffsets: MPSNDArrayOffsets;
        primaryStrides: MPSNDArrayOffsets;
        secondaryDilationRates: MPSNDArraySizes;
        secondaryEdgeMode: MPSImageEdgeMode;
        secondaryKernelSizes: MPSNDArraySizes;
        secondaryOffsets: MPSNDArrayOffsets;
        secondaryStrides: MPSNDArrayOffsets;
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(cmdBuf: MTLCommandBuffer, primarySourceArray: MPSNDArray, secondarySourceArray: MPSNDArray):MPSNDArray;
    }
    export class MPSNDArrayBinaryPrimaryGradientKernel extends MPSNDArrayMultiaryGradientKernel {
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(cmdBuf: MTLCommandBuffer, primarySourceArray: MPSNDArray, secondarySourceArray: MPSNDArray, gradient: MPSNDArray, state: MPSState):MPSNDArray;
    }
    export class MPSNDArrayBinarySecondaryGradientKernel extends MPSNDArrayMultiaryGradientKernel {
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(cmdBuf: MTLCommandBuffer, primarySourceArray: MPSNDArray, secondarySourceArray: MPSNDArray, gradient: MPSNDArray, state: MPSState):MPSNDArray;
    }
    export class MPSNDArrayDescriptor extends NSObject {
        dataType: MPSDataType;
        numberOfDimensions: number;
        constructor (dataType: MPSDataType, numberOfDimensions: number, dimensionSizes: UnsafeMutablePointer<Int>);
        constructor (dataType: MPSDataType, shape: NSNumber[]);
        dimensionOrder():vector_uchar16;
        length(dimensionIndex: number):number;
        reshape(numberOfDimensions: number, dimensionSizes: UnsafeMutablePointer<Int>):void;
        sliceDimension(dimensionIndex: number, subRange: MPSDimensionSlice):void;
        sliceRange(dimensionIndex: number):MPSDimensionSlice;
        transposeDimension(dimensionIndex: number, dimensionIndex2: number):void;
    }
    export class MPSNDArrayGather extends MPSNDArrayBinaryKernel {
        axis: number;
    }
    export class MPSNDArrayGatherGradient extends MPSNDArrayBinaryPrimaryGradientKernel {}
    export class MPSNDArrayGatherGradientState extends MPSNDArrayGradientState {}
    export class MPSNDArrayGradientState extends MPSState {}
    export class MPSNDArrayMatrixMultiplication extends MPSNDArrayMultiaryKernel {
        alpha: number;
        beta: number;
    }
    export class MPSNDArrayMultiaryBase extends MPSKernel {
        destinationArrayAllocator: MPSNDArrayAllocator;
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, count: number);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        destinationArrayDescriptor(sources: MPSNDArray[], state: MPSState | null):MPSNDArrayDescriptor;
        dilationRates(sourceIndex: number):MPSNDArraySizes;
        edgeMode(sourceIndex: number):MPSImageEdgeMode;
        encode(coder: NSCoder):void;
        kernelSizes(sourceIndex: number):MPSNDArraySizes;
        offsets(sourceIndex: number):MPSNDArrayOffsets;
        resultState(sourceArrays: MPSNDArray[], sourceStates: MPSState[] | null, destinationArray: MPSNDArray):MPSState | null;
        strides(sourceIndex: number):MPSNDArrayOffsets;
    }
    export class MPSNDArrayMultiaryGradientKernel extends MPSNDArrayMultiaryBase {
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, count: number, sourceGradientIndex: number);
        encode(cmdBuf: MTLCommandBuffer, sources: MPSNDArray[], gradient: MPSNDArray, state: MPSState):MPSNDArray;
    }
    export class MPSNDArrayMultiaryKernel extends MPSNDArrayMultiaryBase {
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, count: number);
        encode(cmdBuf: MTLCommandBuffer, sourceArrays: MPSNDArray[]):MPSNDArray;
    }
    export class MPSNDArrayStridedSlice extends MPSNDArrayUnaryKernel {
        strides: MPSNDArrayOffsets;
    }
    export class MPSNDArrayStridedSliceGradient extends MPSNDArrayUnaryGradientKernel {}
    export class MPSNDArrayUnaryGradientKernel extends MPSNDArrayMultiaryGradientKernel {
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(cmdBuf: MTLCommandBuffer, sourceArray: MPSNDArray, gradient: MPSNDArray, state: MPSState):MPSNDArray;
    }
    export class MPSNDArrayUnaryKernel extends MPSNDArrayMultiaryKernel {
        dilationRates: MPSNDArraySizes;
        edgeMode: MPSImageEdgeMode;
        kernelSizes: MPSNDArraySizes;
        offsets: MPSNDArrayOffsets;
        strides: MPSNDArrayOffsets;
        constructor (coder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        encode(cmdBuf: MTLCommandBuffer, sourceArray: MPSNDArray):MPSNDArray;
    }
    export class MPSNNCompare extends MPSCNNArithmetic {
        comparisonType: MPSNNComparisonType;
        threshold: Float;
        constructor (device: MTLDevice);
    }
    export class MPSNNComparisonNode extends MPSNNBinaryArithmeticNode {
        comparisonType: MPSNNComparisonType;
    }
    export class MPSNNCropAndResizeBilinear extends MPSCNNKernel {
        numberOfRegions: number;
        regions: UnsafePointer<MPSRegion>;
        resizeHeight: number;
        resizeWidth: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, resizeWidth: number, resizeHeight: number, numberOfRegions: number, regions: UnsafePointer<MPSRegion>);
    }
    export class MPSNNForwardLoss extends MPSCNNKernel {
        delta: Float;
        epsilon: Float;
        labelSmoothing: Float;
        lossType: MPSCNNLossType;
        numberOfClasses: number;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        weight: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, lossDescriptor: MPSCNNLossDescriptor);
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[], labels: MPSImage[], weights: MPSImage[] | null, destinationStates: MPSState[] | null, destinationImages: MPSImage[]):void;
    }
    export class MPSNNForwardLossNode extends MPSNNFilterNode {
        delta: Float;
        epsilon: Float;
        labelSmoothing: Float;
        lossType: MPSCNNLossType;
        numberOfClasses: number;
        propertyCallBack: MPSNNLossCallback | null;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        weight: Float;
        constructor (source: MPSNNImageNode, labels: MPSNNImageNode, descriptor: MPSCNNLossDescriptor);
        constructor (source: MPSNNImageNode, labels: MPSNNImageNode, weights: MPSNNImageNode | null, descriptor: MPSCNNLossDescriptor);
        constructor (sourceNodes: MPSNNImageNode[], descriptor: MPSCNNLossDescriptor);
        gradientFilter(sourceGradient: MPSNNImageNode):MPSNNLossGradientNode;
        gradientFilters(sourceGradient: MPSNNImageNode):MPSNNLossGradientNode[];
    }
    export class MPSNNGramMatrixCalculation extends MPSCNNKernel {
        alpha: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, alpha: Float);
    }
    export class MPSNNGramMatrixCalculationGradient extends MPSCNNGradientKernel {
        alpha: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, alpha: Float);
    }
    export class MPSNNGramMatrixCalculationGradientNode extends MPSNNGradientFilterNode {
        alpha: Float;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, alpha: Float);
    }
    export class MPSNNGramMatrixCalculationNode extends MPSNNFilterNode {
        alpha: Float;
        propertyCallBack: MPSNNGramMatrixCallback | null;
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, alpha: Float);
    }
    export class MPSNNGridSample extends MPSCNNBinaryKernel {
        useGridValueAsInputCoordinate: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNInitialGradient extends MPSCNNKernel {
        constructor (device: MTLDevice);
    }
    export class MPSNNInitialGradientNode extends MPSNNFilterNode {
        constructor (source: MPSNNImageNode);
    }
    export class MPSNNLocalCorrelation extends MPSNNReduceBinary {
        strideInX: number;
        strideInY: number;
        windowInX: number;
        windowInY: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, windowInX: number, windowInY: number, strideInX: number, strideInY: number);
    }
    export class MPSNNLossGradient extends MPSCNNBinaryKernel {
        computeLabelGradients: boolean;
        delta: Float;
        epsilon: Float;
        labelSmoothing: Float;
        lossType: MPSCNNLossType;
        numberOfClasses: number;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        weight: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, lossDescriptor: MPSCNNLossDescriptor);
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceGradients: MPSImage[], sourceImages: MPSImage[], labels: MPSImage[], weights: MPSImage[] | null, sourceStates: MPSState[] | null):MPSImage[];
    }
    export class MPSNNLossGradientNode extends MPSNNGradientFilterNode {
        delta: Float;
        epsilon: Float;
        isLabelsGradientFilter: boolean;
        labelSmoothing: Float;
        lossType: MPSCNNLossType;
        numberOfClasses: number;
        propertyCallBack: MPSNNLossCallback | null;
        reduceAcrossBatch: boolean;
        reductionType: MPSCNNReductionType;
        weight: Float;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, labels: MPSNNImageNode, gradientState: MPSNNGradientStateNode | null, descriptor: MPSCNNLossDescriptor, isLabelsGradientFilter: boolean);
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, labels: MPSNNImageNode, weights: MPSNNImageNode | null, gradientState: MPSNNGradientStateNode | null, descriptor: MPSCNNLossDescriptor, isLabelsGradientFilter: boolean);
        constructor (sourceNodes: MPSNNImageNode[], gradientState: MPSNNGradientStateNode | null, descriptor: MPSCNNLossDescriptor, isLabelsGradientFilter: boolean);
    }
    export class MPSNNMultiaryGradientState extends MPSState {}
    export class MPSNNMultiaryGradientStateNode extends MPSNNStateNode {}
    export class MPSNNPad extends MPSCNNKernel {
        fillValue: Float;
        paddingSizeAfter: MPSImageCoordinate;
        paddingSizeBefore: MPSImageCoordinate;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        constructor (device: MTLDevice, paddingSizeBefore: MPSImageCoordinate, paddingSizeAfter: MPSImageCoordinate);
        constructor (device: MTLDevice, paddingSizeBefore: MPSImageCoordinate, paddingSizeAfter: MPSImageCoordinate, fillValueArray: Data | null);
    }
    export class MPSNNPadGradient extends MPSCNNGradientKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNPadGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSNNPadNode extends MPSNNFilterNode {
        fillValue: Float;
        constructor (source: MPSNNImageNode, paddingSizeBefore: MPSImageCoordinate, paddingSizeAfter: MPSImageCoordinate, edgeMode: MPSImageEdgeMode);
    }
    export class MPSNNReductionColumnMaxNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionColumnMeanNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionColumnMinNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionColumnSumNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionFeatureChannelsArgumentMaxNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionFeatureChannelsArgumentMinNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionFeatureChannelsMaxNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionFeatureChannelsMeanNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionFeatureChannelsMinNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionFeatureChannelsSumNode extends MPSNNUnaryReductionNode {
        weight: Float;
    }
    export class MPSNNReductionRowMaxNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionRowMeanNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionRowMinNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionRowSumNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReductionSpatialMeanGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSNNReductionSpatialMeanNode extends MPSNNUnaryReductionNode {}
    export class MPSNNReshapeGradient extends MPSCNNGradientKernel {
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
    }
    export class MPSNNReshapeGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSNNReshapeNode extends MPSNNFilterNode {
        constructor (source: MPSNNImageNode, resultWidth: number, resultHeight: number, resultFeatureChannels: number);
    }
    export class MPSNNResizeBilinear extends MPSCNNKernel {
        alignCorners: boolean;
        resizeHeight: number;
        resizeWidth: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, resizeWidth: number, resizeHeight: number, alignCorners: boolean);
    }
    export class MPSNNUnaryReductionNode extends MPSNNFilterNode {
        clipRectSource: MTLRegion;
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSPolygonAccelerationStructure extends MPSAccelerationStructure {
        indexBuffer: MTLBuffer | null;
        indexBufferOffset: number;
        indexType: MPSDataType;
        maskBuffer: MTLBuffer | null;
        maskBufferOffset: number;
        polygonBuffers: MPSPolygonBuffer[] | null;
        polygonCount: number;
        polygonType: MPSPolygonType;
        vertexBuffer: MTLBuffer | null;
        vertexBufferOffset: number;
        vertexStride: number;
    }
    export class MPSPolygonBuffer extends NSObject {
        indexBuffer: MTLBuffer | null;
        indexBufferOffset: number;
        maskBuffer: MTLBuffer | null;
        maskBufferOffset: number;
        polygonCount: number;
        vertexBuffer: MTLBuffer | null;
        vertexBufferOffset: number;
        constructor ();
        constructor (aDecoder: NSCoder);
        copy(zone: NSZone | null):Self;
    }
    export class MPSPredicate extends NSObject {
        predicateBuffer: MTLBuffer;
        predicateOffset: number;
        constructor (buffer: MTLBuffer, offset: number);
        constructor (device: MTLDevice);
    }
    export class MPSQuadrilateralAccelerationStructure extends MPSPolygonAccelerationStructure {
        quadrilateralCount: number;
    }
    export class MPSSVGF extends MPSKernel {
        bilateralFilterRadius: number;
        bilateralFilterSigma: Float;
        channelCount: number;
        channelCount2: number;
        depthWeight: Float;
        luminanceWeight: Float;
        minimumFramesForVarianceEstimation: number;
        normalWeight: Float;
        reprojectionThreshold: Float;
        temporalReprojectionBlendFactor: Float;
        temporalWeighting: MPSTemporalWeighting;
        varianceEstimationRadius: number;
        varianceEstimationSigma: Float;
        variancePrefilterRadius: number;
        variancePrefilterSigma: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(coder: NSCoder):void;
        encodeBilateralFilter(commandBuffer: MTLCommandBuffer, stepDistance: number, sourceTexture: MTLTexture, destinationTexture: MTLTexture, depthNormalTexture: MTLTexture):void;
        encodeReprojection(commandBuffer: MTLCommandBuffer, sourceTexture: MTLTexture, previousTexture: MTLTexture, destinationTexture: MTLTexture, previousLuminanceMomentsTexture: MTLTexture, destinationLuminanceMomentsTexture: MTLTexture, previousFrameCountTexture: MTLTexture, destinationFrameCountTexture: MTLTexture, motionVectorTexture: MTLTexture | null, depthNormalTexture: MTLTexture | null, previousDepthNormalTexture: MTLTexture | null):void;
        encodeVarianceEstimation(commandBuffer: MTLCommandBuffer, sourceTexture: MTLTexture, luminanceMomentsTexture: MTLTexture, destinationTexture: MTLTexture, frameCountTexture: MTLTexture, depthNormalTexture: MTLTexture | null):void;
    }
    export class MPSSVGFDefaultTextureAllocator extends NSObject {
        allocatedTextureCount: number;
        device: MTLDevice;
        constructor (device: MTLDevice);
        reset():void;
        return(texture: MTLTexture):void;
        texture(pixelFormat: MTLPixelFormat, width: number, height: number):MTLTexture | null;
    }
    export class MPSSVGFDenoiser extends NSObject {
        bilateralFilterIterations: number;
        svgf: MPSSVGF;
        textureAllocator: MPSSVGFTextureAllocator;
        constructor (svgf: MPSSVGF, textureAllocator: MPSSVGFTextureAllocator);
        constructor (device: MTLDevice);
        clearTemporalHistory():void;
        encode(commandBuffer: MTLCommandBuffer, sourceTexture: MTLTexture, destinationTexture: AutoreleasingUnsafeMutablePointer<MTLTexture>, sourceTexture2: MTLTexture | null, destinationTexture2: AutoreleasingUnsafeMutablePointer<MTLTexture> | null, motionVectorTexture: MTLTexture | null, depthNormalTexture: MTLTexture, previousDepthNormalTexture: MTLTexture | null):void;
        releaseTemporaryTextures():void;
    }
    export class MPSStateResourceList extends NSObject {
        constructor ();
        appendBuffer(size: number):void;
        appendTexture(descriptor: MTLTextureDescriptor):void;
    }
    export class MPSTemporalAA extends MPSKernel {
        blendFactor: Float;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice);
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(commandBuffer: MTLCommandBuffer, sourceTexture: MTLTexture, previousTexture: MTLTexture, destinationTexture: MTLTexture, motionVectorTexture: MTLTexture | null, depthTexture: MTLTexture | null):void;
    }
    export class MPSTemporaryNDArray extends MPSNDArray {
        readCount: number;
        constructor (commandBuffer: MTLCommandBuffer, descriptor: MPSNDArrayDescriptor);
        static defaultAllocator():MPSNDArrayAllocator;
    }
    export class MPSImageGaussianPyramid extends MPSImagePyramid {}
    export interface MPSCNNGroupNormalizationDataSource extends NSCopying,NSObjectProtocol {
         (aDecoder: NSCoder);
        numberOfFeatureChannels: number;
        numberOfGroups: number;
        static supportsSecureCoding: boolean;
        beta():UnsafeMutablePointer<Float> | null;
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(aCoder: NSCoder):void;
        epsilon():Float;
        gamma():UnsafeMutablePointer<Float> | null;
        label():string;
        updateGammaAndBeta(commandBuffer: MTLCommandBuffer, groupNormalizationStateBatch: MPSCNNGroupNormalizationGradientState[]):MPSCNNNormalizationGammaAndBetaState | null;
    }
    export interface MPSHeapProvider extends NSObjectProtocol {
        newHeap(descriptor: MTLHeapDescriptor):MTLHeap | null;
        retire(heap: MTLHeap, seconds: number):void;
    }
    export interface MPSNDArrayAllocator extends NSCopying,NSObjectProtocol,NSSecureCoding {
        array(cmdBuf: MTLCommandBuffer, descriptor: MPSNDArrayDescriptor, kernel: MPSKernel):MPSNDArray;
    }
    export interface MPSNNGramMatrixCallback extends NSCopying,NSObjectProtocol,NSSecureCoding {
        alpha(sourceImage: MPSImage, destinationImage: MPSImage):Float;
    }
    export interface MPSNNLossCallback extends NSCopying,NSObjectProtocol,NSSecureCoding {
        scalarWeight(sourceImage: MPSImage, destinationImage: MPSImage):Float;
    }
    export interface MPSSVGFTextureAllocator extends NSObjectProtocol {
        return(texture: MTLTexture):void;
        texture(pixelFormat: MTLPixelFormat, width: number, height: number):MTLTexture | null;
    }
    export class MPSAccelerationStructureUsage {
        /**
         * Option indicating that the acceleration structure will be rebuilt frequently.
         */
        static frequentRebuild: MPSAccelerationStructureUsage;
        static preferCPUBuild: MPSAccelerationStructureUsage;
        static preferGPUBuild: MPSAccelerationStructureUsage;
        /**
         * Option that enables support for refitting the acceleration structure after it has been built.
         */
        static refit: MPSAccelerationStructureUsage;
        constructor (rawValue: number);
    }
    export class MPSAliasingStrategy {
        static aliasingReserved: MPSAliasingStrategy;
        static default: MPSAliasingStrategy;
        static preferNonTemporaryMemory: MPSAliasingStrategy;
        static preferTemporaryMemory: MPSAliasingStrategy;
        static shallAlias: MPSAliasingStrategy;
        static shallNotAlias: MPSAliasingStrategy;
        constructor (rawValue: number);
    }
    export class MPSCNNBatchNormalizationFlags {
        static CalculateStatisticsAutomatic: MPSCNNBatchNormalizationFlags;
        static Default: MPSCNNBatchNormalizationFlags;
        static calculateStatisticsAlways: MPSCNNBatchNormalizationFlags;
        static calculateStatisticsMask: MPSCNNBatchNormalizationFlags;
        static calculateStatisticsNever: MPSCNNBatchNormalizationFlags;
        constructor (rawValue: number);
    }
    export class MPSCNNConvolutionGradientOption {
        static all: MPSCNNConvolutionGradientOption;
        static gradientWithData: MPSCNNConvolutionGradientOption;
        static gradientWithWeightsAndBias: MPSCNNConvolutionGradientOption;
        constructor (rawValue: number);
    }
    export class MPSCustomKernelArgumentCount {
        broadcastTextureCount: number;
        destinationTextureCount: number;
        sourceTextureCount: number;
        constructor ();
        constructor (destinationTextureCount: number, sourceTextureCount: number, broadcastTextureCount: number);
    }
    export class MPSCustomKernelIndex {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class MPSCustomKernelInfo {
        clipOrigin: vector_ushort4;
        clipSize: vector_ushort4;
        destImageArraySize: UInt16;
        destinationFeatureChannels: UInt16;
        idiv: MPSIntegerDivisionParams;
        sourceImageCount: UInt16;
        subbatchIndex: UInt16;
        subbatchStride: UInt16;
        threadgroupSize: UInt16;
        constructor ();
        constructor (clipOrigin: vector_ushort4, clipSize: vector_ushort4, destinationFeatureChannels: UInt16, destImageArraySize: UInt16, sourceImageCount: UInt16, threadgroupSize: UInt16, subbatchIndex: UInt16, subbatchStride: UInt16, idiv: MPSIntegerDivisionParams);
    }
    export class MPSCustomKernelSourceInfo {
        dilationRate: vector_ushort2;
        featureChannelOffset: UInt16;
        featureChannels: UInt16;
        imageArrayOffset: UInt16;
        imageArraySize: UInt16;
        kernelOrigin: vector_short2;
        kernelPhase: vector_ushort2;
        kernelSize: vector_ushort2;
        offset: vector_short2;
        stride: vector_ushort2;
        constructor ();
        constructor (kernelOrigin: vector_short2, kernelPhase: vector_ushort2, kernelSize: vector_ushort2, offset: vector_short2, stride: vector_ushort2, dilationRate: vector_ushort2, featureChannelOffset: UInt16, featureChannels: UInt16, imageArrayOffset: UInt16, imageArraySize: UInt16);
    }
    export class MPSDeviceCapsValues {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class MPSDeviceOptions {
        static Default: MPSDeviceOptions;
        static lowPower: MPSDeviceOptions;
        static skipRemovable: MPSDeviceOptions;
        constructor (rawValue: number);
    }
    export class MPSDimensionSlice {
        length: number;
        start: number;
        constructor ();
        constructor (start: number, length: number);
    }
    export class MPSImageSobel extends MPSUnaryImageKernel {
        /**
         * The color transform used to initialize the Sobel filter.
         */
        colorTransform: UnsafePointer<Float>;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a Sobel filter on a given device using the default color transform.
         */
        constructor (device: MTLDevice);
        /**
         * Initializes a Sobel filter on a given device using a specific color transform.
         */
        constructor (device: MTLDevice, transform: UnsafePointer<Float>);
    }
    export class MPSImageCoordinate {
        channel: number;
        x: number;
        y: number;
        constructor ();
        constructor (x: number, y: number, channel: number);
    }
    export class MPSImageRegion {
        offset: MPSImageCoordinate;
        size: MPSImageCoordinate;
        constructor ();
        constructor (offset: MPSImageCoordinate, size: MPSImageCoordinate);
    }
    export class MPSImageType {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class MPSIntegerDivisionParams {
        addend: UInt16;
        divisor: UInt16;
        recip: UInt16;
        shift: UInt16;
        constructor ();
        constructor (divisor: UInt16, recip: UInt16, addend: UInt16, shift: UInt16);
    }
    export class MPSIntersectionDistance {
        distance: Float;
        constructor ();
        constructor (distance: Float);
    }
    export class MPSIntersectionDistancePrimitiveIndex {
        distance: Float;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32);
    }
    export class MPSIntersectionDistancePrimitiveIndexBufferIndex {
        bufferIndex: UInt32;
        distance: Float;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, bufferIndex: UInt32);
    }
    export class MPSIntersectionDistancePrimitiveIndexBufferIndexCoordinates {
        bufferIndex: UInt32;
        coordinates: vector_float2;
        distance: Float;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, bufferIndex: UInt32, coordinates: vector_float2);
    }
    export class MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndex {
        bufferIndex: UInt32;
        distance: Float;
        instanceIndex: UInt32;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, bufferIndex: UInt32, instanceIndex: UInt32);
    }
    export class MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndexCoordinates {
        bufferIndex: UInt32;
        coordinates: vector_float2;
        distance: Float;
        instanceIndex: UInt32;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, bufferIndex: UInt32, instanceIndex: UInt32, coordinates: vector_float2);
    }
    export class MPSIntersectionDistancePrimitiveIndexCoordinates {
        coordinates: vector_float2;
        distance: Float;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, coordinates: vector_float2);
    }
    export class MPSIntersectionDistancePrimitiveIndexInstanceIndex {
        distance: Float;
        instanceIndex: UInt32;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, instanceIndex: UInt32);
    }
    export class MPSIntersectionDistancePrimitiveIndexInstanceIndexCoordinates {
        coordinates: vector_float2;
        distance: Float;
        instanceIndex: UInt32;
        primitiveIndex: UInt32;
        constructor ();
        constructor (distance: Float, primitiveIndex: UInt32, instanceIndex: UInt32, coordinates: vector_float2);
    }
    export class MPSMatrixCopyOffsets {
        destinationColumnOffset: UInt32;
        destinationRowOffset: UInt32;
        sourceColumnOffset: UInt32;
        sourceRowOffset: UInt32;
        constructor ();
        constructor (sourceRowOffset: UInt32, sourceColumnOffset: UInt32, destinationRowOffset: UInt32, destinationColumnOffset: UInt32);
    }
    export class MPSMatrixOffset {
        columnOffset: UInt32;
        rowOffset: UInt32;
        constructor ();
        constructor (rowOffset: UInt32, columnOffset: UInt32);
    }
    export class MPSMatrixRandomDistribution {
        static default: MPSMatrixRandomDistribution;
        static normal: MPSMatrixRandomDistribution;
        static uniform: MPSMatrixRandomDistribution;
        constructor (rawValue: number);
    }
    export class MPSNDArrayOffsets {
        dimensions: any;
        constructor ();
        constructor (dimensions: any);
    }
    export class MPSNDArraySizes {
        dimensions: any;
        constructor ();
        constructor (dimensions: any);
    }
    export class MPSNNComparisonType {
        static equal: MPSNNComparisonType;
        static greater: MPSNNComparisonType;
        static greaterOrEqual: MPSNNComparisonType;
        static less: MPSNNComparisonType;
        static lessOrEqual: MPSNNComparisonType;
        static notEqual: MPSNNComparisonType;
        constructor (rawValue: number);
    }
    export class MPSNNConvolutionAccumulatorPrecisionOption {
        static float: MPSNNConvolutionAccumulatorPrecisionOption;
        static half: MPSNNConvolutionAccumulatorPrecisionOption;
        constructor (rawValue: number);
    }
    export class MPSNNTrainingStyle {
        static UpdateDeviceNone: MPSNNTrainingStyle;
        static updateDeviceCPU: MPSNNTrainingStyle;
        static updateDeviceGPU: MPSNNTrainingStyle;
        constructor (rawValue: number);
    }
    export class MPSRayMaskOptions {
        static instance: MPSRayMaskOptions;
        static primitive: MPSRayMaskOptions;
        constructor (rawValue: number);
    }
    export class MPSRayOriginDirection {
        direction: vector_float3;
        origin: vector_float3;
        constructor ();
        constructor (origin: vector_float3, direction: vector_float3);
    }
    export class MPSRayOriginMaskDirectionMaxDistance {
        direction: MPSPackedFloat3;
        mask: UInt32;
        maxDistance: Float;
        origin: MPSPackedFloat3;
        constructor ();
        constructor (origin: MPSPackedFloat3, mask: UInt32, direction: MPSPackedFloat3, maxDistance: Float);
    }
    export class MPSRayOriginMinDistanceDirectionMaxDistance {
        direction: MPSPackedFloat3;
        maxDistance: Float;
        minDistance: Float;
        origin: MPSPackedFloat3;
        constructor ();
        constructor (origin: MPSPackedFloat3, minDistance: Float, direction: MPSPackedFloat3, maxDistance: Float);
    }
    export class MPSRayPackedOriginDirection {
        direction: MPSPackedFloat3;
        origin: MPSPackedFloat3;
        constructor ();
        constructor (origin: MPSPackedFloat3, direction: MPSPackedFloat3);
    }
    export class MPSStateTextureInfo {
        arrayLength: number;
        depth: number;
        height: number;
        pixelFormat: MTLPixelFormat;
        textureType: MTLTextureType;
        usage: MTLTextureUsage;
        width: number;
        constructor ();
        constructor (width: number, height: number, depth: number, arrayLength: number, pixelFormat: MTLPixelFormat, textureType: MTLTextureType, usage: MTLTextureUsage, _reserved: any);
    }
    export enum MPSAccelerationStructureStatus {
        built = 1,
        unbuilt = 0,
    }
    export enum MPSBoundingBoxIntersectionTestType {
        axisAligned = 1,
        default = 0,
        fast = 2,
    }
    export enum MPSCNNConvolutionWeightsLayout {
        OHWI = 0,
    }
    export enum MPSCNNLossType {
        categoricalCrossEntropy = 4,
        cosineDistance = 7,
        count = 10,
        hinge = 5,
        huber = 6,
        kullbackLeiblerDivergence = 9,
        log = 8,
        meanAbsoluteError = 0,
        meanSquaredError = 1,
        sigmoidCrossEntropy = 3,
        softMaxCrossEntropy = 2,
    }
    export enum MPSCNNReductionType {
        count = 4,
        mean = 2,
        none = 0,
        sum = 1,
        sumByNonZeroWeights = 3,
    }
    export enum MPSCNNWeightsQuantizationType {
        none = 0,
    }
    export enum MPSIntersectionDataType {
        distance = 0,
        distancePrimitiveIndex = 1,
        distancePrimitiveIndexBufferIndex = 5,
        distancePrimitiveIndexBufferIndexCoordinates = 6,
        distancePrimitiveIndexBufferIndexInstanceIndex = 7,
        distancePrimitiveIndexBufferIndexInstanceIndexCoordinates = 8,
        distancePrimitiveIndexCoordinates = 2,
        distancePrimitiveIndexInstanceIndex = 3,
        distancePrimitiveIndexInstanceIndexCoordinates = 4,
    }
    export enum MPSIntersectionType {
        any = 1,
        nearest = 0,
    }
    export enum MPSNNRegularizationType {
        L1 = 1,
        L2 = 2,
        None = 0,
    }
    export enum MPSPolygonType {
        quadrilateral = 1,
        triangle = 0,
    }
    export enum MPSRNNMatrixId {
        SingleGateInputWeights = 0,
        gruInputGateBiasTerms = 21,
        gruInputGateInputWeights = 19,
        gruInputGateRecurrentWeights = 20,
        gruOutputGateBiasTerms = 28,
        gruOutputGateInputGateWeights = 27,
        gruOutputGateInputWeights = 25,
        gruOutputGateRecurrentWeights = 26,
        gruRecurrentGateBiasTerms = 24,
        gruRecurrentGateInputWeights = 22,
        gruRecurrentGateRecurrentWeights = 23,
        lstmForgetGateBiasTerms = 10,
        lstmForgetGateInputWeights = 7,
        lstmForgetGateMemoryWeights = 9,
        lstmForgetGateRecurrentWeights = 8,
        lstmInputGateBiasTerms = 6,
        lstmInputGateInputWeights = 3,
        lstmInputGateMemoryWeights = 5,
        lstmInputGateRecurrentWeights = 4,
        lstmMemoryGateBiasTerms = 14,
        lstmMemoryGateInputWeights = 11,
        lstmMemoryGateMemoryWeights = 13,
        lstmMemoryGateRecurrentWeights = 12,
        lstmOutputGateBiasTerms = 18,
        lstmOutputGateInputWeights = 15,
        lstmOutputGateMemoryWeights = 17,
        lstmOutputGateRecurrentWeights = 16,
        singleGateBiasTerms = 2,
        singleGateRecurrentWeights = 1,
    }
    export enum MPSRayDataType {
        originDirection = 0,
        originMaskDirectionMaxDistance = 2,
        originMinDistanceDirectionMaxDistance = 1,
        packedOriginDirection = 3,
    }
    export enum MPSRayMaskOperator {
        and = 0,
        equal = 10,
        greaterThan = 8,
        greaterThanOrEqualTo = 9,
        lessThan = 6,
        lessThanOrEqualTo = 7,
        notAnd = 1,
        notEqual = 11,
        notOr = 3,
        notXor = 5,
        or = 2,
        xor = 4,
    }
    export enum MPSStateResourceType {
        buffer = 1,
        none = 0,
        texture = 2,
    }
    export enum MPSTemporalWeighting {
        average = 0,
        exponentialMovingAverage = 1,
    }
    export enum MPSTransformType {
        float4x4 = 0,
        identity = 1,
    }
    export enum MPSTriangleIntersectionTestType {
        default = 0,
        watertight = 1,
    }
    export class MPSImageLaplacian extends MPSUnaryImageKernel {
        /**
         * The value added to a convolved pixel before it is converted back to its intended storage format.
         */
        bias: Float;
    }
    export class MPSImageLaplacianPyramid extends MPSImagePyramid {
        laplacianBias: Float;
        laplacianScale: Float;
    }
    export class MPSImageLaplacianPyramidAdd extends MPSImageLaplacianPyramid {}
    export class MPSImageLaplacianPyramidSubtract extends MPSImageLaplacianPyramid {}
    export class MPSImagePyramid extends MPSUnaryImageKernel {
        /**
         * The width of the filter window. Must be an odd number.
         */
        kernelWidth: number;
        /**
         * The height of the filter window. Must be an odd number.
         */
        kernelHeight: number;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a downwards 5-tap image pyramid with the default filter kernel and device.
         */
        constructor (device: MTLDevice);
        /**
         * Initialize a downwards 5-tap image pyramid with a central weight parameter and device.
         */
        constructor (device: MTLDevice, centerWeight: Float);
        /**
         * Initialize a downwards n-tap image pyramid with a custom filter kernel and device.
         */
        constructor (device: MTLDevice, kernelWidth: number, kernelHeight: number, kernelWeights: UnsafePointer<Float>);
    }
    export class MPSTemporaryImage extends MPSImage {
        /**
         * The number of times a temporary image may be read by a CNN kernel before its contents become undefined.
         */
        readCount: number;
        /**
         * Initializes a temporary image for use on a command buffer.
         */
        constructor (commandBuffer: MTLCommandBuffer, imageDescriptor: MPSImageDescriptor);
        /**
         * Low-level interface for creating a temporary image using a texture descriptor.
         */
        constructor (commandBuffer: MTLCommandBuffer, textureDescriptor: MTLTextureDescriptor);
        constructor (commandBuffer: MTLCommandBuffer, textureDescriptor: MTLTextureDescriptor, featureChannels: number);
        /**
         * A method that helps the framework decide which allocations to make ahead of time.
         */
        static prefetchStorage(commandBuffer: MTLCommandBuffer, descriptorList: MPSImageDescriptor[]):void;
        static defaultAllocator():MPSImageAllocator;
    }
    export class MPSImageHistogram extends MPSKernel {
        /**
         * The source rectangle to use when reading data.
         */
        clipRectSource: MTLRegion;
        /**
         * Determines whether to zero-initialize the histogram results.
         */
        zeroHistogram: boolean;
        /**
         * A structure describing the histogram content.
         */
        histogramInfo: MPSImageHistogramInfo;
        minPixelThresholdValue: vector_float4;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a histogram with specific information.
         */
        constructor (device: MTLDevice, histogramInfo: UnsafePointer<MPSImageHistogramInfo>);
        /**
         * Encodes the filter to a command buffer using a compute command encoder.
         */
        encode(commandBuffer: MTLCommandBuffer, source: MTLTexture, histogram: MTLBuffer, histogramOffset: number):void;
        /**
         * The amount of space the histogram will take up in the output buffer.
         */
        histogramSize(sourceFormat: MTLPixelFormat):number;
    }
    export class MPSImageHistogramInfo {
        /**
         * Specifies whether the histogram for the alpha channel should be computed or not.
         */
        histogramForAlpha: ObjCBool;
        /**
         * Specifies the maximum pixel value.  Any pixel value greater than this will be clipped to this value (for the purposes of histogram calculation), and assigned to the first histogram entry. This maximum value is applied to each of the four channels separately.
         */
        maxPixelValue: vector_float4;
        /**
         * Specifies the minimum pixel value. Any pixel value less than this will be clipped to this value (for the purposes of histogram calculation), and assigned to the first histogram entry. This minimum value is applied to each of the four channels separately.
         */
        minPixelValue: vector_float4;
        /**
         * Specifies the number of histogram entries (
         * ) for each channel.
         */
        numberOfHistogramEntries: number;
        constructor ();
        constructor (numberOfHistogramEntries: number, histogramForAlpha: ObjCBool, minPixelValue: vector_float4, maxPixelValue: vector_float4);
    }
    export class MPSNNGraph extends MPSKernel {
        destinationImageAllocator: MPSImageAllocator;
        intermediateImageHandles: MPSHandle[] | null;
        outputStateIsTemporary: boolean;
        resultHandle: MPSHandle | null;
        resultStateHandles: MPSHandle[] | null;
        sourceImageHandles: MPSHandle[];
        sourceStateHandles: MPSHandle[] | null;
        format: MPSImageFeatureChannelFormat;
        resultImageIsNeeded: boolean;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        constructor (device: MTLDevice, resultImage: MPSNNImageNode);
        constructor (device: MTLDevice, resultImage: MPSNNImageNode, resultIsNeeded: boolean);
        constructor (device: MTLDevice, resultImages: MPSNNImageNode[], areResultsNeeded: UnsafeMutablePointer<ObjCBool> | null);
        encode(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[]):MPSImage | null;
        executeAsync(sourceImages: MPSImage[], handler: MPSNNGraphCompletionHandler):MPSImage;
        encodeBatch(commandBuffer: MTLCommandBuffer, sourceImages: MPSImage[][], sourceStates: MPSState[][] | null):MPSImage[] | null;
        readCountForSourceImage(index: number):number;
        readCountForSourceState(index: number):number;
        reloadFromDataSources():void;
    }
    export class MPSNNBinaryGradientState extends MPSState {}
    export class MPSNNGradientState extends MPSState {}
    export class MPSNNImageNode extends NSObject {
        exportFromGraph: boolean;
        format: MPSImageFeatureChannelFormat;
        handle: MPSHandle | null;
        imageAllocator: MPSImageAllocator;
        stopGradient: boolean;
        synchronizeResource: boolean;
        constructor (handle: MPSHandle | null);
        static exportedNode(handle: MPSHandle | null):Self;
    }
    export enum MPSImageFeatureChannelFormat {
        none = 0,
        unorm8 = 1,
        unorm16 = 2,
        float16 = 3,
        float32 = 4,
        count = 6,
    }
    export interface MPSHandle extends NSObjectProtocol,NSSecureCoding {
        label():string;
    }
    export class MPSNNAdditionNode extends MPSNNBinaryArithmeticNode {}
    export class MPSNNAdditionGradientNode extends MPSNNArithmeticGradientNode {}
    export class MPSNNSubtractionNode extends MPSNNBinaryArithmeticNode {}
    export class MPSNNSubtractionGradientNode extends MPSNNArithmeticGradientNode {}
    export class MPSNNMultiplicationNode extends MPSNNBinaryArithmeticNode {}
    export class MPSNNMultiplicationGradientNode extends MPSNNArithmeticGradientNode {}
    export class MPSNNDivisionNode extends MPSNNBinaryArithmeticNode {}
    export class MPSNNBinaryArithmeticNode extends MPSNNFilterNode {
        bias: Float;
        maximumValue: Float;
        minimumValue: Float;
        primaryScale: Float;
        primaryStrideInFeatureChannels: number;
        primaryStrideInPixelsX: number;
        primaryStrideInPixelsY: number;
        secondaryScale: Float;
        secondaryStrideInFeatureChannels: number;
        secondaryStrideInPixelsX: number;
        secondaryStrideInPixelsY: number;
        constructor (left: MPSNNImageNode, right: MPSNNImageNode);
        constructor (sourceNodes: MPSNNImageNode[]);
        gradientClass():AnyClass;
        gradientFilters(gradientImages: MPSNNImageNode[]):MPSNNGradientFilterNode[];
    }
    export class MPSNNArithmeticGradientNode extends MPSNNGradientFilterNode {
        bias: Float;
        isSecondarySourceFilter: boolean;
        maximumValue: Float;
        minimumValue: Float;
        primaryScale: Float;
        secondaryScale: Float;
        secondaryStrideInFeatureChannels: number;
        secondaryStrideInPixelsX: number;
        secondaryStrideInPixelsY: number;
        constructor (gradientImages: MPSNNImageNode[], filter: MPSNNFilterNode, isSecondarySourceFilter: boolean);
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNBinaryGradientStateNode, isSecondarySourceFilter: boolean);
    }
    export class MPSImageHistogramEqualization extends MPSUnaryImageKernel {
        /**
         * A structure describing the histogram content.
         */
        histogramInfo: MPSImageHistogramInfo;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a histogram with specific information.
         */
        constructor (device: MTLDevice, histogramInfo: UnsafePointer<MPSImageHistogramInfo>);
        /**
         * Encodes the transform function to a command buffer using a compute command encoder. The transform function computes the equalization lookup table.
         */
        encodeTransform(commandBuffer: MTLCommandBuffer, source: MTLTexture, histogram: MTLBuffer, histogramOffset: number):void;
    }
    export class MPSNNArithmeticGradientStateNode extends MPSNNBinaryGradientStateNode {}
    export class MPSCNNBinaryConvolutionNode extends MPSCNNConvolutionNode {
        constructor (sourceNode: MPSNNImageNode, weights: MPSCNNConvolutionDataSource, scaleValue: Float, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
        constructor (sourceNode: MPSNNImageNode, weights: MPSCNNConvolutionDataSource, outputBiasTerms: UnsafePointer<Float> | null, outputScaleTerms: UnsafePointer<Float> | null, inputBiasTerms: UnsafePointer<Float> | null, inputScaleTerms: UnsafePointer<Float> | null, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
    }
    export class MPSCNNConvolutionNode extends MPSNNFilterNode {
        accumulatorPrecision: MPSNNConvolutionAccumulatorPrecisionOption;
        convolutionGradientState: MPSCNNConvolutionGradientStateNode | null;
        trainingStyle: MPSNNTrainingStyle;
        constructor (sourceNode: MPSNNImageNode, weights: MPSCNNConvolutionDataSource);
    }
    export class MPSImageHistogramSpecification extends MPSUnaryImageKernel {
        /**
         * A structure describing the histogram content.
         */
        histogramInfo: MPSImageHistogramInfo;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes a histogram with specific information.
         */
        constructor (device: MTLDevice, histogramInfo: UnsafePointer<MPSImageHistogramInfo>);
        /**
         * Encodes the transform function to a command buffer using a compute command encoder. The transform function computes the equalization lookup table.
         */
        encodeTransform(commandBuffer: MTLCommandBuffer, source: MTLTexture, sourceHistogram: MTLBuffer, sourceHistogramOffset: number, desiredHistogram: MTLBuffer, desiredHistogramOffset: number):void;
    }
    export class MPSCNNConvolutionTransposeNode extends MPSCNNConvolutionNode {
        constructor (sourceNode: MPSNNImageNode, convolutionGradientState: MPSCNNConvolutionGradientStateNode | null, weights: MPSCNNConvolutionDataSource);
    }
    export class MPSCNNConvolutionGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSCNNConvolutionGradientStateNode, weights: MPSCNNConvolutionDataSource | null);
    }
    export class MPSCNNConvolutionGradientStateNode extends MPSNNGradientStateNode {}
    export class MPSCNNCrossChannelNormalizationGradientNode extends MPSNNGradientFilterNode {
        kernelSize: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, kernelSize: number);
    }
    export class MPSCNNPoolingAverageNode extends MPSCNNPoolingNode {}
    export class MPSCNNDilatedPoolingMaxNode extends MPSNNFilterNode {
        dilationRateX: number;
        dilationRateY: number;
        constructor (sourceNode: MPSNNImageNode, size: number);
        constructor (sourceNode: MPSNNImageNode, size: number, stride: number, dilationRate: number);
        constructor (sourceNode: MPSNNImageNode, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number, dilationRateX: number, dilationRateY: number);
    }
    export class MPSCNNPoolingL2NormNode extends MPSCNNPoolingNode {}
    export class MPSCNNPoolingMaxNode extends MPSCNNPoolingNode {}
    export class MPSCNNPoolingNode extends MPSNNFilterNode {
        kernelHeight: number;
        kernelWidth: number;
        strideInPixelsX: number;
        strideInPixelsY: number;
        constructor (sourceNode: MPSNNImageNode, size: number);
        constructor (sourceNode: MPSNNImageNode, size: number, stride: number);
        constructor (sourceNode: MPSNNImageNode, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number);
    }
    export class MPSCNNDilatedPoolingMaxGradientNode extends MPSCNNPoolingGradientNode {
        dilationRateX: number;
        dilationRateY: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number, dilationRateX: number, dilationRateY: number);
    }
    export class MPSImageThresholdBinary extends MPSUnaryImageKernel {
        /**
         * The threshold value used to initialize the threshold filter.
         */
        thresholdValue: Float;
        /**
         * The maximum value used to initialize the threshold filter.
         */
        maximumValue: Float;
        /**
         * The color transform used to initialize the threshold filter.
         */
        transform: UnsafePointer<Float>;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes the kernel.
         */
        constructor (device: MTLDevice, thresholdValue: Float, maximumValue: Float, transform: UnsafePointer<Float> | null);
    }
    export class MPSCNNPoolingAverageGradientNode extends MPSCNNPoolingGradientNode {}
    export class MPSCNNPoolingGradientNode extends MPSNNGradientFilterNode {
        kernelHeight: number;
        kernelWidth: number;
        strideInPixelsX: number;
        strideInPixelsY: number;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, kernelWidth: number, kernelHeight: number, strideInPixelsX: number, strideInPixelsY: number, paddingPolicy: MPSNNPadding | null);
    }
    export class MPSCNNPoolingL2NormGradientNode extends MPSCNNPoolingGradientNode {}
    export class MPSCNNPoolingMaxGradientNode extends MPSCNNPoolingGradientNode {}
    export class MPSCNNBinaryFullyConnectedNode extends MPSCNNBinaryConvolutionNode {
        constructor (sourceNode: MPSNNImageNode, weights: MPSCNNConvolutionDataSource, scaleValue: Float, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
        constructor (sourceNode: MPSNNImageNode, weights: MPSCNNConvolutionDataSource, outputBiasTerms: UnsafePointer<Float> | null, outputScaleTerms: UnsafePointer<Float> | null, inputBiasTerms: UnsafePointer<Float> | null, inputScaleTerms: UnsafePointer<Float> | null, type: MPSCNNBinaryConvolutionType, flags: MPSCNNBinaryConvolutionFlags);
    }
    export class MPSCNNFullyConnectedNode extends MPSCNNConvolutionNode {
        constructor (sourceNode: MPSNNImageNode, weights: MPSCNNConvolutionDataSource);
    }
    export class MPSCNNNeuronAbsoluteNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronELUNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, a: Float);
    }
    export class MPSCNNNeuronHardSigmoidNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float);
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronLinearNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float);
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronPReLUNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode, aData: Data);
    }
    export class MPSCNNNeuronReLUNNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float);
    }
    export class MPSCNNNeuronReLUNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, a: Float);
    }
    export class MPSCNNNeuronSigmoidNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronSoftPlusNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float);
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronSoftSignNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronTanHNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float);
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNNeuronExponentialNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float, c: Float);
    }
    export class MPSImageThresholdBinaryInverse extends MPSUnaryImageKernel {
        /**
         * The threshold value used to initialize the threshold filter.
         */
        thresholdValue: Float;
        /**
         * The maximum value used to initialize the threshold filter.
         */
        maximumValue: Float;
        /**
         * The color transform used to initialize the threshold filter.
         */
        transform: UnsafePointer<Float>;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes the kernel.
         */
        constructor (device: MTLDevice, thresholdValue: Float, maximumValue: Float, transform: UnsafePointer<Float> | null);
    }
    export class MPSCNNNeuronGradientNode extends MPSNNGradientFilterNode {
        descriptor: MPSNNNeuronDescriptor;
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode, descriptor: MPSNNNeuronDescriptor);
    }
    export class MPSCNNNeuronLogarithmNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float, c: Float);
    }
    export class MPSCNNNeuronPowerNode extends MPSCNNNeuronNode {
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, a: Float, b: Float, c: Float);
    }
    export class MPSCNNNeuronNode extends MPSNNFilterNode {
        a: Float;
        b: Float;
        c: Float;
        constructor (sourceNode: MPSNNImageNode, descriptor: MPSNNNeuronDescriptor);
    }
    export class MPSCNNSoftMaxNode extends MPSNNFilterNode {
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNLogSoftMaxNode extends MPSNNFilterNode {
        constructor (sourceNode: MPSNNImageNode);
    }
    export class MPSCNNLogSoftMaxGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSCNNSoftMaxGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSCNNCrossChannelNormalizationNode extends MPSCNNNormalizationNode {
        kernelSizeInFeatureChannels: number;
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, kernelSize: number);
    }
    export class MPSCNNLocalContrastNormalizationNode extends MPSCNNNormalizationNode {
        kernelHeight: number;
        kernelWidth: number;
        p0: Float;
        pm: Float;
        ps: Float;
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, kernelSize: number);
    }
    export class MPSCNNSpatialNormalizationNode extends MPSCNNNormalizationNode {
        kernelHeight: number;
        kernelWidth: number;
        constructor (sourceNode: MPSNNImageNode);
        constructor (sourceNode: MPSNNImageNode, kernelSize: number);
    }
    export class MPSCNNBatchNormalizationGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export class MPSImageThresholdToZero extends MPSUnaryImageKernel {
        /**
         * The threshold value used to initialize the threshold filter.
         */
        thresholdValue: Float;
        /**
         * The color transform used to initialize the threshold filter.
         */
        transform: UnsafePointer<Float>;
        constructor (aDecoder: NSCoder, device: MTLDevice);
        /**
         * Initializes the kernel.
         */
        constructor (device: MTLDevice, thresholdValue: Float, transform: UnsafePointer<Float> | null);
    }
    export class MPSCNNBatchNormalizationNode extends MPSNNFilterNode {
        flags: MPSCNNBatchNormalizationFlags;
        trainingStyle: MPSNNTrainingStyle;
        constructor (source: MPSNNImageNode, dataSource: MPSCNNBatchNormalizationDataSource);
    }
    export interface MPSCNNBatchNormalizationDataSource extends NSCopying,NSObjectProtocol {
         (aDecoder: NSCoder);
        static supportsSecureCoding: boolean;
        beta():UnsafeMutablePointer<Float> | null;
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(aCoder: NSCoder):void;
        epsilon():Float;
        gamma():UnsafeMutablePointer<Float> | null;
        label():string;
        load():boolean;
        mean():UnsafeMutablePointer<Float> | null;
        numberOfFeatureChannels():number;
        purge():void;
        updateGammaAndBeta(batchNormalizationState: MPSCNNBatchNormalizationState):boolean;
        updateMeanAndVariance(batchNormalizationState: MPSCNNBatchNormalizationState):boolean;
        variance():UnsafeMutablePointer<Float> | null;
    }
    export class MPSCNNInstanceNormalizationGradientNode extends MPSNNGradientFilterNode {
        constructor (sourceGradient: MPSNNImageNode, sourceImage: MPSNNImageNode, gradientState: MPSNNGradientStateNode);
    }
    export interface MPSCNNInstanceNormalizationDataSource extends NSCopying,NSObjectProtocol {
         (aDecoder: NSCoder);
        numberOfFeatureChannels: number;
        static supportsSecureCoding: boolean;
        beta():UnsafeMutablePointer<Float> | null;
        copy(zone: NSZone | null, device: MTLDevice | null):Self;
        encode(aCoder: NSCoder):void;
        epsilon():Float;
        gamma():UnsafeMutablePointer<Float> | null;
        label():string;
        load():boolean;
        purge():void;
        updateGammaAndBeta(commandBuffer: MTLCommandBuffer, instanceNormalizationStateBatch: MPSCNNInstanceNormalizationGradientState[]):MPSCNNNormalizationGammaAndBetaState | null;
    }
    export class MPSCNNInstanceNormalizationNode extends MPSNNFilterNode {
        trainingStyle: MPSNNTrainingStyle;
        constructor (source: MPSNNImageNode, dataSource: MPSCNNInstanceNormalizationDataSource);
    }
}

/**
 * Build, compile, and execute customized multidimensional compute graphs for linear algebra, machine learning, computer vision, and other similar domains.
 */
declare module MetalPerformanceShadersGraph {
    export class MPSGraph extends NSObject {
        options: MPSGraphOptions;
        placeholderTensors: MPSGraphTensor[];
        constructor ();
        static new():Self;
        GRUGradients(source: MPSGraphTensor, recurrentWeight: MPSGraphTensor, sourceGradient: MPSGraphTensor, zState: MPSGraphTensor, outputFwd: MPSGraphTensor, stateGradient: MPSGraphTensor | null, inputWeight: MPSGraphTensor | null, bias: MPSGraphTensor | null, initState: MPSGraphTensor | null, mask: MPSGraphTensor | null, secondaryBias: MPSGraphTensor | null, descriptor: MPSGraphGRUDescriptor, name: string):MPSGraphTensor[];
        encode(commandBuffer: MPSCommandBuffer, feeds: Record<MPSGraphTensor, MPSGraphTensorData>, targetOperations: MPSGraphOperation[] | null, resultsDictionary: Record<MPSGraphTensor, MPSGraphTensorData>, executionDescriptor: MPSGraphExecutionDescriptor | null):void;
        equal(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        erf(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        expandDims(tensor: MPSGraphTensor, axes: NSNumber[], name: string):MPSGraphTensor;
        exponent(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        exponentBase10(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        exponentBase2(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        HammingDistance(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, resultDataType: MPSDataType, name: string):MPSGraphTensor;
        flatten2D(tensor: MPSGraphTensor, axis: number, name: string):MPSGraphTensor;
        floor(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        floorModulo(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        for(lowerBound: MPSGraphTensor, upperBound: MPSGraphTensor, step: MPSGraphTensor, initialBodyArguments: MPSGraphTensor[], body: MPSGraphForLoopBodyBlock, name: string):MPSGraphTensor[];
        gather(updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, axis: number, batchDimensions: number, name: string):MPSGraphTensor;
        gatherAlongAxis(axis: number, updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        gatherAlongAxisTensor(axisTensor: MPSGraphTensor, updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        gatherND(updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, batchDimensions: number, name: string):MPSGraphTensor;
        L2NormPooling4D(source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor;
        gradients(primaryTensor: MPSGraphTensor, tensors: MPSGraphTensor[], name: string):Record<MPSGraphTensor, MPSGraphTensor>;
        greaterThan(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        greaterThanOrEqualTo(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        identity(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        if(predicateTensor: MPSGraphTensor, thenBlock: MPSGraphIfThenElseBlock, elseBlock: MPSGraphIfThenElseBlock | null, name: string):MPSGraphTensor[];
        inverse(inputTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        isFinite(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        isInfinite(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        isNaN(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        leakyReLU(tensor: MPSGraphTensor, alpha: number, name: string):MPSGraphTensor;
        L2NormPooling4DGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor;
        leakyReLUGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, alphaTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        lessThan(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        lessThanOrEqualTo(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logarithm(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logarithmBase10(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logarithmBase2(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logicalAND(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logicalNAND(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logicalNOR(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        LSTM(source: MPSGraphTensor, recurrentWeight: MPSGraphTensor, initState: MPSGraphTensor | null, initCell: MPSGraphTensor | null, descriptor: MPSGraphLSTMDescriptor, name: string):MPSGraphTensor[];
        logicalOR(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logicalXNOR(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        logicalXOR(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        matrixMultiplication(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        maxPooling2D(source: MPSGraphTensor, descriptor: MPSGraphPooling2DOpDescriptor, name: string):MPSGraphTensor;
        maxPooling2DGradient(gradient: MPSGraphTensor, indices: MPSGraphTensor, outputShape: NSNumber[], descriptor: MPSGraphPooling2DOpDescriptor, name: string):MPSGraphTensor;
        maxPooling2DReturnIndices(source: MPSGraphTensor, descriptor: MPSGraphPooling2DOpDescriptor, name: string):MPSGraphTensor[];
        maxPooling4D(source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor;
        maxPooling4DGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor;
        maxPooling4DReturnIndices(source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor[];
        maximum(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        maximumWithNaNPropagation(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        mean(tensor: MPSGraphTensor, axes: NSNumber[], name: string):MPSGraphTensor;
        minimum(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        minimumWithNaNPropagation(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        modulo(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        multiplication(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        negative(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        normalizationBetaGradient(incomingGradientTensor: MPSGraphTensor, sourceTensor: MPSGraphTensor, axes: NSNumber[], name: string):MPSGraphTensor;
        normalizationGammaGradient(incomingGradientTensor: MPSGraphTensor, sourceTensor: MPSGraphTensor, meanTensor: MPSGraphTensor, varianceTensor: MPSGraphTensor, axes: NSNumber[], epsilon: Float, name: string):MPSGraphTensor;
        normalizationGradient(incomingGradientTensor: MPSGraphTensor, sourceTensor: MPSGraphTensor, meanTensor: MPSGraphTensor, varianceTensor: MPSGraphTensor, gamma: MPSGraphTensor | null, gammaGradient: MPSGraphTensor | null, betaGradient: MPSGraphTensor | null, axes: NSNumber[], epsilon: Float, name: string):MPSGraphTensor;
        normalize(tensor: MPSGraphTensor, mean: MPSGraphTensor, variance: MPSGraphTensor, gamma: MPSGraphTensor | null, beta: MPSGraphTensor | null, epsilon: Float, name: string):MPSGraphTensor;
        not(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        notEqual(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        oneHot(indicesTensor: MPSGraphTensor, depth: number, axis: number, dataType: MPSDataType, name: string):MPSGraphTensor;
        LSTMGradients(source: MPSGraphTensor, recurrentWeight: MPSGraphTensor, sourceGradient: MPSGraphTensor, zState: MPSGraphTensor, cellOutputFwd: MPSGraphTensor, descriptor: MPSGraphLSTMDescriptor, name: string):MPSGraphTensor[];
        padGradient(incomingGradientTensor: MPSGraphTensor, sourceTensor: MPSGraphTensor, paddingMode: MPSGraphPaddingMode, leftPadding: NSNumber[], rightPadding: NSNumber[], name: string):MPSGraphTensor;
        padTensor(tensor: MPSGraphTensor, paddingMode: MPSGraphPaddingMode, leftPadding: NSNumber[], rightPadding: NSNumber[], constantValue: number, name: string):MPSGraphTensor;
        placeholder(shape: NSNumber[] | null, dataType: MPSDataType, name: string):MPSGraphTensor;
        power(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        randomPhiloxStateTensor(counterLow: number, counterHigh: number, key: number, name: string):MPSGraphTensor;
        randomTensor(shape: NSNumber[], descriptor: MPSGraphRandomOpDescriptor, name: string):MPSGraphTensor;
        randomUniformTensor(shape: NSNumber[], name: string):MPSGraphTensor;
        reLU(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        reLUGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, name: string):MPSGraphTensor;
        read(variable: MPSGraphTensor, name: string):MPSGraphTensor;
        reciprocal(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        reductionAnd(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reductionArgMaximum(tensor: MPSGraphTensor, axis: number, name: string):MPSGraphTensor;
        reductionArgMinimum(tensor: MPSGraphTensor, axis: number, name: string):MPSGraphTensor;
        reductionMaximum(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reductionMaximumPropagateNaN(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reductionMinimum(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reductionMinimumPropagateNaN(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reductionOr(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        absolute(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        reductionProduct(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reductionSum(tensor: MPSGraphTensor, axes: NSNumber[] | null, name: string):MPSGraphTensor;
        reshape(tensor: MPSGraphTensor, shape: NSNumber[], name: string):MPSGraphTensor;
        resize(imagesTensor: MPSGraphTensor, size: NSNumber[], mode: MPSGraphResizeMode, centerResult: boolean, alignCorners: boolean, layout: MPSGraphTensorNamedDataLayout, name: string):MPSGraphTensor;
        acos(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        resizeBilinear(imagesTensor: MPSGraphTensor, size: MPSGraphTensor, centerResult: boolean, alignCorners: boolean, layout: MPSGraphTensorNamedDataLayout, name: string):MPSGraphTensor;
        resizeNearest(imagesTensor: MPSGraphTensor, size: MPSGraphTensor, nearestRoundingMode: MPSGraphResizeNearestRoundingMode, centerResult: boolean, alignCorners: boolean, layout: MPSGraphTensorNamedDataLayout, name: string):MPSGraphTensor;
        acosh(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        reverse(tensor: MPSGraphTensor, axes: NSNumber[], name: string):MPSGraphTensor;
        reverseSquareRoot(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        rint(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        round(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        run(feeds: Record<MPSGraphTensor, MPSGraphTensorData>, targetTensors: MPSGraphTensor[], targetOperations: MPSGraphOperation[] | null):Record<MPSGraphTensor, MPSGraphTensorData>;
        runAsync(feeds: Record<MPSGraphTensor, MPSGraphTensorData>, targetTensors: MPSGraphTensor[], targetOperations: MPSGraphOperation[] | null, executionDescriptor: MPSGraphExecutionDescriptor | null):Record<MPSGraphTensor, MPSGraphTensorData>;
        adam(currentLearningRateTensor: MPSGraphTensor, beta1Tensor: MPSGraphTensor, beta2Tensor: MPSGraphTensor, epsilonTensor: MPSGraphTensor, valuesTensor: MPSGraphTensor, momentumTensor: MPSGraphTensor, velocityTensor: MPSGraphTensor, maximumVelocityTensor: MPSGraphTensor | null, gradientTensor: MPSGraphTensor, name: string):MPSGraphTensor[];
        scatter(updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, shape: NSNumber[], axis: number, mode: MPSGraphScatterMode, name: string):MPSGraphTensor;
        scatterAlongAxis(axis: number, dataTensor: MPSGraphTensor, updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, mode: MPSGraphScatterMode, name: string):MPSGraphTensor;
        scatterAlongAxisTensor(axisTensor: MPSGraphTensor, dataTensor: MPSGraphTensor, updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, mode: MPSGraphScatterMode, name: string):MPSGraphTensor;
        scatterND(updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, shape: NSNumber[], batchDimensions: number, mode: MPSGraphScatterMode, name: string):MPSGraphTensor;
        scatterNDWithData(dataTensor: MPSGraphTensor, updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, batchDimensions: number, mode: MPSGraphScatterMode, name: string):MPSGraphTensor;
        scatterWithData(dataTensor: MPSGraphTensor, updatesTensor: MPSGraphTensor, indicesTensor: MPSGraphTensor, axis: number, mode: MPSGraphScatterMode, name: string):MPSGraphTensor;
        select(predicateTensor: MPSGraphTensor, truePredicateTensor: MPSGraphTensor, falseSelectTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        shapeOf(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        sigmoid(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        sigmoidGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, name: string):MPSGraphTensor;
        sign(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        signbit(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        sin(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        singleGateRNN(source: MPSGraphTensor, recurrentWeight: MPSGraphTensor, initState: MPSGraphTensor | null, descriptor: MPSGraphSingleGateRNNDescriptor, name: string):MPSGraphTensor[];
        addition(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        singleGateRNNGradients(source: MPSGraphTensor, recurrentWeight: MPSGraphTensor, sourceGradient: MPSGraphTensor, zState: MPSGraphTensor, initState: MPSGraphTensor | null, descriptor: MPSGraphSingleGateRNNDescriptor, name: string):MPSGraphTensor[];
        sinh(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        sliceGradientTensor(inputGradientTensor: MPSGraphTensor, fwdInShapeTensor: MPSGraphTensor, starts: NSNumber[], ends: NSNumber[], strides: NSNumber[], name: string):MPSGraphTensor;
        sliceTensor(tensor: MPSGraphTensor, dimensionIndex: number, start: number, length: number, name: string):MPSGraphTensor;
        applyStochasticGradientDescent(learningRateTensor: MPSGraphTensor, variable: MPSGraphVariableOp, gradientTensor: MPSGraphTensor, name: string):MPSGraphOperation;
        softMax(tensor: MPSGraphTensor, axis: number, name: string):MPSGraphTensor;
        softMaxCrossEntropy(sourceTensor: MPSGraphTensor, labelsTensor: MPSGraphTensor, axis: number, reductionType: MPSGraphLossReductionType, name: string):MPSGraphTensor;
        softMaxCrossEntropyGradient(gradientTensor: MPSGraphTensor, sourceTensor: MPSGraphTensor, labelsTensor: MPSGraphTensor, axis: number, reductionType: MPSGraphLossReductionType, name: string):MPSGraphTensor;
        softMaxGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, axis: number, name: string):MPSGraphTensor;
        sort(tensor: MPSGraphTensor, axis: number, descending: boolean, name: string):MPSGraphTensor;
        space(tensor: MPSGraphTensor, widthAxis: number, heightAxis: number, depthAxis: number, blockSize: number, usePixelShuffleOrder: boolean, name: string):MPSGraphTensor;
        asin(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        spaceToBatch(tensor: MPSGraphTensor, spatialAxes: NSNumber[], batchAxis: number, blockDimensions: NSNumber[], usePixelShuffleOrder: boolean, name: string):MPSGraphTensor;
        sparseTensor(sparseDescriptor: MPSGraphCreateSparseOpDescriptor, inputTensorArray: MPSGraphTensor[], shape: NSNumber[], name: string):MPSGraphTensor;
        split(tensor: MPSGraphTensor, numSplits: number, axis: number, name: string):MPSGraphTensor[];
        square(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        squareRoot(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        asinh(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        squeeze(tensor: MPSGraphTensor, axes: NSNumber[], name: string):MPSGraphTensor;
        stack(inputTensors: MPSGraphTensor[], axis: number, name: string):MPSGraphTensor;
        stencil(source: MPSGraphTensor, weights: MPSGraphTensor, descriptor: MPSGraphStencilOpDescriptor, name: string):MPSGraphTensor;
        stochasticGradientDescent(learningRateTensor: MPSGraphTensor, valuesTensor: MPSGraphTensor, gradientTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        subtraction(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        tan(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        tanh(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        assign(variable: MPSGraphTensor, tensor: MPSGraphTensor, name: string):MPSGraphOperation;
        tileGradient(incomingGradientTensor: MPSGraphTensor, sourceTensor: MPSGraphTensor, multiplier: NSNumber[], name: string):MPSGraphTensor;
        tileTensor(tensor: MPSGraphTensor, multiplier: NSNumber[], name: string):MPSGraphTensor;
        topK(source: MPSGraphTensor, k: number, name: string):MPSGraphTensor[];
        topKGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, k: number, name: string):MPSGraphTensor;
        transpose(tensor: MPSGraphTensor, permutation: NSNumber[], name: string):MPSGraphTensor;
        transposeTensor(tensor: MPSGraphTensor, dimensionIndex: number, dimensionIndex2: number, name: string):MPSGraphTensor;
        truncate(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        variable(data: Data, shape: NSNumber[], dataType: MPSDataType, name: string):MPSGraphTensor;
        atan(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        variance(tensor: MPSGraphTensor, axes: NSNumber[], name: string):MPSGraphTensor;
        while(initialInputs: MPSGraphTensor[], before: MPSGraphWhileBeforeBlock, after: MPSGraphWhileAfterBlock, name: string):MPSGraphTensor[];
        atan2(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        atanh(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        avgPooling2D(source: MPSGraphTensor, descriptor: MPSGraphPooling2DOpDescriptor, name: string):MPSGraphTensor;
        avgPooling2DGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, descriptor: MPSGraphPooling2DOpDescriptor, name: string):MPSGraphTensor;
        avgPooling4D(source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor;
        avgPooling4DGradient(gradient: MPSGraphTensor, source: MPSGraphTensor, descriptor: MPSGraphPooling4DOpDescriptor, name: string):MPSGraphTensor;
        bandPart(inputTensor: MPSGraphTensor, numLower: number, numUpper: number, name: string):MPSGraphTensor;
        batchToSpace(tensor: MPSGraphTensor, spatialAxes: NSNumber[], batchAxis: number, blockDimensions: NSNumber[], usePixelShuffleOrder: boolean, name: string):MPSGraphTensor;
        broadcast(tensor: MPSGraphTensor, shape: NSNumber[], name: string):MPSGraphTensor;
        cast(tensor: MPSGraphTensor, type: MPSDataType, name: string):MPSGraphTensor;
        ceil(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        clamp(tensor: MPSGraphTensor, minValueTensor: MPSGraphTensor, maxValueTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        compile(device: MPSGraphDevice | null, feeds: Record<MPSGraphTensor, MPSGraphShapedType>, targetTensors: MPSGraphTensor[], targetOperations: MPSGraphOperation[] | null, compilationDescriptor: MPSGraphCompilationDescriptor | null):MPSGraphExecutable;
        concatTensor(tensor: MPSGraphTensor, tensor2: MPSGraphTensor, dimensionIndex: number, name: string):MPSGraphTensor;
        concatTensors(tensors: MPSGraphTensor[], dimensionIndex: number, interleave: boolean, name: string):MPSGraphTensor;
        GRU(source: MPSGraphTensor, recurrentWeight: MPSGraphTensor, inputWeight: MPSGraphTensor | null, bias: MPSGraphTensor | null, descriptor: MPSGraphGRUDescriptor, name: string):MPSGraphTensor[];
        constant(scalar: number, dataType: MPSDataType):MPSGraphTensor;
        controlDependency(operations: MPSGraphOperation[], dependentBlock: MPSGraphControlFlowDependencyBlock, name: string):MPSGraphTensor[];
        convolution2D(source: MPSGraphTensor, weights: MPSGraphTensor, descriptor: MPSGraphConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        convolution2DDataGradient(incomingGradient: MPSGraphTensor, weights: MPSGraphTensor, outputShape: NSNumber[], forwardConvolutionDescriptor: MPSGraphConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        convolution2DWeightsGradient(incomingGradient: MPSGraphTensor, source: MPSGraphTensor, outputShape: NSNumber[], forwardConvolutionDescriptor: MPSGraphConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        convolutionTranspose2D(source: MPSGraphTensor, weights: MPSGraphTensor, outputShape: NSNumber[], descriptor: MPSGraphConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        convolutionTranspose2DDataGradient(incomingGradient: MPSGraphTensor, weights: MPSGraphTensor, outputShape: NSNumber[], forwardConvolutionDescriptor: MPSGraphConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        convolutionTranspose2DWeightsGradient(incomingGradientTensor: MPSGraphTensor, source: MPSGraphTensor, outputShape: NSNumber[], forwardConvolutionDescriptor: MPSGraphConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        coordinate(axis: number, shape: NSNumber[], name: string):MPSGraphTensor;
        cos(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        cosh(tensor: MPSGraphTensor, name: string):MPSGraphTensor;
        cumulativeMaximum(tensor: MPSGraphTensor, axis: number, exclusive: boolean, reverse: boolean, name: string):MPSGraphTensor;
        cumulativeMinimum(tensor: MPSGraphTensor, axis: number, exclusive: boolean, reverse: boolean, name: string):MPSGraphTensor;
        cumulativeProduct(tensor: MPSGraphTensor, axis: number, exclusive: boolean, reverse: boolean, name: string):MPSGraphTensor;
        cumulativeSum(tensor: MPSGraphTensor, axis: number, exclusive: boolean, reverse: boolean, name: string):MPSGraphTensor;
        depth(tensor: MPSGraphTensor, widthAxis: number, heightAxis: number, depthAxis: number, blockSize: number, usePixelShuffleOrder: boolean, name: string):MPSGraphTensor;
        depthwiseConvolution2D(source: MPSGraphTensor, weights: MPSGraphTensor, descriptor: MPSGraphDepthwiseConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        depthwiseConvolution2DDataGradient(incomingGradient: MPSGraphTensor, weights: MPSGraphTensor, outputShape: NSNumber[], descriptor: MPSGraphDepthwiseConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        depthwiseConvolution2DWeightsGradient(incomingGradient: MPSGraphTensor, source: MPSGraphTensor, outputShape: NSNumber[], descriptor: MPSGraphDepthwiseConvolution2DOpDescriptor, name: string):MPSGraphTensor;
        depthwiseConvolution3D(source: MPSGraphTensor, weights: MPSGraphTensor, descriptor: MPSGraphDepthwiseConvolution3DOpDescriptor, name: string):MPSGraphTensor;
        depthwiseConvolution3DDataGradient(incomingGradient: MPSGraphTensor, weights: MPSGraphTensor, outputShape: NSNumber[] | null, descriptor: MPSGraphDepthwiseConvolution3DOpDescriptor, name: string):MPSGraphTensor;
        depthwiseConvolution3DWeightsGradient(incomingGradient: MPSGraphTensor, source: MPSGraphTensor, outputShape: NSNumber[], descriptor: MPSGraphDepthwiseConvolution3DOpDescriptor, name: string):MPSGraphTensor;
        division(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        divisionNoNaN(primaryTensor: MPSGraphTensor, secondaryTensor: MPSGraphTensor, name: string):MPSGraphTensor;
        dropout(tensor: MPSGraphTensor, rate: number, name: string):MPSGraphTensor;
    }
    export class MPSGraphCompilationDescriptor extends NSObject {
        compilationCompletionHandler: MPSGraphCompilationCompletionHandler;
        dispatchQueue: DispatchQueue;
        optimizationLevel: MPSGraphOptimization;
        optimizationProfile: MPSGraphOptimizationProfile;
        waitForCompilationCompletion: boolean;
        disableTypeInference():void;
    }
    export class MPSGraphConvolution2DOpDescriptor extends NSObject {
        dataLayout: MPSGraphTensorNamedDataLayout;
        dilationRateInX: number;
        dilationRateInY: number;
        groups: number;
        paddingBottom: number;
        paddingLeft: number;
        paddingRight: number;
        paddingStyle: MPSGraphPaddingStyle;
        paddingTop: number;
        strideInX: number;
        strideInY: number;
        weightsLayout: MPSGraphTensorNamedDataLayout;
        constructor (strideInX: number, strideInY: number, dilationRateInX: number, dilationRateInY: number, groups: number, paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number, paddingStyle: MPSGraphPaddingStyle, dataLayout: MPSGraphTensorNamedDataLayout, weightsLayout: MPSGraphTensorNamedDataLayout);
        constructor (strideInX: number, strideInY: number, dilationRateInX: number, dilationRateInY: number, groups: number, paddingStyle: MPSGraphPaddingStyle, dataLayout: MPSGraphTensorNamedDataLayout, weightsLayout: MPSGraphTensorNamedDataLayout);
        setExplicitPaddingWithPaddingLeft(paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number):void;
    }
    export class MPSGraphCreateSparseOpDescriptor extends NSObject {
        dataType: MPSDataType;
        sparseStorageType: MPSGraphSparseStorageType;
        static sparseDescriptor(sparseStorageType: MPSGraphSparseStorageType, dataType: MPSDataType):Self | null;
    }
    export class MPSGraphDepthwiseConvolution2DOpDescriptor extends NSObject {
        dataLayout: MPSGraphTensorNamedDataLayout;
        dilationRateInX: number;
        dilationRateInY: number;
        paddingBottom: number;
        paddingLeft: number;
        paddingRight: number;
        paddingStyle: MPSGraphPaddingStyle;
        paddingTop: number;
        strideInX: number;
        strideInY: number;
        weightsLayout: MPSGraphTensorNamedDataLayout;
        constructor (dataLayout: MPSGraphTensorNamedDataLayout, weightsLayout: MPSGraphTensorNamedDataLayout);
        constructor (strideInX: number, strideInY: number, dilationRateInX: number, dilationRateInY: number, paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number, paddingStyle: MPSGraphPaddingStyle, dataLayout: MPSGraphTensorNamedDataLayout, weightsLayout: MPSGraphTensorNamedDataLayout);
        setExplicitPaddingWithPaddingLeft(paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number):void;
    }
    export class MPSGraphDepthwiseConvolution3DOpDescriptor extends NSObject {
        channelDimensionIndex: number;
        dilationRates: NSNumber[];
        paddingStyle: MPSGraphPaddingStyle;
        paddingValues: NSNumber[];
        strides: NSNumber[];
        constructor (paddingStyle: MPSGraphPaddingStyle);
        constructor (strides: NSNumber[], dilationRates: NSNumber[], paddingValues: NSNumber[], paddingStyle: MPSGraphPaddingStyle);
    }
    export class MPSGraphDevice extends NSObject {
        metalDevice: MTLDevice | null;
        type: MPSGraphDeviceType;
        constructor (metalDevice: MTLDevice);
    }
    export class MPSGraphExecutable extends NSObject {
        feedTensors: MPSGraphTensor[] | null;
        options: MPSGraphOptions;
        targetTensors: MPSGraphTensor[] | null;
        encode(commandBuffer: MPSCommandBuffer, inputsArray: MPSGraphTensorData[], resultsArray: MPSGraphTensorData[] | null, executionDescriptor: MPSGraphExecutableExecutionDescriptor | null):MPSGraphTensorData[];
        run(commandQueue: MTLCommandQueue, inputsArray: MPSGraphTensorData[], resultsArray: MPSGraphTensorData[] | null, executionDescriptor: MPSGraphExecutableExecutionDescriptor | null):MPSGraphTensorData[];
        runAsync(commandQueue: MTLCommandQueue, inputsArray: MPSGraphTensorData[], resultsArray: MPSGraphTensorData[] | null, executionDescriptor: MPSGraphExecutableExecutionDescriptor | null):MPSGraphTensorData[];
        specialize(device: MPSGraphDevice | null, inputTypes: MPSGraphType[], compilationDescriptor: MPSGraphCompilationDescriptor | null):void;
    }
    export class MPSGraphExecutableExecutionDescriptor extends NSObject {
        completionHandler: MPSGraphExecutableCompletionHandler;
        scheduledHandler: MPSGraphExecutableScheduledHandler;
        waitUntilCompleted: boolean;
        signal(event: MTLSharedEvent, executionStage: MPSGraphExecutionStage, value: UInt64):void;
        wait(event: MTLSharedEvent, value: UInt64):void;
    }
    export class MPSGraphExecutionDescriptor extends NSObject {
        compilationDescriptor: MPSGraphCompilationDescriptor | null;
        completionHandler: MPSGraphCompletionHandler;
        scheduledHandler: MPSGraphScheduledHandler;
        waitUntilCompleted: boolean;
        signal(event: MTLSharedEvent, executionStage: MPSGraphExecutionStage, value: UInt64):void;
        wait(event: MTLSharedEvent, value: UInt64):void;
    }
    export class MPSGraphGRUDescriptor extends NSObject {
        bidirectional: boolean;
        flipZ: boolean;
        outputGateActivation: MPSGraphRNNActivation;
        resetAfter: boolean;
        resetGateActivation: MPSGraphRNNActivation;
        resetGateFirst: boolean;
        reverse: boolean;
        training: boolean;
        updateGateActivation: MPSGraphRNNActivation;
    }
    export class MPSGraphLSTMDescriptor extends NSObject {
        activation: MPSGraphRNNActivation;
        bidirectional: boolean;
        cellGateActivation: MPSGraphRNNActivation;
        forgetGateActivation: MPSGraphRNNActivation;
        forgetGateLast: boolean;
        inputGateActivation: MPSGraphRNNActivation;
        outputGateActivation: MPSGraphRNNActivation;
        produceCell: boolean;
        reverse: boolean;
        training: boolean;
    }
    export class MPSGraphOperation extends NSObject {
        controlDependencies: MPSGraphOperation[];
        graph: MPSGraph;
        inputTensors: MPSGraphTensor[];
        name: string;
        outputTensors: MPSGraphTensor[];
    }
    export class MPSGraphPooling2DOpDescriptor extends NSObject {
        ceilMode: boolean;
        dataLayout: MPSGraphTensorNamedDataLayout;
        dilationRateInX: number;
        dilationRateInY: number;
        includeZeroPadToAverage: boolean;
        kernelHeight: number;
        kernelWidth: number;
        paddingBottom: number;
        paddingLeft: number;
        paddingRight: number;
        paddingStyle: MPSGraphPaddingStyle;
        paddingTop: number;
        returnIndicesDataType: MPSDataType;
        returnIndicesMode: MPSGraphPoolingReturnIndicesMode;
        strideInX: number;
        strideInY: number;
        constructor (kernelWidth: number, kernelHeight: number, strideInX: number, strideInY: number, dilationRateInX: number, dilationRateInY: number, paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number, paddingStyle: MPSGraphPaddingStyle, dataLayout: MPSGraphTensorNamedDataLayout);
        constructor (kernelWidth: number, kernelHeight: number, strideInX: number, strideInY: number, paddingStyle: MPSGraphPaddingStyle, dataLayout: MPSGraphTensorNamedDataLayout);
        setExplicitPaddingWithPaddingLeft(paddingLeft: number, paddingRight: number, paddingTop: number, paddingBottom: number):void;
    }
    export class MPSGraphPooling4DOpDescriptor extends NSObject {
        ceilMode: boolean;
        dilationRates: NSNumber[];
        includeZeroPadToAverage: boolean;
        kernelSizes: NSNumber[];
        paddingStyle: MPSGraphPaddingStyle;
        paddingValues: NSNumber[];
        returnIndicesDataType: MPSDataType;
        returnIndicesMode: MPSGraphPoolingReturnIndicesMode;
        strides: NSNumber[];
        constructor (kernelSizes: NSNumber[], paddingStyle: MPSGraphPaddingStyle);
        constructor (kernelSizes: NSNumber[], strides: NSNumber[], dilationRates: NSNumber[], paddingValues: NSNumber[], paddingStyle: MPSGraphPaddingStyle);
    }
    export class MPSGraphRandomOpDescriptor extends NSObject {
        dataType: MPSDataType;
        distribution: MPSGraphRandomDistribution;
        max: Float;
        maxInteger: number;
        mean: Float;
        min: Float;
        minInteger: number;
        samplingMethod: MPSGraphRandomNormalSamplingMethod;
        standardDeviation: Float;
        constructor (distribution: MPSGraphRandomDistribution, dataType: MPSDataType);
    }
    export class MPSGraphShapedType extends MPSGraphType {
        dataType: MPSDataType;
        shape: NSNumber[] | null;
        constructor (shape: NSNumber[] | null, dataType: MPSDataType);
        isEqual(object: MPSGraphShapedType | null):boolean;
    }
    export class MPSGraphSingleGateRNNDescriptor extends NSObject {
        activation: MPSGraphRNNActivation;
        bidirectional: boolean;
        reverse: boolean;
        training: boolean;
    }
    export class MPSGraphStencilOpDescriptor extends NSObject {
        boundaryMode: MPSGraphPaddingMode;
        dilationRates: NSNumber[];
        explicitPadding: NSNumber[];
        offsets: NSNumber[];
        paddingConstant: Float;
        paddingStyle: MPSGraphPaddingStyle;
        reductionMode: MPSGraphReductionMode;
        strides: NSNumber[];
        constructor (explicitPadding: NSNumber[]);
        constructor (offsets: NSNumber[], explicitPadding: NSNumber[]);
        constructor (paddingStyle: MPSGraphPaddingStyle);
        constructor (reductionMode: MPSGraphReductionMode, offsets: NSNumber[], strides: NSNumber[], dilationRates: NSNumber[], explicitPadding: NSNumber[], boundaryMode: MPSGraphPaddingMode, paddingStyle: MPSGraphPaddingStyle, paddingConstant: Float);
    }
    export class MPSGraphTensor extends NSObject {
        dataType: MPSDataType;
        operation: MPSGraphOperation;
        shape: NSNumber[] | null;
    }
    export class MPSGraphTensorData extends NSObject {
        dataType: MPSDataType;
        device: MPSGraphDevice;
        shape: NSNumber[];
        constructor (imageBatch: MPSImage[]);
        constructor (matrix: MPSMatrix, rank: number);
        constructor (buffer: MTLBuffer, shape: NSNumber[], dataType: MPSDataType);
        constructor (buffer: MTLBuffer, shape: NSNumber[], dataType: MPSDataType, rowBytes: number);
        constructor (device: MPSGraphDevice, data: Data, shape: NSNumber[], dataType: MPSDataType);
        mpsndarray():MPSNDArray;
    }
    export class MPSGraphType extends NSObject {}
    export class MPSGraphVariableOp extends MPSGraphOperation {
        dataType: MPSDataType;
        shape: NSNumber[];
    }
    export enum MPSGraphDeviceType {
        metal = 0,
    }
    export enum MPSGraphExecutionStage {
        completed = 0,
    }
    export enum MPSGraphLossReductionType {
        mean = 2,
        none = 0,
        sum = 1,
    }
    export enum MPSGraphOptimization {
        level0 = 0,
        level1 = 1,
    }
    export enum MPSGraphOptimizationProfile {
        performance = 0,
        powerEfficiency = 1,
    }
    export enum MPSGraphOptions {
        none = 0,
        synchronizeResults = 1,
        verbose = 2,
    }
    export enum MPSGraphPaddingMode {
        antiPeriodic = 6,
        clampToEdge = 3,
        constant = 0,
        periodic = 5,
        reflect = 1,
        symmetric = 2,
        zero = 4,
    }
    export enum MPSGraphPaddingStyle {
        ONNX_SAME_LOWER = 4,
        TF_SAME = 2,
        TF_VALID = 1,
        explicit = 0,
        explicitOffset = 3,
    }
    export enum MPSGraphPoolingReturnIndicesMode {
        globalFlatten1D = 1,
        globalFlatten2D = 2,
        globalFlatten3D = 3,
        globalFlatten4D = 4,
        localFlatten1D = 5,
        localFlatten2D = 6,
        localFlatten3D = 7,
        localFlatten4D = 8,
        none = 0,
    }
    export enum MPSGraphRNNActivation {
        hardSigmoid = 4,
        none = 0,
        relu = 1,
        sigmoid = 3,
        tanh = 2,
    }
    export enum MPSGraphRandomDistribution {
        normal = 1,
        truncatedNormal = 2,
        uniform = 0,
    }
    export enum MPSGraphRandomNormalSamplingMethod {
        boxMuller = 1,
        invCDF = 0,
    }
    export enum MPSGraphReductionMode {
        argumentMax = 5,
        argumentMin = 4,
        max = 1,
        min = 0,
        product = 3,
        sum = 2,
    }
    export enum MPSGraphResizeMode {
        bilinear = 1,
        nearest = 0,
    }
    export enum MPSGraphResizeNearestRoundingMode {
        ceil = 2,
        floor = 3,
        roundPreferCeil = 0,
        roundPreferFloor = 1,
    }
    export enum MPSGraphScatterMode {
        add = 0,
        div = 3,
        max = 5,
        min = 4,
        mul = 2,
        set = 6,
        sub = 1,
    }
    export enum MPSGraphSparseStorageType {
        COO = 0,
        CSC = 1,
        CSR = 2,
    }
    export enum MPSGraphTensorNamedDataLayout {
        CHW = 4,
        HW = 6,
        HWC = 5,
        HWIO = 3,
        NCHW = 0,
        NHWC = 1,
        OIHW = 2,
    }
}

/**
 * Aggregate and analyze per-device reports on exception and crash diagnostics and on power and performance metrics.
 */
declare module MetricKit {
    export class MXMetricManager extends NSObject {
        /**
         * An object that returns the shared metrics manager instance.
         */
        static shared: MXMetricManager;
        /**
         * Returns an array of the daily metrics reports generated since the last allocation of the shared manager instance.
         */
        pastPayloads: MXMetricPayload[];
        /**
         * Returns an array of the diagnostic reports generated since the last allocation of the shared manager instance.
         */
        pastDiagnosticPayloads: MXDiagnosticPayload[];
        /**
         * Returns a log handle used for writing custom metric events.
         */
        static makeLogHandle(category: string):OSLog;
        /**
         * Starts to measure an extended launch task with the given task identifier.
         */
        static extendLaunchMeasurement(taskID: MXLaunchTaskID):void;
        /**
         * Signals the end of an extended launch task.
         */
        static finishExtendedLaunchMeasurement(taskID: MXLaunchTaskID):void;
        /**
         * Registers to receive a daily report of app metrics from the metrics manager.
         */
        add(subscriber: MXMetricManagerSubscriber):void;
        /**
         * Unsubscribes from daily reports of app metrics.
         */
        remove(subscriber: MXMetricManagerSubscriber):void;
    }
    export class MXLaunchTaskID {
        /**
         * Creates a task identifer from a string.
         */
        constructor (rawValue: string);
        /**
         * Creates a task identifer from a string.
         */
        constructor (rawValue: string);
    }
    export class MXBackgroundExitData extends NSObject {
        /**
         * The number of times the system terminated the app from the background for exceeding the allocated time for a background task.
         */
        cumulativeBackgroundTaskAssertionTimeoutExitCount: number;
    }
    export class MXAppRunTimeMetric extends MXMetric {
        /**
         * The total time the app is in the foreground.
         */
        cumulativeForegroundTime: Measurement<UnitDuration>;
        /**
         * The total time the app is active in the background.
         */
        cumulativeBackgroundTime: Measurement<UnitDuration>;
        /**
         * The total time the app is in the background and playing audio.
         */
        cumulativeBackgroundAudioTime: Measurement<UnitDuration>;
        /**
         * The total time the app is in the background and using location services.
         */
        cumulativeBackgroundLocationTime: Measurement<UnitDuration>;
    }
    export class MXMemoryMetric extends MXMetric {
        /**
         * The average amount of memory in use by the app when it's suspended.
         */
        averageSuspendedMemory: MXAverage<UnitInformationStorage>;
        /**
         * The largest amount of memory used by the app.
         */
        peakMemoryUsage: Measurement<UnitInformationStorage>;
    }
    export class MXCrashDiagnostic extends MXDiagnostic {
        /**
         * The Mach exception type of the crash.
         */
        exceptionType: NSNumber | null;
        /**
         * The encoded processor-specific information for the crash. 
         */
        exceptionCode: NSNumber | null;
        /**
         * The signal associated with the crash.
         */
        signal: NSNumber | null;
        /**
         * The reason the app was terminated as a human-readable string.
         */
        terminationReason: string;
        /**
         * Information about the region of memory an app accessed incorrectly, resulting in a bad-access crash.
         */
        virtualMemoryRegionInfo: string;
        /**
         * The call stack for the crash.
         */
        callStackTree: MXCallStackTree;
    }
    export class MXAnimationMetric extends MXMetric {
        /**
         * The ratio of the time spent hitching while scrolling.
         */
        scrollHitchTimeRatio: Measurement<Unit>;
    }
    export class MXAppLaunchMetric extends MXMetric {
        /**
         * A histogram of the different amounts of time associated with prewarmed app launches.
         */
        histogrammedOptimizedTimeToFirstDraw: MXHistogram<UnitDuration>;
        /**
         * A histogram of the different amounts of time taken to launch the app.
         */
        histogrammedTimeToFirstDraw: MXHistogram<UnitDuration>;
        /**
         * A histogram of the different amounts of time taken to resume the app from the background.
         */
        histogrammedApplicationResumeTime: MXHistogram<UnitDuration>;
        /**
         * A histogram of the different amounts of time taken to launch the app, including the extended launch tasks.
         */
        histogrammedExtendedLaunch: MXHistogram<UnitDuration>;
    }
    export class MXAppResponsivenessMetric extends MXMetric {
        /**
         * A histogram of the different durations of time in which the app is too busy to handle user interaction responsively.
         */
        histogrammedApplicationHangTime: MXHistogram<UnitDuration>;
    }
    export class MXHangDiagnostic extends MXDiagnostic {
        /**
         * The amount of time the app is busy and unable to respond to user interaction.
         */
        hangDuration: Measurement<UnitDuration>;
        /**
         * The call stack for the app hang report.
         */
        callStackTree: MXCallStackTree;
    }
    export class MXDiskIOMetric extends MXMetric {
        /**
         * The total amount of data written to disk or other long term storage.
         */
        cumulativeLogicalWrites: Measurement<UnitInformationStorage>;
    }
    export class MXMetricPayload extends NSObject {
        /**
         * The cellular condition measurements for the reporting period.
         */
        cellularConditionMetrics: MXCellularConditionMetric | null;
        /**
         * The CPU metrics for the reporting period.
         */
        cpuMetrics: MXCPUMetric | null;
        /**
         * The display metrics for the reporting period.
         */
        displayMetrics: MXDisplayMetric | null;
        /**
         * The GPU metrics for the reporting period.
         */
        gpuMetrics: MXGPUMetric | null;
        /**
         * The location-tracking activity for the reporting period.
         */
        locationActivityMetrics: MXLocationActivityMetric | null;
        /**
         * The network-transfer activity for the reporting period.
         */
        networkTransferMetrics: MXNetworkTransferMetric | null;
        /**
         * The app foreground and background exit metrics for the reporting period.
         */
        applicationExitMetrics: MXAppExitMetric | null;
        /**
         * The app foreground and background time metrics for the reporting period.
         */
        applicationTimeMetrics: MXAppRunTimeMetric | null;
        /**
         * The memory metrics for the reporting period.
         */
        memoryMetrics: MXMemoryMetric | null;
        /**
         * The app launch and resume metrics for the reporting period.
         */
        applicationLaunchMetrics: MXAppLaunchMetric | null;
        /**
         * The metrics for the responsiveness of app animations for the reporting period.
         */
        animationMetrics: MXAnimationMetric | null;
        /**
         * The metrics indicating an app's responsiveness to user interaction for the reporting period.
         */
        applicationResponsivenessMetrics: MXAppResponsivenessMetric | null;
        /**
         * The storage metrics for the reporting period.
         */
        diskIOMetrics: MXDiskIOMetric | null;
        /**
         * An array of the custom metrics for the reporting period.
         */
        signpostMetrics: MXSignpostMetric[] | null;
        /**
         * The starting time of the reporting period.
         */
        timeStampBegin: Date;
        /**
         * The ending time of the reporting period.
         */
        timeStampEnd: Date;
        /**
         * A Boolean indicating if the version of the app changed at least once during the reporting period.
         */
        includesMultipleApplicationVersions: boolean;
        /**
         * The version of the app on the device at the end of the reporting period.
         */
        latestApplicationVersion: string;
        /**
         * A set of system-level information for the device.
         */
        metaData: MXMetaData | null;
        /**
         * Returns the contents of the payload in JSON format.
         */
        jsonRepresentation():Data;
        /**
         * Returns the results of the payload as a dictionary.
         */
        dictionaryRepresentation():Record<AnyHashable, any>;
    }
    export class MXDiskWriteExceptionDiagnostic extends MXDiagnostic {
        /**
         * The total amount of data written to disk or other long-term storage during the disk write exception.
         */
        totalWritesCaused: Measurement<UnitInformationStorage>;
        /**
         * The call stack for the disk write exception.
         */
        callStackTree: MXCallStackTree;
    }
    export class MXSignpostMetric extends MXMetric {
        /**
         * The data captured for a custom metric.
         */
        signpostIntervalData: MXSignpostIntervalData | null;
        /**
         * The developer-specified name of the custom metric represented by the object.
         */
        signpostName: string;
        /**
         * The developer-specified category of the custom metric represented by the object.
         */
        signpostCategory: string;
        /**
         * The total number of occurrences of the captured custom metric.
         */
        totalCount: number;
    }
    export class MXSignpostIntervalData extends NSObject {
        /**
         * A histogram of the different time intervals of a custom metric event.
         */
        histogrammedSignpostDuration: MXHistogram<UnitDuration>;
        /**
         * The average memory used during the logged intervals.
         */
        averageMemory: MXAverage<UnitInformationStorage> | null;
        /**
         * The total amount of CPU time used during the logged intervals.
         */
        cumulativeCPUTime: Measurement<UnitDuration> | null;
        /**
         * The total amount of data written to disk or other long term storage during the logged intervals.
         */
        cumulativeLogicalWrites: Measurement<UnitInformationStorage> | null;
        /**
         * The ratio of the total time spent hitching to the total time spent animating during the logged intervals.
         */
        cumulativeHitchTimeRatio: Measurement<Unit> | null;
    }
    export class MXCallStackTree extends NSObject {
        /**
         * Returns the contents of the stack tree in JSON format.
         */
        jsonRepresentation():Data;
    }
    export class MXMetaData extends NSObject {
        /**
         * The value of the bundle version key in the app's property list.
         */
        applicationBuildVersion: string;
        /**
         * The hardware identifier for the device.
         */
        deviceType: string;
        /**
         * The version of the OS on the device including the type of OS, version number, and build number.
         */
        osVersion: string;
        /**
         * The short country code for the region format setting of the device.
         */
        regionFormat: string;
        /**
         * The name of the processor architecture for the device.
         */
        platformArchitecture: string;
        /**
         * Returns the contents of the metadata in JSON format.
         */
        jsonRepresentation():Data;
        /**
         * Returns the contents of the metadata as a dictionary.
         */
        dictionaryRepresentation():Record<AnyHashable, any>;
    }
    export class MXDiagnostic extends NSObject {
        /**
         * The value of the bundle version key in the app’s property list.
         */
        applicationVersion: string;
        /**
         * A set of system-level information for the device.
         */
        metaData: MXMetaData;
        /**
         * Returns the contents of the diagnostic in JSON format.
         */
        jsonRepresentation():Data;
        /**
         * Returns the contents of a diagnostic as a dictionary.
         */
        dictionaryRepresentation():Record<AnyHashable, any>;
    }
    export class MXMetric extends NSObject {
        /**
         * Returns the contents of the metric in JSON format.
         */
        jsonRepresentation():Data;
        dictionaryRepresentation():Record<AnyHashable, any>;
    }
    export class MXError {
        /**
         * Error domain for error values from app metrics.
         */
        static errorDomain: string;
        /**
         * A task with the same ID has already been started.
         */
        static launchTaskDuplicated: MXError.Code;
        /**
         * Internal failures happened inside the framework.
         */
        static launchTaskInternalFailure: MXError.Code;
        /**
         * The task ID is a 
         *  value or exceeds the maximum 128 character length.
         */
        static launchTaskInvalidID: MXError.Code;
        /**
         * Exceeded the maximum number of tasks.
         */
        static launchTaskMaxCount: MXError.Code;
        /**
         * The start call was made too late.
         */
        static launchTaskPastDeadline: MXError.Code;
        /**
         * The task hasn’t been started or has already been finished.
         */
        static launchTaskUnknown: MXError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The error code.
         */
        errorCode: number;
        /**
         * The user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A string containing the localized recovery suggestion for the error.
         */
        localizedDescription: string;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MXError
     */
    export namespace MXError {
        export enum Code {
            launchTaskDuplicated = 3,
            launchTaskInternalFailure = 5,
            launchTaskInvalidID = 0,
            launchTaskMaxCount = 1,
            launchTaskPastDeadline = 2,
            launchTaskUnknown = 4,
        }
    }
    export class MXDiagnosticPayload extends NSObject {
        /**
         * The diagnostic reports for app crashes during the reporting period.
         */
        crashDiagnostics: MXCrashDiagnostic[] | null;
        /**
         * The diagnostic reports for fatal and nonfatal CPU exceptions for the app during the reporting period.
         */
        cpuExceptionDiagnostics: MXCPUExceptionDiagnostic[] | null;
        /**
         * The diagnostic reports for the app launch time.
         */
        appLaunchDiagnostics: MXAppLaunchDiagnostic[] | null;
        /**
         * The diagnostic reports for times when the app was too busy to handle input responsively during the reporting period.
         */
        hangDiagnostics: MXHangDiagnostic[] | null;
        /**
         * The diagnostic reports for disk write exceptions for the app during the reporting period.
         */
        diskWriteExceptionDiagnostics: MXDiskWriteExceptionDiagnostic[] | null;
        /**
         * The starting time of the reporting period.
         */
        timeStampBegin: Date;
        /**
         * The ending time of the reporting period.
         */
        timeStampEnd: Date;
        /**
         * Returns the contents of the payload in JSON format.
         */
        jsonRepresentation():Data;
        /**
         * Returns the results of the payload as a dictionary.
         */
        dictionaryRepresentation():Record<AnyHashable, any>;
    }
    export interface MXMetricManagerSubscriber extends NSObjectProtocol {
        /**
         * Delivers new metrics reports to the object registered with the metrics manager.
         */
        didReceive(payloads: MXMetricPayload[]):void;
    }
    export class MXCellularConditionMetric extends MXMetric {
        /**
         * An object representing the distribution of the different levels of connectivity to the cellular network.
         */
        histogrammedCellularConditionTime: MXHistogram<MXUnitSignalBars>;
    }
    export class MXUnitSignalBars extends Dimension {
        /**
         * The number of bars of connectivity to the cellular network.
         */
        static bars: MXUnitSignalBars;
    }
    export class MXCPUMetric extends MXMetric {
        /**
         * The total amount of CPU the app used.
         */
        cumulativeCPUTime: Measurement<UnitDuration>;
        /**
         * The total number of CPU instructions the app executed during the reporting period.
         */
        cumulativeCPUInstructions: Measurement<Unit>;
    }
    export class MXDisplayMetric extends MXMetric {
        /**
         * The average amount of luminosity of the pixels on an OLED display.
         */
        averagePixelLuminance: MXAverage<MXUnitAveragePixelLuminance> | null;
    }
    export class MXUnitAveragePixelLuminance extends Dimension {
        /**
         * The average number of powered pixels on a OLED display.
         */
        static apl: MXUnitAveragePixelLuminance;
    }
    export class MXGPUMetric extends MXMetric {
        /**
         * The total amount of GPU time used by the app.
         */
        cumulativeGPUTime: Measurement<UnitDuration>;
    }
    export class MXLocationActivityMetric extends MXMetric {
        /**
         * The total time spent tracking the current location at the best accuracy for navigation.
         */
        cumulativeBestAccuracyForNavigationTime: Measurement<UnitDuration>;
        /**
         * The total time spent tracking the current location at the best accuracy.
         */
        cumulativeBestAccuracyTime: Measurement<UnitDuration>;
        /**
         * The total time spent tracking the current location to an accuracy of 10 meters.
         */
        cumulativeNearestTenMetersAccuracyTime: Measurement<UnitDuration>;
        /**
         * The total time spent tracking the current location to an accuracy of 100 meters.
         */
        cumulativeHundredMetersAccuracyTime: Measurement<UnitDuration>;
        /**
         * The total time spent tracking the current location to an accuracy of 1 kilometer.
         */
        cumulativeKilometerAccuracyTime: Measurement<UnitDuration>;
        /**
         * The total time spent tracking the current location to an accuracy of 3 kilometers.
         */
        cumulativeThreeKilometersAccuracyTime: Measurement<UnitDuration>;
    }
    export class MXNetworkTransferMetric extends MXMetric {
        /**
         * The total amount of data downloaded over the cellular connection.
         */
        cumulativeCellularDownload: Measurement<UnitInformationStorage>;
        /**
         * The total amount of data uploaded over the cellular connection.
         */
        cumulativeCellularUpload: Measurement<UnitInformationStorage>;
        /**
         * The total amount of data downloaded over the WiFi connection.
         */
        cumulativeWifiDownload: Measurement<UnitInformationStorage>;
        /**
         * The total amount of data uploaded over the WiFi connection.
         */
        cumulativeWifiUpload: Measurement<UnitInformationStorage>;
    }
    export class MXCPUExceptionDiagnostic extends MXDiagnostic {
        /**
         * The app call stack associated with the CPU exception.
         */
        callStackTree: MXCallStackTree;
        /**
         * The total CPU time used during the exception.
         */
        totalCPUTime: Measurement<UnitDuration>;
        /**
         * The total time the app was sampled during the exception.
         */
        totalSampledTime: Measurement<UnitDuration>;
    }
    export class MXAppLaunchDiagnostic extends MXDiagnostic {
        /**
         * The call stack tree associated with the app launch.
         */
        callStackTree: MXCallStackTree;
        /**
         * The total app launch duration.
         */
        launchDuration: Measurement<UnitDuration>;
    }
    export class MXAppExitMetric extends MXMetric {
        /**
         * The metrics for the foreground app exits.
         */
        foregroundExitData: MXForegroundExitData;
        /**
         * The metrics for the background app exits.
         */
        backgroundExitData: MXBackgroundExitData;
    }
    export class MXForegroundExitData extends NSObject {
        /**
         * The number of times the app exited normally from the foreground.
         */
        cumulativeNormalAppExitCount: number;
        /**
         * The number of times the app exited abnormally from the foreground.
         */
        cumulativeAbnormalExitCount: number;
        /**
         * The number of times the system watchdog terminated the app from the foreground.
         */
        cumulativeAppWatchdogExitCount: number;
        /**
         * The number of times the system terminated the app from the foreground for using too much memory.
         */
        cumulativeMemoryResourceLimitExitCount: number;
        /**
         * The number of times the system terminated the app from the foreground for attempting an invalid memory access.
         */
        cumulativeBadAccessExitCount: number;
        /**
         * The number of times the system terminated the app from the foreground for attempting to execute an illegal or undefined instruction.
         */
        cumulativeIllegalInstructionExitCount: number;
    }
}

/**
 * Accelerate training and validation of neural networks across the CPU and one or more GPUs.
 */
declare module MLCompute {
    export class MLCTensor extends NSObject {
        /**
         * A number that uniquely identifies the tensor, which the framework assigns when it creates a tensor.
         */
        tensorID: number;
        /**
         * The configuration object you use to create a tensor.
         */
        descriptor: MLCTensorDescriptor;
        /**
         * The tensor data.
         */
        data: Data | null;
        /**
         * A string that identifes this tensor.
         */
        label: string;
        /**
         * The device associated with this tensor.
         */
        device: MLCDevice | null;
        /**
         * An array that contains optimizer buffers you specify when you create a tensor parameter.
         */
        optimizerData: MLCTensorData[];
        /**
         * An array that contains the device optimizer buffers you specify.
         */
        optimizerDeviceData: MLCTensorOptimizerDeviceData[];
        /**
         * A Boolean that indicates whether a tensor contains NaN or INF values.
         */
        hasValidNumerics: boolean;
        /**
         * Creates a tensor without data, using the descriptor you specify.
         */
        constructor (tensorDescriptor: MLCTensorDescriptor);
        /**
         * Creates a tensor with the descriptor and data you specify.
         */
        constructor (tensorDescriptor: MLCTensorDescriptor, data: MLCTensorData);
        /**
         * Creates a tensor with the descriptor and scalar value you specify.
         */
        constructor (tensorDescriptor: MLCTensorDescriptor, fillData: NSNumber);
        /**
         * Creates a tensor without data, with the shape you specify.
         */
        constructor (shape: number[]);
        /**
         * Creates a tensor without data, with the shape and data type you specify.
         */
        constructor (shape: number[], dataType: MLCDataType);
        /**
         * Creates a tensor with the shape, data, and data type you specify.
         */
        constructor (shape: number[], data: MLCTensorData, dataType: MLCDataType);
        /**
         * Creates a tensor with the shape, scalar value, and data type you specify.
         */
        constructor (shape: number[], fillData: NSNumber, dataType: MLCDataType);
        /**
         * Creates a tensor with the shape and random initializer type you specify.
         */
        constructor (shape: number[], randomInitializerType: MLCRandomInitializerType);
        /**
         * Creates a tensor without data, with the sizes and number of feature channels you specify.
         */
        constructor (width: number, height: number, featureChannelCount: number, batchSize: number);
        /**
         * Creates a tensor with the sizes, number of feature channels, and data you specify.
         */
        constructor (width: number, height: number, featureChannelCount: number, batchSize: number, data: MLCTensorData);
        /**
         * Creates a tensor with the sizes, number of feature channels, data, and data type you specify.
         */
        constructor (width: number, height: number, featureChannelCount: number, batchSize: number, data: MLCTensorData, dataType: MLCDataType);
        /**
         * Creates a tensor with the sizes and number of feature channels, and filled with the data and type you specify.
         */
        constructor (width: number, height: number, featureChannelCount: number, batchSize: number, fillData: Float, dataType: MLCDataType);
        /**
         * Creates a tensor with the descriptor and random initializer type you specify.
         */
        constructor (tensorDescriptor: MLCTensorDescriptor, randomInitializerType: MLCRandomInitializerType);
        /**
         * Creates a tensor with the sizes, number of feature channels, and random data using the random initializer type you specify.
         */
        constructor (width: number, height: number, featureChannelCount: number, batchSize: number, randomInitializerType: MLCRandomInitializerType);
        /**
         * Creates a tensor without data, with the sequence length, number of feature channels, and batch size you specify.
         */
        constructor (sequenceLength: number, featureChannelCount: number, batchSize: number);
        /**
         * Creates a tensor with the sequence length, number of feature channels, batch size, and data you specify.
         */
        constructor (sequenceLength: number, featureChannelCount: number, batchSize: number, data: MLCTensorData | null);
        /**
         * Creates a tensor with the sequence lengths, sorting indicator, number of feature channels, batch size, and data you specify.
         */
        constructor (sequenceLengths: number[], sortedSequences: boolean, featureChannelCount: number, batchSize: number, data: MLCTensorData | null);
        /**
         * Creates a tensor with the sequence length, number of feature channels, batch size, and random initializer type you specify.
         */
        constructor (sequenceLength: number, featureChannelCount: number, batchSize: number, randomInitializerType: MLCRandomInitializerType);
        /**
         * Creates a tensor with the sequence lengths, sorting indicator, number of feature channels, batch size, and random initializer type you specify.
         */
        constructor (sequenceLengths: number[], sortedSequences: boolean, featureChannelCount: number, batchSize: number, randomInitializerType: MLCRandomInitializerType);
        /**
         * Converts a 32-bit floating-point tensor with the scale and bias you specify.
         */
        quantized(type: MLCDataType, scale: Float, bias: number):MLCTensor | null;
        /**
         * Converts a tensor you quantize to a 32-bit floating-point tensor.
         */
        dequantized(type: MLCDataType, scale: MLCTensor, bias: MLCTensor):MLCTensor | null;
        /**
         * Synchronizes the data in host memory.
         */
        synchronizeData():boolean;
        /**
         * Synchronizes the optimizer data in host memory.
         */
        synchronizeOptimizerData():boolean;
        /**
         * Copies tensor data from device memory to user-specified memory.
         */
        copyDataFromDeviceMemory(bytes: UnsafeMutableRawPointer, length: number, synchronizeWithDevice: boolean):boolean;
        /**
         * Associates the given data to the tensor, and if the device is a GPU, also copies the data to the device memory.
         */
        bindAndWriteData(data: MLCTensorData, device: MLCDevice):boolean;
        /**
         * Associates the optimizer and device data buffers you specify to the tensor.
         */
        bindOptimizerData(data: MLCTensorData[], deviceData: MLCTensorOptimizerDeviceData[] | null):boolean;
    }
    export class MLCTensorDescriptor extends NSObject {
        /**
         * The maximum number of tensor dimensions.
         */
        static maxTensorDimensions: number;
        /**
         * The tensor data type.
         */
        dataType: MLCDataType;
        /**
         * The number of dimensions in the tensor.
         */
        dimensionCount: number;
        /**
         * An array that contains the size in each dimension.
         */
        shape: number[];
        /**
         * An array that contains the stride, in bytes, in each dimension.
         */
        stride: number[];
        /**
         * The allocation size, in bytes, for a tensor.
         */
        tensorAllocationSizeInBytes: number;
        /**
         * An array that contains the variable lengths of sequences stored in the tensor.
         */
        sequenceLengths: number[] | null;
        /**
         * A Boolean that indicates whether you provided the sequence lengths sorted in descending order.
         */
        sortedSequences: boolean;
        /**
         * The batch size for each sequence.
         */
        batchSizePerSequenceStep: number[] | null;
        /**
         * Creates a tensor descriptor with the width and height, number of feature channels, batch size, and data type you specify.
         */
        constructor (width: number, height: number, featureChannelCount: number, batchSize: number, dataType: MLCDataType);
        /**
         * Creates a tensor descriptor with the number of feature channels and data type you specify.
         */
        constructor (inputFeatureChannelCount: number, outputFeatureChannelCount: number, dataType: MLCDataType);
        /**
         * Creates a tensor descriptor with the sizing, number of feature channels, and data type you specify.
         */
        constructor (width: number, height: number, inputFeatureChannelCount: number, outputFeatureChannelCount: number, dataType: MLCDataType);
        /**
         * Creates a tensor descriptor with the number of feature channels and data type you specify.
         */
        constructor (featureChannelCount: number, dataType: MLCDataType);
    }
    export class MLCActivationLayer extends MLCLayer {
        /**
         * Creates an instance of a ReLU activation layer.
         */
        static relu: MLCActivationLayer;
        /**
         * Creates an instance of a ReLU6 activation layer.
         */
        static relu6: MLCActivationLayer;
        /**
         * Creates an instance of a SELU activation layer.
         */
        static selu: MLCActivationLayer;
        /**
         * Creates an instance of a sigmoid activation layer.
         */
        static sigmoid: MLCActivationLayer;
        /**
         * Creates an instance of a parametric soft plus activation layer.
         */
        static softPlus: MLCActivationLayer;
        /**
         * Creates an instance of a soft shrink activation layer.
         */
        static softShrink: MLCActivationLayer;
        /**
         * Creates an instance of a parametric soft sign activation layer.
         */
        static softSign: MLCActivationLayer;
        /**
         * Creates an instance of a hyperbolic tangent activation layer.
         */
        static tanh: MLCActivationLayer;
        /**
         * Creates an instance of a tanh shrink activation layer.
         */
        static tanhShrink: MLCActivationLayer;
        /**
         * The configuration object you use to create an activation layer.
         */
        descriptor: MLCActivationDescriptor;
    }
    export class MLCActivationDescriptor extends NSObject {
        /**
         * The type of activation function.
         */
        activationType: MLCActivationType;
        /**
         * The parameter a to the activation function.
         */
        a: Float;
        /**
         * The parameter b to the activation function.
         */
        b: Float;
        /**
         * The parameter c to the activation function.
         */
        c: Float;
        /**
         * Creates an activation descriptor with the activation type you specify.
         */
        constructor (activationType: MLCActivationType);
        /**
         * Creates an activation descriptor with the activation type and parameter a that you specify.
         */
        constructor (activationType: MLCActivationType, a: Float);
        /**
         * Creates an activation descriptor with the activation type and parameters a and b that you specify.
         */
        constructor (activationType: MLCActivationType, a: Float, b: Float);
        /**
         * Creates an activation descriptor with the activation type and parameters a, b, and c that you specify.
         */
        constructor (activationType: MLCActivationType, a: Float, b: Float, c: Float);
    }
    export enum MLCActivationType {
        absolute = 6,
        celu = 13,
        clamp = 20,
        elu = 9,
        gelu = 18,
        hardShrink = 14,
        hardSigmoid = 4,
        hardSwish = 19,
        linear = 2,
        logSigmoid = 11,
        none = 0,
        relu = 1,
        relun = 10,
        selu = 12,
        sigmoid = 3,
        softPlus = 7,
        softShrink = 15,
        softSign = 8,
        tanh = 5,
        tanhShrink = 16,
        threshold = 17,
    }
    export class MLCMultiheadAttentionLayer extends MLCLayer {
        /**
         * The configuration object you use to create the multi-head attention layer.
         */
        descriptor: MLCMultiheadAttentionDescriptor;
        /**
         * The array of weights you use for query, key, value, and output projections.
         */
        weights: MLCTensor[];
        /**
         * The array of biases you use for query, key, value, and output projections.
         */
        biases: MLCTensor[] | null;
        /**
         * The array of attention biases you use for key and value.
         */
        attentionBiases: MLCTensor[] | null;
        /**
         * The array of weights tensor parameters you use for optimizer updates.
         */
        weightsParameters: MLCTensorParameter[];
        /**
         * The array of biases tensor parameters you use for optimizer updates.
         */
        biasesParameters: MLCTensorParameter[] | null;
        /**
         * Creates a multi-head attention layer with the descriptor, weights, and biases you specify.
         */
        constructor (descriptor: MLCMultiheadAttentionDescriptor, weights: MLCTensor[], biases: MLCTensor[] | null, attentionBiases: MLCTensor[] | null);
    }
    export class MLCMultiheadAttentionDescriptor extends NSObject {
        /**
         * The model or embedding dimension.
         */
        modelDimension: number;
        /**
         * The total dimension of key space, which must be divisible by the number of heads.
         */
        keyDimension: number;
        /**
         * The total dimension of value space, which must be divisible by the number of heads.
         */
        valueDimension: number;
        /**
         * The number of parallel attention heads.
         */
        headCount: number;
        /**
         * The dropout rate you apply to the output projection weights.
         */
        dropout: Float;
        /**
         * A Boolean that specifies whether you add a bias to query, key, value, and output projections.
         */
        hasBiases: boolean;
        /**
         * A Boolean that specifies whether you add an array of biases to key and value, respectively.
         */
        hasAttentionBiases: boolean;
        /**
         * A Boolean that specifies whether you add a row of zeros to projected key and value.
         */
        addsZeroAttention: boolean;
        /**
         * Creates a multi-head attention descriptor with the model dimension and number of parallel attention heads you specify.
         */
        constructor (modelDimension: number, headCount: number);
        /**
         * Creates a multi-head attention descriptor with the dimensions, number of attention heads, dropout rate, and bias and padding options you specify.
         */
        constructor (modelDimension: number, keyDimension: number, valueDimension: number, headCount: number, dropout: Float, hasBiases: boolean, hasAttentionBiases: boolean, addsZeroAttention: boolean);
    }
    export class MLCSoftmaxLayer extends MLCLayer {
        /**
         * The softmax operation.
         */
        operation: MLCSoftmaxOperation;
        /**
         * The dimension over which you want to perform the softmax operation.
         */
        dimension: number;
        /**
         * Creates a softmax layer with the operation you specify.
         */
        constructor (operation: MLCSoftmaxOperation);
        /**
         * Creates a softmax layer with the operation and dimension you specify.
         */
        constructor (operation: MLCSoftmaxOperation, dimension: number);
    }
    export enum MLCSoftmaxOperation {
        softmax = 0,
        logSoftmax = 1,
    }
    export class MLCArithmeticLayer extends MLCLayer {
        /**
         * The arithmetic layer’s operation.
         */
        operation: MLCArithmeticOperation;
        /**
         * Creates an arithmetic layer with the operation you specify.
         */
        constructor (operation: MLCArithmeticOperation);
    }
    export enum MLCArithmeticOperation {
        add = 0,
        subtract = 1,
        multiply = 2,
        multiplyNoNaN = 26,
        divide = 3,
        divideNoNaN = 27,
        min = 28,
        max = 29,
        floor = 4,
        round = 5,
        ceil = 6,
        sin = 9,
        cos = 10,
        tan = 11,
        asin = 12,
        acos = 13,
        atan = 14,
        sinh = 15,
        cosh = 16,
        tanh = 17,
        asinh = 18,
        acosh = 19,
        atanh = 20,
        sqrt = 7,
        rsqrt = 8,
        pow = 21,
        exp = 22,
        exp2 = 23,
        log = 24,
        log2 = 25,
    }
    export class MLCReductionLayer extends MLCLayer {
        /**
         * The function reduction type the system uses for reduction.
         */
        reductionType: MLCReductionType;
        /**
         * The dimension to perform the reduction operation on.
         */
        dimension: number;
        /**
         * The dimensions to perform the reduction operation on.
         */
        dimensions: number[];
        /**
         * Creates a reduction layer using the reduction type and dimension you specify.
         */
        constructor (reductionType: MLCReductionType, dimension: number);
        /**
         * Creates a reduction layer using the reduction type and dimensions you specify.
         */
        constructor (reductionType: MLCReductionType, dimensions: number[]);
    }
    export enum MLCReductionType {
        all = 9,
        any = 8,
        argMax = 5,
        argMin = 6,
        max = 3,
        mean = 2,
        min = 4,
        none = 0,
        sum = 1,
        l1Norm = 7,
    }
    export class MLCMatMulLayer extends MLCLayer {
        /**
         * The configuration object you use to create the matrix multiplication layer.
         */
        descriptor: MLCMatMulDescriptor;
        /**
         * Creates a matrix multiplication layer with the specified descriptor you specify.
         */
        constructor (descriptor: MLCMatMulDescriptor);
    }
    export class MLCMatMulDescriptor extends NSObject {
        /**
         * A scalar value you specify to scale the result in C = alpha x A x B.
         */
        alpha: Float;
        /**
         * A Boolean that specifies whether you choose to transpose the last two dimensions of x.
         */
        transposesX: boolean;
        /**
         * A Boolean that specifies whether you choose to transpose the last two dimensions of y.
         */
        transposesY: boolean;
        /**
         * Creates a batched matrix multiplication descriptor.
         */
        constructor ();
        /**
         * Creates a batched matrix multiplication descriptor with the alpha value and transpose options you specify.
         */
        constructor (alpha: Float, transposesX: boolean, transposesY: boolean);
    }
    export enum MLCDataType {
        float16 = 3,
        float32 = 1,
        boolean = 4,
        int8 = 8,
        int32 = 7,
        int64 = 5,
        uint8 = 9,
    }
    export class MLCFullyConnectedLayer extends MLCLayer {
        /**
         * The configuration object you use to create the fully connected layer.
         */
        descriptor: MLCConvolutionDescriptor;
        /**
         * The weights tensor you use for the fully connected layer.
         */
        weights: MLCTensor;
        /**
         * The biases tensor you use for the fully connected layer.
         */
        biases: MLCTensor | null;
        /**
         * The biases tensor parameter you use for optimizer updates.
         */
        biasesParameter: MLCTensorParameter | null;
        /**
         * The weights tensor parameter you use for optimizer updates.
         */
        weightsParameter: MLCTensorParameter;
        /**
         * Creates a fully connected layer with the weights, biases, and convolution descriptor you specify.
         */
        constructor (weights: MLCTensor, biases: MLCTensor | null, descriptor: MLCConvolutionDescriptor);
    }
    export class MLCConvolutionDescriptor extends NSObject {
        /**
         * The type of convolution.
         */
        convolutionType: MLCConvolutionType;
        /**
         * A tuple that contains the kernel sizes for height and width.
         */
        kernelSizes: any;
        /**
         * The number of feature channels in the input tensor.
         */
        inputFeatureChannelCount: number;
        /**
         * The number of feature channels in the output tensor.
         */
        outputFeatureChannelCount: number;
        /**
         * A tuple that contains the kernel strides for y and x.
         */
        strides: any;
        /**
         * A tuple that contains the dilation rates for y and x.
         */
        dilationRates: any;
        /**
         * The number of groups.
         */
        groupCount: number;
        /**
         * The padding policy.
         */
        paddingPolicy: MLCPaddingPolicy;
        /**
         * A Boolean that indicates whether this is a convolution transpose.
         */
        isConvolutionTranspose: boolean;
        /**
         * A Boolean that indicates whether you use depthwise convolution.
         */
        usesDepthwiseConvolution: boolean;
        /**
         * Creates a descriptor for the type, sizes, number of feature channels, group count, strides, dilation rates, and padding policy you specify.
         */
        constructor (type: MLCConvolutionType, kernelSizes: any, inputFeatureChannelCount: number, outputFeatureChannelCount: number, groupCount: number, strides: any, dilationRates: any, paddingPolicy: MLCPaddingPolicy);
        /**
         * Creates a descriptor for convolution transpose with the kernel sizes and number of feature channels you specify.
         */
        constructor (kernelWidth: number, kernelHeight: number, inputFeatureChannelCount: number, outputFeatureChannelCount: number);
        /**
         * Creates a descriptor for depthwise convolution with the kernel sizes, number of input feature channels, and channel multiplier you specify.
         */
        constructor (kernelWidth: number, kernelHeight: number, inputFeatureChannelCount: number, channelMultiplier: number);
    }
    export enum MLCConvolutionType {
        standard = 0,
        depthwise = 2,
        transposed = 1,
    }
    export class MLCGramMatrixLayer extends MLCLayer {
        /**
         * The scaling factor.
         */
        scale: Float;
        /**
         * Creates a gram matrix layer with the scaling factor you specify.
         */
        constructor (scale: Float);
    }
    export class MLCComparisonLayer extends MLCLayer {
        /**
         * The comparison layer’s operation.
         */
        operation: MLCComparisonOperation;
        /**
         * Creates a comparison layer with the operation you specify.
         */
        constructor (operation: MLCComparisonOperation);
    }
    export enum MLCComparisonOperation {
        equal = 0,
        greater = 3,
        greaterOrEqual = 5,
        less = 2,
        lessOrEqual = 4,
        logicalAND = 6,
        logicalNAND = 9,
        logicalNOR = 10,
        logicalNOT = 8,
        logicalOR = 7,
        logicalXOR = 11,
        notEqual = 1,
    }
    export class MLCTransposeLayer extends MLCLayer {
        /**
         * An array that contains an input axis source for each output axis, which represents the ordering of dimensions.
         */
        dimensions: number[];
        /**
         * Creates a transpose layer with the dimensions you specify.
         */
        constructor (dimensions: number[]);
    }
    export class MLCConcatenationLayer extends MLCLayer {
        /**
         * The dimension, or axis, along which you concatenate tensors.
         */
        dimension: number;
        /**
         * Creates a concatenation layer with a dimension value of 1, which typically represents feature channels.
         */
        constructor ();
        /**
         * Creates a concatenation layer with the dimension you specify.
         */
        constructor (dimension: number);
    }
    export class MLCReshapeLayer extends MLCLayer {
        /**
         * An array that contains the size of each dimension.
         */
        shape: number[];
        /**
         * Creates a reshape layer with the shape you specify.
         */
        constructor (shape: number[]);
    }
    export class MLCSliceLayer extends MLCLayer {
        /**
         * The start vector.
         */
        start: number[];
        /**
         * The end vector.
         */
        end: number[];
        /**
         * The stride vector.
         */
        stride: number[] | null;
        /**
         * Creates a slice layer with the start, end, and stride you specify.
         */
        constructor (start: number[], end: number[], stride: number[] | null);
    }
    export class MLCSplitLayer extends MLCLayer {
        /**
         * The dimension or axis along which to split the tensor.
         */
        dimension: number;
        /**
         * The number of splits.
         */
        splitCount: number;
        /**
         * An array that contains the lengths of each split section.
         */
        splitSectionLengths: number[] | null;
        /**
         * Creates a split layer with the number of splits and dimension you specify.
         */
        constructor (splitCount: number, dimension: number);
        /**
         * Creates a split layer with the lengths of each split section and dimension you specify.
         */
        constructor (splitSectionLengths: number[], dimension: number);
    }
    export class MLCPaddingLayer extends MLCLayer {
        /**
         * The padding type.
         */
        paddingType: MLCPaddingType;
        /**
         * The left padding size.
         */
        paddingLeft: number;
        /**
         * The right padding size.
         */
        paddingRight: number;
        /**
         * The top padding size.
         */
        paddingTop: number;
        /**
         * The bottom padding size.
         */
        paddingBottom: number;
        /**
         * The constant value you use if padding type is constant.
         */
        constantValue: Float;
        /**
         * Creates a padding layer with the reflection padding sizes you specify.
         */
        constructor (reflectionPadding: number[]);
        /**
         * Creates a padding layer with the symmetric padding sizes you specify.
         */
        constructor (symmetricPadding: number[]);
        /**
         * Creates a padding layer with the zero padding sizes you specify.
         */
        constructor (zeroPadding: number[]);
        /**
         * Creates a padding layer with the constant padding sizes and constant value you specify.
         */
        constructor (constantPadding: number[], constantValue: Float);
    }
    export class MLCTensorData extends NSObject {
        /**
         * A buffer that conains data.
         */
        bytes: UnsafeMutableRawPointer;
        /**
         * The number of bytes you choose to hold for this tensor data instance.
         */
        length: number;
        /**
         * Creates a tensor data instance with the buffer of data and length of bytes you specify.
         */
        constructor (bytes: UnsafeMutableRawPointer, length: number);
        /**
         * Creates a tensor data instance with a data buffer, byte length, and custom deallocator closure you specify.
         */
        constructor (bytes: UnsafeMutableRawPointer, length: number, deallocator: ()=>any);
        /**
         * Creates a tensor data instance with the buffer of immutable data and length of bytes you specify.
         */
        constructor (bytes: UnsafeRawPointer, length: number);
    }
    export class MLCScatterLayer extends MLCLayer {
        /**
         * The dimension to index.
         */
        dimension: number;
        /**
         * The reduction type that applies to all values in the source tensor.
         */
        reductionType: MLCReductionType;
        /**
         * Creates a scatter layer with the dimension and reduction type you specify.
         */
        constructor (dimension: number, reductionType: MLCReductionType);
    }
    export class MLCSelectionLayer extends MLCLayer {
        /**
         * Creates a selection layer.
         */
        constructor ();
    }
    export class MLCGatherLayer extends MLCLayer {
        /**
         * The dimension to index.
         */
        dimension: number;
        /**
         * Creates a gather layer with the dimension you specify.
         */
        constructor (dimension: number);
    }
    export class MLCLayerNormalizationLayer extends MLCLayer {
        /**
         * The shape of the axes where normalization occurs.
         */
        normalizedShape: number[];
        /**
         * The beta tensor.
         */
        beta: MLCTensor | null;
        /**
         * The gamma tensor.
         */
        gamma: MLCTensor | null;
        /**
         * The variance epsilon you use for numerical stability.
         */
        varianceEpsilon: Float;
        /**
         * The beta tensor parameter you use for optimizer updates.
         */
        betaParameter: MLCTensorParameter | null;
        /**
         * The gamma tensor parameter you use for optimizer updates.
         */
        gammaParameter: MLCTensorParameter | null;
        /**
         * Creates a normalization layer with a shape, beta and gamma tensors, and variance epsilon you specify.
         */
        constructor (normalizedShape: number[], beta: MLCTensor, gamma: MLCTensor, varianceEpsilon: Float);
    }
    export class MLCBatchNormalizationLayer extends MLCLayer {
        /**
         * The number of feature channels.
         */
        featureChannelCount: number;
        /**
         * The mean tensor.
         */
        mean: MLCTensor;
        /**
         * The variance tensor.
         */
        variance: MLCTensor;
        /**
         * The beta tensor.
         */
        beta: MLCTensor | null;
        /**
         * The gamma tensor.
         */
        gamma: MLCTensor | null;
        /**
         * The variance epsilon you use for numerical stability.
         */
        varianceEpsilon: Float;
        /**
         * The value you use for the running mean and variance computation.
         */
        momentum: Float;
        /**
         * The beta tensor parameter you use for optimizer updates.
         */
        betaParameter: MLCTensorParameter | null;
        /**
         * The gamma tensor parameter you use for optimizer updates.
         */
        gammaParameter: MLCTensorParameter | null;
        /**
         * Creates a batch normalization layer with the number of feature channels, tensors, and variance epsilon you specify.
         */
        constructor (featureChannelCount: number, mean: MLCTensor, variance: MLCTensor, beta: MLCTensor | null, gamma: MLCTensor | null, varianceEpsilon: Float);
        /**
         * Creates a batch normalization layer with the number of feature channels, tensors, variance epsilon, and momentum you specify.
         */
        constructor (featureChannelCount: number, mean: MLCTensor, variance: MLCTensor, beta: MLCTensor | null, gamma: MLCTensor | null, varianceEpsilon: Float, momentum: Float);
    }
    export class MLCGroupNormalizationLayer extends MLCLayer {
        /**
         * The number of feature channels.
         */
        featureChannelCount: number;
        /**
         * The number of groups into which you separate the channels.
         */
        groupCount: number;
        /**
         * The beta tensor.
         */
        beta: MLCTensor | null;
        /**
         * The gamma tensor.
         */
        gamma: MLCTensor | null;
        /**
         * The variance epsilon you use for numerical stability.
         */
        varianceEpsilon: Float;
        /**
         * The beta tensor parameter you use for optimizer updates.
         */
        betaParameter: MLCTensorParameter | null;
        /**
         * The gamma tensor parameter you use for optimizer updates.
         */
        gammaParameter: MLCTensorParameter | null;
        /**
         * Creates a group normalization layer with the number of feature channels and groups, beta and gamma tensors, and variance epsilon you specify.
         */
        constructor (featureChannelCount: number, groupCount: number, beta: MLCTensor | null, gamma: MLCTensor | null, varianceEpsilon: Float);
    }
    export class MLCInstanceNormalizationLayer extends MLCLayer {
        /**
         * The beta tensor.
         */
        beta: MLCTensor | null;
        /**
         * The beta tensor parameter you use for optimizer updates.
         */
        betaParameter: MLCTensorParameter | null;
        /**
         * The number of feature channels.
         */
        featureChannelCount: number;
        /**
         * The gamma tensor.
         */
        gamma: MLCTensor | null;
        /**
         * The gamma tensor parameter you use for optimizer updates.
         */
        gammaParameter: MLCTensorParameter | null;
        /**
         * The running mean tensor.
         */
        mean: MLCTensor | null;
        /**
         * The momentum value for the running mean and variance computation.
         */
        momentum: Float;
        /**
         * The running variance tensor.
         */
        variance: MLCTensor | null;
        /**
         * The variance epsilon you use for numerical stability.
         */
        varianceEpsilon: Float;
        /**
         * Creates an instance normalization layer with the number of feature channels, beta and gamma tensors, and variance epsilon you specify.
         */
        constructor (featureChannelCount: number, beta: MLCTensor | null, gamma: MLCTensor | null, varianceEpsilon: Float);
        /**
         * Creates an instance normalization layer with the number of feature channels, beta and gamma tensors, variance epsilon, and momentum you specify.
         */
        constructor (featureChannelCount: number, beta: MLCTensor | null, gamma: MLCTensor | null, varianceEpsilon: Float, momentum: Float);
        /**
         * Creates an instance normalization layer with the number of feature channels, mean, variance, beta and gamma tensors, variance epsilon, and momentum you specify.
         */
        constructor (featureChannelCount: number, mean: MLCTensor, variance: MLCTensor, beta: MLCTensor | null, gamma: MLCTensor | null, varianceEpsilon: Float, momentum: Float);
    }
    export class MLCDropoutLayer extends MLCLayer {
        /**
         * The dropout rate you use for each element.
         */
        rate: Float;
        /**
         * The seed you use to generate random numbers.
         */
        seed: number;
        /**
         * Creates a dropout layer with the probability rate and random number generator seed you specify.
         */
        constructor (rate: Float, seed: number);
    }
    export class MLCConvolutionLayer extends MLCLayer {
        /**
         * The configuration object you use to create the convolution layer.
         */
        descriptor: MLCConvolutionDescriptor;
        /**
         * The weights tensor you use for the convolution layer.
         */
        weights: MLCTensor;
        /**
         * The biases tensor you use for the convolution layer.
         */
        biases: MLCTensor | null;
        /**
         * The weights tensor parameter you use for optimizer updates.
         */
        weightsParameter: MLCTensorParameter;
        /**
         * The biases tensor parameter you use for optimizer updates.
         */
        biasesParameter: MLCTensorParameter | null;
        /**
         * Creates a convolution layer with the weights, biases, and descriptor you specify.
         */
        constructor (weights: MLCTensor, biases: MLCTensor | null, descriptor: MLCConvolutionDescriptor);
    }
    export enum MLCRandomInitializerType {
        uniform = 1,
        glorotUniform = 2,
        xavier = 3,
    }
    export class MLCLSTMLayer extends MLCLayer {
        /**
         * The configuration object you use to create the LSTM layer.
         */
        descriptor: MLCLSTMDescriptor;
        /**
         * The array of gate activations you use for input, hidden, cell, and output gates.
         */
        gateActivations: MLCActivationDescriptor[];
        /**
         * The output activation descriptor.
         */
        outputResultActivation: MLCActivationDescriptor;
        /**
         * The array of tensors that describe the input weights you use for the input, hidden, cell, and output gates.
         */
        inputWeights: MLCTensor[];
        /**
         * The array of tensors that describe the hidden weights you use for the input, hidden, cell, and output gates.
         */
        hiddenWeights: MLCTensor[];
        /**
         * The array of tensors that describe the peephole weights you use for the input, hidden, cell, and output gates.
         */
        peepholeWeights: MLCTensor[] | null;
        /**
         * The array of tensors that describe the bias terms you use for the input, hidden, cell, and output gates.
         */
        biases: MLCTensor[] | null;
        /**
         * The input weights tensor parameters you use for optimizer updates.
         */
        inputWeightsParameters: MLCTensorParameter[];
        /**
         * The hidden weights tensor parameters you use for optimizer updates.
         */
        hiddenWeightsParameters: MLCTensorParameter[];
        /**
         * The peephole weights tensor parameters you use for optimizer updates.
         */
        peepholeWeightsParameters: MLCTensorParameter[] | null;
        /**
         * The biases tensor parameters you use for optimizer updates.
         */
        biasesParameters: MLCTensorParameter[] | null;
        /**
         * Creates an LSTM layer with the descriptor, input and hidden weights, and biases you specify.
         */
        constructor (descriptor: MLCLSTMDescriptor, inputWeights: MLCTensor[], hiddenWeights: MLCTensor[], biases: MLCTensor[] | null);
        /**
         * Creates an LSTM layer with the descriptor, weights, and biases you specify.
         */
        constructor (descriptor: MLCLSTMDescriptor, inputWeights: MLCTensor[], hiddenWeights: MLCTensor[], peepholeWeights: MLCTensor[] | null, biases: MLCTensor[] | null);
        /**
         * Creates an LSTM layer using the descriptor, weights, biases, gate activations, and output result activation that you specify.
         */
        constructor (descriptor: MLCLSTMDescriptor, inputWeights: MLCTensor[], hiddenWeights: MLCTensor[], peepholeWeights: MLCTensor[] | null, biases: MLCTensor[] | null, gateActivations: MLCActivationDescriptor[], outputResultActivation: MLCActivationDescriptor);
    }
    export class MLCLSTMDescriptor extends NSObject {
        /**
         * A Boolean that indicates whether the input and output shape is batch first.
         */
        batchFirst: boolean;
        /**
         * The dropout probability.
         */
        dropout: Float;
        /**
         * The number of features in the hidden state.
         */
        hiddenSize: number;
        /**
         * The number of expected features in the input.
         */
        inputSize: number;
        /**
         * A Boolean that indicates whether the layer is bidirectional.
         */
        isBidirectional: boolean;
        /**
         * The number of recurrent layers.
         */
        layerCount: number;
        /**
         * The mode that indicates whether the layer produces a single result tensor or three result tensors — final output, last hidden state, and the cell state.
         */
        resultMode: MLCLSTMResultMode;
        /**
         * A Boolean that indicates whether the layer returns output for all sequences.
         */
        returnsSequences: boolean;
        /**
         * A Boolean that indicates whether you use bias weights.
         */
        usesBiases: boolean;
        /**
         * Creates a batch first LSTM descriptor with the input size and number of layers you specify.
         */
        constructor (inputSize: number, hiddenSize: number, layerCount: number);
        /**
         * Creates a batch first LSTM descriptor with bias and bidirectional options you specify.
         */
        constructor (inputSize: number, hiddenSize: number, layerCount: number, usesBiases: boolean, isBidirectional: boolean, dropout: Float);
        /**
         * Creates a batch first LSTM descriptor that allows you to indicate whether the input and output shape is batch first.
         */
        constructor (inputSize: number, hiddenSize: number, layerCount: number, usesBiases: boolean, batchFirst: boolean, isBidirectional: boolean, dropout: Float);
        /**
         * Creates a batch first LSTM descriptor that allows you to indicate whether the layer returns output for all sequences, or output for only the last sequence. 
         */
        constructor (inputSize: number, hiddenSize: number, layerCount: number, usesBiases: boolean, batchFirst: boolean, isBidirectional: boolean, returnsSequences: boolean, dropout: Float);
        /**
         * Creates a descriptor with the number of features and layers, dropout, and options for use of biases, batch order, return sequences, bidirectionality, and expected tensors you specify.
         */
        constructor (inputSize: number, hiddenSize: number, layerCount: number, usesBiases: boolean, batchFirst: boolean, isBidirectional: boolean, returnsSequences: boolean, dropout: Float, resultMode: MLCLSTMResultMode);
    }
    export enum MLCLSTMResultMode {
        output = 0,
        outputAndStates = 1,
    }
    export class MLCPoolingLayer extends MLCLayer {
        /**
         * The configuration object you use to create the pooling layer.
         */
        descriptor: MLCPoolingDescriptor;
        /**
         * Creates a pooling layer with the descriptor you specify.
         */
        constructor (descriptor: MLCPoolingDescriptor);
    }
    export class MLCPoolingDescriptor extends NSObject {
        /**
         * The pooling operation type.
         */
        poolingType: MLCPoolingType;
        /**
         * A tuple that contains the kernel sizes for height and width.
         */
        kernelSizes: any;
        /**
         * A tuple that contains the kernel strides for y and x.
         */
        strides: any;
        /**
         * A tuple that contains the dilation rates for y and x.
         */
        dilationRates: any;
        /**
         * The padding policy.
         */
        paddingPolicy: MLCPaddingPolicy;
        /**
         * Creates a pooling descriptor with the pooling function type, kernel sizes, strides, dilation rates, and padding policy that you specify.
         */
        constructor (type: MLCPoolingType, kernelSizes: any, strides: any, dilationRates: any, paddingPolicy: MLCPaddingPolicy);
    }
    export enum MLCPoolingType {
        max,
        average,
        l2Norm,
    }
    export class MLCUpsampleLayer extends MLCLayer {
        /**
         * An array that contains the dimensions of the result tensor.
         */
        shape: number[];
        /**
         * The upsampling algorithm type.
         */
        sampleMode: MLCSampleMode;
        /**
         * A Boolean that indicates whether the layer aligns the corner pixels of the input and output tensors.
         */
        alignsCorners: boolean;
        /**
         * Creates an upsample layer with the shape you specify.
         */
        constructor (shape: number[]);
        /**
         * Creates an upsample layer with the shape, upsampling algorithm, and corner alignment option you specify.
         */
        constructor (shape: number[], sampleMode: MLCSampleMode, alignsCorners: boolean);
    }
    export enum MLCSampleMode {
        nearest = 0,
        linear = 1,
    }
    export class MLCEmbeddingLayer extends MLCLayer {
        /**
         * The configuration object you use to create the embedding layer.
         */
        descriptor: MLCEmbeddingDescriptor;
        /**
         * The weights tensor that contains the word embedding.
         */
        weights: MLCTensor;
        /**
         * The tensor parameter that describes the weights for the optimizer update.
         */
        weightsParameter: MLCTensorParameter;
        /**
         * Creates an embedding layer with the descriptor and word embedding weights tensor you specify.
         */
        constructor (descriptor: MLCEmbeddingDescriptor, weights: MLCTensor);
    }
    export class MLCEmbeddingDescriptor extends NSObject {
        /**
         * The size of the dictionary.
         */
        embeddingCount: number;
        /**
         * The dimension of embedding vectors.
         */
        embeddingDimension: number;
        /**
         * An unsigned integer value that, if set, causes the layer to initialize the embedding vector at that index to zero.
         */
        paddingIndex: number;
        /**
         * A float value that, if set, causes the layer to renormalize the selected embedding vectors to have an Lp norm less than this value.
         */
        maximumNorm: Float | null;
        /**
         * The p of the Lp norm.
         */
        pNorm: Float | null;
        /**
         * A Boolean that indicates whether the layer scales gradients by the inverse of the frequency of words in batch before the weight update.
         */
        scalesGradientByFrequency: boolean;
        /**
         * Creates an embedding descriptor with the size of the dictionary and dimension of embedding vectors you specify.
         */
        constructor (embeddingCount: number, embeddingDimension: number);
        /**
         * Creates an embedding descriptor with the size and dimension of embedding vectors, padding index, and norm and scaling options that you specify.
         */
        constructor (embeddingCount: number, embeddingDimension: number, paddingIndex: number, maximumNorm: Float | null, pNorm: Float | null, scalesGradientByFrequency: boolean);
    }
    export class MLCLossLayer extends MLCLayer {
        /**
         * The configuration object you use to create the loss layer.
         */
        descriptor: MLCLossDescriptor;
        /**
         * The loss label weights tensor.
         */
        weights: MLCTensor | null;
        /**
         * Creates a loss layer with the descriptor you specify.
         */
        constructor (lossDescriptor: MLCLossDescriptor);
        /**
         * Creates a loss layer with the descriptor and weights you specify.
         */
        constructor (lossDescriptor: MLCLossDescriptor, weights: MLCTensor);
        /**
         * Creates a softmax cross entropy loss layer with the reduction type, label smoothing, number of classes, and weight you specify.
         */
        static softmaxCrossEntropy(reductionType: MLCReductionType, labelSmoothing: Float, classCount: number, weight: Float):Self;
        /**
         * Creates a categorical cross entropy loss layer with the reduction type, label smoothing, number of classes, and weight you specify.
         */
        static categoricalCrossEntropy(reductionType: MLCReductionType, labelSmoothing: Float, classCount: number, weight: Float):Self;
        /**
         * Creates a sigmoid cross entropy loss layer with the reduction type, label smoothing, and weight you specify.
         */
        static sigmoidCrossEntropy(reductionType: MLCReductionType, labelSmoothing: Float, weight: Float):Self;
        /**
         * Creates a log loss layer with the reduction type, epsilon, and weight you specify.
         */
        static log(reductionType: MLCReductionType, epsilon: Float, weight: Float):Self;
        /**
         * Creates a huber loss layer with the reduction type, delta, and weight you specify.
         */
        static huberLoss(reductionType: MLCReductionType, delta: Float, weight: Float):Self;
        /**
         * Creates a mean absolute loss layer with the reduction type and weight.
         */
        static meanAbsoluteError(reductionType: MLCReductionType, weight: Float):Self;
        /**
         * Creates a mean squared loss layer with the reduction type and weight you specify.
         */
        static meanSquaredError(reductionType: MLCReductionType, weight: Float):Self;
        /**
         * Creates a hinge loss layer with the reduction type and weight you specify.
         */
        static hingeLoss(reductionType: MLCReductionType, weight: Float):Self;
        /**
         * Creates a cosine distance loss layer with the reduction type and weight you specify.
         */
        static cosineDistance(reductionType: MLCReductionType, weight: Float):Self;
    }
    export class MLCLossDescriptor extends NSObject {
        /**
         * The loss function type.
         */
        lossType: MLCLossType;
        /**
         * The reduction operation performed by the loss function.
         */
        reductionType: MLCReductionType;
        /**
         * The scale factor you apply to each element of a result.
         */
        weight: Float;
        /**
         * The value for label smoothing.
         */
        labelSmoothing: Float;
        /**
         * The number of classes.
         */
        classCount: number;
        /**
         * The epsilon value.
         */
        epsilon: Float;
        /**
         * The delta value.
         */
        delta: Float;
        /**
         * Creates a loss descriptor with the loss function and reduction type you specify.
         */
        constructor (lossType: MLCLossType, reductionType: MLCReductionType);
        /**
         * Creates a loss descriptor with the loss function, reduction type, and weight you specify.
         */
        constructor (lossType: MLCLossType, reductionType: MLCReductionType, weight: Float);
        /**
         * Creates a loss descriptor with the loss function, reduction type, weight, label smoothing, and number of classes you specify.
         */
        constructor (lossType: MLCLossType, reductionType: MLCReductionType, weight: Float, labelSmoothing: Float, classCount: number);
        /**
         * Creates a loss descriptor with the loss function, reduction type, weight, label smoothing, and number of classes, epsilon, and delta that you specify.
         */
        constructor (lossType: MLCLossType, reductionType: MLCReductionType, weight: Float, labelSmoothing: Float, classCount: number, epsilon: Float, delta: Float);
    }
    export enum MLCLossType {
        categoricalCrossEntropy = 4,
        cosineDistance = 7,
        hinge = 5,
        huber = 6,
        log = 8,
        meanAbsoluteError = 0,
        meanSquaredError = 1,
        sigmoidCrossEntropy = 3,
        softmaxCrossEntropy = 2,
    }
    export class MLCYOLOLossLayer extends MLCLossLayer {
        /**
         * The configuration object you use to create the YOLO loss layer.
         */
        yoloLossDescriptor: MLCYOLOLossDescriptor;
        /**
         * Creates a YOLO loss layer with the descriptor you specify.
         */
        constructor (lossDescriptor: MLCYOLOLossDescriptor);
    }
    export class MLCYOLOLossDescriptor extends NSObject {
        /**
         * The number of anchor boxes you use to detect an object in each grid cell.
         */
        anchorBoxCount: number;
        /**
         * Data that contains the width and height for all the anchor boxes.
         */
        anchorBoxes: Data;
        /**
         * The negative intersection over union (IOU).
         */
        maximumIOUForObjectAbsence: Float;
        /**
         * The positive intersection over union (IOU).
         */
        minimumIOUForObjectPresence: Float;
        /**
         * The scale factor you use for loss when there are no object classes, and for loss gradient.
         */
        scaleClassLoss: Float;
        /**
         * The scale factor you use for object confidence loss and loss gradient.
         */
        scaleObjectConfidenceLoss: Float;
        /**
         * The scale factor you use for no object confidence loss and loss gradient.
         */
        scaleNoObjectConfidenceLoss: Float;
        /**
         * The scale factor you use for spatial position loss and loss gradient.
         */
        scaleSpatialPositionLoss: Float;
        /**
         * The scale factor you use for spatial size loss and loss gradient.
         */
        scaleSpatialSizeLoss: Float;
        /**
         * A Boolean that indicates whether the layer scales the object confidence loss by the intersection over union (IOU) overlap.
         */
        shouldRescore: boolean;
        /**
         * Creates a YOLO loss filter descriptor with the anchor box data and number of anchor boxes you specify.
         */
        constructor (anchorBoxes: Data, anchorBoxCount: number);
    }
    export class MLCLayer extends NSObject {
        /**
         * A unique number that identifies each layer.
         */
        layerID: number;
        /**
         * A string that helps identify this layer.
         */
        label: string;
        /**
         * A Boolean that indicates whether you choose to debug the layer when executing a graph that includes it.
         */
        isDebuggingEnabled: boolean;
        /**
         * A device type that indicates where the system executes the layer.
         */
        deviceType: MLCDeviceType;
        /**
         * Returns a Boolean that indicates whether instances of this layer accept source tensors for the data type and device that you specify.
         */
        static supportsDataType(dataType: MLCDataType, device: MLCDevice):boolean;
    }
    export enum MLCPaddingPolicy {
        same,
        valid,
        sized,
    }
    export enum MLCPaddingType {
        zero = 0,
        reflect = 1,
        symmetric = 2,
        constant = 3,
    }
    export class MLCDevice extends NSObject {
        /**
         * The type you specify when creating the device.
         */
        type: MLCDeviceType;
        /**
         * The active device.
         */
        actualDeviceType: MLCDeviceType;
        /**
         * An array that contains the specific Metal devices you use to execute neural networks.
         */
        gpuDevices: MTLDevice[];
        /**
         * Creates a device of the type you specify.
         */
        constructor (type: MLCDeviceType);
        /**
         * Creates a device that you can configure to use multiple compute devices.
         */
        constructor (type: MLCDeviceType, selectsMultipleComputeDevices: boolean);
        /**
         * Creates a device using the GPUs you specify.
         */
        constructor (gpus: MTLDevice[]);
        /**
         * Creates a device that uses the CPU.
         */
        static cpu():Self;
        /**
         * Creates a device that uses a GPU, if one exists.
         */
        static gpu():Self | null;
        /**
         * Creates a device that uses the Apple Neural Engine, if one exists.
         */
        static ane():Self | null;
    }
    export enum MLCDeviceType {
        any = 2,
        cpu = 0,
        gpu = 1,
        ane = 3,
    }
    export class MLCGraph extends NSObject {
        /**
         * The device you’ll use for compiling and executing a graph.
         */
        device: MLCDevice | null;
        /**
         * An array that contains the layers in the graph.
         */
        layers: MLCLayer[];
        /**
         * A DOT representation of the graph.
         */
        summarizedDOTDescription: string;
        /**
         * Adds the layer and source tensor that you specify to the graph.
         */
        node(layer: MLCLayer, source: MLCTensor):MLCTensor | null;
        /**
         * Adds a new split layer to the graph using the source tensor, number of splits, and dimension to split the source tensor that you specify.
         */
        split(source: MLCTensor, splitCount: number, dimension: number):MLCTensor[] | null;
        /**
         * Adds a new concatenation layer to the graph using the source tensors and concatenation dimension you specify.
         */
        concatenate(sources: MLCTensor[], dimension: number):MLCTensor | null;
        /**
         * Adds a new reshape layer to the graph using the shape and source tensor you specify.
         */
        reshape(shape: number[], source: MLCTensor):MLCTensor | null;
        /**
         * Adds a gather layer to the graph using the source tensor, dimension along which to index, and the indices you specify.
         */
        gather(dimension: number, source: MLCTensor, indices: MLCTensor):MLCTensor | null;
        /**
         * Adds a scatter layer to the graph.
         */
        scatter(dimension: number, source: MLCTensor, indices: MLCTensor, copyFrom: MLCTensor, reductionType: MLCReductionType):MLCTensor | null;
        /**
         * Adds a new transpose layer to the graph using the dimensions and source tensor you specify.
         */
        transpose(dimensions: number[], source: MLCTensor):MLCTensor | null;
        /**
         * Associates the given data with the input tensors, and if the device is a GPU, also copies the data to the device memory.
         */
        bindAndWriteData(inputsData: Record<string, MLCTensorData>, inputTensors: Record<string, MLCTensor>, device: MLCDevice, batchSize: number, synchronous: boolean):boolean;
        /**
         * Gets the source tensors for a layer in the training graph.
         */
        sourceTensors(layer: MLCLayer):MLCTensor[];
        /**
         * Gets the result tensors for a layer in the training graph.
         */
        resultTensors(layer: MLCLayer):MLCTensor[];
    }
    export class MLCTrainingGraph extends MLCGraph {
        /**
         * The optimizer to use with the training graph.
         */
        optimizer: MLCOptimizer | null;
        /**
         * The device memory size in bytes for all intermediate tensors for forward, gradient passes, and optimizer updates for all layers in the training graph.
         */
        deviceMemorySize: number;
        /**
         * Creates a training graph with the layers from the graph objects, loss layer, and optimizer you specify.
         */
        constructor (graphObjects: MLCGraph[], lossLayer: MLCLayer | null, optimizer: MLCOptimizer | null);
        /**
         * Adds the inputs and loss label inputs that you specify to the training graph.
         */
        addInputs(inputs: Record<string, MLCTensor>, lossLabels: Record<string, MLCTensor> | null):boolean;
        /**
         * Adds the outputs to the training graph you specify.
         */
        addOutputs(outputs: Record<string, MLCTensor>):boolean;
        /**
         * Adds the tensors that you specify, to indicate which contributions the graph excludes when computing gradients during gradient pass.
         */
        stopGradient(tensors: MLCTensor[]):boolean;
        /**
         * Compiles the optimizer to use with a training graph you specify.
         */
        compileOptimizer(optimizer: MLCOptimizer):boolean;
        /**
         * Compiles the training graph for the options and device you specify.
         */
        compile(options: MLCGraphCompilationOptions, device: MLCDevice):boolean;
        /**
         * Links the training graphs you specify.
         */
        link(graphs: MLCTrainingGraph[]):boolean;
        /**
         * Allocates an entry for a gradient for the result tensor you specify.
         */
        allocateUserGradient(tensor: MLCTensor):MLCTensor | null;
        /**
         * Executes the training graph with the input data, batch size, execution options, and completion handler you specify.
         */
        execute(inputsData: Record<string, MLCTensorData>, lossLabelsData: Record<string, MLCTensorData> | null, lossLabelWeightsData: Record<string, MLCTensorData> | null, batchSize: number, options: MLCExecutionOptions, completionHandler: MLCGraphCompletionHandler | null):boolean;
        /**
         * Synchronizes updates from device memory.
         */
        synchronizeUpdates():void;
        /**
         * Sets the input tensor parameters, which the optimizer then updates.
         */
        setTrainingTensorParameters(parameters: MLCTensorParameter[]):boolean;
        /**
         * Executes the forward pass of the training graph with the batch size, execution options, and completion handler you specify.
         */
        executeForward(batchSize: number, options: MLCExecutionOptions, completionHandler: MLCGraphCompletionHandler | null):boolean;
        /**
         * Executes the gradient pass of the training graph with the batch size, execution options, and completion handler you specify.
         */
        executeGradient(batchSize: number, options: MLCExecutionOptions, completionHandler: MLCGraphCompletionHandler | null):boolean;
        /**
         * Executes the optimizer update pass of the training graph with the execution options and completion handler you specify.
         */
        executeOptimizerUpdate(options: MLCExecutionOptions, completionHandler: MLCGraphCompletionHandler | null):boolean;
        /**
         * Associates the optimizer and device data you specify along with the tensor.
         */
        bindOptimizerData(data: MLCTensorData[], deviceData: MLCTensorOptimizerDeviceData[] | null, tensor: MLCTensor):boolean;
        /**
         * Gets the gradient tensor for the input tensor you specify.
         */
        gradientTensor(input: MLCTensor):MLCTensor | null;
        /**
         * Gets the source gradient tensors for the layer in the training graph you specify.
         */
        sourceGradientTensors(layer: MLCLayer):MLCTensor[];
        /**
         * Gets the result gradient tensors for the layer in the training graph you specify.
         */
        resultGradientTensors(layer: MLCLayer):MLCTensor[];
        /**
         * Gets the gradient data for the trainable parameter and associated layer you specify.
         */
        gradientData(parameter: MLCTensor, layer: MLCLayer):Data | null;
    }
    export class MLCSGDOptimizer extends MLCOptimizer {
        /**
         * A hyper-parameter specifying the momentum factor.
         */
        momentumScale: Float;
        /**
         * A Boolean that indicates whether you enable Nesterov momentum.
         */
        usesNesterovMomentum: boolean;
        /**
         * Creates an SGD optimizer with the descriptor you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor);
        /**
         * Create an SGD optimizer with the descriptor, momentum scale, and option to enable Nesterov momentum that you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor, momentumScale: Float, usesNesterovMomentum: boolean);
    }
    export class MLCRMSPropOptimizer extends MLCOptimizer {
        /**
         * A hyper-parameter that specifies the momentum factor.
         */
        momentumScale: Float;
        /**
         * The constant for smoothing.
         */
        alpha: Float;
        /**
         * The epsilon value you use to improve numerical stability.
         */
        epsilon: Float;
        /**
         * A Boolean that indicates whether you compute the centered RMSProp.
         */
        isCentered: boolean;
        /**
         * Creates an RMSProp optimizer with the descriptor you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor);
        /**
         * Creates an RMSProp optimizer with the descriptor, momentum scale, smoothing, epsilon, and option to compute the centered RMSProp that you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor, momentumScale: Float, alpha: Float, epsilon: Float, isCentered: boolean);
    }
    export class MLCAdamOptimizer extends MLCOptimizer {
        /**
         * The coefficent for computing running averages of gradient.
         */
        beta1: Float;
        /**
         * The coefficent for computing running averages of square of gradient.
         */
        beta2: Float;
        /**
         * The epsilon value for improving numerical stability.
         */
        epsilon: Float;
        /**
         * The initial timestep for the update.
         */
        timeStep: number;
        /**
         * A Boolean value that indicates whether to use a variant of the algorithm.
         */
        usesAMSGrad: boolean;
        /**
         * Creates an Adam optimizer with the descriptor you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor);
        /**
         * Creates an Adam optimizer with the values you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor, beta1: Float, beta2: Float, epsilon: Float, timeStep: number);
        /**
         * Creates an Adam optimizer with the values you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor, beta1: Float, beta2: Float, epsilon: Float, usesAMSGrad: boolean, timeStep: number);
    }
    export class MLCAdamWOptimizer extends MLCOptimizer {
        /**
         * The coefficent for computing running averages of gradient. 
         */
        beta1: Float;
        /**
         * The coefficent for computing running averages of square of gradient. 
         */
        beta2: Float;
        /**
         * The epsilon value for improving numerical stability.
         */
        epsilon: Float;
        /**
         * The initial timestep for the update.
         */
        timeStep: number;
        /**
         * A Boolean value that indicates whether to use a variant of the algorithm.
         */
        usesAMSGrad: boolean;
        /**
         * Creates a default optimizer with the descriptor you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor);
        /**
         * Creates an AdamW optimizer with the values you specify.
         */
        constructor (optimizerDescriptor: MLCOptimizerDescriptor, beta1: Float, beta2: Float, epsilon: Float, usesAMSGrad: boolean, timeStep: number);
    }
    export class MLCOptimizer extends NSObject {
        /**
         * The learning rate.
         */
        learningRate: Float;
        /**
         * The rescale value the optimizer applies to gradients during updates.
         */
        gradientRescale: Float;
        /**
         * A Boolean value that indicates whether you apply gradient clipping.
         */
        appliesGradientClipping: boolean;
        /**
         * The maximum gradient value before the optimizer rescales the gradient, if you enable gradient clipping.
         */
        gradientClipMax: Float;
        /**
         * The minimum gradient value before the optimizer rescales the gradient, if you enable gradient clipping.
         */
        gradientClipMin: Float;
        /**
         * The regularization scale.
         */
        regularizationScale: Float;
        /**
         * The regularization type.
         */
        regularizationType: MLCRegularizationType;
        /**
         * The type of clipping the system applies to the gradient.
         */
        gradientClippingType: MLCGradientClippingType;
        /**
         * The maximum clipping value.
         */
        maximumClippingNorm: Float;
        /**
         * A custom norm the system uses in place of the global norm.
         */
        customGlobalNorm: Float;
    }
    export enum MLCGradientClippingType {
        byValue = 0,
        byNorm = 1,
        byGlobalNorm = 2,
    }
    export class MLCOptimizerDescriptor extends NSObject {
        /**
         * The learning rate.
         */
        learningRate: Float;
        /**
         * The rescale value the optimizer applies to gradients during updates.
         */
        gradientRescale: Float;
        /**
         * A Boolean that indicates whether you apply gradient clipping.
         */
        appliesGradientClipping: boolean;
        /**
         * The maximum gradient value before the optimizer rescales the gradient, if you enabled gradient clipping.
         */
        gradientClipMax: Float;
        /**
         * The minimum gradient value before the optimizer rescales the gradient, if you enabled gradient clipping.
         */
        gradientClipMin: Float;
        /**
         * The regularization scale.
         */
        regularizationScale: Float;
        /**
         * The regularization type.
         */
        regularizationType: MLCRegularizationType;
        /**
         * The type of clipping the system applies to the gradient.
         */
        gradientClippingType: MLCGradientClippingType;
        /**
         * The maximum clipping value.
         */
        maximumClippingNorm: Float;
        /**
         * A custom norm the system uses in place of the global norm.
         */
        customGlobalNorm: Float;
        /**
         * Creates an optimizer descriptor with the learning rate, gradient rescale, regularization type, and regulation scale that you specify.
         */
        constructor (learningRate: Float, gradientRescale: Float, regularizationType: MLCRegularizationType, regularizationScale: Float);
        /**
         * Creates a descriptor with the learning rate, gradient rescale, clipping option and values, and regularization type and scale that you specify.
         */
        constructor (learningRate: Float, gradientRescale: Float, appliesGradientClipping: boolean, gradientClipMax: Float, gradientClipMin: Float, regularizationType: MLCRegularizationType, regularizationScale: Float);
        /**
         * Creates a descriptor with the learning rate, gradient rescale, clipping option and values, and regularization type and scale that you specify.
         */
        constructor (learningRate: Float, gradientRescale: Float, appliesGradientClipping: boolean, gradientClippingType: MLCGradientClippingType, gradientClipMax: Float, gradientClipMin: Float, maximumClippingNorm: Float, customGlobalNorm: Float, regularizationType: MLCRegularizationType, regularizationScale: Float);
    }
    export class MLCTensorOptimizerDeviceData extends NSObject {}
    export enum MLCRegularizationType {
        none = 0,
        l1 = 1,
        l2 = 2,
    }
    export class MLCTensorParameter extends NSObject {
        /**
         * The underlying tensor.
         */
        tensor: MLCTensor;
        /**
         * A Boolean that indicates whether this tensor parameter is updatable.
         */
        isUpdatable: boolean;
        /**
         * Creates a tensor parameter with the tensor you specify.
         */
        constructor (tensor: MLCTensor);
        /**
         * Creates a tensor parameter with the tensor and optimizer data you specify.
         */
        constructor (tensor: MLCTensor, optimizerData: MLCTensorData[] | null);
    }
    export class MLCGraphCompilationOptions {
        /**
         * The option to debug layers during graph compilation.
         */
        static debugLayers: MLCGraphCompilationOptions;
        /**
         * The option to disable layer fusion during graph compilation.
         */
        static disableLayerFusion: MLCGraphCompilationOptions;
        /**
         * The option to link graphs during graph compilation.
         */
        static linkGraphs: MLCGraphCompilationOptions;
        /**
         * The option to compute all gradients during graph compilation.
         */
        static computeAllGradients: MLCGraphCompilationOptions;
        /**
         * Creates a graph compilation option with the specified raw value.
         */
        constructor (rawValue: UInt64);
    }
    export class MLCExecutionOptions {
        /**
         * The option to skip writing input data to device memory.
         */
        static skipWritingInputDataToDevice: MLCExecutionOptions;
        /**
         * The option to execute the graph synchronously.
         */
        static synchronous: MLCExecutionOptions;
        /**
         * The option to return profiling information in the callback before returning from execution.
         */
        static profiling: MLCExecutionOptions;
        /**
         * The option to enable additional per-layer profiling information using signposts.
         */
        static perLayerProfiling: MLCExecutionOptions;
        /**
         * The option to execute the forward pass for inference only.
         */
        static forwardForInference: MLCExecutionOptions;
        /**
         * Creates an execution option with the specified raw value.
         */
        constructor (rawValue: UInt64);
    }
    export class MLCInferenceGraph extends MLCGraph {
        /**
         * The device memory size in bytes for all intermediate tensors in the inference graph.
         */
        deviceMemorySize: number;
        /**
         * Creates an inference graph with the layers from the graph objects you specify.
         */
        constructor (graphObjects: MLCGraph[]);
        /**
         * Adds the inputs you specify to the inference graph.
         */
        addInputs(inputs: Record<string, MLCTensor>):boolean;
        /**
         * Adds the outputs you specify to the inference graph.
         */
        addOutputs(outputs: Record<string, MLCTensor>):boolean;
        /**
         * Compiles the inference graph for the options and device you specify.
         */
        compile(options: MLCGraphCompilationOptions, device: MLCDevice):boolean;
        /**
         * Links the inference graphs you specify.
         */
        link(graphs: MLCInferenceGraph[]):boolean;
        /**
         * Executes the inference graph with the inputs data, batch size, execution options, and completion handler you specify.
         */
        execute(inputsData: Record<string, MLCTensorData>, batchSize: number, options: MLCExecutionOptions, completionHandler: MLCGraphCompletionHandler | null):boolean;
    }
    export class MLCPlatform extends NSObject {
        /**
         * Returns the global random number generator seed value.
         */
        static getRNGseed():NSNumber | null;
        /**
         * Sets the global random number generator seed value.
         */
        static setRNGSeedTo(seed: NSNumber):void;
    }
}

/**
 * Import, export, and manipulate 3D models using a common infrastructure that integrates MetalKit, GLKit, and SceneKit.
 */
declare module ModelIO {
    export class MDLAsset extends NSObject {
        /**
         * The number of top-level objects in the asset.
         */
        count: number;
        /**
         * The minimum region entirely enclosing the asset’s contents.
         */
        boundingBox: MDLAxisAlignedBoundingBox;
        /**
         * The URL from which the asset was loaded, if available.
         */
        url: URL | null;
        /**
         * An object responsible for allocating mesh vertex data loaded from the asset.
         */
        bufferAllocator: MDLMeshBufferAllocator;
        /**
         * The description of the vertex data format to be used for loading mesh data from the asset.
         */
        vertexDescriptor: MDLVertexDescriptor | null;
        /**
         * An array of objects that can be reused in the asset's object hierarchy through instancing.
         */
        masters: MDLObjectContainerComponent;
        /**
         * The time interval between data samples in the asset.
         */
        frameInterval: TimeInterval;
        /**
         * The timestamp for the first timed data sample in the asset.
         */
        startTime: TimeInterval;
        /**
         * The timestamp for the last timed data sample in the asset.
         */
        endTime: TimeInterval;
        animations: MDLObjectContainerComponent;
        originals: MDLObjectContainerComponent;
        resolver: MDLAssetResolver | null;
        upAxis: vector_float3;
        /**
         * Initializes an asset from the file at the specified URL.
         */
        constructor (URL: URL);
        /**
         * Initializes an empty asset, using the specified buffer allocator. 
         */
        constructor (bufferAllocator: MDLMeshBufferAllocator | null);
        /**
         * Initializes an asset from the file at the specified URL, using the specified vertex descriptor and buffer allocator.
         */
        constructor (URL: URL | null, vertexDescriptor: MDLVertexDescriptor | null, bufferAllocator: MDLMeshBufferAllocator | null);
        /**
         * Initializes an asset from the file at the specified URL, using the specified options for allocating and transforming data during import.
         */
        constructor (URL: URL, vertexDescriptor: MDLVertexDescriptor | null, bufferAllocator: MDLMeshBufferAllocator | null, preserveTopology: boolean, error: NSErrorPointer);
        /**
         * Returns a Boolean value that indicates whether the 
         *  class can read asset data from files with the specified extension.
         */
        static canImportFileExtension(extension: string):boolean;
        /**
         * Automatically creates and places light probes for use in illuminating a scene.
         */
        static placeLightProbes(value: Float, type: MDLProbePlacement, dataSource: MDLLightProbeIrradianceDataSource):MDLLightProbe[];
        /**
         * Returns a Boolean value that indicates whether the 
         *  class can write asset data as a file with the specified format extension.
         */
        static canExportFileExtension(extension: string):boolean;
        /**
         * Returns all objects contained in the asset of the specified class.
         */
        childObjects(objectClass: AnyClass):MDLObject[];
        /**
         * Adds the specified object to the asset’s list of top-level objects.
         */
        add(object: MDLObject):void;
        /**
         * Removes the specified object from the asset’s list of top-level objects.
         */
        remove(object: MDLObject):void;
        loadTextures():void;
        object(path: string):MDLObject;
        /**
         * Writes asset data to a file at the specified URL and reports errors that occur during export.
         */
        export(URL: URL):void;
    }
    export class MDLMesh extends MDLObject {
        constructor (extent: vector_float3, segments: vector_uint3, inwardNormals: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, segments: vector_uint2, inwardNormals: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, segments: vector_uint2, inwardNormals: boolean, topCap: boolean, bottomCap: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, segments: vector_uint2, inwardNormals: boolean, cap: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, segments: vector_uint2, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, inwardNormals: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, segments: vector_uint2, hemisphereSegments: Int32, inwardNormals: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        constructor (extent: vector_float3, segments: vector_uint2, inwardNormals: boolean, cap: boolean, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null);
        /**
         * Creates a mesh in the shape of a rectangular box or cube.
         */
        static newBox(dimensions: vector_float3, segments: vector_uint3, geometryType: MDLGeometryType, inwardNormals: boolean, allocator: MDLMeshBufferAllocator | null):Self;
        /**
         * Creates a mesh in the shape of an ellipsoid or sphere.
         */
        static newEllipsoid(radii: vector_float3, radialSegments: number, verticalSegments: number, geometryType: MDLGeometryType, inwardNormals: boolean, hemisphere: boolean, allocator: MDLMeshBufferAllocator | null):Self;
        /**
         * Generates a mesh in the shape of a right circular or elliptical cylinder.
         */
        static newCylinder(height: Float, radii: vector_float2, radialSegments: number, verticalSegments: number, geometryType: MDLGeometryType, inwardNormals: boolean, allocator: MDLMeshBufferAllocator | null):Self;
        /**
         * Generates a mesh in the shape of an elliptical or circular cone.
         */
        static newEllipticalCone(height: Float, radii: vector_float2, radialSegments: number, verticalSegments: number, geometryType: MDLGeometryType, inwardNormals: boolean, allocator: MDLMeshBufferAllocator | null):Self;
        /**
         * Generates a mesh in the shape of a rectangular plane.
         */
        static newPlane(dimensions: vector_float2, segments: vector_uint2, geometryType: MDLGeometryType, allocator: MDLMeshBufferAllocator | null):Self;
        static newCapsule(height: Float, radii: vector_float2, radialSegments: number, verticalSegments: number, hemisphereSegments: number, geometryType: MDLGeometryType, inwardNormals: boolean, allocator: MDLMeshBufferAllocator | null):Self;
        /**
         * Generates a mesh in the shape of a regular 20-sided polyhedron with triangular faces.
         */
        static newIcosahedron(radius: Float, inwardNormals: boolean, allocator: MDLMeshBufferAllocator | null):Self;
        removeAttributeNamed(name: string):void;
        replaceAttributeNamed(name: string, newData: MDLVertexAttributeData):void;
        updateAttributeNamed(name: string, newData: MDLVertexAttributeData):void;
        addUnwrappedTextureCoordinates(textureCoordinateAttributeName: string):void;
        /**
         * Returns the vertex data for the specified attribute.
         */
        vertexAttributeData(name: string):MDLVertexAttributeData | null;
        /**
         * Generates surface normal data for the mesh based on its vertex position data.
         */
        addNormals(attributeName: string, creaseThreshold: Float):void;
        /**
         * Generates surface tangent and bitangent data for the mesh based on its vertex position and texture coordinate data.
         */
        addTangentBasis(textureCoordinateAttributeName: string, tangentAttributeName: string, bitangentAttributeName: string):void;
        /**
         * Modifies the mesh’s vertex buffers so that no vertices are shared by multiple faces.
         */
        makeVerticesUnique():void;
        /**
         * Calculates ambient occlusion (AO) information for the mesh and saves it in the mesh as a material property texture.
         */
        generateAmbientOcclusionTexture(bakeQuality: Float, attenuationFactor: Float, objectsToConsider: MDLObject[], vertexAttributeName: string, materialPropertyName: string):boolean;
        /**
         * Calculates ambient occlusion (AO) information for the mesh and saves it in the mesh as a vertex color attribute.
         */
        generateAmbientOcclusionVertexColors(bakeQuality: Float, attenuationFactor: Float, objectsToConsider: MDLObject[], vertexAttributeName: string):boolean;
        /**
         * Calculates static lighting information for the mesh and saves it in the mesh as a material property texture.
         */
        generateLightMapTexture(bakeQuality: Float, lightsToConsider: MDLLight[], objectsToConsider: MDLObject[], vertexAttributeName: string, materialPropertyName: string):boolean;
        /**
         * Calculates static lighting information for the mesh and saves it in the mesh as a vertex color attribute.
         */
        generateLightMapVertexColorsWithLights(lightsToConsider: MDLLight[], objectsToConsider: MDLObject[], vertexAttributeName: string):boolean;
        addOrthTanBasis(textureCoordinateAttributeName: string, normalAttributeName: string, tangentAttributeName: string):void;
        flipTextureCoordinates(textureCoordinateAttributeName: string):void;
        makeVerticesUniqueAndReturnError():void;
    }
    export class MDLMatrix4x4Array extends NSObject {
        float4x4Array: float4x4[];
        precision: MDLDataPrecision;
        clear():void;
    }
    export class MDLPackedJointAnimation extends MDLObject {
        jointPaths: string[];
        rotations: MDLAnimatedQuaternionArray;
        scales: MDLAnimatedVector3Array;
        translations: MDLAnimatedVector3Array;
        constructor (name: string, jointPaths: string[]);
    }
    export class MDLPathAssetResolver extends NSObject {
        path: string;
        constructor (path: string);
    }
    export class MDLRelativeAssetResolver extends NSObject {
        asset: MDLAsset | null;
        constructor (asset: MDLAsset);
    }
    export class MDLSkeleton extends MDLObject {
        jointBindTransforms: MDLMatrix4x4Array;
        jointPaths: string[];
        jointRestTransforms: MDLMatrix4x4Array;
        constructor (name: string, jointPaths: string[]);
    }
    export class MDLTransformMatrixOp extends NSObject {
        animatedValue: MDLAnimatedMatrix4x4;
        name: string;
    }
    export class MDLTransformOrientOp extends NSObject {
        animatedValue: MDLAnimatedQuaternion;
        name: string;
    }
    export class MDLTransformRotateOp extends NSObject {
        animatedValue: MDLAnimatedVector3;
        name: string;
    }
    export class MDLTransformRotateXOp extends NSObject {
        animatedValue: MDLAnimatedScalar;
        name: string;
    }
    export class MDLTransformRotateYOp extends NSObject {
        animatedValue: MDLAnimatedScalar;
        name: string;
    }
    export class MDLTransformRotateZOp extends NSObject {
        animatedValue: MDLAnimatedScalar;
        name: string;
    }
    export class MDLTransformScaleOp extends NSObject {
        animatedValue: MDLAnimatedVector3;
        name: string;
    }
    export class MDLTransformStack extends NSObject {
        keyTimes: NSNumber[];
        transformOps: MDLTransformOp[];
        constructor ();
        addMatrixOp(animatedValueName: string, inverse: boolean):MDLTransformMatrixOp;
        addOrientOp(animatedValueName: string, inverse: boolean):MDLTransformOrientOp;
        addRotateOp(animatedValueName: string, order: MDLTransformOpRotationOrder, inverse: boolean):MDLTransformRotateOp;
        addRotateXOp(animatedValueName: string, inverse: boolean):MDLTransformRotateXOp;
        addRotateYOp(animatedValueName: string, inverse: boolean):MDLTransformRotateYOp;
        addRotateZOp(animatedValueName: string, inverse: boolean):MDLTransformRotateZOp;
        addScaleOp(animatedValueName: string, inverse: boolean):MDLTransformScaleOp;
        addTranslateOp(animatedValueName: string, inverse: boolean):MDLTransformTranslateOp;
        animatedValue(name: string):MDLAnimatedValue;
        count():number;
        double4x4(time: TimeInterval):matrix_double4x4;
        float4x4(time: TimeInterval):matrix_float4x4;
    }
    export class MDLTransformTranslateOp extends NSObject {
        animatedValue: MDLAnimatedVector3;
        name: string;
    }
    export interface MDLAssetResolver extends NSObjectProtocol {
        canResolveAssetNamed(name: string):boolean;
        resolveAssetNamed(name: string):URL;
    }
    export interface MDLJointAnimation {}
    export interface MDLTransformOp {
        name: string;
        double4x4(time: TimeInterval):matrix_double4x4;
        float4x4(time: TimeInterval):matrix_float4x4;
        isInverseOp():boolean;
    }
    export class MDLSubmesh extends NSObject {
        /**
         * An object that provides index data for the submesh.
         */
        indexBuffer: MDLMeshBuffer;
        /**
         * The number of indices in the submesh’s index buffer.
         */
        indexCount: number;
        /**
         * The data type for each element in the submesh’s index buffer.
         */
        indexType: MDLIndexBitDepth;
        /**
         * The type of geometric primitives described by the submesh’s index buffer.
         */
        geometryType: MDLGeometryType;
        /**
         * A description of how the non-uniform layout of the submesh’s index buffer defines the shape of the mesh.
         */
        topology: MDLSubmeshTopology | null;
        /**
         * An object that describes the intended surface appearance of the submesh for rendering.
         */
        material: MDLMaterial | null;
        /**
         * A descriptive name for the submesh.
         */
        name: string;
        /**
         * Initializes a submesh with an index buffer and the specified properties.
         */
        constructor (indexBuffer: MDLMeshBuffer, indexCount: number, indexType: MDLIndexBitDepth, geometryType: MDLGeometryType, material: MDLMaterial | null);
        /**
         * Initializes a named submesh with an index buffer and the specified properties.
         */
        constructor (name: string, indexBuffer: MDLMeshBuffer, indexCount: number, indexType: MDLIndexBitDepth, geometryType: MDLGeometryType, material: MDLMaterial | null);
        /**
         * Initializes a named submesh with a specific topology.
         */
        constructor (name: string, indexBuffer: MDLMeshBuffer, indexCount: number, indexType: MDLIndexBitDepth, geometryType: MDLGeometryType, material: MDLMaterial | null, topology: MDLSubmeshTopology | null);
        /**
         * Initializes a submesh by copying or converting another submesh.
         */
        constructor (submesh: MDLSubmesh, indexType: MDLIndexBitDepth, geometryType: MDLGeometryType);
    }
    export enum MDLIndexBitDepth {
        invalid = 0,
        uInt8 = 8,
        uInt16 = 16,
        uInt32 = 32,
    }
    export enum MDLGeometryType {
        points = 0,
        lines = 1,
        triangles = 2,
        triangleStrips = 3,
        quads = 4,
        variableTopology = 5,
    }
    export class MDLSubmeshTopology extends NSObject {
        /**
         * A buffer identifying the faces in the submesh and the number of vertices in each.
         */
        faceTopology: MDLMeshBuffer | null;
        /**
         * The number of faces in the submesh’s face topology buffer.
         */
        faceCount: number;
        /**
         * A buffer containing vertex indices that describe edges to be treated as creases during surface subdivision. 
         */
        edgeCreaseIndices: MDLMeshBuffer | null;
        /**
         * A buffer containing sharpness values to be applied to edges during surface subdivision.
         */
        edgeCreases: MDLMeshBuffer | null;
        /**
         * The number of entries in the edge creases buffers.
         */
        edgeCreaseCount: number;
        /**
         * A buffer containing vertex indices to be treated as creases during surface subdivision. 
         */
        vertexCreaseIndices: MDLMeshBuffer | null;
        /**
         * A buffer containing sharpness values to be applied to points during surface subdivision.
         */
        vertexCreases: MDLMeshBuffer | null;
        /**
         * The number of entries in the vertex creases buffers.
         */
        vertexCreaseCount: number;
        /**
         * An index buffer identifying faces to be treated as holes in the mesh during surface subdivision.
         */
        holes: MDLMeshBuffer | null;
        /**
         * The number of entries in the holes buffer.
         */
        holeCount: number;
        constructor (submesh: MDLSubmesh);
    }
    export interface MDLNamed {
        /**
         * A descriptive name for the object.
         */
        name: string;
    }
    export interface MDLMeshBuffer extends NSCopying,NSObjectProtocol {
        /**
         * Writes the specified data into the buffer.
         */
        fill(data: Data, offset: number):void;
        /**
         * Provides direct, read-only access to the buffer’s contents.
         */
        map():MDLMeshBufferMap;
        /**
         * The data size of the buffer, in bytes.
         */
        length: number;
        /**
         * The allocator object that created the buffer.
         */
        allocator: MDLMeshBufferAllocator;
        /**
         * The memory pool from which the buffer was created.
         */
        zone: MDLMeshBufferZone;
        /**
         * The type of data contained in a buffer.
         */
        type: MDLMeshBufferType;
    }
    export enum MDLMeshBufferType {
        vertex = 1,
        index = 2,
        custom = 3,
    }
    export interface MDLMeshBufferAllocator extends NSObjectProtocol {
        /**
         * Creates a zone for related memory allocations.
         */
        newZone(capacity: number):MDLMeshBufferZone;
        /**
         * Creates a zone large enough to fit the specified group of allocation sizes.
         */
        newZoneForBuffers(sizes: NSNumber[], types: NSNumber[]):MDLMeshBufferZone;
        /**
         * Creates a new buffer of the specified length.
         */
        newBuffer(length: number, type: MDLMeshBufferType):MDLMeshBuffer;
    }
    export class MDLMeshBufferData extends NSObject {
        /**
         * The underlying data storage for the mesh buffer. 
         */
        data: Data;
        /**
         * Initializes a buffer containing the specified data.
         */
        constructor (type: MDLMeshBufferType, data: Data | null);
        /**
         * Initializes a buffer of the specified length.
         */
        constructor (type: MDLMeshBufferType, length: number);
    }
    export class MDLMeshBufferDataAllocator extends NSObject {}
    export class MDLMeshBufferMap extends NSObject {
        /**
         * A pointer to the mutable memory managed by the buffer map.
         */
        bytes: UnsafeMutableRawPointer;
        /**
         * Initializes a buffer map object to manage access to the specified memory. 
         */
        constructor (bytes: UnsafeMutableRawPointer, deallocator: ()=>any | null);
    }
    export interface MDLMeshBufferZone extends NSObjectProtocol {
        /**
         * The allocator object that created the zone.
         */
        allocator: MDLMeshBufferAllocator;
        /**
         * The data capacity of the zone, in bytes.
         */
        capacity: number;
    }
    export class MDLMeshBufferZoneDefault extends NSObject {
        allocator: MDLMeshBufferAllocator;
        capacity: number;
    }
    export class MDLVertexAttribute extends NSObject {
        /**
         * An identifier for the semantic use of the vertex attribute.
         */
        name: string;
        /**
         * The format of per-vertex data for the attribute.
         */
        format: MDLVertexFormat;
        /**
         * The offset, in bytes, of vertex data for the attribute in a vertex buffer, relative to the start of data for each vertex.
         */
        offset: number;
        /**
         * The index of the vertex buffer containing data for this attribute in a mesh’s 
         *  array.
         */
        bufferIndex: number;
        /**
         * The default value for vertex data for this attribute.
         */
        initializationValue: vector_float4;
        time: TimeInterval;
        /**
         * Initializes a vertex attribute object with the specified property values.
         */
        constructor (name: string, format: MDLVertexFormat, offset: number, bufferIndex: number);
    }
    export enum MDLVertexFormat {
        invalid = 0,
        packedBit = 4096,
        uCharBits = 65536,
        charBits = 131072,
        uCharNormalizedBits = 196608,
        charNormalizedBits = 262144,
        uShortBits = 327680,
        shortBits = 393216,
        uShortNormalizedBits = 458752,
        shortNormalizedBits = 524288,
        uIntBits = 589824,
        intBits = 655360,
        halfBits = 720896,
        floatBits = 786432,
        uChar = 65537,
        uChar2 = 65538,
        uChar3 = 65539,
        uChar4 = 65540,
        char = 131073,
        char2 = 131074,
        char3 = 131075,
        char4 = 131076,
        uCharNormalized = 196609,
        uChar2Normalized = 196610,
        uChar3Normalized = 196611,
        uChar4Normalized = 196612,
        charNormalized = 262145,
        char2Normalized = 262146,
        char3Normalized = 262147,
        char4Normalized = 262148,
        uShort = 327681,
        uShort2 = 327682,
        uShort3 = 327683,
        uShort4 = 327684,
        short = 393217,
        short2 = 393218,
        short3 = 393219,
        short4 = 393220,
        uShortNormalized = 458753,
        uShort2Normalized = 458754,
        uShort3Normalized = 458755,
        uShort4Normalized = 458756,
        shortNormalized = 524289,
        short2Normalized = 524290,
        short3Normalized = 524291,
        short4Normalized = 524292,
        uInt = 589825,
        uInt2 = 589826,
        uInt3 = 589827,
        uInt4 = 589828,
        int = 655361,
        int2 = 655362,
        int3 = 655363,
        int4 = 655364,
        half = 720897,
        half2 = 720898,
        half3 = 720899,
        half4 = 720900,
        float = 786433,
        float2 = 786434,
        float3 = 786435,
        float4 = 786436,
        int1010102Normalized = 659460,
        uInt1010102Normalized = 593924,
    }
    export enum MDLProbePlacement {
        irradianceDistribution = 1,
        uniformGrid = 0,
    }
    export class MDLVertexAttributeData extends NSObject {
        /**
         * The offset, in bytes, from the start of the data to where vertex attribute information begins.
         */
        dataStart: UnsafeMutableRawPointer;
        /**
         * The stride, in bytes, between vertex information for consecutive vertices in the data.
         */
        stride: number;
        /**
         * The format of per-vertex data for the attribute.
         */
        format: MDLVertexFormat;
        bufferSize: number;
        map: MDLMeshBufferMap;
    }
    export class MDLVertexBufferLayout extends NSObject {
        /**
         * The stride, in bytes, between data for separate vertices in a vertex buffer.
         */
        stride: number;
        constructor (stride: number);
    }
    export class MDLVertexDescriptor extends NSObject {
        /**
         * The list of vertex attributes described by the vertex descriptor.
         */
        attributes: NSMutableArray;
        /**
         * The list of vertex buffer layouts described by the vertex descriptor.
         */
        layouts: NSMutableArray;
        /**
         * Creates a new vertex descriptor by performing a deep copy of the specified vertex descriptor.
         */
        constructor (vertexDescriptor: MDLVertexDescriptor);
        /**
         * Returns the vertex attribute with the specified name in the vertex descriptor.
         */
        attributeNamed(name: string):MDLVertexAttribute | null;
        /**
         * Adds the specified vertex attribute to the vertex descriptor, replacing any existing attribute with the same name.
         */
        addOrReplaceAttribute(attribute: MDLVertexAttribute):void;
        /**
         * Sets the offset for each vertex attribute to the minimum value to pack vertex data together in a single buffer.
         */
        setPackedOffsets():void;
        /**
         * Sets the stride for each vertex layout to the minimum value to pack vertex data together in a single buffer.
         */
        setPackedStrides():void;
        /**
         * Resets a vertex descriptor to its default state.
         */
        reset():void;
        removeAttributeNamed(name: string):void;
    }
    export class MDLMaterial extends NSObject {
        /**
         * The collection of material properties that define the material’s response to light.
         */
        scatteringFunction: MDLScatteringFunction;
        /**
         * Another material object from which this material’s properties are derived.
         */
        base: MDLMaterial | null;
        /**
         * The number of material properties in the material.
         */
        count: number;
        /**
         * A descriptive name for the material.
         */
        name: string;
        materialFace: MDLMaterialFace;
        /**
         * Initializes a material 
         */
        constructor (name: string, scatteringFunction: MDLScatteringFunction);
        /**
         * Returns the material property with the specified name.
         */
        propertyNamed(name: string):MDLMaterialProperty | null;
        /**
         * Returns the material property for the specified material semantic.
         */
        property(semantic: MDLMaterialSemantic):MDLMaterialProperty | null;
        /**
         * Adds a new material property to or replaces an existing material property in the material.
         */
        setProperty(property: MDLMaterialProperty):void;
        /**
         * Removes the specified material property from the material.
         */
        remove(property: MDLMaterialProperty):void;
        /**
         * Removes all material properties from the material.
         */
        removeAllProperties():void;
        loadTextures(resolver: MDLAssetResolver):void;
        properties(semantic: MDLMaterialSemantic):MDLMaterialProperty[];
        resolveTextures(resolver: MDLAssetResolver):void;
    }
    export class MDLMaterialProperty extends NSObject {
        /**
         * A descriptive name for the material property.
         */
        name: string;
        /**
         * The semantic meaning for the material property’s value.
         */
        semantic: MDLMaterialSemantic;
        /**
         * The data type stored in the material property’s value.
         */
        type: MDLMaterialPropertyType;
        /**
         * The string value for the material.
         */
        stringValue: string;
        /**
         * The URL value for the material property—typically, the URL to a texture image.
         */
        urlValue: URL | null;
        /**
         * A texture sampler object that provides the texture image value for the material property.
         */
        textureSamplerValue: MDLTextureSampler | null;
        /**
         * The color value for the material property.
         */
        color: CGColor | null;
        /**
         * The scalar floating-point value for the material property. 
         */
        floatValue: Float;
        /**
         * The 2-component floating-point vector value for the material property. 
         */
        float2Value: vector_float2;
        /**
         * The 3-component floating-point vector value for the material property. 
         */
        float3Value: vector_float3;
        /**
         * The 4-component floating-point vector value for the material property. 
         */
        float4Value: vector_float4;
        /**
         * The 4 x 4 floating-point matrix value for the material property.
         */
        matrix4x4: matrix_float4x4;
        luminance: Float;
        /**
         * Initializes a material property without a value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic);
        /**
         * Initializes a material property with a string value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, _string: string);
        /**
         * Initializes a material property with a URL value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, URL: URL | null);
        /**
         * Initializes a material property with a texture sampler object.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, textureSampler: MDLTextureSampler | null);
        /**
         * Initializes a material property with a color value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, color: CGColor);
        /**
         * Initializes a material property with a scalar value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, value: Float);
        /**
         * Initializes a material property with a 2-component vector value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, value: vector_float2);
        /**
         * Initializes a material property with a 3-component vector value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, value: vector_float3);
        /**
         * Initializes a material property with a 4-component vector value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, value: vector_float4);
        /**
         * Initializes a material property with a 4 x 4 matrix value.
         */
        constructor (name: string, semantic: MDLMaterialSemantic, value: matrix_float4x4);
        /**
         * Sets the material property’s attributes to those of the specified material property.
         */
        setProperties(property: MDLMaterialProperty):void;
    }
    export enum MDLMaterialSemantic {
        baseColor = 0,
        subsurface = 1,
        metallic = 2,
        specular = 3,
        specularExponent = 4,
        specularTint = 5,
        roughness = 6,
        anisotropic = 7,
        anisotropicRotation = 8,
        sheen = 9,
        sheenTint = 10,
        clearcoat = 11,
        clearcoatGloss = 12,
        emission = 13,
        bump = 14,
        opacity = 15,
        interfaceIndexOfRefraction = 16,
        materialIndexOfRefraction = 17,
        objectSpaceNormal = 18,
        tangentSpaceNormal = 19,
        displacement = 20,
        displacementScale = 21,
        ambientOcclusion = 22,
        ambientOcclusionScale = 23,
        none = 32768,
        userDefined = 32769,
    }
    export enum MDLMaterialPropertyType {
        none = 0,
        string = 1,
        URL = 2,
        texture = 3,
        color = 4,
        float = 5,
        float2 = 6,
        float3 = 7,
        float4 = 8,
        matrix44 = 9,
        buffer = 10,
    }
    export class MDLMaterialPropertyConnection extends NSObject {
        input: MDLMaterialProperty | null;
        output: MDLMaterialProperty | null;
        constructor (output: MDLMaterialProperty, input: MDLMaterialProperty);
    }
    export class MDLObject extends NSObject {
        /**
         * The parent object that contains this object.
         */
        parent: MDLObject | null;
        /**
         * A component that manages this object’s collection of children.
         */
        children: MDLObjectContainerComponent;
        /**
         * A path that identifies the object in an asset's object hierarchy using object names.
         */
        path: string;
        /**
         * A component that manages this object’s spatial transform and its changes over time.
         */
        transform: MDLTransformComponent | null;
        /**
         * A Boolean value indicating whether this object should be used in rendering.
         */
        hidden: boolean;
        /**
         * The primary object, if applicable, of which this object is an instance.
         */
        instance: MDLObject | null;
        components: MDLComponent[];
        /**
         * Returns the object’s component for the specified protocol.
         */
        componentConforming(protocol: Protocol):MDLComponent | null;
        /**
         * Associates a component with the object for the specified protocol.
         */
        setComponent(component: MDLComponent, protocol: Protocol):void;
        /**
         * Adds a child object to this object, creating a container for the object’s children if necessary.
         */
        addChild(child: MDLObject):void;
        /**
         * Executes the specified block using each object in this object's child hierarchy. 
         */
        enumerateChildObjects(objectClass: AnyClass, root: MDLObject, block: ()=>any, stopPointer: UnsafeMutablePointer<ObjCBool>):void;
        /**
         * Returns the child object at the specified path.
         */
        atPath(path: string):MDLObject;
        /**
         * Returns the minimum region entirely enclosing the object’s contents at the specified time sample.
         */
        boundingBox(time: TimeInterval):MDLAxisAlignedBoundingBox;
    }
    export class MDLMaterialPropertyGraph extends MDLMaterialPropertyNode {
        connections: MDLMaterialPropertyConnection[];
        nodes: MDLMaterialPropertyNode[];
        constructor (nodes: MDLMaterialPropertyNode[], connections: MDLMaterialPropertyConnection[]);
        evaluate():void;
    }
    export class MDLMaterialPropertyNode extends NSObject {
        evaluationFunction: ()=>any;
        inputs: MDLMaterialProperty[];
        outputs: MDLMaterialProperty[];
        constructor (inputs: MDLMaterialProperty[], outputs: MDLMaterialProperty[], _function: ()=>any);
    }
    export class MDLScatteringFunction extends NSObject {
        /**
         * A descriptive name for the scattering function.
         */
        name: string;
        /**
         * The inherent color of the material, to be used as a modulator during shading.
         */
        baseColor: MDLMaterialProperty;
        /**
         * The color emitted as radiance from a material’s surface.
         */
        emission: MDLMaterialProperty;
        /**
         * The intensity of specular highlights on the material’s surface.
         */
        specular: MDLMaterialProperty;
        /**
         * The index of refraction for the medium surrounding a material.
         */
        materialIndexOfRefraction: MDLMaterialProperty;
        /**
         * The index of refraction for a material itself.
         */
        interfaceIndexOfRefraction: MDLMaterialProperty;
        /**
         * The variation in the surface normal vectors in a material, relative to model coordinate space.
         */
        normal: MDLMaterialProperty;
        /**
         * The attenuation of ambient light due to local geometry variations on a surface.
         */
        ambientOcclusion: MDLMaterialProperty;
        /**
         * The scaling factor for ambient occlusion shading.
         */
        ambientOcclusionScale: MDLMaterialProperty;
    }
    export class MDLPhysicallyPlausibleScatteringFunction extends MDLScatteringFunction {
        /**
         * The degree to which light scatters under the surface of the material.
         */
        subsurface: MDLMaterialProperty;
        /**
         * The degree to which the material appears as a dielectric surface (lower values) or as a metal (higher values).
         */
        metallic: MDLMaterialProperty;
        /**
         * The tendency of the material to generate specular highlights.
         */
        specularAmount: MDLMaterialProperty;
        /**
         * The balance of color for specular highlights, between the light color (lower values) and the material’s base color (at higher values).
         */
        specularTint: MDLMaterialProperty;
        /**
         * The degree to which a material appears smooth, affecting both diffuse and specular response.
         */
        roughness: MDLMaterialProperty;
        /**
         * The degree to which specular highlights elongate in the direction of the local tangent basis.
         */
        anisotropic: MDLMaterialProperty;
        /**
         * The angle at which anisotropic effects are rotated relative to the local tangent basis. 
         */
        anisotropicRotation: MDLMaterialProperty;
        /**
         * The intensity of highlights that appear only at glancing angles on a material’s surface.
         */
        sheen: MDLMaterialProperty;
        /**
         * The balance of color for highlights that appear only at glancing angles, between the light color (lower values) and the material’s base color (at higher values).
         */
        sheenTint: MDLMaterialProperty;
        /**
         * The intensity of a second specular highlight, similar to the gloss that results from a clear coat on an automotive finish.
         */
        clearcoat: MDLMaterialProperty;
        /**
         * The sharpness of a second specular highlight, similar to the gloss that results from a clear coat on an automotive finish.
         */
        clearcoatGloss: MDLMaterialProperty;
        version: number;
    }
    export class MDLTexture extends NSObject {
        /**
         * The width and height, in texels, of the texture image.
         */
        dimensions: vector_int2;
        /**
         * The number of bytes between the first texel in a row of image data and the first texel in the next row.
         */
        rowStride: number;
        /**
         * The number of channels per texel.
         */
        channelCount: number;
        /**
         * The data format for each channel value per texel.
         */
        channelEncoding: MDLTextureChannelEncoding;
        /**
         * A Boolean value that indicates whether the texture is a cube textures.
         */
        isCube: boolean;
        /**
         * The number of mipmap levels contained in the texture image data.
         */
        mipLevelCount: number;
        hasAlphaValues: boolean;
        /**
         * Loads the texture with the specified filename from the app’s main bundle.
         */
        constructor (name: string);
        /**
         * Loads the texture with the specified filename from the specified bundle.
         */
        constructor (name: string, bundleOrNil: Bundle | null);
        /**
         * Loads a cube texture from the specified image files in the app’s main bundle.
         */
        constructor (names: string[]);
        /**
         * Loads a cube texture from the specified image files in the specified bundle.
         */
        constructor (names: string[], bundleOrNil: Bundle | null);
        /**
         * Initializes a texture object with the specified image data and properties.
         */
        constructor (pixelData: Data | null, topLeftOrigin: boolean, name: string, dimensions: vector_int2, rowStride: number, channelCount: number, channelEncoding: MDLTextureChannelEncoding, isCube: boolean);
        constructor ();
        constructor (name: string, resolver: MDLAssetResolver);
        /**
         * Generates an irradiance texture from the specified reflectance cube texture.
         */
        static irradianceTextureCube(texture: MDLTexture, name: string, dimensions: vector_int2):Self;
        /**
         * Exports the texture data to an image file at the specified URL.
         */
        write(URL: URL):boolean;
        /**
         * Exports the texture data as a CoreGraphics image.
         */
        imageFromTexture():Unmanaged<CGImage> | null;
        /**
         * Returns the texture’s image data, organized such that its first pixel represents the top-left corner of the image.
         */
        texelDataWithTopLeftOrigin():Data | null;
        /**
         * Returns the texture’s image data, organized such that its first pixel represents the bottom-left corner of the image.
         */
        texelDataWithBottomLeftOrigin():Data | null;
    }
    export enum MDLTextureChannelEncoding {
        uInt8 = 1,
        uInt16 = 2,
        uInt24 = 3,
        uInt32 = 4,
        float16 = 258,
        float32 = 260,
        float16SR = 770,
    }
    export class MDLCheckerboardTexture extends MDLTexture {
        /**
         * The color for half of the squares in the checkerboard pattern.
         */
        color1: CGColor | null;
        /**
         * The color for the other half of the squares in the checkerboard pattern.
         */
        color2: CGColor | null;
        /**
         * The number of squares along each dimension in the checkerboard pattern.
         */
        divisions: Float;
        /**
         * Initializes a checkerboard texture with the specified colors and other properties.
         */
        constructor (divisions: Float, name: string, dimensions: vector_int2, channelCount: Int32, channelEncoding: MDLTextureChannelEncoding, color1: CGColor, color2: CGColor);
    }
    export class MDLColorSwatchTexture extends MDLTexture {
        /**
         * Initializes a texture that creates a vertical gradient between two colors.
         */
        constructor (color1: CGColor, color2: CGColor, name: string, textureDimensions: vector_int2);
        /**
         * Initializes a texture that creates a vertical gradient between two color temperatures.
         */
        constructor (colorTemperature1: Float, colorTemperature2: Float, name: string, textureDimensions: vector_int2);
    }
    export class MDLNoiseTexture extends MDLTexture {
        /**
         * Initializes a noise texture that creates random color noise.
         */
        constructor (smoothness: Float, name: string, textureDimensions: vector_int2, channelCount: Int32, channelEncoding: MDLTextureChannelEncoding, grayscale: boolean);
        /**
         * Initializes a noise texture that creates random directional noise.
         */
        constructor (smoothness: Float, name: string, textureDimensions: vector_int2, channelEncoding: MDLTextureChannelEncoding);
        constructor (frequency: Float, name: string, textureDimensions: vector_int2, channelEncoding: MDLTextureChannelEncoding);
    }
    export class MDLNormalMapTexture extends MDLTexture {
        /**
         * Initializes a normal map to be generated from the specified texture.
         */
        constructor (sourceTexture: MDLTexture, name: string, smoothness: Float, contrast: Float);
    }
    export class MDLSkyCubeTexture extends MDLTexture {
        /**
         * The cloudiness or haziness of the simulated sky.
         */
        turbidity: Float;
        /**
         * The sun’s position in the simulated sky.
         */
        sunElevation: Float;
        /**
         * A factor that influences the color of the simulated sky.
         */
        upperAtmosphereScattering: Float;
        /**
         * A factor that influences the clarity of the simulated sky.
         */
        groundAlbedo: Float;
        /**
         * The color of the simulated ground.
         */
        groundColor: CGColor | null;
        /**
         * The angle, in radians relative to center, below which to render the ground color.
         */
        horizonElevation: Float;
        /**
         * The amount of gamma correction to apply during tone mapping.
         */
        gamma: Float;
        /**
         * The amount of exposure compensation to apply during tone mapping.
         */
        exposure: Float;
        /**
         * The amount of brightness enhancement to apply during tone mapping.
         */
        brightness: Float;
        /**
         * The amount of contrast enhancement to apply during tone mapping.
         */
        contrast: Float;
        /**
         * The amount of saturation enhancement to apply during tone mapping.
         */
        saturation: Float;
        /**
         * Two parameters that determine the brightness compression curve for colors in the texture image.
         */
        highDynamicRangeCompression: vector_float2;
        sunAzimuth: Float;
        /**
         * Initializes a sky cube texture object with the specified parameters.
         */
        constructor (name: string, channelEncoding: MDLTextureChannelEncoding, textureDimensions: vector_int2, turbidity: Float, sunElevation: Float, upperAtmosphereScattering: Float, groundAlbedo: Float);
        constructor (name: string, channelEncoding: MDLTextureChannelEncoding, textureDimensions: vector_int2, turbidity: Float, sunElevation: Float, sunAzimuth: Float, upperAtmosphereScattering: Float, groundAlbedo: Float);
        /**
         * Generates new texel data matching the current sky parameters.
         */
        update():void;
    }
    export class MDLURLTexture extends MDLTexture {
        /**
         * The URL from which to load texture data.
         */
        url: URL;
        /**
         * Initializes a texture that loads its texel data from a file at the specified URL.
         */
        constructor (URL: URL, name: string);
    }
    export class MDLTextureFilter extends NSObject {
        /**
         * The coordinate wrapping mode for texture t-coordinates.
         */
        sWrapMode: MDLMaterialTextureWrapMode;
        /**
         * The coordinate wrapping mode for texture t-coordinates.
         */
        tWrapMode: MDLMaterialTextureWrapMode;
        /**
         * The coordinate wrapping mode for texture r-coordinates.
         */
        rWrapMode: MDLMaterialTextureWrapMode;
        /**
         * The filter mode for rendering textures at sizes smaller than that of the original image.
         */
        minFilter: MDLMaterialTextureFilterMode;
        /**
         * The filter mode for rendering textures at sizes larger than that of the original image.
         */
        magFilter: MDLMaterialTextureFilterMode;
        /**
         * The filter mode for rendering textures using mipmapping.
         */
        mipFilter: MDLMaterialMipMapFilterMode;
    }
    export enum MDLMaterialTextureWrapMode {
        clamp = 0,
        repeat = 1,
        mirror = 2,
    }
    export enum MDLMaterialTextureFilterMode {
        nearest = 0,
        linear = 1,
    }
    export enum MDLMaterialMipMapFilterMode {
        nearest = 0,
        linear = 1,
    }
    export class MDLTextureSampler extends NSObject {
        /**
         * The texture object that provides image data for sampling.
         */
        texture: MDLTexture | null;
        /**
         * An object that describes filtering modes for sampling from the texture.
         */
        hardwareFilter: MDLTextureFilter | null;
        /**
         * The transformation to be applied to texture coordinate data before sampling from the texture.
         */
        transform: MDLTransform | null;
    }
    export class MDLLight extends MDLObject {
        /**
         * The type of the light.
         */
        lightType: MDLLightType;
        /**
         * The name of the Core Graphics color space to be used for interpreting the light's color information.
         */
        colorSpace: string;
        /**
         * Returns the radiance of the light as received at a specific point in the same scene.
         */
        irradiance(point: vector_float3):Unmanaged<CGColor>;
    }
    export enum MDLLightType {
        unknown = 0,
        ambient = 1,
        directional = 2,
        spot = 3,
        point = 4,
        linear = 5,
        discArea = 6,
        rectangularArea = 7,
        superElliptical = 8,
        photometric = 9,
        probe = 10,
        environment = 11,
    }
    export class MDLAreaLight extends MDLPhysicallyPlausibleLight {
        /**
         * The radius, in units of local coordinate space, of the area from which light emanates.
         */
        areaRadius: Float;
        /**
         * The aspect ratio of the light’s shape.
         */
        aspect: Float;
        /**
         * A vector that controls the roundness of a superelliptical light in the x- and y-axis directions.
         */
        superEllipticPower: vector_float2;
    }
    export class MDLLightProbe extends MDLLight {
        /**
         * A cube map texture that contains a rendering of a scene as seen from the light probe’s position.
         */
        reflectiveTexture: MDLTexture | null;
        /**
         * A cube map texture that contains samples of the total light arriving at the light probe’s position from every direction.
         */
        irradianceTexture: MDLTexture | null;
        /**
         * Data containing the spherical harmonics coefficients for the light.
         */
        sphericalHarmonicsCoefficients: Data | null;
        /**
         * The number of levels of spherical harmonics information in the light probe.
         */
        sphericalHarmonicsLevel: number;
        /**
         * Initializes a light probe with the specified cube map textures.
         */
        constructor (reflectiveTexture: MDLTexture | null, irradianceTexture: MDLTexture | null);
        /**
         * Creates a light probe representing the shading environment at a specific point in a scene.
         */
        constructor (textureSize: number, transform: MDLTransform, lightsToConsider: MDLLight[], objectsToConsider: MDLObject[], reflectiveCubemap: MDLTexture | null, irradianceCubemap: MDLTexture | null);
        /**
         * Generates spherical harmonics information based on the light probe’s irradiance texture.
         */
        generateSphericalHarmonics(sphericalHarmonicsLevel: number):void;
    }
    export interface MDLLightProbeIrradianceDataSource extends NSObjectProtocol {
        /**
         * The bounding region of the scene to which light probes are being added.
         */
        boundingBox: MDLAxisAlignedBoundingBox;
        /**
         * The number of levels of spherical harmonics information provided by the data source. 
         */
        sphericalHarmonicsLevel: number;
        /**
         * Asks the data source to provide spherical harmonics coefficients that describe lighting conditions in all directions from the specified point in a scene. 
         */
        sphericalHarmonicsCoefficients(position: vector_float3):Data;
    }
    export class MDLPhotometricLight extends MDLPhysicallyPlausibleLight {
        /**
         * A cube map texture describing the light’s intensity in all directions.
         */
        lightCubeMap: MDLTexture | null;
        /**
         * Data containing spherical harmonics coefficients that describe the light’s intensity in all directions.
         */
        sphericalHarmonicsCoefficients: Data | null;
        /**
         * The number of levels of generated spherical harmonics information.
         */
        sphericalHarmonicsLevel: number;
        /**
         * Initializes a light from photometry data in the file at the specified URL.
         */
        constructor (URL: URL);
        /**
         * Generates a cube map texture from the light’s photometry data.
         */
        generateCubemap(textureSize: number):void;
        /**
         * Generates spherical harmonics information based on the light’s photometry data.
         */
        generateSphericalHarmonics(sphericalHarmonicsLevel: number):void;
        generateTexture(textureSize: number):MDLTexture;
    }
    export class MDLPhysicallyPlausibleLight extends MDLLight {
        /**
         * The color of the light source.
         */
        color: CGColor | null;
        /**
         * The total visible intensity of the light source, in lumens.
         */
        lumens: Float;
        /**
         * The radial angle, in degrees, of the area fully illuminated by the light.
         */
        innerConeAngle: Float;
        /**
         * The radial angle, in degrees, at which the illumination from a spotlight becomes zero.
         */
        outerConeAngle: Float;
        /**
         * The distance from the light source, in units of local coordinate space, at which its illumination begins to diminish.
         */
        attenuationStartDistance: Float;
        /**
         * The distance from the light source, in units of local coordinate space, at which its illumination becomes zero.
         */
        attenuationEndDistance: Float;
        /**
         * Sets the light’s color based on a black-body temperature.
         */
        setColorByTemperature(temperature: Float):void;
    }
    export class MDLAxisAlignedBoundingBox {
        /**
         * The corner of the bounding box with the highest x-, y-, and z-coordinate values.
         */
        maxBounds: vector_float3;
        /**
         * The corner of the bounding box with the lowest x-, y-, and z-coordinate values.
         */
        minBounds: vector_float3;
        constructor ();
        constructor (maxBounds: vector_float3, minBounds: vector_float3);
    }
    export class MDLCamera extends MDLObject {
        /**
         * A transformation matrix that determines the extent of a scene visible to the camera. 
         */
        projectionMatrix: matrix_float4x4;
        /**
         * The style of projection transform used by the camera.
         */
        projection: MDLCameraProjection;
        /**
         * The camera's near depth limit.
         */
        nearVisibilityDistance: Float;
        /**
         * The camera’s far depth limit.
         */
        farVisibilityDistance: Float;
        /**
         * The camera’s field of view, in degrees.
         */
        fieldOfView: Float;
        /**
         * The scale factor to meters from the world coordinate system containing the camera.
         */
        worldToMetersConversionScale: Float;
        /**
         * The first coefficient for determining the radial distortion applied to pixels rendered using the camera.
         */
        barrelDistortion: Float;
        /**
         * The second coefficient for determining the radial distortion applied to pixels rendered using the camera.
         */
        fisheyeDistortion: Float;
        /**
         * The amount of radial light attenuation around the edges of an image rendered using the camera.
         */
        opticalVignetting: Float;
        /**
         * The amount of radial color shift around the edges of an image rendered using the camera.
         */
        chromaticAberration: Float;
        /**
         * The focal length, in millimeters, of the camera’s simulated lens.
         */
        focalLength: Float;
        /**
         * The relative aperture ratio of the camera’s simulated lens.
         */
        fStop: Float;
        /**
         * The number of blades in the camera’s simulated aperture.
         */
        apertureBladeCount: number;
        /**
         * The maximum diameter, in millimeters on the imaging plane, at which light from a point source should appear in an image rendered using the camera.
         */
        maximumCircleOfConfusion: Float;
        /**
         * The distance, in meters, at which the lens is focused.
         */
        focusDistance: Float;
        /**
         * The duration, in seconds, for which the camera’s simulated shutter is open during each frame. 
         */
        shutterOpenInterval: TimeInterval;
        /**
         * The height, in millimeters, of the camera’s simulated imaging surface.
         */
        sensorVerticalAperture: Float;
        /**
         * The ratio of width to height for the camera’s simulated imaging surface.
         */
        sensorAspect: Float;
        /**
         * The horizontal and vertical scale factors that determine the active region of the sensor.
         */
        sensorEnlargement: vector_float2;
        /**
         * The horizontal and vertical offsets, in millimeters, of the center of the camera image relative to the center of the simulated lens.
         */
        sensorShift: vector_float2;
        /**
         * Red, green, and blue factors to be used in brightening darker areas of the camera’s image.
         */
        flash: vector_float3;
        /**
         * Red, green, and blue factors that scale each color channel in the camera’s image.
         */
        exposure: vector_float3;
        /**
         * Two parameters that determine the brightness compression curve for colors in the camera’s image.
         */
        exposureCompression: vector_float2;
        /**
         * Moves the camera such that the specified bounding box lies entirely within the camera’s field of view. 
         */
        frameBoundingBox(boundingBox: MDLAxisAlignedBoundingBox, setNearAndFar: boolean):void;
        /**
         * Orients the camera to face toward the specified point.
         */
        look(focusPosition: vector_float3):void;
        /**
         * Returns a point, in 3D world coordinates, corresponding to the specified 2D view coordinates.
         */
        ray(pixel: vector_int2, size: vector_int2):vector_float3;
        /**
         * Creates and returns a texture, based on the camera’s aperture blade count, to be used in rendering out-of-focus highlights in a scene.
         */
        bokehKernel(size: vector_int2):MDLTexture;
    }
    export enum MDLCameraProjection {
        orthographic = 1,
        perspective = 0,
    }
    export class MDLStereoscopicCamera extends MDLCamera {
        /**
         * The distance, in millimeters, between the stereoscopic camera’s two viewpoints.
         */
        interPupillaryDistance: Float;
        /**
         * The amount, as a fraction of image width, by which the images from the camera’s two viewpoints overlap.
         */
        overlap: Float;
        /**
         * The angle, in degrees, at which the camera’s left viewpoint faces toward a central focal point.
         */
        leftVergence: Float;
        /**
         * The angle, in degrees, at which the camera’s right viewpoint faces toward a central focal point.
         */
        rightVergence: Float;
        /**
         * The transformation matrix that determines the position and orientation of the camera’s left viewpoint relative to a scene.
         */
        leftViewMatrix: matrix_float4x4;
        /**
         * The transformation matrix that determines the extent of a scene visible to the camera’s left viewpoint.
         */
        leftProjectionMatrix: matrix_float4x4;
        /**
         * The transformation matrix that determines the position and orientation of the camera’s right viewpoint relative to a scene.
         */
        rightViewMatrix: matrix_float4x4;
        /**
         * The transformation matrix that determines the extent of a scene visible to the camera’s right viewpoint.
         */
        rightProjectionMatrix: matrix_float4x4;
    }
    export interface MDLComponent extends NSObjectProtocol {}
    export class MDLObjectContainer extends NSObject {}
    export interface MDLObjectContainerComponent extends MDLComponent,NSFastEnumeration {
        /**
         * This object’s array of child objects.
         */
        objects: MDLObject[];
        /**
         * Adds the specified object as a child of this object.
         */
        add(object: MDLObject):void;
        /**
         * Removes the specified object from this object’s array of children.
         */
        remove(object: MDLObject):void;
        count: number;
    }
    export interface MDLTransformComponent extends MDLComponent {
        /**
         * The transform matrix that defines the local coordinate space relative to a parent coordinate space.
         */
        matrix: matrix_float4x4;
        /**
         * Sets a new static transform matrix, overriding any time-based transform information.
         */
        setLocalTransform(transform: matrix_float4x4):void;
        /**
         * The timestamp for the first timed data sample in the transform component.
         */
        minimumTime: TimeInterval;
        /**
         * The timestamp for the last timed data sample in the transform component.
         */
        maximumTime: TimeInterval;
        /**
         * Returns the local transform matrix as of the specified time sample.
         */
        localTransform(time: TimeInterval):matrix_float4x4;
        /**
         * Returns the absolute coordinate transformation for an object in a transform hierarchy.
         */
        static globalTransform(object: MDLObject, time: TimeInterval):matrix_float4x4;
        keyTimes: NSNumber[];
        resetsTransform: boolean;
    }
    export class MDLTransform extends NSObject {
        /**
         * The x-, y-, and z-axis offsets of the transform relative to its parent coordinate space.
         */
        translation: vector_float3;
        /**
         * The orientation, as a vector of Euler angles in radians, of the transform relative to its parent coordinate space.
         */
        rotation: vector_float3;
        /**
         * The x-, y-, and z-axis scale factors of the transform relative to its parent coordinate space.
         */
        scale: vector_float3;
        /**
         * The x-, y-, and z-axis shear factors of the transform relative to its parent coordinate space.
         */
        shear: vector_float3;
        /**
         * Initializes a transform object to the identity transformation.
         */
        constructor (identity: any);
        /**
         * Initializes a transform object with the specified transform matrix.
         */
        constructor (matrix: matrix_float4x4);
        /**
         * Initializes a transform object to match the specified transform component.
         */
        constructor (component: MDLTransformComponent);
        constructor (matrix: matrix_float4x4, resetsTransform: boolean);
        constructor (component: MDLTransformComponent, resetsTransform: boolean);
        constructor ();
        /**
         * Sets all factors of the transform to those of the identity transformation.
         */
        setIdentity():void;
        /**
         * Sets the x-, y-, and z-axis offsets of the transform for the specified time sample.
         */
        setTranslation(translation: vector_float3, time: TimeInterval):void;
        /**
         * Returns the orientation of the transform as a rotation matrix, as of the specified time sample.
         */
        rotationMatrix(time: TimeInterval):matrix_float4x4;
        /**
         * Sets the orientation of the transform for the specified time sample.
         */
        setRotation(rotation: vector_float3, time: TimeInterval):void;
        /**
         * Sets the x-, y-, and z-axis scale factors of the transform for the specified time sample.
         */
        setScale(scale: vector_float3, time: TimeInterval):void;
        /**
         * Sets the x-, y-, and z-axis shear factors of the transform for the specified time sample.
         */
        setShear(shear: vector_float3, time: TimeInterval):void;
        setMatrix(matrix: matrix_float4x4, time: TimeInterval):void;
    }
    export class MDLVoxelArray extends MDLObject {
        /**
         * The number of voxels in the array.
         */
        count: number;
        /**
         * The indexes that define the corners of the three-dimensional voxel grid.
         */
        voxelIndexExtent: MDLVoxelIndexExtent;
        /**
         * The extent of the voxel array’s volume in world coordinate space.
         */
        boundingBox: MDLAxisAlignedBoundingBox;
        isValidSignedShellField: boolean;
        shellFieldExteriorThickness: Float;
        shellFieldInteriorThickness: Float;
        /**
         * Initializes a voxel array that models the volume of 3D objects in the specified asset and creates the specified number of voxel shells.
         */
        constructor (asset: MDLAsset, divisions: Int32, interiorShells: Int32, exteriorShells: Int32, patchRadius: Float);
        /**
         * Initializes a voxel array that models the volume of 3D objects in the specified asset, creating voxel shells for the specified distances from the object’s surface.
         */
        constructor (asset: MDLAsset, divisions: Int32, interiorNBWidth: Float, exteriorNBWidth: Float, patchRadius: Float);
        /**
         * Initializes a voxel array with the specified voxel data.
         */
        constructor (voxelData: Data, boundingBox: MDLAxisAlignedBoundingBox, voxelExtent: Float);
        constructor (asset: MDLAsset, divisions: Int32, patchRadius: Float);
        /**
         * Returns a Boolean value indicating whether the voxel array contains voxel data for the specified index.
         */
        voxelExists(index: MDLVoxelIndex, allowAnyX: boolean, allowAnyY: boolean, allowAnyZ: boolean, allowAnyShell: boolean):boolean;
        /**
         * Returns a data object containing all voxels within the specified volume.
         */
        voxels(extent: MDLVoxelIndexExtent):Data | null;
        /**
         * Returns a data object containing all voxels within the voxel array.
         */
        voxelIndices():Data | null;
        /**
         * Sets voxel characteristics at the specified index in the array.
         */
        setVoxelAtIndex(index: MDLVoxelIndex):void;
        /**
         * Sets voxel values in the array to model the volume of the specified mesh and creates voxel shells for the specified distances from the object’s surface.
         */
        setVoxelsFor(mesh: MDLMesh, divisions: Int32, interiorNBWidth: Float, exteriorNBWidth: Float, patchRadius: Float):void;
        /**
         * Extends the voxel array to also cover the volume of the specified voxel array.
         */
        union(voxels: MDLVoxelArray):void;
        /**
         * Reduces the voxel array to cover only the volume within both it and another voxel array.
         */
        intersect(voxels: MDLVoxelArray):void;
        /**
         * Reduces the voxel array to cover only the portion of its volume not covered by another voxel array.
         */
        difference(voxels: MDLVoxelArray):void;
        /**
         * Returns voxel information corresponding to the specified point in the world coordinate space of the asset from which the voxel array was created.
         */
        index(location: vector_float3):MDLVoxelIndex;
        /**
         * Returns the location of the specified voxel in world coordinate space.
         */
        spatialLocation(index: MDLVoxelIndex):vector_float3;
        /**
         * Returns the extent of the specified voxel’s volume in the world coordinate space of the asset from which the voxel array was created.
         */
        voxelBoundingBox(index: MDLVoxelIndex):MDLAxisAlignedBoundingBox;
        /**
         * Generates a closed polygon mesh around the volume of space the voxel array describes.
         */
        mesh(allocator: MDLMeshBufferAllocator | null):MDLMesh | null;
        coarseMesh():MDLMesh | null;
        convertToSignedShellField():void;
    }
    export class MDLVoxelIndexExtent {
        /**
         * The highest x, y, and z coordinates in the volume.
         */
        maximumExtent: MDLVoxelIndex;
        /**
         * The lowest x, y, and z coordinates in the volume.
         */
        minimumExtent: MDLVoxelIndex;
        constructor ();
        constructor (minimumExtent: MDLVoxelIndex, maximumExtent: MDLVoxelIndex);
    }
    export enum MDLMaterialFace {
        back = 1,
        doubleSided = 2,
        front = 0,
    }
    export enum MDLAnimatedValueInterpolation {
        constant = 0,
        linear = 1,
    }
    export enum MDLDataPrecision {
        double = 2,
        float = 1,
        undefined = 0,
    }
    export enum MDLTransformOpRotationOrder {
        XYZ = 1,
        XZY = 2,
        YXZ = 3,
        YZX = 4,
        ZXY = 5,
        ZYX = 6,
    }
    export class MDLAnimatedMatrix4x4 extends MDLAnimatedValue {
        double4x4Array: double4x4[];
        float4x4Array: float4x4[];
        double4x4Value(time: TimeInterval):matrix_double4x4;
        float4x4Value(time: TimeInterval):matrix_float4x4;
        reset(array: double4x4[], times: TimeInterval[]):void;
        setDouble4x4(value: matrix_double4x4, time: TimeInterval):void;
        setFloat4x4(value: matrix_float4x4, time: TimeInterval):void;
    }
    export class MDLAnimatedQuaternion extends MDLAnimatedValue {
        doubleQuaternionArray: simd_quatd[];
        floatQuaternionArray: simd_quatf[];
        doubleQuaternionValue(time: TimeInterval):simd_quatd;
        floatQuaternionValue(time: TimeInterval):simd_quatf;
        reset(array: simd_quatd[], times: TimeInterval[]):void;
        setDoubleQuaternion(value: simd_quatd, time: TimeInterval):void;
        setFloatQuaternion(value: simd_quatf, time: TimeInterval):void;
    }
    export class MDLAnimatedQuaternionArray extends MDLAnimatedValue {
        doubleQuaternionArray: simd_quatd[];
        elementCount: number;
        floatQuaternionArray: simd_quatf[];
        constructor (arrayElementCount: number);
        reset(array: simd_quatd[], times: TimeInterval[]):void;
        set(array: simd_quatd[], time: TimeInterval):void;
    }
    export class MDLAnimatedScalar extends MDLAnimatedValue {
        doubleArray: number[];
        floatArray: Float[];
        doubleValue(time: TimeInterval):number;
        floatValue(time: TimeInterval):Float;
        reset(array: number[], times: TimeInterval[]):void;
        setDouble(value: number, time: TimeInterval):void;
        setFloat(value: Float, time: TimeInterval):void;
    }
    export class MDLAnimatedScalarArray extends MDLAnimatedValue {
        doubleArray: number[];
        elementCount: number;
        floatArray: Float[];
        constructor (arrayElementCount: number);
        reset(array: number[], times: TimeInterval[]):void;
        set(array: number[], time: TimeInterval):void;
    }
    export class MDLAnimatedValue extends NSObject {
        interpolation: MDLAnimatedValueInterpolation;
        keyTimes: NSNumber[];
        maximumTime: TimeInterval;
        minimumTime: TimeInterval;
        precision: MDLDataPrecision;
        timeSampleCount: number;
        times: TimeInterval[];
        clear():void;
        isAnimated():boolean;
    }
    export class MDLAnimatedVector2 extends MDLAnimatedValue {
        double2Array: SIMD2<Double>[];
        float2Array: SIMD2<Float>[];
        double2Value(time: TimeInterval):vector_double2;
        float2Value(time: TimeInterval):vector_float2;
        reset(array: SIMD2<Double>[], times: TimeInterval[]):void;
        setDouble2(value: vector_double2, time: TimeInterval):void;
        setFloat2(value: vector_float2, time: TimeInterval):void;
    }
    export class MDLAnimatedVector3 extends MDLAnimatedValue {
        double3Array: SIMD3<Double>[];
        float3Array: SIMD3<Float>[];
        double3Value(time: TimeInterval):vector_double3;
        float3Value(time: TimeInterval):vector_float3;
        reset(array: SIMD3<Double>[], times: TimeInterval[]):void;
        setDouble3(value: vector_double3, time: TimeInterval):void;
        setFloat3(value: vector_float3, time: TimeInterval):void;
    }
    export class MDLAnimatedVector3Array extends MDLAnimatedValue {
        double3Array: SIMD3<Double>[];
        elementCount: number;
        float3Array: SIMD3<Float>[];
        constructor (arrayElementCount: number);
        reset(array: SIMD3<Double>[], times: TimeInterval[]):void;
        set(array: SIMD3<Double>[], time: TimeInterval):void;
    }
    export class MDLAnimatedVector4 extends MDLAnimatedValue {
        double4Array: SIMD4<Double>[];
        float4Array: SIMD4<Float>[];
        double4Value(time: TimeInterval):vector_double4;
        float4Value(time: TimeInterval):vector_float4;
        reset(array: SIMD4<Double>[], times: TimeInterval[]):void;
        setDouble4(value: vector_double4, time: TimeInterval):void;
        setFloat4(value: vector_float4, time: TimeInterval):void;
    }
    export class MDLAnimationBindComponent extends NSObject {
        geometryBindTransform: matrix_double4x4;
        jointAnimation: MDLJointAnimation | null;
        jointPaths: string[] | null;
        skeleton: MDLSkeleton | null;
    }
    export class MDLBundleAssetResolver extends NSObject {
        path: string;
        constructor (path: string);
    }
}

/**
 * Support peer-to-peer connectivity and the discovery of nearby devices.
 */
declare module MultipeerConnectivity {
    export class MCAdvertiserAssistant extends NSObject {
        /**
         * The session into which new peers are added after accepting an invitation.
         */
        session: MCSession;
        /**
         * The delegate object that handles advertising-assistant-related events.
         */
        delegate: MCAdvertiserAssistantDelegate | null;
        /**
         * The 
         *  dictionary that was passed when this object was initialized.
         */
        discoveryInfo: Record<string, string> | null;
        /**
         * The service type that your app is advertising.
         */
        serviceType: string;
        /**
         * Initializes an advertiser assistant object.
         */
        constructor (serviceType: string, info: Record<string, string> | null, session: MCSession);
        /**
         * Begins advertising the service provided by a local peer and starts the assistant.
         */
        start():void;
        /**
         * Stops advertising the service provided by a local peer and stops the assistant.
         */
        stop():void;
    }
    export class MCBrowserViewController extends NSViewController,UIViewController {
        /**
         * The delegate object that handles browser-view-controller-related events.
         */
        delegate: MCBrowserViewControllerDelegate | null;
        /**
         * The browser object that is used for discovering peers.
         */
        browser: MCNearbyServiceBrowser | null;
        /**
         * The multipeer session to which the invited peers are connected.
         */
        session: MCSession;
        /**
         * The maximum number of peers allowed in a session, including the local peer.
         */
        maximumNumberOfPeers: number;
        /**
         * The minimum number of peers that need to be in a session, including the local peer.
         */
        minimumNumberOfPeers: number;
        /**
         * Initializes a browser view controller using the provided service type and session.
         */
        constructor (serviceType: string, session: MCSession);
        /**
         * Initializes a browser view controller with the provided browser and session.
         */
        constructor (browser: MCNearbyServiceBrowser, session: MCSession);
    }
    export class MCError {
        static cancelled: MCError.Code;
        static errorDomain: string;
        static invalidParameter: MCError.Code;
        static notConnected: MCError.Code;
        static timedOut: MCError.Code;
        static unavailable: MCError.Code;
        static unknown: MCError.Code;
        static unsupported: MCError.Code;
        errorUserInfo: Record<string, any>;
        hashValue: number;
        localizedDescription: string;
        userInfo: Record<string, any>;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MCError
     */
    export namespace MCError {
        export enum Code {
            unknown = 0,
            notConnected = 1,
            invalidParameter = 2,
            unsupported = 3,
            timedOut = 4,
            cancelled = 5,
            unavailable = 6,
        }
    }
    export enum MCEncryptionPreference {
        optional = 0,
        required = 1,
        none = 2,
    }
    export enum MCSessionSendDataMode {
        reliable = 0,
        unreliable = 1,
    }
    export enum MCSessionState {
        notConnected = 0,
        connecting = 1,
        connected = 2,
    }
    export class MCNearbyServiceAdvertiser extends NSObject {
        /**
         * The delegate object that handles advertising-related events.
         */
        delegate: MCNearbyServiceAdvertiserDelegate | null;
        /**
         * The 
         *  dictionary passed when this object was initialized.
         */
        discoveryInfo: Record<string, string> | null;
        /**
         * The local peer ID for this instance.
         */
        myPeerID: MCPeerID;
        /**
         * The service type that your app is advertising
         */
        serviceType: string;
        /**
         * Initializes an advertiser object.
         */
        constructor (myPeerID: MCPeerID, info: Record<string, string> | null, serviceType: string);
        /**
         * Begins advertising the service provided by a local peer.
         */
        startAdvertisingPeer():void;
        /**
         * Stops advertising the service provided by a local peer.
         */
        stopAdvertisingPeer():void;
    }
    export class MCNearbyServiceBrowser extends NSObject {
        /**
         * The delegate object that handles browser-related events.
         */
        delegate: MCNearbyServiceBrowserDelegate | null;
        /**
         * The local peer ID for this instance.
         */
        myPeerID: MCPeerID;
        /**
         * The service type to browse for.
         */
        serviceType: string;
        /**
         * Initializes the nearby service browser object.
         */
        constructor (myPeerID: MCPeerID, serviceType: string);
        /**
         * Starts browsing for peers.
         */
        startBrowsingForPeers():void;
        /**
         * Stops browsing for peers.
         */
        stopBrowsingForPeers():void;
        /**
         * Invites a discovered peer to join a Multipeer Connectivity session.
         */
        invitePeer(peerID: MCPeerID, session: MCSession, context: Data | null, timeout: TimeInterval):void;
    }
    export class MCPeerID extends NSObject {
        /**
         * The display name for this peer.
         */
        displayName: string;
        /**
         * Initializes a peer.
         */
        constructor (myDisplayName: string);
    }
    export class MCSession extends NSObject {
        /**
         * The delegate object that handles session-related events.
         */
        delegate: MCSessionDelegate | null;
        /**
         * A value indicating whether the connection prefers encrypted connections, unencrypted connections, or has no preference.
         */
        encryptionPreference: MCEncryptionPreference;
        /**
         * A local identifier that represents the device on which your app is currently running.
         */
        myPeerID: MCPeerID;
        /**
         * The security identity of the local peer.
         */
        securityIdentity: any[] | null;
        /**
         * An array of all peers that are currently connected to this session.
         */
        connectedPeers: MCPeerID[];
        /**
         * Creates a Multipeer Connectivity session.
         */
        constructor (myPeerID: MCPeerID);
        /**
         * Creates a Multipeer Connectivity session, providing security information.
         */
        constructor (myPeerID: MCPeerID, identity: any[] | null, encryptionPreference: MCEncryptionPreference);
        /**
         * Call this method to connect a peer to the session when using your own service discovery code instead of an  
         *  or 
         *  object.
         */
        connectPeer(peerID: MCPeerID, data: Data):void;
        /**
         * Cancels an attempt to connect to a peer.
         */
        cancelConnectPeer(peerID: MCPeerID):void;
        /**
         * Obtains connection data for the specified peer.
         */
        nearbyConnectionData(peerID: MCPeerID, completionHandler: ()=>any):void;
        /**
         * Sends a message encapsulated in a 
         *  instance to nearby peers.
         */
        send(data: Data, peerIDs: MCPeerID[], mode: MCSessionSendDataMode):void;
        /**
         * Sends the contents of a URL to a peer.
         */
        sendResource(resourceURL: URL, resourceName: string, peerID: MCPeerID, completionHandler: ()=>any | null):Progress | null;
        /**
         * Opens a byte stream to a nearby peer.
         */
        startStream(streamName: string, peerID: MCPeerID):OutputStream;
        /**
         * Disconnects the local peer from the session.
         */
        disconnect():void;
    }
    export interface MCAdvertiserAssistantDelegate extends NSObjectProtocol {
        /**
         * Indicates that the advertiser assistant finished showing the invitation to the user.
         */
        advertiserAssistantDidDismissInvitation(advertiserAssistant: MCAdvertiserAssistant):void;
        advertiserAssistantWillPresentInvitation(advertiserAssistant: MCAdvertiserAssistant):void;
    }
    export interface MCBrowserViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called when a new peer is discovered to decide whether to show it in the user interface.
         */
        browserViewController(browserViewController: MCBrowserViewController, peerID: MCPeerID, info: Record<string, string> | null):boolean;
        /**
         * Called when the browser view controller is dismissed with peers connected in a session.
         */
        browserViewControllerDidFinish(browserViewController: MCBrowserViewController):void;
        /**
         * Called when the user cancels the browser view controller.
         */
        browserViewControllerWasCancelled(browserViewController: MCBrowserViewController):void;
    }
    export interface MCNearbyServiceAdvertiserDelegate extends NSObjectProtocol {
        /**
         * Called when advertisement fails.
         */
        advertiser(advertiser: MCNearbyServiceAdvertiser, error: Error):void;
    }
    export interface MCNearbyServiceBrowserDelegate extends NSObjectProtocol {
        /**
         * Called when a browser failed to start browsing for peers.
         */
        browser(browser: MCNearbyServiceBrowser, error: Error):void;
    }
    export interface MCSessionDelegate extends NSObjectProtocol {
        /**
         * Indicates that an 
         *  object has been received from a nearby peer.
         */
        session(session: MCSession, data: Data, peerID: MCPeerID):void;
    }
}

/**
 * Integrate your app with Apple Music.
 */
declare module MusicKit {
    export class Album {
        /**
         * The rating of the content.
         */
        contentRating: ContentRating | null;
        /**
         * The copyright text for the album.
         */
        copyright: string;
        /**
         * The notes about the album that appear in the Music app.
         */
        editorialNotes: EditorialNotes | null;
        /**
         * The names of the album’s associated genres.
         */
        genreNames: string[];
        /**
         * The genres for the album.
         */
        genres: MusicItemCollection<Genre> | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the album.
         */
        id: MusicItemID;
        /**
         * A Boolean value that indicates whether the album is
         *  
         * an Apple Digital Master.
         */
        isAppleDigitalMaster: boolean;
        /**
         * A Boolean value that indicates whether the album is a compilation.
         */
        isCompilation: boolean;
        /**
         * A Boolean value that indicates whether the album is complete.
         */
        isComplete: boolean;
    }
    export class Artist {
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export class MusicPlayer {
        /**
         * A Boolean value that indicates whether a music player is ready to play.
         */
        isPreparedToPlay: boolean;
        /**
         * The current playback time, in seconds, of the current entry.
         */
        playbackTime: TimeInterval;
        /**
         * An object that exposes the observable properties of the music player.
         */
        state: MusicPlayer.State;
        /**
         * Begins seeking backward through the music content.
         */
        beginSeekingBackward():void;
        /**
         * Begins seeking forward through the music content.
         */
        beginSeekingForward():void;
        /**
         * Ends forward and backward seeking through the music content.
         */
        endSeeking():void;
        /**
         * Pauses playback of the current entry.
         */
        pause():void;
        /**
         * Initiates playback from the current queue.
         */
        play():void;
        /**
         * Prepares the current queue for playback, interrupting any active
         *  
         * (nonmixable) audio sessions.
         */
        prepareToPlay():void;
        /**
         * Restarts playback at the beginning of the currently playing entry.
         */
        restartCurrentEntry():void;
        /**
         * Starts playback of the next entry in the playback queue.
         */
        skipToNextEntry():void;
        /**
         * Starts playback of the previous entry in the playback queue.
         */
        skipToPreviousEntry():void;
        /**
         * Ends playback of the current entry.
         */
        stop():void;
    }
    /**
     * the same name namespace of class MusicPlayer
     */
    export namespace MusicPlayer {
        export enum PlaybackStatus {}
        export enum RepeatMode {}
        export enum ShuffleMode {}
    }
    export class PlayParameters {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class Curator {
        /**
         * The curator artwork.
         */
        artwork: Artwork | null;
        /**
         * The notes about the curator that appear in the Music catalog.
         */
        editorialNotes: EditorialNotes | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the curator.
         */
        id: MusicItemID;
        /**
         * The kind of curator.
         */
        kind: Curator.Kind;
        /**
         * The name of the curator.
         */
        name: string;
        /**
         * The curator’s associated playlists.
         */
        playlists: MusicItemCollection<Playlist> | null;
        /**
         * The URL for the curator.
         */
        url: URL | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    /**
     * the same name namespace of class Curator
     */
    export namespace Curator {
        export enum Kind {}
    }
    export class Artwork {
        /**
         * A textual description for the image.
         */
        alternateText: string;
        /**
         * The average background color of the image.
         */
        backgroundColor: CGColor | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The maximum height available for the image.
         */
        maximumHeight: number;
        /**
         * The maximum width available for the image.
         */
        maximumWidth: number;
        /**
         * The primary text color to use when displaying the background color.
         */
        primaryTextColor: CGColor | null;
        /**
         * The final posttertiary text color to use when displaying
         *  
         * the background color.
         */
        quaternaryTextColor: CGColor | null;
        /**
         * The secondary text color to use when displaying the background color.
         */
        secondaryTextColor: CGColor | null;
        /**
         * The tertiary text color to use when displaying the background color.
         */
        tertiaryTextColor: CGColor | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a URL to request the image asset for a specified
         *  
         * width and height.
         */
        url(width: number, height: number):URL | null;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class ArtworkImage {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance with a specified height.
         */
        constructor (artwork: Artwork, height: CGFloat);
        /**
         * Creates an instance with a specified width.
         */
        constructor (artwork: Artwork, width: CGFloat);
        /**
         * Creates an instance with a specified width and height.
         */
        constructor (artwork: Artwork, width: CGFloat, height: CGFloat);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Initiates the process of presenting a sheet with subscription offers
         *  
         * for Apple Music when the 
         *  binding is 
         * .
         */
        musicSubscriptionOffer(isPresented: Binding<Bool>, options: MusicSubscriptionOffer.Options, onLoadCompletion: ()=>any):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Genre {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the genre.
         */
        id: MusicItemID;
        /**
         * The date when the user added the genre to the library.
         */
        libraryAddedDate: Date | null;
        /**
         * The localized name of the genre.
         */
        name: string;
        /**
         * The parent genre, if any.
         */
        parent: Genre | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export class MusicAuthorization {
        /**
         * The authorization status the user sets for accessing MusicKit.
         */
        static currentStatus: MusicAuthorization.Status;
        /**
         * Asks the user for permission for the current app to access MusicKit.
         */
        static request():MusicAuthorization.Status;
    }
    /**
     * the same name namespace of class MusicAuthorization
     */
    export namespace MusicAuthorization {
        export enum Status {}
    }
    export class MusicSubscription {
        /**
         * The current state of the user’s subscription to Apple Music.
         */
        static current: MusicSubscription;
        /**
         * An asynchronous sequence to use for observing updates to
         *  
         * the current state of the user’s subscription to Apple Music.
         */
        static subscriptionUpdates: MusicSubscription.Updates;
        /**
         * A capability that allows your app to present subscription offers
         *  
         * for Apple Music.
         */
        canBecomeSubscriber: boolean;
        /**
         * A capability that allows your app to play subscription content
         *  
         * using a music player.
         */
        canPlayCatalogContent: boolean;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * A capability that allows your app to perform modifications to the
         *  
         * user’s iCloud Music Library.
         */
        hasCloudLibraryEnabled: boolean;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MusicSubscription
     */
    export namespace MusicSubscription {
        export class Updates {
            /**
             * Creates the asynchronous iterator that produces elements of this
             *  
             * asynchronous sequence.
             */
            makeAsyncIterator():MusicSubscription.Updates.Iterator;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the
             *  
             * asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Creates an asynchronous sequence that maps an error-throwing closure over
             *  
             * the base sequence’s elements, omitting results that don’t return a value.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):any;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence
             *  
             * contains the given element.
             */
            contains(search: Self.Element):boolean;
            /**
             * Omits elements from the base asynchronous sequence until a given closure
             *  
             * returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Self>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence,
             *  
             * then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Self>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of
             *  
             * the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Self>;
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Creates an asynchronous sequence that concatenates the results of calling
             *  
             * the given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):AsyncSequence;
            /**
             * Creates an asynchronous sequence that maps the given closure over the
             *  
             * asynchronous sequence’s elements.
             */
            map<Transformed>(transform: Transformed):any;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given
             *  
             * predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length,
             *  
             * containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Self>;
            /**
             * Returns the result of combining the elements of the asynchronous sequence
             *  
             * using the given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        }
        /**
         * the same name namespace of class Updates
         */
        export namespace Updates {
            export class Iterator {
                /**
                 * Asynchronously advances to the next element and returns it, or ends the
                 *  
                 * sequence if there is no next element.
                 */
                next():MusicSubscription | null;
            }
        }
        export enum Error {}
    }
    export class MusicSubscriptionOffer {}
    /**
     * the same name namespace of class MusicSubscriptionOffer
     */
    export namespace MusicSubscriptionOffer {
        export class Action {
            /**
             * An action for inviting the user to subscribe to Apple Music.
             */
            static subscribe: MusicSubscriptionOffer.Action;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            hashValue: number;
            /**
             * Creates an action with the specified raw value.
             */
            constructor (rawValue: string);
            /**
             * Creates an action with the specified raw value.
             */
            constructor (rawValue: string);
            hash(hasher: Hasher):void;
        }
        export class MessageIdentifier {
            /**
             * An identifier for the message that invites the user to add music
             *  
             * to their library by subscribing to Apple Music.
             */
            static addMusic: MusicSubscriptionOffer.MessageIdentifier;
            /**
             * An identifier for the message that invites the user
             *  
             * to join Apple Music.
             */
            static join: MusicSubscriptionOffer.MessageIdentifier;
            /**
             * An identifier for the message that invites the user to play music
             *  
             * by subscribing to Apple Music.
             */
            static playMusic: MusicSubscriptionOffer.MessageIdentifier;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            hashValue: number;
            /**
             * Creates a message identifier with the specified raw value.
             */
            constructor (rawValue: string);
            /**
             * Creates a message identifier with the specified raw value.
             */
            constructor (rawValue: string);
            hash(hasher: Hasher):void;
        }
        export class Options {
            /**
             * The default set of options for loading subscription offers
             *  
             * for Apple Music.
             */
            static default: MusicSubscriptionOffer.Options;
            /**
             * An action for the subscription offers entry point.
             */
            action: MusicSubscriptionOffer.Action;
            /**
             * An affiliate token for the Apple Services affiliate program.
             */
            affiliateToken: string;
            /**
             * A campaign token for the Apple Services affiliate program.
             */
            campaignToken: string;
            /**
             * An identifier for the music item the user is trying to access,
             *  
             * which requires an active subscription.
             */
            itemID: MusicItemID | null;
            /**
             * An identifier for selecting the main message that
             *  
             * the subscription offer sheet presents to the user.
             */
            messageIdentifier: MusicSubscriptionOffer.MessageIdentifier;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates options for a subscription offer sheet with specific values
             *  
             * for common properties.
             */
            constructor (action: MusicSubscriptionOffer.Action, messageIdentifier: MusicSubscriptionOffer.MessageIdentifier, itemID: MusicItemID | null, affiliateToken: string, campaignToken: string);
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class MusicUserTokenProvider {
        /**
         * Creates a user token provider.
         */
        constructor ();
        /**
         * Fetches and returns a user token for Apple Music API.
         */
        userToken(developerToken: string, options: MusicTokenRequestOptions):string;
    }
    export class MusicTokenRequestOptions {
        /**
         * An option that indicates the token provider needs to discard
         *  
         * any cached token and generate a new token.
         */
        static ignoreCache: MusicTokenRequestOptions;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: number;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates a new option set from the given raw value.
         */
        constructor (rawValue: number);
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Returns a Boolean value that indicates whether a given element is a
         *  
         * member of the option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that are not
         *  
         * also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces this set with a new set containing all elements
         *  
         * contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in both this
         *  
         * set and the given set.
         */
        intersection(other: Self):Self;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Returns a new option set with the elements contained in this set or in
         *  
         * the given set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in the
         *  
         * given set, or in both.
         */
        union(other: Self):Self;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: Self.Element):Self.Element | null;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
    }
    export class MusicVideo {
        /**
         * The title of the album the music video appears on.
         */
        albumTitle: string;
        /**
         * The music video’s associated albums.
         */
        albums: MusicItemCollection<Album> | null;
        /**
         * The artist’s name.
         */
        artistName: string;
        /**
         * The artist’s URL.
         */
        artistURL: URL | null;
        /**
         * The music video’s associated artists.
         */
        artists: MusicItemCollection<Artist> | null;
        /**
         * The artwork for the music video.
         */
        artwork: Artwork | null;
        /**
         * The rating of the content.
         */
        contentRating: ContentRating | null;
        /**
         * The duration of the music video.
         */
        duration: TimeInterval | null;
        /**
         * The editorial notes for the music video.
         */
        editorialNotes: EditorialNotes | null;
        /**
         * The names of the music video’s associated genres.
         */
        genreNames: string[];
        /**
         * The music video’s associated genres.
         */
        genres: MusicItemCollection<Genre> | null;
        /**
         * A Boolean value that indicates whether the music video has 4K content.
         */
        has4K: boolean;
        /**
         * A Boolean value that indicates whether the music video
         *  
         * has HDR10-encoded content.
         */
        hasHDR: boolean;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the music video.
         */
        id: MusicItemID;
        /**
         * A Boolean value that indicates whether this content corresponds to a subscription video preview.
         */
        isPreview: boolean;
        /**
         * The International Standard Recording Code (ISRC) for the music video.
         */
        isrc: string;
        /**
         * The date when the user last played the music video on this device.
         */
        lastPlayedDate: Date | null;
        /**
         * The date when the user added the music video to the library.
         */
        libraryAddedDate: Date | null;
        /**
         * A collection of additional music videos by the artist.
         */
        moreByArtist: MusicItemCollection<MusicVideo> | null;
        /**
         * A collection of music videos in the same genre as this music video.
         */
        moreInGenre: MusicItemCollection<MusicVideo> | null;
        /**
         * The number of times the user played the music video.
         */
        playCount: number;
        /**
         * The parameters to use to play the music video.
         */
        playParameters: PlayParameters | null;
        /**
         * The preview assets for the music video.
         */
        previewAssets: PreviewAsset[] | null;
        /**
         * The release date (or expected prerelease date) for the music video.
         */
        releaseDate: Date | null;
        /**
         * The music video’s associated songs.
         */
        songs: MusicItemCollection<Song> | null;
        /**
         * The title of the music video.
         */
        title: string;
        /**
         * The music video’s number in the album’s track list.
         */
        trackNumber: number;
        /**
         * The URL for the music video.
         */
        url: URL | null;
        /**
         * For classical music only, the name of the associated work.
         */
        workName: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export enum MusicTokenRequestError {}
    export class DefaultMusicTokenProvider {
        /**
         * Creates a user token provider.
         */
        constructor ();
        /**
         * Fetches and returns a developer token for Apple Music API.
         */
        developerToken(options: MusicTokenRequestOptions):string;
    }
    export class MusicItemID {
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        hashValue: number;
        /**
         * Creates a music item identifier with a string.
         */
        constructor (rawValue: string);
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
        /**
         * Creates an instance initialized to the given string value.
         */
        constructor (value: string);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export class MusicItemCollection {
        /**
         * A Boolean value that indicates whether the collection has information
         *  
         * that allows it to fetch a subsequent batch of items.
         */
        hasNextBatch: boolean;
        /**
         * An optional title for the collection.
         */
        title: string;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        constructor (elements: S);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates an instance initialized with the given elements.
         */
        constructor (...items: MusicItemType);
        /**
         * Fetches the next batch of items asynchronously.
         */
        nextBatch(limit: number):Decodable;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Returns a new string by concatenating the elements of the sequence,
         *  
         * adding the given separator between each element.
         */
        joined(separator: string):string;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns the distance between two indices.
         */
        distance(start: any, end: any):number;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted():string;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class MusicRelationshipProperty extends PartialMusicAsyncProperty {
        /**
         * A textual representation of this instance.
         */
        description: string;
    }
    export class MusicExtendedAttributeProperty extends PartialMusicAsyncProperty {
        /**
         * A textual representation of this instance.
         */
        description: string;
    }
    export class MusicAttributeProperty extends PartialMusicProperty {
        /**
         * A textual representation of this instance.
         */
        description: string;
    }
    export class PartialMusicAsyncProperty extends PartialMusicProperty {}
    export class PartialMusicProperty extends AnyMusicProperty {
        /**
         * An identifier for the relationship property that returns
         *  
         * the associated albums for the artist.
         */
        static albums: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of playlists that include tracks from the album.
         */
        static appearsOn: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of albums from other artists that this artist appears on.
         */
        static appearsOnAlbums: any;
        /**
         * An identifier for the extended attribute property that returns
         *  
         * the artist’s URL.
         */
        static artistURL: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the associated artists for the album.
         */
        static artists: any;
        /**
         * An identifier for the extended attribute property that returns
         *  
         * the audio variants for the song.
         */
        static audioVariants: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of compilation albums that include tracks by the artist.
         */
        static compilationAlbums: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the song’s composers.
         */
        static composers: any;
        /**
         * An identifier for the extended attribute property that returns
         *  
         * the playlist’s associated curator.
         */
        static curator: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the entries in the playlist.
         */
        static entries: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of featured albums for the artist.
         */
        static featuredAlbums: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of featured artists for this playlist.
         */
        static featuredArtists: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of the artist’s playlists.
         */
        static featuredPlaylists: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of the artist’s full-release albums.
         */
        static fullAlbums: any;
        /**
         * An identifier of the relationship property that returns
         *  
         * the associated genres for the music video.
         */
        static genres: any;
        /**
         * An identifier for the association property that returns
         *  
         * the artist’s most recent album.
         */
        static latestRelease: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of the most recent releases for the record label.
         */
        static latestReleases: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of the artist’s live albums.
         */
        static liveAlbums: any;
        /**
         * An identifier of the association property that returns
         *  
         * a collection of additional music videos by the artist.
         */
        static moreByArtist: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of additional playlists by the same curator.
         */
        static moreByCurator: any;
        /**
         * A identifier of the association property that returns
         *  
         * a collection of music videos in the same genre as this music video.
         */
        static moreInGenre: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the associated music videos for the artist.
         */
        static musicVideos: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of other versions of the album.
         */
        static otherVersions: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the associated playlists for the artist.
         */
        static playlists: any;
        /**
         * An identifier for the extended attribute property that returns
         *  
         * the playlist’s associated radio show.
         */
        static radioShow: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the record labels for the album.
         */
        static recordLabels: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of related albums.
         */
        static relatedAlbums: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of related music videos for the album.
         */
        static relatedVideos: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of artists similar to this artist.
         */
        static similarArtists: any;
        /**
         * An identifier of the association property that returns
         *  
         * a collection of the artist’s albums in the 
         *  category.
         */
        static singles: any;
        /**
         * An identifier of the relationship property that returns
         *  
         * the associated songs for the music video.
         */
        static songs: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the associated station for the song.
         */
        static station: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of the artist’s top music videos.
         */
        static topMusicVideos: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of top releases for the record label.
         */
        static topReleases: any;
        /**
         * An identifier for the association property that returns
         *  
         * a collection of the artist’s top songs.
         */
        static topSongs: any;
        /**
         * An identifier for the relationship property that returns
         *  
         * the tracks in the playlist.
         */
        static tracks: any;
    }
    export class AnyMusicProperty {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MusicLibrary {
        /**
         * A shared object that allows your app to modify the user’s music library.
         */
        static shared: MusicLibrary;
        /**
         * Adds an item to the user’s music library.
         */
        add<MusicItemType>(item: MusicItemType):void;
        /**
         * Creates a playlist in the user’s music library.
         */
        createPlaylist(name: string, description: string, authorDisplayName: string):Playlist;
        /**
         * Creates a playlist in the user’s music library.
         */
        createPlaylist<S, MusicPlaylistAddableType>(name: string, description: string, authorDisplayName: string, items: S):S.Element;
        /**
         * Edits a playlist that your app has created.
         */
        edit(playlist: Playlist, name: string, description: string, authorDisplayName: string):Playlist;
        /**
         * Edits a playlist that your app has created including items
         *  
         * to rebuild the list of entries.
         */
        edit<S, MusicPlaylistAddableType>(playlist: Playlist, name: string, description: string, authorDisplayName: string, items: S):S.Element;
    }
    export class MusicCatalogChart {
        /**
         * The unique identifier for the catalog chart.
         */
        id: string;
        /**
         * The items for the catalog chart.
         */
        items: MusicItemCollection<MusicItemType>;
        /**
         * The kind of catalog chart.
         */
        kind: MusicCatalogChartKind;
        /**
         * The title for the catalog chart.
         */
        title: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MusicCatalogChartsRequest {
        /**
         * The genre for the request.
         */
        genre: Genre | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The kinds of requested catalog charts.
         */
        kinds: MusicCatalogChartKind[];
        /**
         * A limit for the number of items to return
         *  
         * in the catalog search response.
         */
        limit: number;
        /**
         * An offet for the request.
         */
        offset: number;
        /**
         * The list of requested types for the catalog charts response.
         */
        types: MusicCatalogChartRequestable.Type[];
        /**
         * Creates a catalog charts request for a specified genre
         *  
         * and list of types to include in the catalog charts response.
         */
        constructor (genre: Genre | null, kinds: MusicCatalogChartKind[], types: MusicCatalogChartRequestable.Type[]);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Fetches the most popular items of the requested types that match
         *  
         * the genre and kinds for the request.
         */
        response():MusicCatalogChartsResponse;
    }
    export class MusicCatalogChartsResponse {
        /**
         * A collection of charts that contain albums.
         */
        albumCharts: MusicCatalogChart<Album>[];
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A collection of charts that contain music videos.
         */
        musicVideoCharts: MusicCatalogChart<MusicVideo>[];
        /**
         * A collection of charts that contain playlists.
         */
        playlistCharts: MusicCatalogChart<Playlist>[];
        /**
         * A collection of charts that contain songs.
         */
        songCharts: MusicCatalogChart<Song>[];
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class MusicCatalogSearchSuggestionsRequest {
        /**
         * A limit for the number of items to return
         *  
         * in the catalog search suggestions response.
         */
        limit: number;
        /**
         * The search term for the request.
         */
        term: string;
        /**
         * The list of requested types for top results.
         */
        typesForTopResults: MusicCatalogSearchable.Type[];
        /**
         * Creates a catalog search suggestions request for a specified search term
         *  
         * along with a list of types to include when fetching top results.
         */
        constructor (term: string, types: MusicCatalogSearchable.Type[]);
        /**
         * Fetches suggestions of the requested catalog searchable types that match
         *  
         * the search term of the request.
         */
        response():MusicCatalogSearchSuggestionsResponse;
    }
    export class MusicCatalogSearchSuggestionsResponse {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A collection of suggested terms.
         */
        suggestions: MusicCatalogSearchSuggestionsResponse.Suggestion[];
        /**
         * A collection of top results.
         */
        topResults: MusicItemCollection<MusicCatalogSearchSuggestionsResponse.TopResult>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class MusicCatalogSearchSuggestionsResponse
     */
    export namespace MusicCatalogSearchSuggestionsResponse {
        export class Suggestion {
            /**
             * A term to display to the user to select from.
             */
            displayTerm: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The unique identifier for the suggestion.
             */
            id: string;
            /**
             * The term to use as a search input when using this suggestion.
             */
            searchTerm: string;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class MusicLibraryRequest {
        /**
         * A Boolean value that indicates whether the library response
         *  
         * should only include items downloaded on the user’s device.
         */
        includeOnlyDownloadedContent: boolean;
        /**
         * A limit for the number of items to return in the library response.
         */
        limit: number;
        /**
         * An offset for the request.
         */
        offset: number;
        /**
         * Creates a request to fetch items from the library.
         */
        constructor ();
        /**
         * Filters items by a given optional property that contains a specific string.
         */
        filter(keyPath: any, text: string):void;
        /**
         * Filters items by a given relationship that matches a specific value.
         */
        filter<RelatedMusicItemType>(keyPath: any, relatedItem: RelatedMusicItemType):void;
        /**
         * Filters items by a given property that matches a specific value.
         */
        filter<Value>(keyPath: any, value: Value):void;
        /**
         * Fetches items from the user’s music library.
         */
        response():MusicLibraryResponse<MusicItemType>;
        /**
         * Sorts items by a specified property.
         */
        sort<Value>(keyPath: any, ascending: boolean):void;
    }
    export class MusicLibraryResponse {
        /**
         * A collection of items that match the filters on the originating library request.
         */
        items: MusicItemCollection<MusicItemType>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MusicLibrarySearchRequest {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A Boolean value that indicates whether to request top search results.
         */
        includeTopResults: boolean;
        /**
         * A limit for the number of items to return
         *  
         * in the library search response.
         */
        limit: number;
        /**
         * The search term for the request.
         */
        term: string;
        /**
         * The list of requested library searchable types.
         */
        types: MusicLibrarySearchable.Type[];
        /**
         * Creates a library search request for a specified search term
         *  
         * and list of library searchable types.
         */
        constructor (term: string, types: MusicLibrarySearchable.Type[]);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Fetches items of the requested library searchable types that match
         *  
         * the search term of the request.
         */
        response():MusicLibrarySearchResponse;
    }
    export class MusicLibrarySearchResponse {
        /**
         * A collection of albums.
         */
        albums: MusicItemCollection<Album>;
        /**
         * A collection of artists.
         */
        artists: MusicItemCollection<Artist>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A collection of music videos.
         */
        musicVideos: MusicItemCollection<MusicVideo>;
        /**
         * A collection of playlists.
         */
        playlists: MusicItemCollection<Playlist>;
        /**
         * A collection of songs.
         */
        songs: MusicItemCollection<Song>;
        /**
         * A collection of top results.
         */
        topResults: MusicItemCollection<MusicLibrarySearchResponse.TopResult>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class MusicLibrarySearchResponse
     */
    export namespace MusicLibrarySearchResponse {
        export enum TopResult {}
    }
    export class Playlist {
        /**
         * The artwork for the playlist.
         */
        artwork: Artwork | null;
        /**
         * The playlist’s associated curator.
         */
        curator: Curator | null;
        /**
         * The display name for the playlist’s curator.
         */
        curatorName: string;
        /**
         * The entries in the playlist
         */
        entries: MusicItemCollection<Playlist.Entry> | null;
        /**
         * A collection of featured artists for this playlist.
         */
        featuredArtists: MusicItemCollection<Artist> | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the playlist.
         */
        id: MusicItemID;
        /**
         * A Boolean value that indicates whether the playlist represents a popularity chart.
         */
        isChart: boolean;
        /**
         * The kind of playlist.
         */
        kind: Playlist.Kind | null;
        /**
         * The playlist’s most recent modification date.
         */
        lastModifiedDate: Date | null;
        /**
         * The date when the user last played the playlist on this device.
         */
        lastPlayedDate: Date | null;
        /**
         * The date when the user added the playlist to the library.
         */
        libraryAddedDate: Date | null;
        /**
         * A collection of additional playlists by the same curator.
         */
        moreByCurator: MusicItemCollection<Playlist> | null;
        /**
         * The name of the playlist.
         */
        name: string;
        /**
         * The parameters to use to play the tracks in the playlist.
         */
        playParameters: PlayParameters | null;
        /**
         * The playlist’s associated radio show.
         */
        radioShow: RadioShow | null;
        /**
         * An abbreviated description to show inline or when the playlist
         *  
         * appears alongside other content.
         */
        shortDescription: string;
        /**
         * A description to show when the playlist is prominently displayed.
         */
        standardDescription: string;
        /**
         * The tracks in the playlist.
         */
        tracks: MusicItemCollection<Track> | null;
        /**
         * The URL for the playlist.
         */
        url: URL | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    /**
     * the same name namespace of class Playlist
     */
    export namespace Playlist {
        export class Entry {
            /**
             * The title of the album the playlist entry appears on.
             */
            albumTitle: string;
            /**
             * The artist’s name.
             */
            artistName: string;
            /**
             * The artist’s URL.
             */
            artistURL: URL | null;
            /**
             * The artwork of the playlist entry.
             */
            artwork: Artwork | null;
            /**
             * The rating of the content.
             */
            contentRating: ContentRating | null;
            /**
             * The duration of the playlist entry.
             */
            duration: TimeInterval | null;
            /**
             * The editorial notes for the playlist entry.
             */
            editorialNotes: EditorialNotes | null;
            /**
             * The names of the playlist entry’s associated genres.
             */
            genreNames: string[];
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The unique identifier for the playlist entry.
             */
            id: MusicItemID;
            /**
             * The International Standard Recording Code (ISRC) for the playlist entry.
             */
            isrc: string;
            /**
             * The item of the playlist entry.
             */
            item: Playlist.Entry.Item | null;
            /**
             * The date when the user last played the playlist entry on this device.
             */
            lastPlayedDate: Date | null;
            /**
             * The date when the user added the playlist entry to the library.
             */
            libraryAddedDate: Date | null;
            /**
             * The number of times the user played the playlist entry.
             */
            playCount: number;
            /**
             * The parameters to use to play the playlist entry.
             */
            playParameters: PlayParameters | null;
            /**
             * The position of the playlist entry.
             */
            position: number;
            /**
             * The preview assets for the playlist entry.
             */
            previewAssets: PreviewAsset[] | null;
            /**
             * The release date (or expected for pre-release) of the playlist entry.
             */
            releaseDate: Date | null;
            /**
             * The title of the playlist entry.
             */
            title: string;
            /**
             * The URL for the playlist entry.
             */
            url: URL | null;
            /**
             * A textual representation of this instance, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Loads a new instance of the music item that includes
             *  
             * the specified properties.
             */
            with(properties: PartialMusicAsyncProperty<Self>[]):Self;
        }
        /**
         * the same name namespace of class Entry
         */
        export namespace Entry {
            export enum Item {}
        }
        export enum Kind {}
    }
    export class MusicLibrarySection {
        /**
         * A collection of items that correspond to the children of the section.
         */
        items: MusicItemCollection<MusicItemType>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The stable identity of the entity associated with this instance.
         */
        id: ObjectIdentifier;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MusicLibrarySectionedRequest {
        /**
         * A Boolean value that indicates whether the library response
         *  
         * should only include items downloaded on the user’s device.
         */
        includeOnlyDownloadedContent: boolean;
        /**
         * A limit for the number of items to return in the library response.
         */
        limit: number;
        /**
         * An offset for the request.
         */
        offset: number;
        /**
         * Creates a request to fetch items grouped by sections from the library.
         */
        constructor ();
        /**
         * Filters items by a given relationship that matches a specific value.
         */
        filterItems<RelatedMusicItemType>(keyPath: any, relatedItem: RelatedMusicItemType):void;
        /**
         * Filters items by a given property that contains a specific string.
         */
        filterItems(keyPath: any, text: string):void;
        /**
         * Filters items by a given property that matches a specific value.
         */
        filterItems<Value>(keyPath: any, value: Value):void;
        /**
         * Filters sections by a given optional property that contains a specific string.
         */
        filterSections(keyPath: any, text: string):void;
        /**
         * Filters sections by a given optional property that matches a specific value.
         */
        filterSections<Value>(keyPath: any, value: Value | null):void;
        /**
         * Fetches items grouped by sections from the user’s music library.
         */
        response():any;
        /**
         * Sorts items by a specified property.
         */
        sortItems<Value>(keyPath: any, ascending: boolean):void;
        /**
         * Sorts sections by a specified property.
         */
        sortSections<Value>(keyPath: any, ascending: boolean):void;
    }
    export class MusicLibrarySectionedResponse {
        /**
         * An array of sections that match the filters on the originating library request.
         */
        sections: any;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MusicPersonalRecommendation {
        /**
         * The albums for the personal recommendation.
         */
        albums: MusicItemCollection<Album>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the personal recommendation.
         */
        id: MusicItemID;
        /**
         * The items for the personal recommendation.
         */
        items: MusicItemCollection<MusicPersonalRecommendation.Item>;
        /**
         * The next date for refreshing the personal recommendation.
         */
        nextRefreshDate: Date | null;
        /**
         * The playlists for the personal recommendation.
         */
        playlists: MusicItemCollection<Playlist>;
        /**
         * The reason for the personal recommendation.
         */
        reason: string;
        /**
         * The stations for the personal recommendation.
         */
        stations: MusicItemCollection<Station>;
        /**
         * The title for the personal recommendation.
         */
        title: string;
        /**
         * The types of items in the personal recommendation.
         */
        types: MusicPersonalRecommendationItem.Type[];
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class MusicPersonalRecommendation
     */
    export namespace MusicPersonalRecommendation {
        export enum Item {}
    }
    export class MusicPersonalRecommendationsRequest {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A limit for the number of recommendations to return
         *  
         * in the personal recommendations response.
         */
        limit: number;
        /**
         * An offet for the request.
         */
        offset: number;
        /**
         * Creates a request to fetch default personal recommendations
         *  
         * for the user.
         */
        constructor ();
        /**
         * Creates a request to fetch default personal recommendations
         *  
         * for the user.
         */
        constructor (recommendations: S);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Fetches the music recommendations based on the user’s library
         *  
         * and listening history.
         */
        response():MusicPersonalRecommendationsResponse;
    }
    export class MusicPersonalRecommendationsResponse {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A collection of personal recommendations.
         */
        recommendations: MusicItemCollection<MusicPersonalRecommendation>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class MusicRecentlyPlayedRequest {
        /**
         * A limit for the number of items to return
         *  
         * in the response that contains items the user has recently played.
         */
        limit: number;
        /**
         * An offet for the request.
         */
        offset: number;
        /**
         * Creates a request for items the user has recently played.
         */
        constructor ();
        /**
         * Fetches items the user has recently played.
         */
        response():MusicRecentlyPlayedResponse<MusicItemType>;
    }
    export class MusicRecentlyPlayedResponse {
        /**
         * A collection of items the user has recently played.
         */
        items: MusicItemCollection<MusicItemType>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class TitledSection {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the titled section.
         */
        id: MusicItemID;
        /**
         * The title of the section.
         */
        title: string;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export enum AudioVariant {}
    export enum MusicCatalogChartKind {}
    export enum MusicPropertySource {}
    export enum RecentlyPlayedMusicItem {}
    export class RadioShow {
        /**
         * The radio show artwork.
         */
        artwork: Artwork | null;
        /**
         * The notes about the radio show that appear in the Music catalog.
         */
        editorialNotes: EditorialNotes | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The name of the host for the radio show.
         */
        hostName: string;
        /**
         * The unique identifier for the radio show.
         */
        id: MusicItemID;
        /**
         * The name of the radio show.
         */
        name: string;
        /**
         * The radio show’s associated playlists.
         */
        playlists: MusicItemCollection<Playlist> | null;
        /**
         * The URL for the radio show.
         */
        url: URL | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export class RecordLabel {
        /**
         * The record label’s artwork.
         */
        artwork: Artwork | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the record label.
         */
        id: MusicItemID;
        /**
         * A collection of the most recent releases for the record label.
         */
        latestReleases: MusicItemCollection<Album> | null;
        /**
         * The name of the record label.
         */
        name: string;
        /**
         * An abbreviated description to show inline or when the record label
         *  
         * appears alongside other content.
         */
        shortDescription: string;
        /**
         * A description to show when the record label is prominently displayed.
         */
        standardDescription: string;
        /**
         * A collection of top releases for the record label.
         */
        topReleases: MusicItemCollection<Album> | null;
        /**
         * The URL for the record label.
         */
        url: URL | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export class Song {
        /**
         * The title of the album the song appears on.
         */
        albumTitle: string;
        /**
         * The song’s associated albums.
         */
        albums: MusicItemCollection<Album> | null;
        /**
         * The artist’s name.
         */
        artistName: string;
        /**
         * The artist’s URL.
         */
        artistURL: URL | null;
        /**
         * The song’s associated artists.
         */
        artists: MusicItemCollection<Artist> | null;
        /**
         * The artwork for the song.
         */
        artwork: Artwork | null;
        /**
         * For classical music only, the name of the artist or composer to attribute to the song.
         */
        attribution: string;
        /**
         * The variants that indicate the quality of audio available for the song.
         */
        audioVariants: AudioVariant[] | null;
        /**
         * The name of the song’s composer.
         */
        composerName: string;
        /**
         * The song’s composers.
         */
        composers: MusicItemCollection<Artist> | null;
        /**
         * The rating of the content.
         */
        contentRating: ContentRating | null;
        /**
         * The number of the disc the song appears on.
         */
        discNumber: number;
        /**
         * The duration of the song.
         */
        duration: TimeInterval | null;
        /**
         * The editorial notes for the song.
         */
        editorialNotes: EditorialNotes | null;
        /**
         * The names of the song’s associated genres.
         */
        genreNames: string[];
        /**
         * The song’s associated genres.
         */
        genres: MusicItemCollection<Genre> | null;
        /**
         * A Boolean value that indicates whether the song has lyrics available in the catalog. If true, the song has lyrics available; otherwise, it doesn’t.
         */
        hasLyrics: boolean;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the song.
         */
        id: MusicItemID;
        /**
         * A Boolean value that indicates whether the song is
         *  
         * an Apple Digital Master.
         */
        isAppleDigitalMaster: boolean;
        /**
         * The International Standard Recording Code (ISRC) for the song.
         */
        isrc: string;
        /**
         * The date when the user last played the song on this device.
         */
        lastPlayedDate: Date | null;
        /**
         * The date when the user added the song to the library.
         */
        libraryAddedDate: Date | null;
        /**
         * For classical music only, the movement count of this song.
         */
        movementCount: number;
        /**
         * For classical music only, the movement name of this song.
         */
        movementName: string;
        /**
         * For classical music only, the movement number of this song.
         */
        movementNumber: number;
        /**
         * The song’s associated music videos.
         */
        musicVideos: MusicItemCollection<MusicVideo> | null;
        /**
         * The number of times the user played the song.
         */
        playCount: number;
        /**
         * The parameters to use to play the song.
         */
        playParameters: PlayParameters | null;
        /**
         * The preview assets for the song.
         */
        previewAssets: PreviewAsset[] | null;
        /**
         * The release date (or expected prerelease date) for the song.
         */
        releaseDate: Date | null;
        /**
         * The song’s associated station.
         */
        station: Station | null;
        /**
         * The title of the song.
         */
        title: string;
        /**
         * The song’s number in the album’s track list.
         */
        trackNumber: number;
        /**
         * The URL for the song.
         */
        url: URL | null;
        /**
         * For classical music only, the name of the associated work.
         */
        workName: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export class Station {
        /**
         * The station artwork.
         */
        artwork: Artwork | null;
        /**
         * The rating of the content that potentially plays while playing the station.
         */
        contentRating: ContentRating | null;
        /**
         * The duration of the stream.
         */
        duration: TimeInterval | null;
        /**
         * The notes about the station that appear in the Music app.
         */
        editorialNotes: EditorialNotes | null;
        /**
         * The episode number of the station.
         */
        episodeNumber: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The unique identifier for the station.
         */
        id: MusicItemID;
        /**
         * A Boolean value that indicates whether the station is live.
         */
        isLive: boolean;
        /**
         * The name of the station.
         */
        name: string;
        /**
         * The parameters to use to play the station.
         */
        playParameters: PlayParameters | null;
        /**
         * The name of the entity that provides the station.
         */
        stationProviderName: string;
        /**
         * The URL for the station.
         */
        url: URL | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Loads a new instance of the music item that includes
         *  
         * the specified properties.
         */
        with(properties: PartialMusicAsyncProperty<Self>[]):Self;
    }
    export enum Track {}
    export enum ContentRating {}
    export class EditorialNotes {
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The name for the editorial notes.
         */
        name: string;
        /**
         * Abbreviated notes that display inline or when the content
         *  
         * appears alongside other content.
         */
        short: string;
        /**
         * Notes that appear when the content displays prominently.
         */
        standard: string;
        /**
         * The tag line for the editorial notes.
         */
        tagline: string;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class PreviewAsset {
        /**
         * The preview artwork for the associated preview music video.
         */
        artwork: Artwork | null;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The HLS preview URL for the content.
         */
        hlsURL: URL | null;
        /**
         * The preview URL for the content.
         */
        url: URL | null;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class MusicCatalogSearchRequest {
        /**
         * A Boolean value that indicates whether to request top search results.
         */
        includeTopResults: boolean;
        /**
         * A limit for the number of items to return
         *  
         * in the catalog search response.
         */
        limit: number;
        /**
         * An offet for the request.
         */
        offset: number;
        /**
         * The search term for the request.
         */
        term: string;
        /**
         * The list of requested catalog searchable types.
         */
        types: MusicCatalogSearchable.Type[];
        /**
         * Creates a catalog search request for a specified search term
         *  
         * and list of catalog searchable types.
         */
        constructor (term: string, types: MusicCatalogSearchable.Type[]);
        /**
         * Fetches items of the requested catalog searchable types that match
         *  
         * the search term of the request.
         */
        response():MusicCatalogSearchResponse;
    }
    export class MusicCatalogSearchResponse {
        /**
         * A collection of albums.
         */
        albums: MusicItemCollection<Album>;
        /**
         * A collection of artists.
         */
        artists: MusicItemCollection<Artist>;
        /**
         * A collection of curators.
         */
        curators: MusicItemCollection<Curator>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A collection of music videos.
         */
        musicVideos: MusicItemCollection<MusicVideo>;
        /**
         * A collection of playlists.
         */
        playlists: MusicItemCollection<Playlist>;
        /**
         * A collection of radio shows.
         */
        radioShows: MusicItemCollection<RadioShow>;
        /**
         * A collection of record labels.
         */
        recordLabels: MusicItemCollection<RecordLabel>;
        /**
         * A collection of songs.
         */
        songs: MusicItemCollection<Song>;
        /**
         * A collection of stations.
         */
        stations: MusicItemCollection<Station>;
        /**
         * A collection of top results.
         */
        topResults: MusicItemCollection<MusicCatalogSearchResponse.TopResult>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    /**
     * the same name namespace of class MusicCatalogSearchResponse
     */
    export namespace MusicCatalogSearchResponse {
        export enum TopResult {}
    }
    export class MusicCatalogResourceRequest {
        /**
         * A limit for the number of items to return
         *  
         * in the catalog resource response.
         */
        limit: number;
        /**
         * A list of properties which the resource request will fetch
         *  
         * for each music item in the response.
         */
        properties: PartialMusicAsyncProperty<MusicItemType>[];
        /**
         * Creates a request to fetch top-level items in the Apple Music catalog.
         */
        constructor ();
        /**
         * Creates a request to fetch items using a filter that matches
         *  
         * a specific value.
         */
        constructor (keyPath: any, value: Value);
        /**
         * Creates a request to fetch items using a filter that matches
         *  
         * any value from an array of possible values.
         */
        constructor (keyPath: any, values: Value[]);
        /**
         * Fetches items from the Apple Music catalog that match a specific filter.
         */
        response():MusicCatalogResourceResponse<MusicItemType>;
    }
    export class MusicCatalogResourceResponse {
        /**
         * A collection of items matching the filter used in
         *  
         * the originating 
         * .
         */
        items: MusicItemCollection<MusicItemType>;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class MusicDataRequest {
        /**
         * Fetches the current country code for the user’s Apple Music account.
         */
        static currentCountryCode: string;
        /**
         * The shared token provider for fetching tokens
         *  
         * that Apple Music API requires.
         */
        static tokenProvider: MusicTokenProvider;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The URL request for the data request.
         */
        urlRequest: URLRequest;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Creates a data request with a URL request.
         */
        constructor (urlRequest: URLRequest);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Fetches data from the Apple Music API endpoint that
         *  
         * the URL request defines.
         */
        response():MusicDataResponse;
    }
    /**
     * the same name namespace of class MusicDataRequest
     */
    export namespace MusicDataRequest {
        export class Error {
            /**
             * The specific code for the underlying cause of the error.
             */
            code: number;
            /**
             * Additional detailed information about the cause of the error.
             */
            detailText: string;
            /**
             * The identifier for the error.
             */
            id: string;
            /**
             * The original response that contains the error.
             */
            originalResponse: MusicDataResponse;
            /**
             * The source of the error.
             */
            source: MusicDataRequest.Error.Source | null;
            /**
             * The HTTP status code for the error.
             */
            status: number;
            /**
             * A developer-friendly title for the error.
             */
            title: string;
            /**
             * A textual representation of this instance.
             */
            description: string;
            /**
             * Retrieve the localized description for this error.
             */
            localizedDescription: string;
        }
        /**
         * the same name namespace of class Error
         */
        export namespace Error {
            export enum Source {}
        }
    }
    export class MusicDataResponse {
        /**
         * The raw data returned by the Apple Music API endpoint
         *  
         * for the originating data request.
         */
        data: Data;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The URL response returned by the Apple Music API endpoint
         *  
         * for the originating data request.
         */
        urlResponse: HTTPURLResponse;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * A textual representation of this instance.
         */
        description: string;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class ApplicationMusicPlayer extends MusicPlayer {
        /**
         * The shared application music player, which plays music
         *  
         * specifically for your app.
         */
        static shared: ApplicationMusicPlayer;
        /**
         * The playback queue for the application music player.
         */
        queue: ApplicationMusicPlayer.Queue;
    }
    /**
     * the same name namespace of class ApplicationMusicPlayer
     */
    export namespace ApplicationMusicPlayer {
        export class Queue extends MusicPlayer.Queue {
            entries: ApplicationMusicPlayer.Queue.Entries;
            /**
             * Creates a playback queue with playback queue entries.
             */
            constructor (entries: S, startEntry: S.Element | null);
            constructor (...elements: PlayableMusicItem);
            /**
             * Creates a playback queue with playable music items.
             */
            constructor (playableItems: S, startPlayableItem: S.Element | null);
        }
        /**
         * the same name namespace of class Queue
         */
        export namespace Queue {
            export class Entries {
                /**
                 * The collection’s “past the end” position—that is, the position one
                 *  
                 * greater than the last valid subscript argument.
                 */
                endIndex: ApplicationMusicPlayer.Queue.Entries.Index;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * The indices that are valid for subscripting the collection, in ascending
                 *  
                 * order.
                 */
                indices: ApplicationMusicPlayer.Queue.Entries.Indices;
                /**
                 * The position of the first element in a nonempty collection.
                 */
                startIndex: ApplicationMusicPlayer.Queue.Entries.Index;
                /**
                 * The last element of the collection.
                 */
                last: Self.Element | null;
                /**
                 * The number of elements in the collection.
                 */
                count: number;
                /**
                 * The first element of the collection.
                 */
                first: Self.Element | null;
                /**
                 * A Boolean value indicating whether the collection is empty.
                 */
                isEmpty: boolean;
                /**
                 * A value less than or equal to the number of elements in the collection.
                 */
                underestimatedCount: number;
                /**
                 * A sequence containing the same elements as this sequence,
                 *  
                 * but on which some operations, such as 
                 *  and 
                 * , are
                 *  
                 * implemented lazily.
                 */
                lazy: LazySequence<Self>;
                publisher: any;
                /**
                 * Creates an empty collection of entries.
                 */
                constructor ();
                /**
                 * Creates an instance initialized with the given elements.
                 */
                constructor (...elements: MusicPlayer.Queue.Entry);
                /**
                 * Creates a new instance of a collection containing the elements of a
                 *  
                 * sequence.
                 */
                constructor (elements: S);
                /**
                 * Creates a new collection containing the specified number of a single,
                 *  
                 * repeated value.
                 */
                constructor (repeatedValue: Self.Element, count: number);
                /**
                 * Returns the distance between two indices.
                 */
                distance(start: ApplicationMusicPlayer.Queue.Entries.Index, end: ApplicationMusicPlayer.Queue.Entries.Index):number;
                /**
                 * Replaces the given index with its successor.
                 */
                formIndex(i: ApplicationMusicPlayer.Queue.Entries.Index):void;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
                /**
                 * Returns an index that is the specified distance from the given index.
                 */
                index(i: ApplicationMusicPlayer.Queue.Entries.Index, distance: number):ApplicationMusicPlayer.Queue.Entries.Index;
                /**
                 * Returns an iterator over the elements of this sequence.
                 */
                makeIterator():ApplicationMusicPlayer.Queue.Entries.Iterator;
                /**
                 * Replaces the specified subrange of elements with the given collection.
                 */
                replaceSubrange<C>(subrange: Range<ApplicationMusicPlayer.Queue.Entries.Index>, newElements: C):void;
                /**
                 * Returns the difference needed to produce this collection’s ordered
                 *  
                 * elements from the given collection.
                 */
                difference<C>(other: C):C.Element;
                /**
                 * Returns a subsequence containing all but the specified number of final
                 *  
                 * elements.
                 */
                dropLast(k: number):Self.SubSequence;
                /**
                 * Returns the last index where the specified value appears in the
                 *  
                 * collection.
                 */
                lastIndex(element: Self.Element):Self.Index | null;
                /**
                 * Returns a view presenting the elements of the collection in reverse
                 *  
                 * order.
                 */
                reversed():ReversedCollection<Self>;
                /**
                 * Returns a subsequence, up to the given maximum length, containing the
                 *  
                 * final elements of the collection.
                 */
                suffix(maxLength: number):Self.SubSequence;
                /**
                 * Returns a subsequence by skipping elements while 
                 *  returns
                 *  
                 *  and returning the remaining elements.
                 */
                drop(predicate: Bool):Self.SubSequence;
                /**
                 * Returns a subsequence containing all but the given number of initial
                 *  
                 * elements.
                 */
                dropFirst(k: number):Self.SubSequence;
                /**
                 * Returns the first index where the specified value appears in the
                 *  
                 * collection.
                 */
                firstIndex(element: Self.Element):Self.Index | null;
                /**
                 * Finds and returns the range of the first occurrence of a given collection
                 *  
                 * within this collection.
                 */
                firstRange<C>(other: C):C.Element;
                /**
                 * Returns an array containing the results of mapping the given closure
                 *  
                 * over the sequence’s elements.
                 */
                map<T>(transform: T):T[];
                /**
                 * Returns a subsequence, up to the specified maximum length, containing
                 *  
                 * the initial elements of the collection.
                 */
                prefix(maxLength: number):Self.SubSequence;
                /**
                 * Returns a random element of the collection.
                 */
                randomElement():Self.Element | null;
                /**
                 * Returns a random element of the collection, using the given generator as
                 *  
                 * a source for randomness.
                 */
                randomElement<T>(generator: T):RandomNumberGenerator;
                /**
                 * Finds and returns the ranges of the all occurrences of a given sequence
                 *  
                 * within the collection.
                 */
                ranges<C>(other: C):C.Element;
                /**
                 * Returns the longest possible subsequences of the collection, in order,
                 *  
                 * that don’t contain elements satisfying the given predicate.
                 */
                split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
                /**
                 * Returns a new collection of the same type by removing initial elements
                 *  
                 * that satisfy the given predicate from the start.
                 */
                trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
                trimmingPrefix(predicate: Bool):Self.SubSequence;
                /**
                 * Reorders the elements of the collection such that all the elements
                 *  
                 * that match the given predicate are after all the elements that don’t
                 *  
                 * match.
                 */
                partition(belongsInSecondPartition: Bool):Self.Index;
                /**
                 * Reverses the elements of the collection in place.
                 */
                reverse():void;
                /**
                 * Shuffles the collection in place.
                 */
                shuffle():void;
                /**
                 * Shuffles the collection in place, using the given generator as a source
                 *  
                 * for randomness.
                 */
                shuffle<T>(generator: T):void;
                /**
                 * Sorts the collection in place, using the given predicate as the
                 *  
                 * comparison between elements.
                 */
                sort(areInIncreasingOrder: Bool):void;
                /**
                 * Sorts the collection using the given array of 
                 * s to
                 *  
                 * compare elements.
                 */
                sort<S, Comparator>(comparators: S):void;
                /**
                 * Sorts the collection using the given comparator to compare elements.
                 */
                sort<Comparator>(comparator: Comparator):void;
                /**
                 * Exchanges the values at the specified indices of the collection.
                 */
                swapAt(i: Self.Index, j: Self.Index):void;
                /**
                 * Executes a closure on the collection’s contiguous storage.
                 */
                withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
                /**
                 * Adds an element to the end of the collection.
                 */
                append(newElement: Self.Element):void;
                /**
                 * Adds the elements of a sequence or collection to the end of this
                 *  
                 * collection.
                 */
                append<S>(newElements: S):void;
                /**
                 * Applies the given difference to this collection.
                 */
                applying(difference: CollectionDifference<Self.Element>):Self | null;
                /**
                 * Returns a new collection of the same type containing, in order, the
                 *  
                 * elements of the original collection that satisfy the given predicate.
                 */
                filter(isIncluded: Bool):Self;
                /**
                 * Inserts a new element into the collection at the specified position.
                 */
                insert(newElement: Self.Element, i: Self.Index):void;
                /**
                 * Inserts the elements of a sequence into the collection at the specified
                 *  
                 * position.
                 */
                insert<C>(newElements: C, i: Self.Index):void;
                /**
                 * Removes and returns the last element of the collection.
                 */
                popLast():Self.Element | null;
                /**
                 * Removes and returns the element at the specified position.
                 */
                remove(position: Self.Index):Self.Element;
                /**
                 * Removes all elements from the collection.
                 */
                removeAll(keepCapacity: boolean):void;
                /**
                 * Removes and returns the first element of the collection.
                 */
                removeFirst():Self.Element;
                /**
                 * Removes and returns the last element of the collection.
                 */
                removeLast():Self.Element;
                /**
                 * Removes the elements in the specified subrange from the collection.
                 */
                removeSubrange(bounds: Range<Self.Index>):void;
                /**
                 * Removes the elements in the specified subrange from the collection.
                 */
                removeSubrange<R>(bounds: R):void;
                /**
                 * Replaces all occurrences of a target sequence with a given collection
                 */
                replace<C, Replacement>(other: C, replacement: Replacement, maxReplacements: number):void;
                /**
                 * Replaces the specified subrange of elements with the given collection.
                 */
                replaceSubrange<C, R>(subrange: R, newElements: C):void;
                /**
                 * Returns a new collection in which all occurrences of a target sequence
                 *  
                 * are replaced by another collection.
                 */
                replacing<C, Replacement>(other: C, replacement: Replacement, maxReplacements: number):Replacement.Element;
                /**
                 * Prepares the collection to store the specified number of elements, when
                 *  
                 * doing so is appropriate for the underlying type.
                 */
                reserveCapacity(n: number):void;
                /**
                 * Removes the initial elements that satisfy the given predicate from the
                 *  
                 * start of the sequence.
                 */
                trimPrefix<Prefix>(prefix: Prefix):void;
                trimPrefix(predicate: Bool):void;
                /**
                 * Returns a Boolean value indicating whether every element of a sequence
                 *  
                 * satisfies a given predicate.
                 */
                allSatisfy(predicate: Bool):boolean;
                /**
                 * Returns an array containing the non-
                 *  results of calling the given
                 *  
                 * transformation with each element of this sequence.
                 */
                compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
                /**
                 * If 
                 *  is ordered before 
                 *  in the ordering described by the given
                 *  
                 * sequence of 
                 * s
                 */
                compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
                /**
                 * Returns a Boolean value indicating whether the sequence contains the
                 *  
                 * given element.
                 */
                contains(element: Self.Element):boolean;
                /**
                 * Returns a Boolean value indicating whether this sequence and another
                 *  
                 * sequence contain the same elements in the same order.
                 */
                elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
                /**
                 * Returns a sequence of pairs (
                 * , 
                 * ), where 
                 *  represents a
                 *  
                 * consecutive integer starting at zero and 
                 *  represents an element of
                 *  
                 * the sequence.
                 */
                enumerated():EnumeratedSequence<Self>;
                flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
                /**
                 * Returns an array containing the concatenated results of calling the
                 *  
                 * given transformation with each element of this sequence.
                 */
                flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
                /**
                 * Calls the given closure on each element in the sequence in the same order
                 *  
                 * as a 
                 * -
                 *  loop.
                 */
                forEach(body: Void):void;
                formatted<S>(style: S):FormatStyle;
                /**
                 * Returns a Boolean value indicating whether the sequence precedes another
                 *  
                 * sequence in a lexicographical (dictionary) ordering, using the given
                 *  
                 * predicate to compare elements.
                 */
                lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
                /**
                 * Returns the maximum element in the sequence, using the given predicate
                 *  
                 * as the comparison between elements.
                 */
                max(areInIncreasingOrder: Bool):Self.Element | null;
                /**
                 * Returns the minimum element in the sequence, using the given predicate as
                 *  
                 * the comparison between elements.
                 */
                min(areInIncreasingOrder: Bool):Self.Element | null;
                /**
                 * Returns the result of combining the elements of the sequence using the
                 *  
                 * given closure.
                 */
                reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
                /**
                 * Returns the elements of the sequence, shuffled.
                 */
                shuffled():Self.Element[];
                /**
                 * Returns the elements of the sequence, shuffled using the given generator
                 *  
                 * as a source for randomness.
                 */
                shuffled<T>(generator: T):RandomNumberGenerator;
                /**
                 * Returns the elements of the sequence, sorted using the given predicate as
                 *  
                 * the comparison between elements.
                 */
                sorted(areInIncreasingOrder: Bool):Self.Element[];
                /**
                 * Returns the elements of the sequence, sorted using the given array of
                 *  
                 * s to compare elements.
                 */
                sorted<S, Comparator>(comparators: S):Comparator.Compared;
                /**
                 * Returns the elements of the sequence, sorted using the given comparator
                 *  
                 * to compare elements.
                 */
                sorted<Comparator>(comparator: Comparator):Comparator.Compared;
                /**
                 * Returns a Boolean value indicating whether the initial elements of the
                 *  
                 * sequence are the same as the elements in another sequence.
                 */
                starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
                /**
                 * Executes a closure on the sequence’s contiguous storage.
                 */
                withContiguousStorageIfAvailable<R>(body: R):R | null;
            }
        }
    }
    export class SystemMusicPlayer extends MusicPlayer {
        /**
         * The shared system music player, which controls the Music app’s state.
         */
        static shared: SystemMusicPlayer;
        /**
         * The playback queue for the system music player.
         */
        queue: MusicPlayer.Queue;
    }
}

/**
 * Locate and interact with nearby devices using identifiers, distance, and direction.
 */
declare module NearbyInteraction {
    export interface NIDeviceCapability {
        /**
         * A Boolean value that indicates whether the device produces precise distance measurements to nearby objects.
         */
        supportsPreciseDistanceMeasurement: boolean;
        /**
         * A Boolean value that indicates whether the device produces instantaneous direction measurements to nearby objects.
         */
        supportsDirectionMeasurement: boolean;
        /**
         * A Boolean value that indicates whether the device can leverage ARKit to improve interaction.
         */
        supportsCameraAssistance: boolean;
    }
    export class NISession extends NSObject {
        /**
         * The configuration run by the session.
         */
        configuration: NIConfiguration | null;
        /**
         * The dispatch queue on which the session invokes delegate callbacks.
         */
        delegateQueue: DispatchQueue | null;
        /**
         * An object that the framework notifies of session events.
         */
        delegate: NISessionDelegate | null;
        /**
         * Starts a session with a nearby peer.
         */
        run(configuration: NIConfiguration):void;
        /**
         * Stops sending distance and direction updates to the peer. 
         */
        pause():void;
        /**
         * Stops a running session.
         */
        invalidate():void;
        /**
         * Provides the framework with an existing AR session to use for vision assistance.
         */
        setARSession(session: ARSession):void;
        /**
         * Returns a world transform to integrate a nearby object in an AR experience.
         */
        worldTransform(object: NINearbyObject):simd_float4x4 | null;
    }
    export enum NIAlgorithmConvergenceStatus {}
    export class NIError {
        /**
         * A string that indicates the error domain in Core Foundation.
         */
        static errorDomain: string;
        /**
         * An error code that indicates that the app reached the maximum number of sessions.
         */
        static activeSessionsLimitExceeded: NIError.Code;
        /**
         * An error code that indicates that the nearby-interaction configuration isn't valid.
         */
        static invalidConfiguration: NIError.Code;
        /**
         * An error code that indicates that the framework timed out the session.
         */
        static resourceUsageTimeout: NIError.Code;
        /**
         * An error code that indicates that the session failed.
         */
        static sessionFailed: NIError.Code;
        /**
         * An error code that indicates that the framework doesn't support the device platform.
         */
        static unsupportedPlatform: NIError.Code;
        /**
         * An error code that indicates that the user declined the request to share their relative position with nearby devices.
         */
        static userDidNotAllow: NIError.Code;
        /**
         * An error that indicates the framework can't begin visual assistance.
         */
        static invalidARConfiguration: NIError.Code;
        /**
         * An error that indicates the peer Bluetooth accessory is not connected or paired.
         */
        static accessoryPeerDeviceUnavailable: NIError.Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The error user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A string that contains a description of the error.
         */
        localizedDescription: string;
        /**
         * An integer value for an error.
         */
        errorCode: number;
        /**
         * A code that indicates the cause of the error.
         */
        code: Code;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NIError
     */
    export namespace NIError {
        export enum Code {
            activeSessionsLimitExceeded = -5885,
            invalidConfiguration = -5888,
            resourceUsageTimeout = -5886,
            sessionFailed = -5887,
            unsupportedPlatform = -5889,
            userDidNotAllow = -5884,
            invalidARConfiguration = -5883,
            accessoryPeerDeviceUnavailable = -5882,
        }
    }
    export class NINearbyPeerConfiguration extends NIConfiguration {
        /**
         * A value that uniquely identifies the other peer in the interaction session.
         */
        peerDiscoveryToken: NIDiscoveryToken;
        /**
         * A Boolean value that combines the spatial awareness of ARKit with Nearby Interaction to improve the accuracy of a nearby object's position.
         */
        isCameraAssistanceEnabled: boolean;
        /**
         * Creates a configuration for interaction between devices, including iPhone and Apple Watch.
         */
        constructor (peerToken: NIDiscoveryToken);
    }
    export class NIConfiguration extends NSObject {}
    export class NINearbyAccessoryConfiguration extends NIConfiguration {
        /**
         * An identifier for the accessory in a session.
         */
        accessoryDiscoveryToken: NIDiscoveryToken;
        /**
         * A Boolean value that combines the spatial awareness of ARKit with Nearby Interaction to improve the accuracy of a nearby object's position.
         */
        isCameraAssistanceEnabled: boolean;
        /**
         * Creates a configuration for interaction between iPhone and third-party accessories.
         */
        constructor (data: Data);
        /**
         * Creates a configuration for an accessory with the given Bluetooth peer identifier.
         */
        constructor (accessoryData: Data, identifier: UUID);
    }
    export class NINearbyObject extends NSObject {
        /**
         * A unique identifier for a peer device in the session.
         */
        discoveryToken: NIDiscoveryToken;
        /**
         * The distance from the user's device to the peer device in meters.
         */
        distance: Float | null;
        /**
         * A vector that points from the user's device in the direction of the peer device.
         */
        direction: simd_float3 | null;
        /**
         * An angle in radians that indicates the azimuthal direction to the nearby object.
         */
        horizontalAngle: Float | null;
        /**
         * The estimation of a nearby object's vertical position as it relates to the user's device.
         */
        verticalDirectionEstimate: NINearbyObject.VerticalDirectionEstimate;
    }
    /**
     * the same name namespace of class NINearbyObject
     */
    export namespace NINearbyObject {
        export enum VerticalDirectionEstimate {
            unknown = 0,
            same = 1,
            above = 2,
            below = 3,
            aboveOrBelow = 4,
        }
        export enum RemovalReason {
            peerEnded = 1,
            timeout = 0,
        }
    }
    export interface NISessionDelegate extends NSObjectProtocol {
        /**
         * Notifies the app when a session starts or resumes running
         */
        sessionDidStartRunning(session: NISession):void;
        /**
         * Notifies you when the session updates nearby objects.
         */
        session(session: NISession, nearbyObjects: NINearbyObject[]):void;
        /**
         * Notifies you of a suspended session.
         */
        sessionWasSuspended(session: NISession):void;
        /**
         * Notifies you of the end of a session's suspension.
         */
        sessionSuspensionEnded(session: NISession):void;
    }
    export class NIAlgorithmConvergence extends NSObject {
        /**
         * The current state of the framework's Camera Assistance feature.
         */
        status: NIAlgorithmConvergenceStatus;
    }
    export class NIDiscoveryToken extends NSObject {}
}

/**
 * Create network connections to send and receive data using transport and security protocols.
 */
declare module Network {
    export enum NWEndpoint {
        opaque,
        hostPort,
        service,
        url,
        unix,
    }
    export class IPv6Address {
        /**
         * The device's loopback address (::1).
         */
        static loopback: IPv6Address;
        /**
         * The multicast address for all local nodes (ff01::1).
         */
        static nodeLocalNodes: IPv6Address;
        /**
         * The multicast address for all link-local nodes (ff02::1).
         */
        static linkLocalNodes: IPv6Address;
        /**
         * The multicast address for all link-local routers (ff02::2).
         */
        static linkLocalRouters: IPv6Address;
        hashValue: number;
        hash(hasher: Hasher):void;
    }
    export class NWPath {
        /**
         * A list of gateways configured on the interfaces available to a path.
         */
        gateways: NWEndpoint[];
        /**
         * A Boolean indicating whether the path can route IPv4 traffic.
         */
        supportsIPv4: boolean;
        /**
         * A Boolean indicating whether the path can route IPv6 traffic.
         */
        supportsIPv6: boolean;
        /**
         * A Boolean indicating whether the path has a DNS server configured.
         */
        supportsDNS: boolean;
        /**
         * A Boolean indicating whether the path uses an interface in Low Data Mode.
         */
        isConstrained: boolean;
        /**
         * A Boolean indicating whether the path uses an interface that is considered expensive, such as Cellular or a Personal Hotspot.
         */
        isExpensive: boolean;
        /**
         * The description of the network path.
         */
        debugDescription: string;
        /**
         * The local endpoint in use by a connection's network path.
         */
        localEndpoint: NWEndpoint | null;
        /**
         * The remote endpoint in use by a connection's network path.
         */
        remoteEndpoint: NWEndpoint | null;
        unsatisfiedReason: NWPath.UnsatisfiedReason;
    }
    /**
     * the same name namespace of class NWPath
     */
    export namespace NWPath {
        export enum UnsatisfiedReason {
            cellularDenied,
            localNetworkDenied,
            notAvailable,
            wifiDenied,
        }
    }
    export class NWPathMonitor {
        static ethernetChannel: NWPathMonitor;
        /**
         * The queue on which path events are delivered.
         */
        queue: DispatchQueue | null;
        /**
         * The currently available network path observed by the path monitor.
         */
        currentPath: NWPath;
        /**
         * A handler that receives network path updates.
         */
        pathUpdateHandler: ()=>any | null;
        /**
         * Initializes a path monitor to observe all available interface types.
         */
        constructor ();
        /**
         * Initializes a path monitor to observe a specific interface type.
         */
        constructor (requiredInterfaceType: NWInterface.InterfaceType);
        /**
         * Initializes a path monitor to observe interface types that are not explicitly prohibited.
         */
        constructor (prohibitedInterfaceTypes: NWInterface.InterfaceType[]);
        /**
         * Starts monitoring path changes, and sets a queue on which to deliver path events.
         */
        start(queue: DispatchQueue):void;
        /**
         * Stops receiving network path updates.
         */
        cancel():void;
    }
    export class NWInterface {
        /**
         * The type of the interface, such as Wi-Fi or loopback.
         */
        type: NWInterface.InterfaceType;
        /**
         * The name of the interface.
         */
        name: string;
        /**
         * The system interface index associated with the interface.
         */
        index: number;
        /**
         * The description of the network interface.
         */
        debugDescription: string;
        hashValue: number;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NWInterface
     */
    export namespace NWInterface {
        export enum InterfaceType {
            wifi,
            cellular,
            wiredEthernet,
            loopback,
            other,
        }
        export enum RadioType {
            cell,
            wifi,
        }
    }
    export enum NWError {
        posix,
        dns,
        tls,
    }
    export class nw_connection_group_state_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_browser_state_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_connection_state_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_data_transfer_report_state_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_endpoint_type_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_error_domain_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_ethernet_channel_state_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_framer_start_result_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_interface_type_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class NWParameters {
        /**
         * A set of default parameters for connections and listeners that use TLS and TCP.
         */
        static tls: NWParameters;
        /**
         * A set of default parameters for connections and listeners that use TCP.
         */
        static tcp: NWParameters;
        /**
         * A set of default parameters for connections and listeners that use DTLS and UDP.
         */
        static dtls: NWParameters;
        /**
         * A set of default parameters for connections and listeners that use UDP.
         */
        static udp: NWParameters;
        /**
         * The default parameters for connecting with other, local devices that are running your app.
         */
        static applicationService: NWParameters;
        /**
         * A summarized description of the parameters.
         */
        debugDescription: string;
        /**
         * The protocol stack used by connections and listeners.
         */
        defaultProtocolStack: NWParameters.ProtocolStack;
        /**
         * An interface type to require on connections and listeners.
         */
        requiredInterfaceType: NWInterface.InterfaceType;
        /**
         * A specific interface to require on connections, listeners, and browsers.
         */
        requiredInterface: NWInterface | null;
        /**
         * A specific local IP address and port to use for connections and listeners.
         */
        requiredLocalEndpoint: NWEndpoint | null;
        /**
         * A Boolean that prevents connections, listeners, and browsers from using network paths marked as constrained by Low Data Mode.
         */
        prohibitConstrainedPaths: boolean;
        /**
         * A Boolean that prevents connections, listeners, and browsers from using network paths marked as expensive.
         */
        prohibitExpensivePaths: boolean;
        /**
         * A list of interface types that connections, listeners, and browsers will not use.
         */
        prohibitedInterfaceTypes: NWInterface.InterfaceType[] | null;
        /**
         * A list of specific interfaces that connections and listeners will not use.
         */
        prohibitedInterfaces: NWInterface[] | null;
        /**
         * An option to allow connections to use multipath protocols.
         */
        multipathServiceType: NWParameters.MultipathServiceType;
        /**
         * A level of service quality for connections to use.
         */
        serviceClass: NWParameters.ServiceClass;
        /**
         * A Boolean that enables sending application data with protocol handshakes.
         */
        allowFastOpen: boolean;
        /**
         * A behavior that defines how expired DNS answers will be used.
         */
        expiredDNSBehavior: NWParameters.ExpiredDNSBehavior;
        /**
         * A Boolean value that determines whether a connection requires DNSSEC validation when resolving endpoints.
         */
        requiresDNSSECValidation: boolean;
        /**
         * A Boolean that indicates that connections should ignore proxies when they are enabled on the system.
         */
        preferNoProxies: boolean;
        /**
         * A Boolean that enables peer-to-peer link technologies for connections and listeners.
         */
        includePeerToPeer: boolean;
        /**
         * A Boolean that allows reusing local addresses and ports across connections.
         */
        allowLocalEndpointReuse: boolean;
        /**
         * A Boolean that restricts listeners to only accepting connections from the local link.
         */
        acceptLocalOnly: boolean;
        attribution: NWParameters.Attribution;
        /**
         * Initializes parameters for TLS connections and listeners with custom TLS and TCP options.
         */
        constructor (tls: NWProtocolTLS.Options | null, tcp: NWProtocolTCP.Options);
        /**
         * Initializes parameters for DTLS connections and listeners with custom DTLS and UDP options.
         */
        constructor (dtls: NWProtocolTLS.Options | null, udp: NWProtocolUDP.Options);
        /**
         * Initializes parameters for QUIC connections and listeners with custom QUIC options.
         */
        constructor (quic: NWProtocolQUIC.Options);
        /**
         * Initializes parameters for connections, listeners, and browsers with no protocols specified.
         */
        constructor ();
        /**
         * Initializes parameters for connections and listeners using a custom IP protocol.
         */
        constructor (customIPProtocolNumber: UInt8);
        /**
         * Returns a set of default parameters for connections and listeners that use QUIC, with a set of supported Application-Layer Protocol Negotiation values.
         */
        static quic(alpn: string[]):NWParameters;
        /**
         * Returns a set of default parameters for connections and listeners that use QUIC datagrams, with a set of supported Application-Layer Protocol Negotiation values.
         */
        static quicDatagram(alpn: string[]):NWParameters;
        /**
         * Performs a deep copy of a parameters object.
         */
        copy():NWParameters;
        /**
         * Associates a privacy context with any connections or listeners that use the parameters.
         */
        setPrivacyContext(privacyContext: NWParameters.PrivacyContext):void;
    }
    /**
     * the same name namespace of class NWParameters
     */
    export namespace NWParameters {
        export class ProtocolStack {
            /**
             * The array of application protocol options used by connections and listeners.
             */
            applicationProtocols: NWProtocolOptions[];
            /**
             * The transport protocol options used by connections and listeners.
             */
            transportProtocol: NWProtocolOptions | null;
            /**
             * The Internet Protocol options used by connections and listeners.
             */
            internetProtocol: NWProtocolOptions | null;
        }
        export enum MultipathServiceType {
            disabled,
            handover,
            interactive,
            aggregate,
        }
        export enum ServiceClass {
            bestEffort,
            background,
            interactiveVideo,
            interactiveVoice,
            responsiveData,
            signaling,
        }
        export enum ExpiredDNSBehavior {
            systemDefault,
            allow,
            prohibit,
        }
        export class PrivacyContext {
            /**
             * The privacy context that applies to all connections that do not use a custom context.
             */
            static default: NWParameters.PrivacyContext;
            /**
             * The description string you provide when creating the context.
             */
            debugDescription: string;
            /**
             * Initializes a privacy context with a description string.
             */
            constructor (description: string);
            /**
             * Disables system logging of connection activity. 
             */
            disableLogging():void;
            /**
             * Flushes all cached data, such as TLS session state, created by connections associated with the privacy context.
             */
            flushCache():void;
            /**
             * Requires that any DNS name resolution for connections associated with this context use encrypted transports, such as TLS or HTTPS.
             */
            requireEncryptedNameResolution(requireEncryption: boolean, fallbackResolver: NWParameters.PrivacyContext.ResolverConfiguration | null):void;
        }
        /**
         * the same name namespace of class PrivacyContext
         */
        export namespace PrivacyContext {
            export enum ResolverConfiguration {
                https,
                tls,
            }
        }
        export enum Attribution {
            developer,
            user,
        }
    }
    export class nw_ip_ecn_flag_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_ip_local_address_preference_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_ip_version_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_listener_state_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_multipath_service_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_parameters_expired_dns_behavior_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_path_status_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_report_resolution_protocol_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_report_resolution_source_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_service_class_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_txt_record_find_key_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_ws_close_code_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_ws_opcode_t {
        rawValue: Int32;
        constructor (rawValue: Int32);
        constructor (rawValue: Int32);
    }
    export class nw_ws_response_status_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_ws_version_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export interface OS_nw_advertise_descriptor extends NSObjectProtocol {}
    export interface OS_nw_browse_descriptor extends NSObjectProtocol {}
    export interface OS_nw_browse_result extends NSObjectProtocol {}
    export interface OS_nw_browser extends NSObjectProtocol {}
    export interface OS_nw_connection extends NSObjectProtocol {}
    export interface OS_nw_connection_group extends NSObjectProtocol {}
    export interface OS_nw_content_context extends NSObjectProtocol {}
    export interface OS_nw_data_transfer_report extends NSObjectProtocol {}
    export interface OS_nw_endpoint extends NSObjectProtocol {}
    export interface OS_nw_error extends NSObjectProtocol {}
    export interface OS_nw_establishment_report extends NSObjectProtocol {}
    export interface OS_nw_ethernet_channel extends NSObjectProtocol {}
    export interface OS_nw_framer extends NSObjectProtocol {}
    export interface OS_nw_group_descriptor extends NSObjectProtocol {}
    export interface OS_nw_interface extends NSObjectProtocol {}
    export interface OS_nw_listener extends NSObjectProtocol {}
    export interface OS_nw_object extends NSObjectProtocol {}
    export interface OS_nw_parameters extends NSObjectProtocol {}
    export interface OS_nw_path extends NSObjectProtocol {}
    export interface OS_nw_path_monitor extends NSObjectProtocol {}
    export interface OS_nw_privacy_context extends NSObjectProtocol {}
    export interface OS_nw_protocol_definition extends NSObjectProtocol {}
    export interface OS_nw_protocol_metadata extends NSObjectProtocol {}
    export interface OS_nw_protocol_options extends NSObjectProtocol {}
    export interface OS_nw_protocol_stack extends NSObjectProtocol {}
    export interface OS_nw_resolution_report extends NSObjectProtocol {}
    export interface OS_nw_resolver_config extends NSObjectProtocol {}
    export interface OS_nw_txt_record extends NSObjectProtocol {}
    export interface OS_nw_ws_request extends NSObjectProtocol {}
    export interface OS_nw_ws_response extends NSObjectProtocol {}
    export class nw_interface_radio_type_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_multipath_version_t {
        rawValue: Int32;
        constructor (rawValue: Int32);
        constructor (rawValue: Int32);
    }
    export class nw_path_unsatisfied_reason_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class nw_quic_stream_type_t {
        rawValue: UInt32;
        constructor (rawValue: UInt32);
        constructor (rawValue: UInt32);
    }
    export class NWMultiplexGroup {
        members: NWEndpoint[];
        constructor (to: NWEndpoint);
    }
    export class NWProtocol {}
    export class NWProtocolOptions {}
    export class NWProtocolDefinition {
        /**
         * The name of the protocol.
         */
        name: string;
        /**
         * The description of the protocol definition.
         */
        debugDescription: string;
    }
    export class NWProtocolMetadata {}
    export class NWConnection {
        /**
         * The current state of the connection.
         */
        state: NWConnection.State;
        /**
         * A handler that receives connection state updates.
         */
        stateUpdateHandler: ()=>any | null;
        /**
         * The maximum size of a datagram message that can be sent on a connection.
         */
        maximumDatagramSize: number;
        /**
         * The network path the connection is using.
         */
        currentPath: NWPath | null;
        /**
         * A handler that receives network path updates.
         */
        pathUpdateHandler: ()=>any | null;
        /**
         * A handler that receives updates when data can be sent and received.
         */
        viabilityUpdateHandler: ()=>any | null;
        /**
         * A handler that receives updates when an alternative network path is preferred over the current path.
         */
        betterPathUpdateHandler: ()=>any | null;
        /**
         * The remote endpoint with which the connection was initialized.
         */
        endpoint: NWEndpoint;
        /**
         * The parameters with which the connection was initialized.
         */
        parameters: NWParameters;
        /**
         * The queue on which connection events are delivered.
         */
        queue: DispatchQueue | null;
        /**
         * The description of the connection.
         */
        debugDescription: string;
        /**
         * Initializes a new connection to a host and port.
         */
        constructor (host: NWEndpoint.Host, port: NWEndpoint.Port, using: NWParameters);
        /**
         * Initializes a new connection to a remote endpoint.
         */
        constructor (to: NWEndpoint, using: NWParameters);
        constructor (from: NWConnectionGroup, to: NWEndpoint | null, using: NWProtocolOptions | null);
        constructor (message: NWConnectionGroup.Message);
        /**
         * Starts establishing a connection, and sets the queue on which to deliver all connection events.
         */
        start(queue: DispatchQueue):void;
        /**
         * Restarts a connection that is in the waiting state.
         */
        restart():void;
        /**
         * Sends data on a connection.
         */
        send(content: Data | null, contentContext: NWConnection.ContentContext, isComplete: boolean, completion: NWConnection.SendCompletion):void;
        /**
         * Schedules a single receive completion handler, with a range indicating how many bytes the handler can receive at one time.
         */
        receive(minimumIncompleteLength: number, maximumLength: number, completion: ()=>any):void;
        /**
         * Schedules a single receive completion handler for a complete message, as opposed to a range of bytes.
         */
        receiveMessage(completion: ()=>any):void;
        /**
         * Defines a block in which calls to send and receive are processed as a batch to improve performance.
         */
        batch(block: ()=>any):void;
        /**
         * Cancels the connection and gracefully disconnects any established network protocols.
         */
        cancel():void;
        /**
         * Cancels the connection and immediately disconnects any established network protocols.
         */
        forceCancel():void;
        /**
         * Causes the current endpoint to be rejected, allowing the connection to try another resolved address. 
         */
        cancelCurrentEndpoint():void;
        /**
         * Requests a copy of the connection's establishment report once the connection is in the ready state.
         */
        requestEstablishmentReport(queue: DispatchQueue, completion: ()=>any):void;
        /**
         * Begins a new data transfer report, which can later be collected.
         */
        startDataTransferReport():NWConnection.PendingDataTransferReport;
        /**
         * Retrieves the connection-wide metadata for a specific protocol.
         */
        metadata(definition: NWProtocolDefinition):NWProtocolMetadata | null;
        receiveDiscontiguous(minimumIncompleteLength: number, maximumLength: number, completion: ()=>any):void;
        receiveMessageDiscontiguous(completion: ()=>any):void;
    }
    /**
     * the same name namespace of class NWConnection
     */
    export namespace NWConnection {
        export enum State {
            setup,
            waiting,
            preparing,
            ready,
            failed,
            cancelled,
        }
        export enum SendCompletion {
            contentProcessed,
            idempotent,
        }
        export class ContentContext {
            /**
             * A static context representing a message with default properties.
             */
            static defaultMessage: NWConnection.ContentContext;
            /**
             * A static context that's marked as the final message in a connection.
             */
            static finalMessage: NWConnection.ContentContext;
            /**
             * A static context representing the total stream of bytes on a connection.
             */
            static defaultStream: NWConnection.ContentContext;
            /**
             * The identifier of the message, used for debugging.
             */
            identifier: string;
            /**
             * An array of protocol metadata used to configure per-message or per-packet properties.
             */
            protocolMetadata: NWProtocolMetadata[];
            /**
             * An optional message context that must be sent before the context you are sending.
             */
            antecedent: NWConnection.ContentContext | null;
            /**
             * A number of milliseconds after which sending the data associated with this context must begin, otherwise the data is discarded.
             */
            expirationMilliseconds: UInt64;
            /**
             * A relative value of priority used to reorder contexts when sending.
             */
            relativePriority: number;
            /**
             * A Boolean indicating whether this context represents the final message being sent or received.
             */
            isFinal: boolean;
            /**
             * Initializes a custom message context.
             */
            constructor (identifier: string, expiration: UInt64, priority: number, isFinal: boolean, antecedent: NWConnection.ContentContext | null, metadata: NWProtocolMetadata[] | null);
        }
        export class EstablishmentReport {
            /**
             * The total duration of the successful connection establishment attempt, from the preparing state to the ready state.
             */
            duration: TimeInterval;
            /**
             * The number of attempts made before the successful attempt, when the connection moved from the preparing state back to the waiting state.
             */
            previousAttemptCount: number;
            /**
             * The time between the call to start and the beginning of the successful connection attempt.
             */
            attemptStartedAfterInterval: TimeInterval;
            /**
             * The description of the report.
             */
            debugDescription: string;
            /**
             * The array of resolution steps performed during connection establishment, in order from first resolved to last resolved.
             */
            resolutions: NWConnection.EstablishmentReport.Resolution[];
            /**
             * The array of protocol handshakes in order from first completed to last completed.
             */
            handshakes: NWConnection.EstablishmentReport.Handshake[];
            /**
             * A Boolean indicating whether a proxy was configured on the connection.
             */
            proxyConfigured: boolean;
            /**
             * A Boolean indicating whether the connection used a proxy.
             */
            usedProxy: boolean;
            /**
             * The endpoint of the proxy the connection used.
             */
            proxyEndpoint: NWEndpoint | null;
        }
        /**
         * the same name namespace of class EstablishmentReport
         */
        export namespace EstablishmentReport {
            export class Resolution {
                /**
                 * The duration of this resolution step, from when the query was issued to when the response was complete.
                 */
                duration: TimeInterval;
                /**
                 * The source of the DNS response.
                 */
                source: NWConnection.EstablishmentReport.Resolution.Source;
                /**
                 * The transport protocol your connection used for DNS resolution.
                 */
                dnsProtocol: NWConnection.EstablishmentReport.Resolution.DNSProtocol;
                /**
                 * The resolved endpoint that led to the established connection.
                 */
                successfulEndpoint: NWEndpoint;
                /**
                 * The resolved endpoint that the connection used for its first connection attempt.
                 */
                preferredEndpoint: NWEndpoint;
                /**
                 * The number of endpoints resolved in this step.
                 */
                endpointCount: number;
            }
            /**
             * the same name namespace of class Resolution
             */
            export namespace Resolution {
                export enum Source {
                    query,
                    cache,
                    expiredCache,
                }
                export enum DNSProtocol {
                    unknown,
                    udp,
                    tcp,
                    tls,
                    https,
                }
            }
            export class Handshake {
                /**
                 * The duration of the protocol handshake.
                 */
                handshakeDuration: TimeInterval;
                /**
                 * The round-trip time the protocol observed during its handshake.
                 */
                handshakeRTT: TimeInterval;
                /**
                 * The protocol performing the handshake.
                 */
                definition: NWProtocolDefinition;
            }
        }
        export class PendingDataTransferReport {
            /**
             * Stops an outstanding data transfer report and delivers the result.
             */
            collect(queue: DispatchQueue, completion: ()=>any):void;
        }
        export class DataTransferReport {
            /**
             * A report that sums counts across all network paths.
             */
            aggregatePathReport: NWConnection.DataTransferReport.PathReport;
            /**
             * An array of reports for each network path the connection used.
             */
            pathReports: NWConnection.DataTransferReport.PathReport[];
            /**
             * The duration of the data transfer report, from when it was started to when it was collected.
             */
            duration: TimeInterval;
            /**
             * The description of the report.
             */
            debugDescription: string;
        }
        /**
         * the same name namespace of class DataTransferReport
         */
        export namespace DataTransferReport {
            export class PathReport {
                /**
                 * The network interface this path used.
                 */
                interface: NWInterface;
                /**
                 * The number of bytes the connection delivered.
                 */
                receivedApplicationByteCount: UInt64;
                /**
                 * The number of bytes sent on the connection.
                 */
                sentApplicationByteCount: UInt64;
                /**
                 * The number of bytes the transport protocol delivered.
                 */
                receivedTransportByteCount: UInt64;
                /**
                 * The number of duplicated bytes the transport protocol detected.
                 */
                receivedTransportDuplicateByteCount: UInt64;
                /**
                 * The number of bytes the transport protocol received out of order.
                 */
                receivedTransportOutOfOrderByteCount: UInt64;
                /**
                 * The number of bytes sent into the transport protocol.
                 */
                sentTransportByteCount: UInt64;
                /**
                 * The number of bytes the transport protocol retransmitted.
                 */
                retransmittedTransportByteCount: UInt64;
                /**
                 * The smoothed round-trip time the transport protocol measured.
                 */
                transportSmoothedRTT: TimeInterval;
                /**
                 * The minimum round-trip time the transport protocol measured.
                 */
                transportMinimumRTT: TimeInterval;
                /**
                 * The variance of the round-trip time the transport protocol measured.
                 */
                transportRTTVariance: TimeInterval;
                /**
                 * The number of IP packets the connection received.
                 */
                receivedIPPacketCount: UInt64;
                /**
                 * The number of IP packets the connection sent.
                 */
                sentIPPacketCount: UInt64;
                radioType: NWInterface.RadioType | null;
            }
        }
    }
    export class NWListener {
        /**
         * A static value to indicate that inbound connections should not be limited.
         */
        static InfiniteConnectionLimit: number;
        /**
         * A handler that receives listener state updates.
         */
        stateUpdateHandler: ()=>any | null;
        /**
         * The port on which the listener can accept connections.
         */
        port: NWEndpoint.Port | null;
        /**
         * A handler that receives inbound connections.
         */
        newConnectionHandler: ()=>any | null;
        /**
         * The remaining number of inbound connections to deliver before rejecting connections.
         */
        newConnectionLimit: number;
        /**
         * A Bonjour service that advertises the listener on the local network.
         */
        service: NWListener.Service | null;
        /**
         * A handler that receives updates for the service endpoint being advertised.
         */
        serviceRegistrationUpdateHandler: ()=>any | null;
        /**
         * The parameters used to initialize the listener.
         */
        parameters: NWParameters;
        /**
         * The queue on which listener events are delivered.
         */
        queue: DispatchQueue | null;
        /**
         * The description of the listener.
         */
        debugDescription: string;
        newConnectionGroupHandler: ()=>any | null;
        state: NWListener.State;
        /**
         * Initializes a network listener, with an optional local port.
         */
        constructor (using: NWParameters, on: NWEndpoint.Port);
        constructor (name: string, parameters: NWParameters);
        constructor (service: NWListener.Service, parameters: NWParameters);
        /**
         * Registers for listening, and sets the queue on which all listener events are delivered.
         */
        start(queue: DispatchQueue):void;
        /**
         * Stops listening for inbound connections.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class NWListener
     */
    export namespace NWListener {
        export enum State {
            setup,
            waiting,
            ready,
            failed,
            cancelled,
        }
        export class Service {
            /**
             * A Boolean that indicates whether the service prohibits automatic renaming in the event of a name conflict. 
             */
            noAutoRename: boolean;
            /**
             * The Bonjour name of the service.
             */
            name: string;
            /**
             * The Bonjour type of the service.
             */
            type: string;
            /**
             * The Bonjour domain of the service.
             */
            domain: string;
            /**
             * The TXT record to advertise with the service.
             */
            txtRecordObject: NWTXTRecord | null;
            /**
             * The TXT record as a raw buffer to advertise with the service.
             */
            txtRecord: Data | null;
            /**
             * The description of the service.
             */
            debugDescription: string;
            /**
             * Initializes a Bonjour service to advertise.
             */
            constructor (name: string, type: string, domain: string, txtRecord: Data | null);
            /**
             * Creates a listener for apps that listen for connections from a network device picker.
             */
            constructor (applicationService: string);
        }
        export enum ServiceRegistrationChange {
            add,
            remove,
        }
    }
    export class NWBrowser {
        /**
         * A handler that delivers updates about discovered services.
         */
        browseResultsChangedHandler: ()=>any | null;
        /**
         * The list of discovered services.
         */
        browseResults: Set<NWBrowser.Result>;
        /**
         * A handler that receives browser state updates.
         */
        stateUpdateHandler: ()=>any | null;
        /**
         * The current state of the browser.
         */
        state: NWBrowser.State;
        /**
         * The service descriptor with which the browser was initialized.
         */
        descriptor: NWBrowser.Descriptor;
        /**
         * The parameters with which the browser was initialized.
         */
        parameters: NWParameters;
        /**
         * The queue on which browser events are delivered.
         */
        queue: DispatchQueue | null;
        /**
         * The description of the browser.
         */
        debugDescription: string;
        /**
         * Initializes a browser with a type of service to discover.
         */
        constructor (descriptor: NWBrowser.Descriptor, parameters: NWParameters);
        /**
         * Starts browsing for services, and sets the queue on which all browser events will be delivered.
         */
        start(queue: DispatchQueue):void;
        /**
         * Stops browsing for services.
         */
        cancel():void;
    }
    /**
     * the same name namespace of class NWBrowser
     */
    export namespace NWBrowser {
        export enum Descriptor {
            bonjour,
            bonjourWithTXTRecord,
            applicationService,
        }
        export class Result {
            /**
             * The discovered service endpoint.
             */
            endpoint: NWEndpoint;
            /**
             * The list of interfaces on which the service was discovered.
             */
            interfaces: NWInterface[];
            /**
             * The metadata associated with the discovered service, such as the TXT record.
             */
            metadata: NWBrowser.Result.Metadata;
            hashValue: number;
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class Result
         */
        export namespace Result {
            export enum Metadata {
                bonjour,
                none,
            }
            export enum Change {
                identical,
                added,
                removed,
                changed,
            }
        }
        export enum State {
            setup,
            ready,
            failed,
            cancelled,
            waiting,
        }
    }
    export class NWTXTRecord {
        /**
         * The TXT record as a dictionary of strings.
         */
        dictionary: Record<string, string>;
        /**
         * The number of elements in the collection.
         */
        count: number;
        data: Data;
        debugDescription: string;
        endIndex: NWTXTRecord.Index;
        /**
         * The first element of the collection.
         */
        first: any;
        /**
         * The indices that are valid for subscripting the collection, in ascending order.
         */
        indices: DefaultIndices<NWTXTRecord>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A sequence containing the same elements as this sequence, but on which some operations, such as 
         *  and 
         * , are implemented lazily.
         */
        lazy: LazySequence<NWTXTRecord>;
        publisher: any;
        startIndex: NWTXTRecord.Index;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * Initializes a TXT record with a dictionary of strings.
         */
        constructor (dictionary: Record<string, string>);
        /**
         * Removes an entry from a TXT record dictionary.
         */
        removeEntry(key: string):boolean;
        /**
         * Sets an entry in a TXT record dictionary.
         */
        setEntry(entry: NWTXTRecord.Entry, key: string):boolean;
        /**
         * Accesses an entry in a TXT record dictionary. 
         */
        getEntry(key: string):NWTXTRecord.Entry | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns the distance between two indices.
         */
        distance(start: Index, end: Index):number;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<NWTXTRecord>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<NWTXTRecord>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<NWTXTRecord>;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<NWTXTRecord>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):any;
        /**
         * Returns the first index in which an element of the collection satisfies the given predicate.
         */
        firstIndex(predicate: Bool):Index | null;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Index, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index.
         */
        index(i: Index, distance: number):Index;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<NWTXTRecord>;
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):any;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):any;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<NWTXTRecord>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():any;
        /**
         * Returns an array containing the elements of this sequence in reverse order.
         */
        reversed():any;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():any;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):any;
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<NWTXTRecord>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<NWTXTRecord>;
        trimmingPrefix(predicate: Bool):Slice<NWTXTRecord>;
    }
    /**
     * the same name namespace of class NWTXTRecord
     */
    export namespace NWTXTRecord {
        export enum Entry {
            none,
            empty,
            string,
            data,
        }
        export class Index {}
    }
    export interface IPAddress {
        /**
         * Initializes an IP address with a string.
         */
         (_string: string);
        /**
         * Initializes an IP address with data.
         */
         (rawValue: Data, _interface: NWInterface | null);
        /**
         * The raw data of an IP address.
         */
        rawValue: Data;
        /**
         * The interface associated with this address, such as the IPv6 scoped interface.
         */
        interface: NWInterface | null;
        /**
         * A Boolean indicating whether this address is in a link-local range.
         */
        isLinkLocal: boolean;
        /**
         * A Boolean indicating whether this address is a loopback address for the local device.
         */
        isLoopback: boolean;
        /**
         * A Boolean indicating whether this address is a multicast address.
         */
        isMulticast: boolean;
    }
    export class IPv4Address {
        /**
         * The unspecified address (0.0.0.0).
         */
        static any: IPv4Address;
        /**
         * The local broadcast address (255.255.255.255).
         */
        static broadcast: IPv4Address;
        /**
         * The device's loopback address (127.0.0.1).
         */
        static loopback: IPv4Address;
        /**
         * The multicast group for all hosts on the network segment (224.0.0.1).
         */
        static allHostsGroup: IPv4Address;
        /**
         * The multicast group for all routers on the network segment (224.0.0.2).
         */
        static allRoutersGroup: IPv4Address;
        /**
         * The multicast group for all IGMPv3 reports (224.0.0.22).
         */
        static allReportsGroup: IPv4Address;
        /**
         * The multicast group for multicast DNS (224.0.0.251).
         */
        static mdnsGroup: IPv4Address;
        /**
         * The raw data of an IPv4 address.
         */
        rawValue: Data;
        /**
         * The interface associated with this address.
         */
        interface: NWInterface | null;
        /**
         * A Boolean indicating whether this address is in a link-local range.
         */
        isLinkLocal: boolean;
        /**
         * A Boolean indicating whether this address is a loopback address for the local device.
         */
        isLoopback: boolean;
        /**
         * A Boolean indicating whether this address is a multicast address.
         */
        isMulticast: boolean;
        /**
         * The description of the IP address.
         */
        debugDescription: string;
        hashValue: number;
        /**
         * Initializes an IPv4 address with a string.
         */
        constructor (_string: string);
        /**
         * Initializes an IPv4 address with data.
         */
        constructor (rawValue: Data, _interface: NWInterface | null);
        hash(hasher: Hasher):void;
    }
    export class NWConnectionGroup {
        /**
         * A handler that receives connection group state updates.
         */
        stateUpdateHandler: ()=>any | null;
        /**
         * The current state of the connection group.
         */
        state: NWConnectionGroup.State;
        /**
         * The descriptor of the group you use to initialize the connection group.
         */
        descriptor: NWGroupDescriptor;
        /**
         * The parameters with which you initialize the connection group.
         */
        parameters: NWParameters;
        /**
         * The queue on which you handle group events.
         */
        queue: DispatchQueue | null;
        /**
         * The description of the connection group.
         */
        debugDescription: string;
        newConnectionHandler: ()=>any | null;
        /**
         * Initializes a new connection group with a group identifier.
         */
        constructor (_with: NWGroupDescriptor, using: NWParameters);
        /**
         * Joins the group, registers to receive messages, and sets the queue on you handle group events.
         */
        start(queue: DispatchQueue):void;
        /**
         * Sets a handler that receives inbound messages from members of the group.
         */
        setReceiveHandler(maximumMessageSize: number, rejectOversizedMessages: boolean, handler: ()=>any | null):void;
        /**
         * Sends data to the entire group, or to a specific member of the group.
         */
        send(content: Data | null, to: NWEndpoint | null, message: NWConnectionGroup.Message, completion: ()=>any):void;
        /**
         * Cancels the connection group object and leaves the network group.
         */
        cancel():void;
        extract(connectionTo: NWEndpoint | null, using: NWProtocolOptions | null):NWConnection | null;
        metadata(definition: NWProtocolDefinition):NWProtocolMetadata | null;
        reinsert(connection: NWConnection):boolean;
    }
    /**
     * the same name namespace of class NWConnectionGroup
     */
    export namespace NWConnectionGroup {
        export class Message extends NWConnection.ContentContext {
            /**
             * A static object you use to send a message with default properties.
             */
            static default: NWConnectionGroup.Message;
            /**
             * The endpoint that originates the message you receive.
             */
            remoteEndpoint: NWEndpoint | null;
            /**
             * The local address and port you use to receive the message.
             */
            localEndpoint: NWEndpoint | null;
            /**
             * The network path on which you receive the message.
             */
            path: NWPath | null;
            /**
             * Initializes a custom message context you use to send data.
             */
            constructor (identifier: string, expiration: UInt64, priority: number, isFinal: boolean, antecedent: NWConnection.ContentContext | null, metadata: NWProtocolMetadata[] | null);
            /**
             * Sends a reply to the specific endpoint that originates a group message you receive.
             */
            reply(content: Data | null, message: NWConnectionGroup.Message):void;
            /**
             * Converts a message you receive from an endpoint into a connection object that you use for long-term communication with that endpoint.
             */
            extractConnection():NWConnection | null;
            metadata(definition: NWProtocolDefinition):NWProtocolMetadata | null;
        }
        export enum State {
            setup,
            waiting,
            ready,
            failed,
            cancelled,
        }
    }
    export class NWMulticastGroup {
        /**
         * The set of IP multicast group addresses that the connection group joins.
         */
        members: NWEndpoint[];
        /**
         * An optional address endpoint you provide to filter received multicast packets.
         */
        sourceFilter: NWEndpoint | null;
        /**
         * A Boolean that specifies whether the connection group rejects unicast traffic.
         */
        isUnicastDisabled: boolean;
        /**
         * Initializes a multicast group with a set of multicast addresses.
         */
        constructor (groupAddresses: NWEndpoint[], from: NWEndpoint | null, disableUnicast: boolean);
    }
    export interface NWGroupDescriptor {
        /**
         * The set of endpoints that define the connection group.
         */
        members: NWEndpoint[];
    }
    export class NWEthernetChannel {
        /**
         * The current state of the channel.
         */
        state: NWEthernetChannel.State;
        /**
         * A handler that delivers channel state updates.
         */
        stateUpdateHandler: ()=>any | null;
        /**
         * A handler that delivers inbound Ethernet frames.
         */
        receiveHandler: ()=>any | null;
        /**
         * The custom Ethernet type with which the channel was initialized.
         */
        etherType: UInt16;
        /**
         * The interface with which the channel was initialized.
         */
        interface: NWInterface;
        /**
         * The queue on which channel events will be delivered.
         */
        queue: DispatchQueue | null;
        /**
         * The description of the Ethernet channel.
         */
        debugDescription: string;
        maximumPayloadSize: number;
        /**
         * Initializes an Ethernet channel on a specific interface with a custom Ethernet type.
         */
        constructor (_interface: NWInterface, etherType: UInt16);
        constructor (_interface: NWInterface, etherType: UInt16, parameters: NWParameters);
        /**
         * Starts the process of registering the channel, and sets the queue on which all channel events are delivered.
         */
        start(queue: DispatchQueue):void;
        /**
         * Unregisters the channel from the interface.
         */
        cancel():void;
        /**
         * Sends a single Ethernet frame over a channel to a specific Ethernet address.
         */
        send(content: Data, remoteAddress: NWEthernetChannel.EthernetAddress, vlanTag: UInt16, completion: ()=>any):void;
    }
    /**
     * the same name namespace of class NWEthernetChannel
     */
    export namespace NWEthernetChannel {
        export enum State {
            setup,
            waiting,
            preparing,
            ready,
            failed,
            cancelled,
        }
        export class EthernetAddress {
            /**
             * The raw data of the Ethernet address.
             */
            rawValue: Data;
            /**
             * The description of the Ethernet address.
             */
            debugDescription: string;
            hashValue: number;
            /**
             * Initializes an Ethernet address with data.
             */
            constructor (rawValue: Data);
            hash(hasher: Hasher):void;
        }
    }
    export class NWProtocolTCP extends NWProtocol {
        /**
         * The system definition of the Transport Control Protocol.
         */
        static definition: NWProtocolDefinition;
    }
    /**
     * the same name namespace of class NWProtocolTCP
     */
    export namespace NWProtocolTCP {
        export class Options extends NWProtocolOptions {
            /**
             * A Boolean that enables TCP Fast Open on a connection.
             */
            enableFastOpen: boolean;
            /**
             * TCP's maximum segment size in bytes.
             */
            maximumSegmentSize: number;
            /**
             * A Boolean that disables Nagle's algorithm for TCP.
             */
            noDelay: boolean;
            /**
             * A Boolean that sets TCP into no-options mode.
             */
            noOptions: boolean;
            /**
             * A Boolean that sets TCP into no-push mode.
             */
            noPush: boolean;
            /**
             * A Boolean that causes TCP to drop its connection after not receiving an ACK packet after a FIN packet.
             */
            retransmitFinDrop: boolean;
            /**
             * A Boolean that disables TCP acknowledgment stretching.
             */
            disableAckStretching: boolean;
            /**
             * A Boolean that disables negotiation of Explicit Congestion Notification markings.
             */
            disableECN: boolean;
            /**
             * A Boolean that enables TCP keepalives.
             */
            enableKeepalive: boolean;
            /**
             * The number of seconds of idleness that TCP waits before sending keepalive probes.
             */
            keepaliveIdle: number;
            /**
             * The number of keepalive probes that TCP sends before terminating the connection.
             */
            keepaliveCount: number;
            /**
             * The number of seconds that TCP waits between sending keepalive probes.
             */
            keepaliveInterval: number;
            /**
             * The number of seconds that TCP waits before timing out its handshake.
             */
            connectionTimeout: number;
            /**
             * The timeout, in seconds, for TCP retransmission attempts.
             */
            connectionDropTime: number;
            /**
             * The TCP persist timeout, in seconds, as defined by RFC 6429.
             */
            persistTimeout: number;
            /**
             * Initializes a default set of TCP connection options.
             */
            constructor ();
        }
        export class Metadata extends NWProtocolMetadata {
            /**
             * The number of available bytes in the TCP send buffer.
             */
            availableSendBuffer: UInt32;
            /**
             * The number of available bytes in the TCP receive buffer.
             */
            availableReceiveBuffer: UInt32;
        }
    }
    export class NWProtocolTLS extends NWProtocol {
        /**
         * The system definition of the Transport Layer Security protocol.
         */
        static definition: NWProtocolDefinition;
    }
    /**
     * the same name namespace of class NWProtocolTLS
     */
    export namespace NWProtocolTLS {
        export class Options extends NWProtocolOptions {
            /**
             * The handshake security options TLS uses. 
             */
            securityProtocolOptions: sec_protocol_options_t;
            /**
             * Initializes a default set of TLS connection options.
             */
            constructor ();
        }
        export class Metadata extends NWProtocolMetadata {
            /**
             * The result of the TLS handshake.
             */
            securityProtocolMetadata: sec_protocol_metadata_t;
        }
    }
    export class NWProtocolQUIC extends NWProtocol {
        /**
         * The system definition of the QUIC transport protocol.
         */
        static definition: NWProtocolDefinition;
    }
    /**
     * the same name namespace of class NWProtocolQUIC
     */
    export namespace NWProtocolQUIC {
        export class Options extends NWProtocolOptions {
            /**
             * A set of supported Application-Layer Protocol Negotiation values.
             */
            alpn: string[];
            /**
             * The idle timeout for the QUIC connection, in milliseconds.
             */
            idleTimeout: number;
            /**
             * A QUIC connection’s initial maximum data transport parameter.
             */
            initialMaxData: number;
            /**
             * A QUIC connection’s initial maximum stream data limit for locally-initiated bidirectional streams. 
             */
            initialMaxStreamDataBidirectionalLocal: number;
            /**
             * A QUIC connection’s initial maximum stream data limit for remote-initiated bidirectional streams.  
             */
            initialMaxStreamDataBidirectionalRemote: number;
            /**
             * A QUIC connection’s initial maximum stream data limit for unidirectional streams.   
             */
            initialMaxStreamDataUnidirectional: number;
            /**
             * A QUIC connection’s initial maximum number of bidirectional streams.  
             */
            initialMaxStreamsBidirectional: number;
            /**
             * A QUIC connection’s initial maximum number of unidirectional streams.   
             */
            initialMaxStreamsUnidirectional: number;
            /**
             * A QUIC connection’s maximum DATAGRAM frame size.
             */
            maxDatagramFrameSize: number;
            /**
             * The maximum length of a QUIC packet that can be received on a connection, in bytes.
             */
            maxUDPPayloadSize: number;
            /**
             * The handshake security options QUIC uses.
             */
            securityProtocolOptions: sec_protocol_options_t;
            /**
             * The direction of the QUIC stream.
             */
            direction: NWProtocolQUIC.Options.Direction;
            /**
             * A Boolean that indicates that this is a QUIC datagram flow, not a stream of bytes.
             */
            isDatagram: boolean;
            /**
             * Initializes a default set of QUIC options along with a set of supported Application-Layer Protocol Negotiation values.
             */
            constructor (alpn: string[]);
            /**
             * Initializes a default set of QUIC options, without specifying a set of supported Application-Layer Protocol Negotiation values.
             */
            constructor ();
        }
        /**
         * the same name namespace of class Options
         */
        export namespace Options {
            export enum Direction {
                bidirectional,
                unidirectional,
            }
        }
        export class Metadata extends NWProtocolMetadata {
            /**
             * The Application-Layer Protocol Negotiation value used when establishing the connection.
             */
            negotiatedALPN: string;
            /**
             * The maximum number of bidirectional streams that the peer can create on a QUIC connection.
             */
            localMaxStreamsBidirectional: number;
            /**
             * The maximum number of unidirectional streams that the peer can create on a QUIC connection.
             */
            localMaxStreamsUnidirectional: number;
            /**
             * The maximum number of bidirectional streams advertised by peer that the connection is allowed to create.
             */
            remoteMaxStreamsBidirectional: number;
            /**
             * The maximum number of unidirectional streams advertised by peer that the connection is allowed to create.
             */
            remoteMaxStreamsUnidirectional: number;
            /**
             * The idle timeout value from the peer’s transport parameters, in milliseconds.
             */
            remoteIdleTimeout: number;
            /**
             * The result of the QUIC handshake.
             */
            securityProtocolMetadata: sec_protocol_metadata_t;
            /**
             * The QUIC stream identifier.
             */
            streamIdentifier: UInt64;
            /**
             * The maximum usable size of a datagram frame on a QUIC datagram flow.
             */
            usableDatagramFrameSize: number;
            /**
             * The QUIC application error code to send for the connection, or received from the peer.
             */
            applicationError: NWProtocolQUIC.ApplicationError;
            /**
             * The QUIC application error code to send for the stream, or received from the peer.
             */
            streamApplicationErrorCode: UInt64;
            /**
             * The QUIC connection keepalive behavior.
             */
            keepAlive: NWProtocolQUIC.Metadata.KeepAliveBehavior;
        }
        /**
         * the same name namespace of class Metadata
         */
        export namespace Metadata {
            export enum KeepAliveBehavior {
                on,
                off,
                seconds,
            }
        }
        export class ApplicationError {
            /**
             * The QUIC application error code.
             */
            code: UInt64;
            /**
             * The QUIC application error reason.
             */
            reason: string;
            /**
             * Initializes a QUIC application error with an error code and an optional reason.
             */
            constructor (code: UInt64, reason: string);
            /**
             * Initializes a QUIC application error with an integer literal error code.
             */
            constructor (code: UInt64);
        }
    }
    export class NWProtocolUDP extends NWProtocol {
        /**
         * The system definition of the User Datagram Protocol.
         */
        static definition: NWProtocolDefinition;
    }
    /**
     * the same name namespace of class NWProtocolUDP
     */
    export namespace NWProtocolUDP {
        export class Options extends NWProtocolOptions {
            /**
             * A Boolean that configures the connection to not send UDP checksums.
             */
            preferNoChecksum: boolean;
            /**
             * Initializes a default set of UDP connection options.
             */
            constructor ();
        }
        export class Metadata extends NWProtocolMetadata {
            /**
             * Initializes a default UDP message.
             */
            constructor ();
        }
    }
    export class NWProtocolIP extends NWProtocol {
        /**
         * The system definition of the Internet Protocol.
         */
        static definition: NWProtocolDefinition;
    }
    /**
     * the same name namespace of class NWProtocolIP
     */
    export namespace NWProtocolIP {
        export class Metadata extends NWProtocolMetadata {
            /**
             * A specific Explicit Congestion Notification flag value to set on an IP packet.
             */
            ecn: NWProtocolIP.ECN;
            /**
             * A specific service class to mark on an IP packet.
             */
            serviceClass: NWParameters.ServiceClass;
            /**
             * The time at which a packet was received, in nanoseconds, based on 
             * .
             */
            receiveTime: UInt64;
            /**
             * Initializes an IP packet configuration with default settings.
             */
            constructor ();
        }
        export enum ECN {
            nonECT,
            ect0,
            ect1,
            ce,
        }
        export class Options extends NWProtocolOptions {
            /**
             * A required IP version that disables all other versions for a connection.
             */
            version: NWProtocolIP.Options.Version;
            /**
             * A Boolean that indicates whether a connection delivers receive timestamps for IP packets.
             */
            shouldCalculateReceiveTime: boolean;
            /**
             * The default hop limit for packets a connection generates.
             */
            hopLimit: UInt8;
            /**
             * A Boolean indicating that the connection uses the  minimum MTU value, which is 1280 bytes for IPv6.
             */
            useMinimumMTU: boolean;
            /**
             * A Boolean that indicates whether fragmentation is disabled on outbound packets.
             */
            disableFragmentation: boolean;
            disableMulticastLoopback: boolean;
            localAddressPreference: NWProtocolIP.Options.AddressPreference;
        }
        /**
         * the same name namespace of class Options
         */
        export namespace Options {
            export enum Version {
                any,
                v4,
                v6,
            }
            export enum AddressPreference {
                default,
                stable,
                temporary,
            }
        }
    }
    export class NWProtocolWebSocket extends NWProtocol {
        /**
         * The system definition of the WebSocket protocol.
         */
        static definition: NWProtocolDefinition;
    }
    /**
     * the same name namespace of class NWProtocolWebSocket
     */
    export namespace NWProtocolWebSocket {
        export class Options extends NWProtocolOptions {
            /**
             * A Boolean indicating whether the connection automatically replies to Ping messages instead of delivering them to you.
             */
            autoReplyPing: boolean;
            /**
             * The maximum allowed message size, in bytes, to be received by the WebSocket connection.
             */
            maximumMessageSize: number;
            /**
             * A Boolean indicating whether the WebSocket protocol skips its handshake and begins framing data once the underlying connection is established.
             */
            skipHandshake: boolean;
            /**
             * Initializes a default set of WebSocket connection options.
             */
            constructor (version: NWProtocolWebSocket.Version);
            /**
             * Sets additional HTTP header fields to be sent by the client during the WebSocket handshake.
             */
            setAdditionalHeaders(headers: any):void;
            /**
             * Adds to the list of supported application protocols that will be presented to a WebSocket server during connection establishment.
             */
            setSubprotocols(subprotocols: string[]):void;
            /**
             * Sets a handler to react to as a server to inbound WebSocket client handshakes.
             */
            setClientRequestHandler(queue: DispatchQueue, handler: ()=>any):void;
        }
        export enum Version {
            version13,
        }
        export class Response {
            /**
             * The status of a WebSocket server response.
             */
            status: NWProtocolWebSocket.Response.Status;
            /**
             * The selected subprotocol in a WebSocket server response.
             */
            subprotocol: string;
            /**
             * Any additional HTTP headers in a WebSocket server response.
             */
            additionalHeaders: any;
            /**
             * Initializes a WebSocket server response with a status, selected subprotocol, and additional HTTP headers.
             */
            constructor (status: NWProtocolWebSocket.Response.Status, subprotocol: string, additionalHeaders: any);
        }
        /**
         * the same name namespace of class Response
         */
        export namespace Response {
            export enum Status {
                accept,
                reject,
            }
        }
        export class Metadata extends NWProtocolMetadata {
            /**
             * The close code on a WebSocket message.
             */
            closeCode: NWProtocolWebSocket.CloseCode;
            /**
             * The type code of a WebSocket message.
             */
            opcode: NWProtocolWebSocket.Opcode;
            /**
             * The subprotocol selected by the server during the WebSocket handshake.
             */
            selectedSubprotocol: string;
            /**
             * Additional HTTP headers sent by the server during the WebSocket handshake.
             */
            additionalServerHeaders: any;
            /**
             * Initializes a WebSocket message with a specific type code.
             */
            constructor (opcode: NWProtocolWebSocket.Opcode);
            /**
             * Sets a handler on a Ping message to be invoked when the corresponding Pong message is received.
             */
            setPongHandler(queue: DispatchQueue, handler: ()=>any):void;
        }
        export enum Opcode {
            binary,
            text,
            cont,
            ping,
            pong,
            close,
        }
        export enum CloseCode {
            protocolCode,
            applicationCode,
            privateCode,
        }
    }
    export class NWProtocolFramer extends NWProtocol {}
    /**
     * the same name namespace of class NWProtocolFramer
     */
    export namespace NWProtocolFramer {
        export enum StartResult {
            ready,
            willMarkReady,
        }
        export class Instance {
            /**
             * The remote endpoint of the connection in which your protocol is running.
             */
            remote: NWEndpoint | null;
            /**
             * The local endpoint of the connection in which your protocol is running.
             */
            local: NWEndpoint | null;
            /**
             * The parameters of the connection in which your protocol is running.
             */
            parameters: NWParameters | null;
            /**
             * The description of the connection in which your protocol is running.
             */
            debugDescription: string;
            options: NWProtocolFramer.Options;
            /**
             * Examines the content of output data while inside your output handler.
             */
            parseOutput(minimumIncompleteLength: number, maximumLength: number, parse: ()=>any):boolean;
            /**
             * Sends arbitrary output data from your protocol to the next protocol.
             */
            writeOutput(data: Data):void;
            /**
             * Sends a specific number of bytes from a message while inside your output handler.
             */
            writeOutputNoCopy(length: number):void;
            /**
             * Indicates that your protocol no longer needs to handle output data.
             */
            passThroughOutput():void;
            /**
             * Examines the content of input data while in your input handler.
             */
            parseInput(minimumIncompleteLength: number, maximumLength: number, parse: ()=>any):boolean;
            /**
             * Delivers an inbound message containing arbitrary data from your protocol to the application.
             */
            deliverInput(data: Data, message: NWProtocolFramer.Message, isComplete: boolean):void;
            /**
             * Delivers an inbound message containing a specific number of next received bytes.
             */
            deliverInputNoCopy(length: number, message: NWProtocolFramer.Message, isComplete: boolean):boolean;
            /**
             * Indicates that your protocol no longer needs to handle input data.
             */
            passThroughInput():void;
            /**
             * Indicates to a connection that your protocol's handshake is complete.
             */
            markReady():void;
            /**
             * Indicates to a connection that your protocol has encountered an error, or has gracefully closed.
             */
            markFailed(error: NWError | null):void;
            /**
             * Dynamically adds another protocol that will run above your protocol after your protocol calls 
             * .
             */
            prependApplicationProtocol(options: NWProtocolOptions):void;
            /**
             * Requests that a block be executed on the connection's internal scheduling context.
             */
            async(execute: ()=>any):void;
            /**
             * Requests that 
             *  be called on your protocol at a specific time in the future.
             */
            scheduleWakeup(wakeupTime: NWProtocolFramer.Instance.WakeupTime):void;
        }
        /**
         * the same name namespace of class Instance
         */
        export namespace Instance {
            export enum WakeupTime {
                milliseconds,
                forever,
            }
        }
        export class Definition extends NWProtocolDefinition {
            /**
             * Initializes a new protocol definition based on your protocol implementation.
             */
            constructor (implementation: NWProtocolFramerImplementation.Type);
        }
        export class Options extends NWProtocolOptions {
            /**
             * Initializes a set of protocol options with a custom framer definition.
             */
            constructor (definition: NWProtocolFramer.Definition);
        }
        export class Message extends NWProtocolMetadata {
            /**
             * Initializes an empty message for a custom framer definition.
             */
            constructor (definition: NWProtocolFramer.Definition);
            /**
             * Initializes an empty message from within a framer implementation.
             */
            constructor (instance: NWProtocolFramer.Instance);
        }
    }
    export interface NWProtocolFramerImplementation {
        /**
         * Initializes your custom framing protocol for use in one connection attempt.
         */
         (framer: NWProtocolFramer.Instance);
        /**
         * Requests that your protocol set up its state and begin a handshake, if necessary.
         */
        start(framer: NWProtocolFramer.Instance):NWProtocolFramer.StartResult;
        /**
         * Delivers a scheduled wakeup event.
         */
        wakeup(framer: NWProtocolFramer.Instance):void;
        /**
         * Requests that your protocol send any final messages to close the connection.
         */
        stop(framer: NWProtocolFramer.Instance):boolean;
        /**
         * Indicates that your protocol should clean up all allocations before being deallocated.
         */
        cleanup(framer: NWProtocolFramer.Instance):void;
        /**
         * A label defined by your custom protocol for use in debugging.
         */
        static label: string;
        /**
         * Notifies your protocol about a new outbound message.
         */
        handleOutput(framer: NWProtocolFramer.Instance, message: NWProtocolFramer.Message, messageLength: number, isComplete: boolean):void;
        /**
         * Notifies your protocol that new inbound data is available to parse.
         */
        handleInput(framer: NWProtocolFramer.Instance):number;
    }
    export enum nw_parameters_attribution_t {
        developer = 1,
        user = 2,
    }
}

/**
 * Secure the data your app manages, and control access to your app.
 */
declare module Security {
    export interface OS_sec_protocol_options extends NSObjectProtocol {}
    export interface OS_sec_protocol_metadata extends NSObjectProtocol {}
    export interface OS_sec_certificate extends NSObjectProtocol {}
    export interface OS_sec_identity extends NSObjectProtocol {}
    export interface OS_sec_trust extends NSObjectProtocol {}
    export interface OS_sec_object extends NSObjectProtocol {}
    export class SessionCreationFlags {
        /**
         * The caller has allocated sub-bootstrap.
         */
        static sessionKeepCurrentBootstrap: SessionCreationFlags;
        /**
         * Initializes a session creation flags value.
         */
        constructor (rawValue: UInt32);
    }
    export class SessionAttributeBits {
        /**
         * A bit that indicates the session is the root session.
         */
        static sessionIsRoot: SessionAttributeBits;
        /**
         * A bit that indicates a graphic subsystem is available.
         */
        static sessionHasGraphicAccess: SessionAttributeBits;
        /**
         * A bit that indicates 
         *  is available.
         */
        static sessionHasTTY: SessionAttributeBits;
        /**
         * A bit that indicates the session was initiated over the network.
         */
        static sessionIsRemote: SessionAttributeBits;
        /**
         * Initializes a session attribute bits structure.
         */
        constructor (rawValue: UInt32);
    }
    export class SecKey {}
    export class SecKeyAlgorithm {
        static eciesEncryptionStandardX963SHA1AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardX963SHA224AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardX963SHA256AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardX963SHA384AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardX963SHA512AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardVariableIVX963SHA224AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardVariableIVX963SHA256AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardVariableIVX963SHA384AESGCM: SecKeyAlgorithm;
        static eciesEncryptionStandardVariableIVX963SHA512AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorVariableIVX963SHA224AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorVariableIVX963SHA256AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorVariableIVX963SHA384AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorVariableIVX963SHA512AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorX963SHA1AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorX963SHA224AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorX963SHA256AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorX963SHA384AESGCM: SecKeyAlgorithm;
        static eciesEncryptionCofactorX963SHA512AESGCM: SecKeyAlgorithm;
        static ecdsaSignatureRFC4754: SecKeyAlgorithm;
        static ecdsaSignatureDigestX962: SecKeyAlgorithm;
        static ecdsaSignatureDigestX962SHA1: SecKeyAlgorithm;
        static ecdsaSignatureDigestX962SHA224: SecKeyAlgorithm;
        static ecdsaSignatureDigestX962SHA256: SecKeyAlgorithm;
        static ecdsaSignatureDigestX962SHA384: SecKeyAlgorithm;
        static ecdsaSignatureDigestX962SHA512: SecKeyAlgorithm;
        static ecdsaSignatureMessageX962SHA1: SecKeyAlgorithm;
        static ecdsaSignatureMessageX962SHA224: SecKeyAlgorithm;
        static ecdsaSignatureMessageX962SHA256: SecKeyAlgorithm;
        static ecdsaSignatureMessageX962SHA384: SecKeyAlgorithm;
        static ecdsaSignatureMessageX962SHA512: SecKeyAlgorithm;
        static ecdhKeyExchangeCofactor: SecKeyAlgorithm;
        static ecdhKeyExchangeStandard: SecKeyAlgorithm;
        static ecdhKeyExchangeCofactorX963SHA1: SecKeyAlgorithm;
        static ecdhKeyExchangeStandardX963SHA1: SecKeyAlgorithm;
        static ecdhKeyExchangeCofactorX963SHA224: SecKeyAlgorithm;
        static ecdhKeyExchangeCofactorX963SHA256: SecKeyAlgorithm;
        static ecdhKeyExchangeCofactorX963SHA384: SecKeyAlgorithm;
        static ecdhKeyExchangeCofactorX963SHA512: SecKeyAlgorithm;
        static ecdhKeyExchangeStandardX963SHA224: SecKeyAlgorithm;
        static ecdhKeyExchangeStandardX963SHA256: SecKeyAlgorithm;
        static ecdhKeyExchangeStandardX963SHA384: SecKeyAlgorithm;
        static ecdhKeyExchangeStandardX963SHA512: SecKeyAlgorithm;
        static rsaEncryptionRaw: SecKeyAlgorithm;
        static rsaEncryptionPKCS1: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA1: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA224: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA256: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA384: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA512: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA1AESGCM: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA224AESGCM: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA256AESGCM: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA384AESGCM: SecKeyAlgorithm;
        static rsaEncryptionOAEPSHA512AESGCM: SecKeyAlgorithm;
        static rsaSignatureRaw: SecKeyAlgorithm;
        static rsaSignatureDigestPKCS1v15Raw: SecKeyAlgorithm;
        static rsaSignatureDigestPKCS1v15SHA1: SecKeyAlgorithm;
        static rsaSignatureDigestPKCS1v15SHA224: SecKeyAlgorithm;
        static rsaSignatureDigestPKCS1v15SHA256: SecKeyAlgorithm;
        static rsaSignatureDigestPKCS1v15SHA384: SecKeyAlgorithm;
        static rsaSignatureDigestPKCS1v15SHA512: SecKeyAlgorithm;
        static rsaSignatureMessagePKCS1v15SHA1: SecKeyAlgorithm;
        static rsaSignatureMessagePKCS1v15SHA224: SecKeyAlgorithm;
        static rsaSignatureMessagePKCS1v15SHA256: SecKeyAlgorithm;
        static rsaSignatureMessagePKCS1v15SHA384: SecKeyAlgorithm;
        static rsaSignatureMessagePKCS1v15SHA512: SecKeyAlgorithm;
        static rsaSignatureDigestPSSSHA1: SecKeyAlgorithm;
        static rsaSignatureDigestPSSSHA224: SecKeyAlgorithm;
        static rsaSignatureDigestPSSSHA256: SecKeyAlgorithm;
        static rsaSignatureDigestPSSSHA384: SecKeyAlgorithm;
        static rsaSignatureDigestPSSSHA512: SecKeyAlgorithm;
        static rsaSignatureMessagePSSSHA1: SecKeyAlgorithm;
        static rsaSignatureMessagePSSSHA224: SecKeyAlgorithm;
        static rsaSignatureMessagePSSSHA256: SecKeyAlgorithm;
        static rsaSignatureMessagePSSSHA384: SecKeyAlgorithm;
        static rsaSignatureMessagePSSSHA512: SecKeyAlgorithm;
        constructor (rawValue: CFString);
    }
    export enum SecKeyOperationType {
        decrypt = 3,
        encrypt = 2,
        keyExchange = 4,
        sign = 0,
        verify = 1,
    }
    export class SecKeyKeyExchangeParameter {
        static requestedSize: SecKeyKeyExchangeParameter;
        static sharedInfo: SecKeyKeyExchangeParameter;
        constructor (rawValue: CFString);
    }
    export class SecPadding {
        static sigRaw: SecPadding;
        /**
         * PKCS1 padding.
         */
        static PKCS1: SecPadding;
        static OAEP: SecPadding;
        /**
         * Data to be signed is an MD2 hash. 
         */
        static PKCS1MD2: SecPadding;
        /**
         * Data to be signed is an MD5 hash.
         */
        static PKCS1MD5: SecPadding;
        /**
         * Data to be signed is a SHA1 hash. 
         */
        static PKCS1SHA1: SecPadding;
        /**
         * Data to be signed is a SHA224 hash.
         */
        static PKCS1SHA224: SecPadding;
        /**
         * Data to be signed is a SHA256 hash.
         */
        static PKCS1SHA256: SecPadding;
        /**
         * Data to be signed is a SHA384 hash.
         */
        static PKCS1SHA384: SecPadding;
        /**
         * Data to be signed is a SHA512 hash.
         */
        static PKCS1SHA512: SecPadding;
        constructor (rawValue: UInt32);
    }
    export enum SecKeySizes {
        secDefaultKeySize = 0,
        sec3DES192 = 192,
        secAES128 = 128,
        secAES256 = 256,
        secp384r1 = 384,
        secp521r1 = 521,
        secRSAMin = 1024,
        secRSAMax = 4096,
    }
    export class SecKeyUsage {
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static crlSign: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static contentCommitment: SecKeyUsage;
        /**
         * The KeyUsage extension is marked critical.
         */
        static critical: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static dataEncipherment: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static decipherOnly: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static digitalSignature: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static encipherOnly: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static keyAgreement: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static keyCertSign: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static keyEncipherment: SecKeyUsage;
        /**
         * The 
         *  bit is set in KeyUsage extension.
         */
        static nonRepudiation: SecKeyUsage;
        /**
         * All flags set.
         */
        static all: SecKeyUsage;
        /**
         * Initializes a key usage structure.
         */
        constructor (rawValue: UInt32);
    }
    export class SecKeychainItem {}
    export enum SecCredentialType {
        default = 0,
        withUI = 1,
        noUI = 2,
    }
    export class SecIdentity {}
    export class SecIdentitySearch {}
    export class SecPolicy {}
    export class SecPolicySearch {}
    export class SecTrust {}
    export enum SecTrustResultType {
        unspecified = 4,
        proceed = 1,
        deny = 3,
        recoverableTrustFailure = 5,
        fatalTrustFailure = 6,
        otherError = 7,
        invalid = 0,
        confirm = 2,
    }
    export class SecTrustOptionFlags {
        /**
         * Allow expired certificates (except for the root certificate).
         */
        static allowExpired: SecTrustOptionFlags;
        /**
         * Allow CA certificates as leaf certificates.
         */
        static leafIsCA: SecTrustOptionFlags;
        /**
         * Allow network downloads of CA certificates.
         */
        static fetchIssuerFromNet: SecTrustOptionFlags;
        /**
         * Allow expired root certificates.
         */
        static allowExpiredRoot: SecTrustOptionFlags;
        /**
         * Require a positive revocation check for each certificate.
         */
        static requireRevPerCert: SecTrustOptionFlags;
        /**
         * Use TrustSettings instead of anchors.
         */
        static useTrustSettings: SecTrustOptionFlags;
        /**
         * Treat properly self-signed certificates as anchors implicitly.
         */
        static implicitAnchors: SecTrustOptionFlags;
        /**
         * Initializes a trust option flags structure.
         */
        constructor (rawValue: UInt32);
    }
    export class SecTrustSettingsKeyUsage {
        /**
         * The key can be used to sign data or verify a signature.
         */
        static useSignature: SecTrustSettingsKeyUsage;
        /**
         * The key can be used to encrypt or decrypt data.
         */
        static useEnDecryptData: SecTrustSettingsKeyUsage;
        /**
         * The key can be used to encrypt or decrypt (wrap or unwrap) a key.
         */
        static useEnDecryptKey: SecTrustSettingsKeyUsage;
        /**
         * The key can be used to sign a certificate or verify a signature.
         */
        static useSignCert: SecTrustSettingsKeyUsage;
        /**
         * The key can be used to sign an OCSP (online certificate status protocol) message or CRL (certificate verification list), or to verify a signature.
         */
        static useSignRevocation: SecTrustSettingsKeyUsage;
        /**
         * The key is a private key that has been shared using a key exchange protocol, such as Diffie-Hellman key exchange.
         */
        static useKeyExchange: SecTrustSettingsKeyUsage;
        /**
         * The key can be used for any purpose.
         */
        static useAny: SecTrustSettingsKeyUsage;
        /**
         * Initializes a trust settings key usage structure.
         */
        constructor (rawValue: UInt32);
    }
    export enum SecTrustSettingsResult {
        invalid = 0,
        trustRoot = 1,
        trustAsRoot = 2,
        deny = 3,
        unspecified = 4,
    }
    export enum SecTrustSettingsDomain {
        user = 0,
        admin = 1,
        system = 2,
    }
    export class CMSEncoder {}
    export class CMSSignedAttributes {
        /**
         * Identify signature, encryption, and digest algorithms supported by the encoder.
         */
        static attrSmimeCapabilities: CMSSignedAttributes;
        /**
         * Indicate that the signing certificate included with the message is the preferred one for S/MIME encryption. 
         */
        static attrSmimeEncryptionKeyPrefs: CMSSignedAttributes;
        /**
         * Indicate that the signing certificate included with the message is the preferred one for S/MIME encryption, but using an attribute object identifier (OID) preferred by Microsoft.
         */
        static attrSmimeMSEncryptionKeyPrefs: CMSSignedAttributes;
        /**
         * Include the signing time. 
         */
        static attrSigningTime: CMSSignedAttributes;
        /**
         * Include Apple codesigning hash agility.
         */
        static attrAppleCodesigningHashAgility: CMSSignedAttributes;
        /**
         * Include Apple codesigning hash agility, version 2.
         */
        static attrAppleCodesigningHashAgilityV2: CMSSignedAttributes;
        /**
         * Include the expiration time.
         */
        static attrAppleExpirationTime: CMSSignedAttributes;
        /**
         * Initializes a new attributes structure.
         */
        constructor (rawValue: UInt32);
    }
    export enum CMSCertificateChainMode {
        none = 0,
        signerOnly = 1,
        chain = 2,
        chainWithRoot = 3,
        chainWithRootOrFail = 4,
    }
    export class CMSDecoder {}
    export enum CMSSignerStatus {
        unsigned = 0,
        valid = 1,
        needsDetachedContent = 2,
        invalidSignature = 3,
        invalidCert = 4,
        invalidIndex = 5,
    }
    export enum SecTransformMetaAttributeType {
        canCycle = 7,
        deferred = 5,
        externalize = 8,
        hasInboundConnection = 10,
        hasOutboundConnections = 9,
        name = 1,
        ref = 2,
        required = 3,
        requiresOutboundConnection = 4,
        stream = 6,
        value = 0,
    }
    export class SecAsn1AlgId {
        algorithm: SecAsn1Oid;
        parameters: SecAsn1Item;
        constructor ();
        constructor (algorithm: SecAsn1Oid, parameters: SecAsn1Item);
    }
    export class SecAsn1PubKeyInfo {
        subjectPublicKey: SecAsn1Item;
        algorithm: SecAsn1AlgId;
        constructor ();
        constructor (algorithm: SecAsn1AlgId, subjectPublicKey: SecAsn1Item);
    }
    export class cssm_applecspdl_db_change_password_parameters {
        constructor ();
        constructor (accessCredentials: UnsafeMutablePointer<cssm_access_credentials>!);
    }
    export class cssm_applecspdl_db_is_locked_parameters {
        constructor ();
        constructor (isLocked: uint8);
    }
    export class cssm_applecspdl_db_settings_parameters {
        constructor ();
        constructor (idleTimeout: uint32, lockOnSleep: uint8);
    }
    export class cssm_appledl_open_parameters {
        constructor ();
        constructor (length: uint32, version: uint32, autoCommit: CSSM_BOOL, mask: uint32, mode: mode_t);
    }
    export class cssm_authorizationgroup {
        constructor ();
        constructor (NumberOfAuthTags: uint32, AuthTags: UnsafeMutablePointer<CSSM_ACL_AUTHORIZATION_TAG>!);
    }
    export class cssm_csp_operational_statistics {
        constructor ();
        constructor (UserAuthenticated: CSSM_BOOL, DeviceFlags: CSSM_CSP_FLAGS, TokenMaxSessionCount: uint32, TokenOpenedSessionCount: uint32, TokenMaxRWSessionCount: uint32, TokenOpenedRWSessionCount: uint32, TokenTotalPublicMem: uint32, TokenFreePublicMem: uint32, TokenTotalPrivateMem: uint32, TokenFreePrivateMem: uint32);
    }
    export class cssm_data {
        constructor ();
        constructor (Length: number, Data: UnsafeMutablePointer<UInt8> | null);
    }
    export class cssm_date {
        constructor ();
        constructor (Year: any, Month: any, Day: any);
    }
    export class cssm_db_schema_index_info {
        constructor ();
        constructor (AttributeId: uint32, IndexId: uint32, IndexType: CSSM_DB_INDEX_TYPE, IndexedDataLocation: CSSM_DB_INDEXED_DATA_LOCATION);
    }
    export class cssm_dl_db_handle {
        constructor ();
        constructor (DLHandle: CSSM_DL_HANDLE, DBHandle: CSSM_DB_HANDLE);
    }
    export class cssm_dl_pkcs11_attributes {
        constructor ();
        constructor (DeviceAccessFlags: uint32);
    }
    export class cssm_func_name_addr {
        constructor ();
        constructor (Name: CSSM_STRING, Address: CSSM_PROC_ADDR!);
    }
    export class cssm_guid {
        constructor ();
        constructor (Data1: uint32, Data2: uint16, Data3: uint16, Data4: any);
    }
    export class cssm_key_size {
        constructor ();
        constructor (LogicalKeySizeInBits: uint32, EffectiveKeySizeInBits: uint32);
    }
    export class cssm_list {
        constructor ();
        constructor (ListType: CSSM_LIST_TYPE, Head: CSSM_LIST_ELEMENT_PTR!, Tail: CSSM_LIST_ELEMENT_PTR!);
    }
    export class cssm_memory_funcs {
        constructor ();
        constructor (malloc_func: CSSM_MALLOC!, free_func: CSSM_FREE!, realloc_func: CSSM_REALLOC!, calloc_func: CSSM_CALLOC!, AllocRef: UnsafeMutableRawPointer!);
    }
    export class cssm_name_list {
        constructor ();
        constructor (NumStrings: uint32, String: UnsafeMutablePointer<UnsafeMutablePointer<CChar>?>!);
    }
    export class cssm_parsed_cert {
        constructor ();
        constructor (CertType: CSSM_CERT_TYPE, ParsedCertFormat: CSSM_CERT_PARSE_FORMAT, ParsedCert: UnsafeMutableRawPointer!);
    }
    export class cssm_parsed_crl {
        constructor ();
        constructor (CrlType: CSSM_CRL_TYPE, ParsedCrlFormat: CSSM_CRL_PARSE_FORMAT, ParsedCrl: UnsafeMutableRawPointer!);
    }
    export class cssm_query_size_data {
        constructor ();
        constructor (SizeInputBlock: uint32, SizeOutputBlock: uint32);
    }
    export class cssm_range {
        constructor ();
        constructor (Min: uint32, Max: uint32);
    }
    export class cssm_tp_result_set {
        constructor ();
        constructor (NumberOfResults: uint32, Results: UnsafeMutableRawPointer!);
    }
    export class cssm_version {
        constructor ();
        constructor (Major: uint32, Minor: uint32);
    }
    export enum SSLProtocolSide {
        serverSide = 0,
        clientSide = 1,
    }
    export enum SSLConnectionType {
        streamType = 0,
        datagramType = 1,
    }
    export class SSLContext {}
    export enum SSLSessionOption {
        breakOnServerAuth = 0,
        breakOnCertRequested = 1,
        breakOnClientAuth = 2,
        falseStart = 3,
        sendOneByteRecord = 4,
        allowServerIdentityChange = 5,
        fallback = 6,
        breakOnClientHello = 7,
        allowRenegotiation = 8,
        enableSessionTickets = 9,
    }
    export enum SSLAuthenticate {
        neverAuthenticate = 0,
        alwaysAuthenticate = 1,
        tryAuthenticate = 2,
    }
    export enum SSLSessionState {
        idle = 0,
        handshake = 1,
        connected = 2,
        closed = 3,
        aborted = 4,
    }
    export enum tls_protocol_version_t {
        TLSv10 = 769,
        TLSv11 = 770,
        TLSv12 = 771,
        TLSv13 = 772,
        DTLSv10 = 65279,
        DTLSv12 = 65277,
    }
    export enum SSLProtocol {
        sslProtocolUnknown = 0,
        sslProtocol2 = 1,
        sslProtocol3 = 2,
        sslProtocol3Only = 3,
        sslProtocolAll = 6,
        tlsProtocol1 = 4,
        tlsProtocol1Only = 5,
        tlsProtocol11 = 7,
        tlsProtocol12 = 8,
        tlsProtocol13 = 10,
        tlsProtocolMaxSupported = 999,
        dtlsProtocol1 = 9,
        dtlsProtocol12 = 11,
    }
    export enum tls_ciphersuite_group_t {
        ats = 3,
        ats_compatibility = 4,
        compatibility = 1,
        default = 0,
        legacy = 2,
    }
    export enum tls_ciphersuite_t {
        AES_128_GCM_SHA256 = 4865,
        AES_256_GCM_SHA384 = 4866,
        CHACHA20_POLY1305_SHA256 = 4867,
        ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160,
        ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161,
        ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187,
        ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195,
        ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162,
        ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188,
        ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196,
        ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393,
        ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170,
        ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171,
        ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191,
        ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199,
        ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172,
        ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192,
        ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200,
        ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392,
        RSA_WITH_3DES_EDE_CBC_SHA = 10,
        RSA_WITH_AES_128_CBC_SHA = 47,
        RSA_WITH_AES_128_CBC_SHA256 = 60,
        RSA_WITH_AES_128_GCM_SHA256 = 156,
        RSA_WITH_AES_256_CBC_SHA = 53,
        RSA_WITH_AES_256_CBC_SHA256 = 61,
        RSA_WITH_AES_256_GCM_SHA384 = 157,
    }
    export enum SSLCiphersuiteGroup {
        default = 0,
        compatibility = 1,
        legacy = 2,
        ATS = 3,
        atsCompatibility = 4,
    }
    export enum SSLClientCertificateState {
        certNone = 0,
        certRequested = 1,
        certSent = 2,
        certRejected = 3,
    }
    export class SecCEBasicConstraints {
        critical: boolean;
        isCA: boolean;
        pathLenConstraint: UInt32;
        pathLenConstraintPresent: boolean;
        present: boolean;
        constructor ();
        constructor (present: boolean, critical: boolean, isCA: boolean, pathLenConstraintPresent: boolean, pathLenConstraint: UInt32);
    }
    export class SecCEPolicyConstraints {
        critical: boolean;
        inhibitPolicyMapping: UInt32;
        inhibitPolicyMappingPresent: boolean;
        present: boolean;
        requireExplicitPolicy: UInt32;
        requireExplicitPolicyPresent: boolean;
        constructor ();
        constructor (present: boolean, critical: boolean, requireExplicitPolicyPresent: boolean, requireExplicitPolicy: UInt32, inhibitPolicyMappingPresent: boolean, inhibitPolicyMapping: UInt32);
    }
    export class AuthorizationFlags {
        /**
         * A flag that permits user interaction as needed.
         */
        static interactionAllowed: AuthorizationFlags;
        /**
         * A flag that permits the Security Server to attempt to grant the rights requested.
         */
        static extendRights: AuthorizationFlags;
        /**
         * A flag that permits the Security Server to grant rights on an individual basis.
         */
        static partialRights: AuthorizationFlags;
        /**
         * A flag that instructs the Security Server to revoke authorization.
         */
        static destroyRights: AuthorizationFlags;
        /**
         * A flag that instructs the Security Server to preauthorize the rights requested.
         */
        static preAuthorize: AuthorizationFlags;
        /**
         * Private flag. Do not use.
         */
        static noData: AuthorizationFlags;
        /**
         * Initializes an authorization flags structure.
         */
        constructor (rawValue: UInt32);
    }
    export class SecAccessControlCreateFlags {
        /**
         * Constraint to access an item with a passcode.
         */
        static devicePasscode: SecAccessControlCreateFlags;
        /**
         * Constraint to access an item with Touch ID for any enrolled fingers, or Face ID.
         */
        static biometryAny: SecAccessControlCreateFlags;
        /**
         * Constraint to access an item with Touch ID for currently enrolled fingers, or from Face ID with the currently enrolled user.
         */
        static biometryCurrentSet: SecAccessControlCreateFlags;
        /**
         * Constraint to access an item with either biometry or passcode.
         */
        static userPresence: SecAccessControlCreateFlags;
        /**
         * Constraint to access an item with a watch.
         */
        static watch: SecAccessControlCreateFlags;
        /**
         * Indicates that all constraints must be satisfied.
         */
        static and: SecAccessControlCreateFlags;
        /**
         * Indicates that at least one constraint must be satisfied.
         */
        static or: SecAccessControlCreateFlags;
        /**
         * Option to use an application-provided password for data encryption key generation. 
         */
        static applicationPassword: SecAccessControlCreateFlags;
        /**
         * Enable a private key to be used in signing a block of data or verifying a signed block.
         */
        static privateKeyUsage: SecAccessControlCreateFlags;
        /**
         * Constraint to access an item with Touch ID for any enrolled fingers.
         */
        static touchIDAny: SecAccessControlCreateFlags;
        /**
         * Constraint to access an item with Touch ID for currently enrolled fingers.
         */
        static touchIDCurrentSet: SecAccessControlCreateFlags;
        /**
         * Initialize an access control creation flags object.
         */
        constructor (rawValue: CFOptionFlags);
    }
    export class SecAccessControl {}
    export enum SecExternalFormat {
        formatUnknown = 0,
        formatOpenSSL = 1,
        formatSSH = 2,
        formatBSAFE = 3,
        formatSSHv2 = 14,
        formatRawKey = 4,
        formatWrappedPKCS8 = 5,
        formatWrappedOpenSSL = 6,
        formatWrappedSSH = 7,
        formatWrappedLSH = 8,
        formatX509Cert = 9,
        formatPEMSequence = 10,
        formatPKCS7 = 11,
        formatPKCS12 = 12,
        formatNetscapeCertSequence = 13,
    }
    export enum SecExternalItemType {
        itemTypeUnknown = 0,
        itemTypePrivateKey = 1,
        itemTypePublicKey = 2,
        itemTypeSessionKey = 3,
        itemTypeCertificate = 4,
        itemTypeAggregate = 5,
    }
    export class SecItemImportExportFlags {
        /**
         * A flag that indicates the exported data should have PEM armor.
         */
        static pemArmour: SecItemImportExportFlags;
        /**
         * Initialize an item import/export flag structure.
         */
        constructor (rawValue: UInt32);
    }
    export class SecItemImportExportKeyParameters {
        /**
         * Specifies the initial access controls of imported private keys.
         */
        accessRef: Unmanaged<SecAccess> | null;
        /**
         * The prompt to display in the secure passphrase alert panel.
         */
        alertPrompt: Unmanaged<CFString> | null;
        /**
         * The title to display in the secure passphrase alert panel.
         */
        alertTitle: Unmanaged<CFString> | null;
        /**
         * The bitwise 
         *  of zero or more key import/export flags.
         */
        flags: SecKeyImportExportFlags;
        /**
         * An array containing zero or more key attributes for an imported key.
         */
        keyAttributes: Unmanaged<CFArray> | null;
        /**
         * An array containing usage attributes applied to a key on import.
         */
        keyUsage: Unmanaged<CFArray> | null;
        /**
         * The password to use during key import or export.
         */
        passphrase: Unmanaged<CFTypeRef> | null;
        /**
         * The version of this structure.
         */
        version: UInt32;
        constructor ();
        constructor (version: UInt32, flags: SecKeyImportExportFlags, passphrase: Unmanaged<CFTypeRef> | null, alertTitle: Unmanaged<CFString> | null, alertPrompt: Unmanaged<CFString> | null, accessRef: Unmanaged<SecAccess> | null, keyUsage: Unmanaged<CFArray> | null, keyAttributes: Unmanaged<CFArray> | null);
    }
    export class SecKeyImportExportFlags {
        /**
         * A flag that you set to prevent importing more than one private key.
         */
        static importOnlyOne: SecKeyImportExportFlags;
        /**
         * A flag that indicates the user should be prompted for a passphrase on import or export.
         */
        static securePassphrase: SecKeyImportExportFlags;
        /**
         * A flag that indicates imported private keys have no access object attached to them.
         */
        static noAccessControl: SecKeyImportExportFlags;
        /**
         * Initialize a key import/export flag structure.
         */
        constructor (rawValue: UInt32);
    }
    export class SecKeyImportExportParameters {
        /**
         * Specifies the initial access controls of imported private keys.
         */
        accessRef: Unmanaged<SecAccess> | null;
        /**
         * The prompt to display in the secure passphrase alert panel.
         */
        alertPrompt: Unmanaged<CFString>;
        /**
         * The title to display in the secure passphrase alert panel.
         */
        alertTitle: Unmanaged<CFString>;
        /**
         * The bitwise 
         *  of zero or more key import/export flags.
         */
        flags: SecKeyImportExportFlags;
        /**
         * A word of bits constituting the low-level attribute flags for imported keys. 
         */
        keyAttributes: CSSM_KEYATTR_FLAGS;
        /**
         * A word of bits constituting the low-level use flags for imported keys.
         */
        keyUsage: CSSM_KEYUSE;
        /**
         * The password to use during key import or export.
         */
        passphrase: Unmanaged<CFTypeRef> | null;
        /**
         * The version of this structure.
         */
        version: UInt32;
        /**
         * Creates a new import/export parameter structure.
         */
        constructor (version: UInt32, flags: SecKeyImportExportFlags, passphrase: Unmanaged<CFTypeRef> | null, alertTitle: Unmanaged<CFString>, alertPrompt: Unmanaged<CFString>, accessRef: Unmanaged<SecAccess> | null, keyUsage: CSSM_KEYUSE, keyAttributes: CSSM_KEYATTR_FLAGS);
    }
    export enum SecItemClass {
        internetPasswordItemClass = 1768842612,
        genericPasswordItemClass = 1734700656,
        certificateItemClass = 2147487744,
        publicKeyItemClass = 15,
        privateKeyItemClass = 16,
        symmetricKeyItemClass = 17,
    }
    export class AuthorizationItem {
        /**
         * The required name of the authorization right or environment data. 
         */
        name: AuthorizationString;
        /**
         * The number of bytes in the value field.
         */
        valueLength: number;
        /**
         * A pointer to information pertaining to the name field.
         */
        value: UnsafeMutableRawPointer | null;
        /**
         * Reserved option bits.
         */
        flags: UInt32;
        /**
         * Creates a new authorization item.
         */
        constructor (name: AuthorizationString, valueLength: number, value: UnsafeMutableRawPointer | null, flags: UInt32);
    }
    export class SecKeychainAttribute {
        /**
         * A pointer to the attribute data.
         */
        data: UnsafeMutableRawPointer | null;
        /**
         * The length of the buffer pointed to by data.
         */
        length: UInt32;
        /**
         * A 4-byte attribute tag. 
         */
        tag: SecKeychainAttrType;
        constructor ();
        constructor (tag: SecKeychainAttrType, length: UInt32, data: UnsafeMutableRawPointer | null);
    }
    export class SecKeychainAttributeList {
        /**
         * A pointer to the first keychain attribute in the array.
         */
        attr: UnsafeMutablePointer<SecKeychainAttribute> | null;
        /**
         * The number of keychain attributes in the array.
         */
        count: UInt32;
        constructor ();
        constructor (count: UInt32, attr: UnsafeMutablePointer<SecKeychainAttribute> | null);
    }
    export class SecKeychainAttributeInfo {
        /**
         * The number of tag-format pairs in the respective arrays.
         */
        count: UInt32;
        /**
         * A pointer to the first attribute format in the array.
         */
        format: UnsafeMutablePointer<UInt32> | null;
        /**
         * A pointer to the first attribute tag in the array.
         */
        tag: UnsafeMutablePointer<UInt32>;
        /**
         * Creates a new attribute information structure.
         */
        constructor (count: UInt32, tag: UnsafeMutablePointer<UInt32>, format: UnsafeMutablePointer<UInt32> | null);
    }
    export enum SecItemAttr {
        creationDateItemAttr = 1667522932,
        modDateItemAttr = 1835295092,
        descriptionItemAttr = 1684370275,
        commentItemAttr = 1768123764,
        creatorItemAttr = 1668445298,
        typeItemAttr = 1954115685,
        scriptCodeItemAttr = 1935897200,
        labelItemAttr = 1818321516,
        invisibleItemAttr = 1768846953,
        negativeItemAttr = 1852139361,
        customIconItemAttr = 1668641641,
        accountItemAttr = 1633903476,
        serviceItemAttr = 1937138533,
        genericItemAttr = 1734700641,
        securityDomainItemAttr = 1935961454,
        serverItemAttr = 1936881266,
        authenticationTypeItemAttr = 1635023216,
        portItemAttr = 1886351988,
        pathItemAttr = 1885434984,
        volumeItemAttr = 1986817381,
        addressItemAttr = 1633969266,
        signatureItemAttr = 1936943463,
        protocolItemAttr = 1886675820,
        certificateType = 1668577648,
        certificateEncoding = 1667591779,
        crlType = 1668445296,
        crlEncoding = 1668443747,
        alias = 1634494835,
    }
    export class AuthorizationItemSet {
        /**
         * The number of elements in the 
         *  array.
         */
        count: UInt32;
        /**
         * A pointer to an array of authorization items.
         */
        items: UnsafeMutablePointer<AuthorizationItem> | null;
        /**
         * Initializes an authorization item set.
         */
        constructor ();
        /**
         * Initializes an authorization item set with the given items.
         */
        constructor (count: UInt32, items: UnsafeMutablePointer<AuthorizationItem> | null);
    }
    export enum SecProtocolType {
        FTP = 1718906912,
        ftpAccount = 1718906977,
        HTTP = 1752462448,
        IRC = 1769104160,
        NNTP = 1852732528,
        POP3 = 1886351411,
        SMTP = 1936553072,
        SOCKS = 1936685088,
        IMAP = 1768776048,
        LDAP = 1818517872,
        appleTalk = 1635019883,
        AFP = 1634103328,
        telnet = 1952803950,
        SSH = 1936943136,
        FTPS = 1718906995,
        HTTPS = 1752461427,
        httpProxy = 1752461432,
        httpsProxy = 1752462200,
        ftpProxy = 1718907000,
        CIFS = 1667851891,
        SMB = 1936548384,
        RTSP = 1920234352,
        rtspProxy = 1920234360,
        DAAP = 1684103536,
        EPPC = 1701867619,
        IPP = 1768976416,
        NNTPS = 1853124723,
        LDAPS = 1818521715,
        telnetS = 1952803955,
        IMAPS = 1768779891,
        IRCS = 1769104243,
        POP3S = 1886351475,
        cvSpserver = 1668707184,
        SVN = 1937141280,
        any = 0,
    }
    export enum SecAuthenticationType {
        NTLM = 1835824238,
        MSN = 1634628461,
        DPA = 1633775716,
        RPA = 1633775730,
        httpBasic = 1886680168,
        httpDigest = 1685353576,
        htmlForm = 1836216166,
        default = 1953261156,
        any = 0,
    }
    export class SecPassword {}
    export class SecKeychain {}
    export class SecKeychainSettings {
        /**
         * The number of seconds to wait before the keychain locks.
         */
        lockInterval: UInt32;
        /**
         * A Boolean value indicating whether the keychain locks when the system sleeps.
         */
        lockOnSleep: DarwinBoolean;
        /**
         * A Boolean value indicating whether the keychain automatically locks after a certain period of time.
         */
        useLockInterval: DarwinBoolean;
        /**
         * The keychain version.
         */
        version: UInt32;
        /**
         * Initializes a keychain settings structure with default values.
         */
        constructor ();
        /**
         * Initializes a keychain settings structures with the given values.
         */
        constructor (version: UInt32, lockOnSleep: DarwinBoolean, useLockInterval: DarwinBoolean, lockInterval: UInt32);
    }
    export class SecKeychainSearch {}
    export class SecKeychainCallbackInfo {
        /**
         * A reference to the keychain item in which the event occurred. If the event did not involve an item, this field is not valid.
         */
        item: Unmanaged<SecKeychainItem>;
        /**
         * A reference to the keychain in which the event occurred. If the event did not involve a keychain, this field is not valid.
         */
        keychain: Unmanaged<SecKeychain>;
        /**
         * The ID of the process that generated this event.
         */
        pid: pid_t;
        /**
         * The version of this structure.
         */
        version: UInt32;
        /**
         * Creates a new keychain callback information structure.
         */
        constructor (version: UInt32, item: Unmanaged<SecKeychainItem>, keychain: Unmanaged<SecKeychain>, pid: pid_t);
    }
    export enum SecKeychainEvent {
        lockEvent = 1,
        unlockEvent = 2,
        addEvent = 3,
        deleteEvent = 4,
        updateEvent = 5,
        passwordChangedEvent = 6,
        defaultChangedEvent = 9,
        dataAccessEvent = 10,
        keychainListChangedEvent = 11,
        trustSettingsChangedEvent = 12,
    }
    export class SecKeychainEventMask {
        /**
         * If the bit specified by this mask is set, your callback function is invoked when a keychain is locked.
         */
        static lockEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when a keychain is unlocked.
         */
        static unlockEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when an item is added to a keychain.
         */
        static addEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when an item is deleted from a keychain.
         */
        static deleteEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when a keychain item is updated.
         */
        static updateEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when the keychain password is changed.
         */
        static passwordChangedEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when a different keychain is specified as the default.
         */
        static defaultChangedEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when a process accesses a keychain item’s data.
         */
        static dataAccessEventMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when a keychain list is changed.
         */
        static keychainListChangedMask: SecKeychainEventMask;
        /**
         * If the bit specified by this mask is set, your callback function is invoked when there is a change in certificate trust settings.
         */
        static trustSettingsChangedEventMask: SecKeychainEventMask;
        /**
         * If all the bits are set, your callback function is invoked whenever any event occurs.
         */
        static everyEventMask: SecKeychainEventMask;
        /**
         * Initializes an event mask value.
         */
        constructor (rawValue: UInt32);
    }
    export enum SecPreferencesDomain {
        user = 0,
        system = 1,
        common = 2,
        dynamic = 3,
    }
    export class SecAccess {}
    export class SecKeychainPromptSelector {
        /**
         * Indicates that a passphrase should be required for every access.
         */
        static requirePassphase: SecKeychainPromptSelector;
        /**
         * Indicates that a passphrase should be required when an unsigned application attempts to use the keychain, overriding the system default.
         */
        static unsigned: SecKeychainPromptSelector;
        /**
         * Indicates that a passphrase should be required when an unsigned application attempts to use the keychain.
         */
        static unsignedAct: SecKeychainPromptSelector;
        /**
         * Indicates that a passphrase should be required when an application with an invalid signature attempts to use the keychain, overriding the system default.
         */
        static invalid: SecKeychainPromptSelector;
        /**
         * Indicates that a passphrase should be required when an application with an invalid signature attempts to use the keychain.
         */
        static invalidAct: SecKeychainPromptSelector;
        /**
         * Initializes a keychain prompt selector.
         */
        constructor (rawValue: uint16);
    }
    export class SecACL {}
    export class SecTrustedApplication {}
    export class SecCode {}
    export class SecCSFlags {
        /**
         * Consider expired certificates invalid. 
         */
        static considerExpiration: SecCSFlags;
        static enforceRevocationChecks: SecCSFlags;
        static checkTrustedAnchors: SecCSFlags;
        static noNetworkAccess: SecCSFlags;
        static reportProgress: SecCSFlags;
        static quickCheck: SecCSFlags;
        static applyEmbeddedPolicy: SecCSFlags;
        constructor (rawValue: UInt32);
    }
    export class SecStaticCode {}
    export class AuthorizationExternalForm {
        /**
         * An array of characters representing the external form of an authorization reference.
         */
        bytes: any;
        constructor ();
        constructor (bytes: any);
    }
    export class SecCodeSignatureFlags {
        /**
         * May host guest code.
         */
        static host: SecCodeSignatureFlags;
        /**
         * Must be used without a signing identity.
         */
        static adhoc: SecCodeSignatureFlags;
        /**
         * Always set the 
         *  status flag on launch.
         */
        static forceHard: SecCodeSignatureFlags;
        /**
         * Always set the termination status flag on launch.
         */
        static forceKill: SecCodeSignatureFlags;
        /**
         * Always set the 
         *  flag when validating the code.
         */
        static forceExpiration: SecCodeSignatureFlags;
        /**
         * Enforce code signing.
         */
        static enforcement: SecCodeSignatureFlags;
        /**
         * Require library validation.
         */
        static libraryValidation: SecCodeSignatureFlags;
        /**
         * Restrict dyld loading.
         */
        static restrict: SecCodeSignatureFlags;
        /**
         * Apply runtime hardening policies as required by the hardened runtime version.
         */
        static runtime: SecCodeSignatureFlags;
        static linkerSigned: SecCodeSignatureFlags;
        constructor (rawValue: UInt32);
    }
    export enum SecCSDigestAlgorithm {
        codeSignatureHashSHA1 = 1,
        codeSignatureHashSHA256 = 2,
        codeSignatureHashSHA256Truncated = 3,
        codeSignatureHashSHA384 = 4,
        codeSignatureHashSHA512 = 5,
        codeSignatureNoHash = 0,
    }
    export class SecRequirement {}
    export enum SecRequirementType {
        hostRequirementType = 1,
        guestRequirementType = 2,
        designatedRequirementType = 3,
        libraryRequirementType = 4,
        pluginRequirementType = 5,
        invalidRequirementType = 6,
    }
    export class SecCodeStatus {
        /**
         * The code is dynamically valid.
         */
        static valid: SecCodeStatus;
        /**
         * The code prefers to be denied access to resources if gaining access would invalidate it.
         */
        static hard: SecCodeStatus;
        /**
         * The code wants to be terminated if it ever loses its validity.
         */
        static kill: SecCodeStatus;
        /**
         * The code has been debugged by another process that was allowed to do so.
         */
        static debugged: SecCodeStatus;
        /**
         * The code ships with the operating system and is signed by Apple.
         */
        static platform: SecCodeStatus;
        constructor (rawValue: UInt32);
    }
    export class SecTask {}
    export class SecCertificate {}
}

/**
 * Customize and extend core networking features.
 */
declare module NetworkExtension {
    export enum NEHotspotConfigurationError {
        invalid = 0,
        invalidSSID = 1,
        invalidWPAPassphrase = 2,
        invalidWEPPassphrase = 3,
        invalidEAPSettings = 4,
        invalidHS20Settings = 5,
        invalidHS20DomainName = 6,
        invalidSSIDPrefix = 15,
        userDenied = 7,
        internal = 8,
        pending = 9,
        systemConfiguration = 10,
        unknown = 11,
        joinOnceNotSupported = 12,
        alreadyAssociated = 13,
        applicationIsNotInForeground = 14,
    }
    export enum NEHotspotHelperResult {
        temporaryFailure = 6,
    }
    export class NEVPNManager extends NSObject {
        /**
         * A Boolean used to toggle the enabled state of the VPN configuration.
         */
        isEnabled: boolean;
        /**
         * An 
         *  object containing the configuration settings of the VPN tunneling protocol.
         */
        protocolConfiguration: NEVPNProtocol | null;
        /**
         * An 
         *  object containing the configuration settings of the VPN tunneling protocol.
         */
        protocol: NEVPNProtocol | null;
        /**
         * A string containing the display name of the VPN configuration.
         */
        localizedDescription: string;
        /**
         * A Boolean used to toggle the Connect On Demand capability.
         */
        isOnDemandEnabled: boolean;
        /**
         * An ordered list of Connect On Demand rules.
         */
        onDemandRules: NEOnDemandRule[] | null;
        /**
         * An 
         *  object that is used to control the VPN tunnel specified by the VPN configuration.
         */
        connection: NEVPNConnection;
        /**
         * Remove the VPN configuration from the Network Extension preferences.
         */
        removeFromPreferences(completionHandler: ()=>any | null):void;
    }
    export class NEVPNError {
        /**
         * The VPN error domain.
         */
        static errorDomain: string;
        /**
         * An error code that indicates the VPN configuration associated with the VPN manager isn’t enabled.
         */
        static configurationDisabled: NEVPNError.Code;
        /**
         * An error code that indicates the VPN configuration associated with the VPN manager object is invalid.
         */
        static configurationInvalid: NEVPNError.Code;
        /**
         * An error code that indicates the connection to the VPN server failed.
         */
        static connectionFailed: NEVPNError.Code;
        /**
         * An error code that indicates another process modfied the VPN configuration since the last time the app loaded the configuration.
         */
        static configurationStale: NEVPNError.Code;
        /**
         * An error code that indicates an error occurred while reading or writing the Network Extension preferences.
         */
        static configurationReadWriteFailed: NEVPNError.Code;
        /**
         * An error code that indicates that unspecified error occurred.
         */
        static configurationUnknown: NEVPNError.Code;
        /**
         * The code that identifies the error.
         */
        errorCode: number;
        /**
         * A dictionary containing details about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NEVPNError
     */
    export namespace NEVPNError {
        export enum Code {
            configurationDisabled = 2,
            configurationInvalid = 1,
            connectionFailed = 3,
            configurationStale = 4,
            configurationReadWriteFailed = 5,
            configurationUnknown = 6,
        }
    }
    export class NEHotspotHelperResponse extends NSObject {
        /**
         * Set the network that conveys the confidence level.
         */
        setNetwork(network: NEHotspotNetwork):void;
        /**
         * Set the list of handled networks.
         */
        setNetworkList(networkList: NEHotspotNetwork[]):void;
        /**
         * Deliver the response to the system.
         */
        deliver():void;
    }
    export class NETunnelProviderProtocol extends NEVPNProtocol {
        /**
         * A dictionary containing keys and values defined by the Tunnel Provider developer.
         */
        providerConfiguration: Record<string, any> | null;
        /**
         * A string identifying the specific Tunnel Provider extension that should be used with this configuration.
         */
        providerBundleIdentifier: string;
    }
    export class NEAppRule extends NSObject {
        /**
         * The signing identifier of the app that matches the rule.
         */
        matchSigningIdentifier: string;
        /**
         * The designated requirement of the app that matches the rule.
         */
        matchDesignatedRequirement: string;
        /**
         * The file system path of the app that matches the rule.
         */
        matchPath: string;
        /**
         * The hostname domains that match the rule.
         */
        matchDomains: any[] | null;
        matchTools: NEAppRule[] | null;
        /**
         * Create an app rule that matches an app with a given signing identifier.
         */
        constructor (signingIdentifier: string);
        /**
         * Create an app rule that matches an app with a given signing identifier and a given designated requirement.
         */
        constructor (signingIdentifier: string, designatedRequirement: string);
    }
    export class NEHotspotNetwork extends NSObject {
        /**
         * The SSID for the Wi-Fi network.
         */
        ssid: string;
        /**
         * The BSSID for the Wi-Fi network.
         */
        bssid: string;
        /**
         * The recent signal strength for the Wi-Fi network.
         */
        signalStrength: number;
        /**
         * Indicates whether the network is secure
         */
        isSecure: boolean;
        /**
         * Indicates whether the network was joined automatically or was joined explicitly by the user.
         */
        didAutoJoin: boolean;
        /**
         * Indicates whether the network was just joined.
         */
        didJustJoin: boolean;
        /**
         * Indicates whether the calling Hotspot Helper is the chosen helper for this network.
         */
        isChosenHelper: boolean;
        securityType: NEHotspotNetworkSecurityType;
        static fetchCurrent(completionHandler: ()=>any):void;
        /**
         * Indicate the level of confidence in being able to handle the network.
         */
        setConfidence(confidence: NEHotspotHelperConfidence):void;
        /**
         * Provide the password for a protected network.
         */
        setPassword(password: string):void;
    }
    export class NEOnDemandRuleConnect extends NEOnDemandRule {}
    export class NEOnDemandRuleDisconnect extends NEOnDemandRule {}
    export class NEOnDemandRuleIgnore extends NEOnDemandRule {}
    export class NEOnDemandRuleEvaluateConnection extends NEOnDemandRule {
        /**
         * An array of 
         *  objects
         */
        connectionRules: NEEvaluateConnectionRule[] | null;
    }
    export class NEEvaluateConnectionRule extends NSObject {
        /**
         * An array of domains used to match the destination hostname of connections. If the destination hostname of a connection matches any of the domains in the array, then the connection matches the rule. Each domain is matched against the destination hostname using suffix matching, and each label in the domain must match an entire label in the hostname. For example, the domain 
         *  will match the hostname 
         *  but not 
         * .
         */
        matchDomains: string[];
        /**
         * If the rule matches the connection being established and the action is 
         * , the DNS servers specified in this array are used to resolve the destination hostname of the connection while evaluating connectivity to the destination of the connection. If the resolution fails for any reason, the VPN is started.
         */
        useDNSServers: string[] | null;
        /**
         * An HTTP or HTTPS URL. If the rule matches the connection being established and the action is 
         *  and a request sent to this URL results in a response with an HTTP response code other than 200, then the VPN is started.
         */
        probeURL: URL | null;
        /**
         * The action to take if the properties of the network connection being established match the rule.
         */
        action: NEEvaluateConnectionRuleAction;
        /**
         * Initialize an 
         *  instance with a list of destination host domains and an action.
         */
        constructor (domains: string[], action: NEEvaluateConnectionRuleAction);
    }
    export enum NEEvaluateConnectionRuleAction {
        connectIfNeeded = 1,
        neverConnect = 2,
    }
    export class NEOnDemandRule extends NSObject {
        /**
         * DNS search domains that identify a network.
         */
        dnsSearchDomainMatch: string[] | null;
        /**
         * DNS server addresses that identify a network.
         */
        dnsServerAddressMatch: string[] | null;
        /**
         * An interface type to identify a network.
         */
        interfaceTypeMatch: NEOnDemandRuleInterfaceType;
        /**
         * SSIDs that identify a network.
         */
        ssidMatch: string[] | null;
        /**
         * A URL to probe when all other network identifiers match to validate that an expected resource is available.
         */
        probeURL: URL | null;
        /**
         * The action of the On Demand Rule.
         */
        action: NEOnDemandRuleAction;
    }
    export enum NEOnDemandRuleInterfaceType {
        any = 0,
        ethernet = 1,
        wiFi = 2,
        cellular = 3,
    }
    export enum NEOnDemandRuleAction {
        connect = 1,
        disconnect = 2,
        evaluateConnection = 3,
        ignore = 4,
    }
    export class NETunnelProviderSession extends NEVPNConnection {
        /**
         * Start the process of connecting the tunnel.
         */
        startTunnel(options: Record<string, any> | null):void;
        /**
         * Start the process of disconnecting the tunnel.
         */
        stopTunnel():void;
        /**
         * Send a message to the Tunnel Provider extension. If the extension is not running, it should be launched to handle the message. If this method can’t start sending the message it reports an error in the 
         *  parameter. If an error occurs while sending the message or returning the result, 
         *  should be sent to the response handler as notification.
         */
        sendProviderMessage(messageData: Data, responseHandler: ()=>any | null):void;
    }
    export class NEVPNConnection extends NSObject {
        manager: NEVPNManager;
        /**
         * The current status of the VPN connection.
         */
        status: NEVPNStatus;
        /**
         * The date and time when the connection status changed to 
         * .
         */
        connectedDate: Date | null;
        /**
         * Start the process of connecting the VPN.
         */
        startVPNTunnel():void;
        /**
         * Start the process of disconnecting the VPN.
         */
        stopVPNTunnel():void;
        fetchLastDisconnectError(handler: ()=>any):void;
    }
    export enum NEVPNStatus {
        disconnecting = 5,
        reasserting = 4,
        connected = 3,
        connecting = 2,
        disconnected = 1,
        invalid = 0,
    }
    export class NETransparentProxyManager extends NEVPNManager {
        /**
         * Loads all previously-saved transparent proxy configurations.
         */
        static loadAllFromPreferences(completionHandler: ()=>any):void;
    }
    export class NETransparentProxyNetworkSettings extends NETunnelNetworkSettings {
        /**
         * An array of rules that collectively specify what traffic to route through the transparent proxy.
         */
        includedNetworkRules: NENetworkRule[] | null;
        /**
         * An array of rules that collectively specify what traffic to not route through the transparent proxy.
         */
        excludedNetworkRules: NENetworkRule[] | null;
    }
    export class NENetworkRule extends NSObject {
        /**
         * The remote endpoint that the rule matches.
         */
        matchRemoteEndpoint: NWHostEndpoint | null;
        /**
         * A number that specifies the remote sub-network that the rule matches.
         */
        matchRemotePrefix: number;
        /**
         * The local network that the rule matches.
         */
        matchLocalNetwork: NWHostEndpoint | null;
        /**
         * A number that specifies the local sub-network that the rule matches.
         */
        matchLocalPrefix: number;
        /**
         * The protocol that the rule matches.
         */
        matchProtocol: any;
        /**
         * The direction of network traffic that the rule matches.
         */
        matchDirection: NETrafficDirection;
        /**
         * Creates a rule that matches network traffic destined for a host within a specific network.
         */
        constructor (networkEndpoint: NWHostEndpoint, destinationPrefix: number, protocol: any);
        /**
         * Creates a rule that matches network traffic destined for a host within a specific DNS domain.
         */
        constructor (hostEndpoint: NWHostEndpoint, protocol: any);
        /**
         * Creates a rule that matches traffic by remote network, local network, protocol, and direction.
         */
        constructor (remoteNetwork: NWHostEndpoint | null, remotePrefix: number, localNetwork: NWHostEndpoint | null, localPrefix: number, protocol: any, direction: NETrafficDirection);
    }
    /**
     * the same name namespace of class NENetworkRule
     */
    export namespace NENetworkRule {
        export enum Protocol {
            TCP = 1,
            UDP = 2,
            any = 0,
        }
    }
    export enum NETrafficDirection {
        inbound = 1,
        outbound = 2,
        any = 0,
    }
    export class NEFilterDataProvider extends NEFilterProvider {
        /**
         * Make a filtering decision for a newly-created flow of network content.
         */
        handleNewFlow(flow: NEFilterFlow):NEFilterNewFlowVerdict;
        /**
         * Make a filtering decision about a chunk of inbound data.
         */
        handleInboundData(flow: NEFilterFlow, offset: number, readBytes: Data):NEFilterDataVerdict;
        /**
         * Make a filtering decision about a chunk of outbound data.
         */
        handleOutboundData(flow: NEFilterFlow, offset: number, readBytes: Data):NEFilterDataVerdict;
        /**
         * Make a filtering decision after seeing all of the inbound data for a flow.
         */
        handleInboundDataComplete(flow: NEFilterFlow):NEFilterDataVerdict;
        /**
         * Make a filtering decision after seeing all of the outbound data for a flow.
         */
        handleOutboundDataComplete(flow: NEFilterFlow):NEFilterDataVerdict;
        /**
         * Handle a remediation request.
         */
        handleRemediation(flow: NEFilterFlow):NEFilterRemediationVerdict;
        /**
         * Handle a rules changed event.
         */
        handleRulesChanged():void;
        /**
         * Applies a set of filtering rules associated with the provider and changes the default filtering action.
         */
        apply(settings: NEFilterSettings | null, completionHandler: ()=>any):void;
        /**
         * Resumes a previously-paused flow.
         */
        resumeFlow(flow: NEFilterFlow, verdict: NEFilterVerdict):void;
        update(flow: NEFilterSocketFlow, verdict: NEFilterDataVerdict, direction: NETrafficDirection):void;
    }
    export enum NEHotspotHelperConfidence {
        high = 2,
        low = 1,
        none = 0,
    }
    export class NEFilterSettings extends NSObject {
        /**
         * An ordered list of rules that define the filter’s operation.
         */
        rules: NEFilterRule[];
        /**
         * The default action to take for flows of network data that don’t match any of the specified rules.
         */
        defaultAction: NEFilterAction;
        /**
         * Creates a new settings instance from an array of rules and a default action.
         */
        constructor (rules: NEFilterRule[], defaultAction: NEFilterAction);
    }
    export class NEFilterRule extends NSObject {
        /**
         * The network rule that defines the network traffic characteristics that this filter rule matches.
         */
        networkRule: NENetworkRule;
        /**
         * The action to take when this rule matches network traffic.
         */
        action: NEFilterAction;
        /**
         * Creates a new filter rule from a network rule and an action to take when network traffic matches.
         */
        constructor (networkRule: NENetworkRule, action: NEFilterAction);
    }
    export class NEFilterControlProvider extends NEFilterProvider {
        /**
         * A dictionary containing sets of strings used to customize the remediation portion of the block page.
         */
        remediationMap: Record<[String, NSObject]> | null;
        /**
         * A dictionary containing strings to be appended to URLs.
         */
        urlAppendStringMap: Record<string, string> | null;
        /**
         * Handle a request for new filtering rules.
         */
        handleNewFlow(flow: NEFilterFlow, completionHandler: ()=>any):void;
        /**
         * Notify the Filter Data Provider that the filtering rules have changed on disk.
         */
        notifyRulesChanged():void;
        /**
         * Handle a request for remediation from the user.
         */
        handleRemediation(flow: NEFilterFlow, completionHandler: ()=>any):void;
    }
    export class NEFilterPacketProvider extends NEFilterProvider {
        /**
         * A closure that handles each packet received by the filter.
         */
        packetHandler: NEFilterPacketHandler | null;
        /**
         * Delay a packet currently processed by a packet handler.
         */
        delayCurrentPacket(context: NEFilterPacketContext):NEPacket;
        /**
         * Allow delivery of a previously-delayed packet.
         */
        allow(packet: NEPacket):void;
    }
    /**
     * the same name namespace of class NEFilterPacketProvider
     */
    export namespace NEFilterPacketProvider {
        export enum Verdict {
            allow = 0,
            drop = 1,
            delay = 2,
        }
    }
    export class NEFilterPacketContext extends NSObject {}
    export class NEFilterProvider extends NEProvider {
        /**
         * An 
         *  object containing the current filter configuration.
         */
        filterConfiguration: NEFilterProviderConfiguration;
        /**
         * Start the filter.
         */
        startFilter(completionHandler: ()=>any):void;
        /**
         * Stop the filter.
         */
        stopFilter(reason: NEProviderStopReason, completionHandler: ()=>any):void;
        /**
         * Receives a report from the framework.
         */
        handle(report: NEFilterReport):void;
    }
    export class NEFilterBrowserFlow extends NEFilterFlow {
        /**
         * An 
         *  object containing the URL of the web page that caused this flow to be created.
         */
        parentURL: URL | null;
        /**
         * An 
         *  object containing the HTTP request of the flow.
         */
        request: URLRequest | null;
        /**
         * An 
         *  object containing the HTTP response of the flow.
         */
        response: URLResponse | null;
    }
    export class NEFilterSocketFlow extends NEFilterFlow {
        /**
         * An object containing details about the socket’s remote endpoint.
         */
        remoteEndpoint: NWEndpoint | null;
        /**
         * An object containing details about the socket’s local endpoint.
         */
        localEndpoint: NWEndpoint | null;
        /**
         * The protocol family of the socket.
         */
        socketFamily: Int32;
        /**
         * The type of the socket.
         */
        socketType: Int32;
        /**
         * The protocol of the socket.
         */
        socketProtocol: Int32;
        remoteHostname: string;
    }
    export class NEFilterFlow extends NSObject {
        /**
         * The flow’s HTTP URL.
         */
        url: URL | null;
        /**
         * The unique identifier of the flow.
         */
        identifier: UUID;
        /**
         * The initial direction of the flow: incoming or outgoing.
         */
        direction: NETrafficDirection;
        /**
         * A byte string that uniquely identifies the binary for each build of the app that is the source of the flow.
         */
        sourceAppUniqueIdentifier: Data | null;
        /**
         * A string containing the identifier of the source app of the flow.
         */
        sourceAppIdentifier: string;
        /**
         * The short version string of the app that is the source of the flow. 
         */
        sourceAppVersion: string;
        /**
         * The audit token of the source application of the flow.
         */
        sourceAppAuditToken: Data | null;
        sourceProcessAuditToken: Data | null;
    }
    export class NEFilterNewFlowVerdict extends NEFilterVerdict {
        statisticsReportFrequency: NEFilterReport.Frequency;
        /**
         * Create a verdict that indicates to the system that the all of the new flow’s data should be allowed to pass to its final destination.
         */
        static allow():NEFilterNewFlowVerdict;
        /**
         * Create a verdict that indicates to the system that all of the new flow’s data should dropped, and the user should not be given the opportunity to request access.
         */
        static drop():NEFilterNewFlowVerdict;
        /**
         * Creates a verdict that tells the system to pause the flow.
         */
        static pause():NEFilterNewFlowVerdict;
        /**
         * Create a verdict that indicates to the system that the filter needs to make a decision about a new flow after seeing a portion of the flow's data.
         */
        static filterDataVerdict(filterInbound: boolean, peekInboundBytes: number, filterOutbound: boolean, peekOutboundBytes: number):NEFilterNewFlowVerdict;
        /**
         * Create a verdict that indicates to the system that all of the new flow’s data should be dropped, but allow the user to request access by tapping or clicking on a URL.
         */
        static remediateVerdict(remediationURLMapKey: string, remediationButtonTextMapKey: string):NEFilterNewFlowVerdict;
        /**
         * Create a verdict that indicates to the system that the Filter Data Provider needs more information before it can make a decision about a new flow.
         */
        static needRules():NEFilterNewFlowVerdict;
        /**
         * Create a verdict that indicates to the system that all of the new flow’s data should be allowed to pass to its final destination, but a string should first be appended to the new flow’s request URL.
         */
        static urlAppendStringVerdict(urlAppendMapKey: string):NEFilterNewFlowVerdict;
    }
    export class NEFilterDataVerdict extends NEFilterVerdict {
        /**
         * The frequencty at which to provide flow statistics to the data provider.
         */
        statisticsReportFrequency: NEFilterReport.Frequency;
        /**
         * Creates a verdict that tells the system to pass a chunk of network data to its final destination, and specifies the next chunk of data to provide.
         */
        constructor (passBytes: number, peekBytes: number);
        /**
         * Creates a verdict that tells the system to pass the current chunk of network data and all subsequent data for the current flow to its final destination.
         */
        static allow():NEFilterDataVerdict;
        /**
         * Creates a verdict that tells the system to drop the current chunk of network data and all subsequent data for the current flow.
         */
        static drop():NEFilterDataVerdict;
        /**
         * Creates a verdict that tells the system to pause the flow.
         */
        static pause():NEFilterDataVerdict;
        /**
         * Creates a verdict to drop the current chunk of network data and all subsequent data for the current flow, and provides a remediation URL.
         */
        static remediateVerdict(remediationURLMapKey: string, remediationButtonTextMapKey: string):NEFilterDataVerdict;
        /**
         * Creates a verdict that tells the system that the Filter Control Provider needs to update the rules before making a decision about the flow’s data.
         */
        static needRules():NEFilterDataVerdict;
    }
    export class NEFilterControlVerdict extends NEFilterNewFlowVerdict {
        /**
         * Create a verdict that indicates to the system that all of the flow’s data should be allowed to pass to its final destination, and that the filtering rules have been updated.
         */
        static allow(updateRules: boolean):NEFilterControlVerdict;
        /**
         * Create a verdict that indicates to the system that all of the flow’s data should be dropped, and that the filtering rules have been updated.
         */
        static drop(updateRules: boolean):NEFilterControlVerdict;
        /**
         * Create a verdict that indicates to the system that the filtering rules have been updated, and that the Filter Data Provider needs to make a decision about the flow’s data.
         */
        static updateRules():NEFilterControlVerdict;
    }
    export class NEFilterRemediationVerdict extends NEFilterVerdict {
        /**
         * Create a verdict that indicates to the system that the Filter Data Provider will allow the flow to pass to its final destination when/if the flow is requested again.
         */
        static allow():NEFilterRemediationVerdict;
        /**
         * Create a verdict that indicates to the system that the Filter Data Provider will continue to block the flow of network data if/when the flow is requested again.
         */
        static drop():NEFilterRemediationVerdict;
        /**
         * Create a verdict that indicates to the system that the Filter Data Provider needs the filtering rules to be updated before it can make a remediation decision about the current flow of network data.
         */
        static needRules():NEFilterRemediationVerdict;
    }
    export class NWTCPConnection extends NSObject {
        /**
         * The status of the connection.
         */
        state: NWTCPConnectionState;
        /**
         * The viability of a TCP connection indicates whether or not data can be transferred.
         */
        isViable: boolean;
        /**
         * The connection-wide error property.
         */
        error: Error | null;
        /**
         * If a connection has a better path, new connections would use a different interface.
         */
        hasBetterPath: boolean;
        /**
         * The destination endpoint with which this connection was created.
         */
        endpoint: NWEndpoint;
        /**
         * The IP address endpoint from which the connection was established.
         */
        localAddress: NWEndpoint | null;
        /**
         * The IP address endpoint to which the connection was established.
         */
        remoteAddress: NWEndpoint | null;
        /**
         * The network path over which the connection was established.
         */
        connectedPath: NWPath | null;
        /**
         * The TXT record associated with a connected Bonjour service endpoint.
         */
        txtRecord: Data | null;
        /**
         * This convenience initializer can be used to create a new connection that will only be connected if there exists a better path (as determined by the system) to the remote endpoint of the original connection.
         */
        constructor (connection: NWTCPConnection);
        /**
         * Read the requested range of bytes.
         */
        readMinimumLength(minimum: number, maximum: number, completion: ()=>any):void;
        /**
         * Read a certain number of bytes on a connection.
         */
        readLength(length: number, completion: ()=>any):void;
        /**
         * Write the data to the connection.
         */
        write(data: Data, completion: ()=>any):void;
        /**
         * Close the connection for writing.
         */
        writeClose():void;
        /**
         * Cancel the connection.
         */
        cancel():void;
    }
    export class NEFilterVerdict extends NSObject {
        /**
         * A Boolean that indicates whether to send a report to the control provider when processing this verdict.
         */
        shouldReport: boolean;
    }
    export class NEFilterReport extends NSObject {
        /**
         * The flow on which the associated action was taken.
         */
        flow: NEFilterFlow | null;
        /**
         * The action taken on the reported flow.
         */
        action: NEFilterAction;
        /**
         * The type of event indicated by this report.
         */
        event: NEFilterReport.Event;
        /**
         * The number of inbound bytes received from the flow.
         */
        bytesInboundCount: number;
        /**
         * The number of outbound bytes sent on the flow.
         */
        bytesOutboundCount: number;
    }
    /**
     * the same name namespace of class NEFilterReport
     */
    export namespace NEFilterReport {
        export enum Event {
            newFlow = 1,
            dataDecision = 2,
            flowClosed = 3,
            statistics = 4,
        }
        export enum Frequency {
            high = 3,
            low = 1,
            medium = 2,
            none = 0,
        }
    }
    export enum NEFilterAction {
        invalid = 0,
        allow = 1,
        drop = 2,
        remediate = 3,
        filterData = 4,
    }
    export enum NWTCPConnectionState {
        invalid = 0,
        connecting = 1,
        waiting = 2,
        connected = 3,
        disconnected = 4,
        cancelled = 5,
    }
    export class NEFilterManager extends NSObject {
        /**
         * A Boolean used to toggle the enabled state of the filter.
         */
        isEnabled: boolean;
        /**
         * A 
         *  object containing the filter configuration settings.
         */
        providerConfiguration: NEFilterProviderConfiguration | null;
        /**
         * A string containing a description of the filter configuration.
         */
        localizedDescription: string;
        /**
         * The grade of the filter, which determines when it acts relative to other filters.
         */
        grade: NEFilterManager.Grade;
        /**
         * Access the single instance of 
         * .
         */
        static shared():NEFilterManager;
        /**
         * Load the filter configuration from the Network Extension preferences.
         */
        loadFromPreferences(completionHandler: ()=>any):void;
        /**
         * Save the filter configuration in the Network Extension preferences.
         */
        saveToPreferences(completionHandler: ()=>any):void;
        /**
         * Remove the filter configuration from the Network Extension preferences.
         */
        removeFromPreferences(completionHandler: ()=>any):void;
    }
    /**
     * the same name namespace of class NEFilterManager
     */
    export namespace NEFilterManager {
        export enum Grade {
            firewall = 1,
            inspector = 2,
        }
    }
    export class NEFilterProviderConfiguration extends NSObject {
        /**
         * A Boolean value that indicates that the system applies the filter to flows of network data originated from WebKit browser objects.
         */
        filterBrowsers: boolean;
        /**
         * A Boolean value that indicates that the system applies the filter to flows of network data originated from sockets.
         */
        filterSockets: boolean;
        /**
         * A Boolean value that indicates that the system applies the filter to packets of network data.
         */
        filterPackets: boolean;
        /**
         * A dictionary of provider-specific configuration settings.
         */
        vendorConfiguration: Record<string, any> | null;
        /**
         * The address of a server that the Filter Control Provider may contact for rules and other configuration information.
         */
        serverAddress: string;
        /**
         * A string that identifies the user.
         */
        username: string;
        /**
         * A string that identifies the organization that administers the filter.
         */
        organization: string;
        /**
         * A persistent reference to a keychain item containing a password associated with the filter.
         */
        passwordReference: Data | null;
        /**
         * A persistent reference to a keychain item containing a certificate and private key associated with the filter.
         */
        identityReference: Data | null;
        /**
         * The bundle identifier of the filter data provider system extension.
         */
        filterDataProviderBundleIdentifier: string;
        /**
         * The bundle identifier of the filter packet provider system extension.
         */
        filterPacketProviderBundleIdentifier: string;
    }
    export class NEDNSSettingsManager extends NSObject {
        /**
         * A Boolean you use to query the enabled state of the DNS settings configuration.
         */
        isEnabled: boolean;
        /**
         * An object that contains the configuration settings for a DNS server.
         */
        dnsSettings: NEDNSSettings | null;
        /**
         * A string that contains the display name of the DNS settings configuration.
         */
        localizedDescription: string;
        /**
         * A list of ordered rules that defines the networks on which the DNS settings will apply.
         */
        onDemandRules: NEOnDemandRule[] | null;
        /**
         * Access the single instance of a DNS settings manager.
         */
        static shared():NEDNSSettingsManager;
        /**
         * Load your DNS settings configuration from the system networking preferences.
         */
        loadFromPreferences(completionHandler: ()=>any):void;
        /**
         * Save your DNS settings configuration to the system networking preferences.
         */
        saveToPreferences(completionHandler: ()=>any):void;
        /**
         * Remove your DNS settings configuration from the system networking preferences.
         */
        removeFromPreferences(completionHandler: ()=>any):void;
    }
    export class NEDNSOverHTTPSSettings extends NEDNSSettings {
        /**
         * The URL of a DNS-over-HTTPS server.
         */
        serverURL: URL | null;
        /**
         * A persistent keychain reference to a keychain item containing the certificate and private key components of the DNS client credential.
         */
        identityReference: Data | null;
    }
    export class NEDNSSettings extends NSObject {
        /**
         * A list of domain strings used to determine which DNS queries will use the DNS resolver settings contained in this object.
         */
        matchDomains: string[] | null;
        /**
         * Initialize the 
         *  object.
         */
        constructor (servers: string[]);
    }
    export class NEDNSOverTLSSettings extends NEDNSSettings {
        /**
         * The TLS name of a DNS-over-TLS server.
         */
        serverName: string;
        /**
         * A persistent keychain reference to a keychain item containing the certificate and private key components of the DNS client credential.
         */
        identityReference: Data | null;
    }
    export class NEDNSProxyProvider extends NEProvider {
        /**
         * The current system DNS settings.
         */
        systemDNSSettings: NEDNSSettings[] | null;
        /**
         * Starts the DNS proxy.
         */
        startProxy(options: Record<string, any> | null, completionHandler: ()=>any):void;
        /**
         * Stops the DNS proxy.
         */
        stopProxy(reason: NEProviderStopReason, completionHandler: ()=>any):void;
        /**
         * Cancels the DNS proxy.
         */
        cancelProxyWithError(error: Error | null):void;
        /**
         * Handles a new flow of DNS traffic.
         */
        handleNewFlow(flow: NEAppProxyFlow):boolean;
        /**
         * Handles a new flow of UDP traffic.
         */
        handleNewUDPFlow(flow: NEAppProxyUDPFlow, remoteEndpoint: NWEndpoint):boolean;
    }
    export enum NEDNSProtocol {
        cleartext = 1,
        TLS = 2,
        HTTPS = 3,
    }
    export class NEAppProxyTCPFlow extends NEAppProxyFlow {
        /**
         * An 
         *  object containing information about the intended remote endpoint of the flow.
         */
        remoteEndpoint: NWEndpoint;
        /**
         * Write data to the flow.
         */
        write(data: Data, completionHandler: ()=>any):void;
        /**
         * Read data from the flow.
         */
        readData(completionHandler: ()=>any):void;
    }
    export class NEAppProxyUDPFlow extends NEAppProxyFlow {
        /**
         * An 
         *  object containing information about the local endpoint of the flow.
         */
        localEndpoint: NWEndpoint | null;
        /**
         * Read datagrams from the flow.
         */
        readDatagrams(completionHandler: ()=>any):void;
        /**
         * Write datagrams to the flow.
         */
        writeDatagrams(datagrams: Data[], remoteEndpoints: NWEndpoint[], completionHandler: ()=>any):void;
    }
    export class NEAppProxyFlow extends NSObject {
        /**
         * An 
         *  object containing information about the source app of the flow.
         */
        metaData: NEFlowMetaData;
        isBound: boolean;
        networkInterface: nw_interface_t | null;
        remoteHostname: string;
        /**
         * Opens the flow, indicating to the system that the caller is ready to start receiving and sending data.
         */
        open(localEndpoint: NWHostEndpoint | null, completionHandler: ()=>any):void;
        /**
         * Close the flow for further read operations.
         */
        closeReadWithError(error: Error | null):void;
        /**
         * Close the flow for further write operations.
         */
        closeWriteWithError(error: Error | null):void;
        setMetadata(parameters: nw_parameters_t):void;
    }
    export class NEAppProxyFlowError {
        static notConnected: NEAppProxyFlowError.Code;
        static peerReset: NEAppProxyFlowError.Code;
        static hostUnreachable: NEAppProxyFlowError.Code;
        static invalidArgument: NEAppProxyFlowError.Code;
        static aborted: NEAppProxyFlowError.Code;
        static refused: NEAppProxyFlowError.Code;
        static timedOut: NEAppProxyFlowError.Code;
        static internal: NEAppProxyFlowError.Code;
        static datagramTooLarge: NEAppProxyFlowError.Code;
        static readAlreadyPending: NEAppProxyFlowError.Code;
        static errorDomain: string;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NEAppProxyFlowError
     */
    export namespace NEAppProxyFlowError {
        export enum Code {
            notConnected = 1,
            peerReset = 2,
            hostUnreachable = 3,
            invalidArgument = 4,
            aborted = 5,
            refused = 6,
            timedOut = 7,
            internal = 8,
            datagramTooLarge = 9,
            readAlreadyPending = 10,
        }
    }
    export class NEDNSProxyManager extends NSObject {
        /**
         * The status of a DNS proxy.
         */
        isEnabled: boolean;
        /**
         * The provider-specific portion of the DNS proxy configuration.
         */
        providerProtocol: NEDNSProxyProviderProtocol | null;
        /**
         * A description of the DNS proxy.
         */
        localizedDescription: string;
        /**
         * Returns a singleton DNS proxy manager instance.
         */
        static shared():NEDNSProxyManager;
        /**
         * Loads the current DNS proxy configuration from the caller's DNS proxy preferences.
         */
        loadFromPreferences(completionHandler: ()=>any):void;
        /**
         * Saves the DNS proxy configuration in the caller's DNS proxy preferences.
         */
        saveToPreferences(completionHandler: ()=>any):void;
        /**
         * Removes the DNS proxy configuration from the caller's DNS proxy preferences.
         */
        removeFromPreferences(completionHandler: ()=>any):void;
    }
    export enum NEDNSProxyManagerError {
        configurationInvalid = 1,
        configurationDisabled = 2,
        configurationStale = 3,
        configurationCannotBeRemoved = 4,
    }
    export class NEDNSProxyProviderProtocol extends NEVPNProtocol {
        /**
         * A dictionary containing vendor-specific configuration parameters for a proxy provider.
         */
        providerConfiguration: Record<string, any> | null;
        /**
         * A string containing the bundle identifier of the proxy provider to be used by this configuration.
         */
        providerBundleIdentifier: string;
    }
    export class NEAppPushManager extends NSObject {
        /**
         * An array of Wi-Fi SSID strings that the system matches for local push activation.
         */
        matchSSIDs: string[];
        /**
         * A delegate that receives incoming call information from the provider.
         */
        delegate: NEAppPushDelegate | null;
        /**
         * A Boolean value that indicates whether a configuration is in use.
         */
        isActive: boolean;
        /**
         * A property you use to toggle enabling the configuration.
         */
        isEnabled: boolean;
        /**
         * A string that contains the localized description of the app push manager.
         */
        localizedDescription: string;
        /**
         * A dictionary that contains vendor-specific key-value pairs, that you use to configure a provider.
         */
        providerConfiguration: Record<string, any>;
        /**
         * A string that contains the bundle identifier of the push provider.
         */
        providerBundleIdentifier: string;
        matchPrivateLTENetworks: NEPrivateLTENetwork[];
        /**
         * Loads all saved manager configurations asynchronously.
         */
        static loadAllFromPreferences(completionHandler: ()=>any):void;
        /**
         * Loads the manager’s saved configuration from the persistent store.
         */
        loadFromPreferences(completionHandler: ()=>any):void;
        /**
         * Saves the manager’s configuration in the persistent store.
         */
        saveToPreferences(completionHandler: ()=>any):void;
        /**
         * Removes the manager’s configuration from the persistent store.
         */
        removeFromPreferences(completionHandler: ()=>any):void;
    }
    export interface NEAppPushDelegate extends NSObjectProtocol {
        /**
         * A delegate method that the framework invokes when the provider reports an incoming call.
         */
        appPushManager(manager: NEAppPushManager, userInfo: Record<AnyHashable, any>):void;
    }
    export class NEAppPushManagerError {
        /**
         * The error domain string for local push errors.
         */
        static errorDomain: string;
        /**
         * An error that indicates the app push configuration is invalid.
         */
        static configurationInvalid: NEAppPushManagerError.Code;
        /**
         * An error that indicates the manager hasn’t loaded the app push configuration.
         */
        static configurationNotLoaded: NEAppPushManagerError.Code;
        /**
         * An error that indicates an invalid attempt to perform an operation on an inactive session.
         */
        static inactiveSession: NEAppPushManagerError.Code;
        /**
         * An error that indicates an internal error in the local push connectivity framework.
         */
        static internalError: NEAppPushManagerError.Code;
        /**
         * A code that identifies the error.
         */
        errorCode: number;
        /**
         * A dictionary that provides more information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that contains the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NEAppPushManagerError
     */
    export namespace NEAppPushManagerError {
        export enum Code {
            configurationInvalid = 1,
            configurationNotLoaded = 2,
            inactiveSession = 4,
            internalError = 3,
        }
    }
    export class NEAppPushProvider extends NEProvider {
        /**
         * A dictionary that contains current vendor-specific configuration parameters.
         */
        providerConfiguration: Record<string, any> | null;
        /**
         * Indicates that the framework has started the provider.
         */
        start(completionHandler: ()=>any):void;
        /**
         * Indicates that the framework needs to stop the provider.
         */
        stop(reason: NEProviderStopReason, completionHandler: ()=>any):void;
        /**
         * Indicates a periodic status check from the framework to the provider.
         */
        handleTimerEvent():void;
        /**
         * Informs the manager about an incoming call.
         */
        reportIncomingCall(userInfo: Record<AnyHashable, any>):void;
    }
    export class NEEthernetTunnelNetworkSettings extends NEPacketTunnelNetworkSettings {
        ethernetAddress: string;
        constructor (address: string, ethernetAddress: string, mtu: number);
    }
    export class NEEthernetTunnelProvider extends NEPacketTunnelProvider {}
    export class NEPrivateLTENetwork extends NSObject {
        mobileCountryCode: string;
        mobileNetworkCode: string;
        trackingAreaCode: string;
    }
    export class NWTLSParameters extends NSObject {
        /**
         * The Session ID to use for the associated TCP connection.
         */
        tlsSessionID: Data | null;
        /**
         * The set of allowed cipher suites when negotiating TLS.
         */
        sslCipherSuites: Set<NSNumber> | null;
        /**
         * The minimum allowed 
         *  value to use when negotiating TLS.
         */
        minimumSSLProtocolVersion: number;
        /**
         * The maximum allowed 
         *  value to use when negotiating TLS.
         */
        maximumSSLProtocolVersion: number;
    }
    export class NETransparentProxyProvider extends NEAppProxyProvider {}
    export enum NEDNSSettingsManagerError {
        configurationCannotBeRemoved = 4,
        configurationDisabled = 2,
        configurationInvalid = 1,
        configurationStale = 3,
    }
    export enum NEFilterDataAttribute {
        hasIPHeader = 1,
    }
    export enum NEFilterManagerError {
        configurationInvalid = 1,
        configurationDisabled = 2,
        configurationStale = 3,
        configurationCannotBeRemoved = 4,
        configurationPermissionDenied = 5,
        configurationInternalError = 6,
    }
    export enum NEHotspotNetworkSecurityType {
        WEP = 1,
        enterprise = 3,
        open = 0,
        personal = 2,
        unknown = 4,
    }
    export enum NEVPNConnectionError {
        authenticationFailed = 8,
        clientCertificateExpired = 11,
        clientCertificateInvalid = 9,
        clientCertificateNotYetValid = 10,
        configurationFailed = 4,
        configurationNotFound = 13,
        negotiationFailed = 15,
        noNetworkAvailable = 2,
        overslept = 1,
        pluginDisabled = 14,
        pluginFailed = 12,
        serverAddressResolutionFailed = 5,
        serverCertificateExpired = 19,
        serverCertificateInvalid = 17,
        serverCertificateNotYetValid = 18,
        serverDead = 7,
        serverDisconnected = 16,
        serverNotResponding = 6,
        unrecoverableNetworkChange = 3,
    }
    export interface NWTCPConnectionAuthenticationDelegate extends NSObjectProtocol {
        /**
         * Indicate that the delegate should override the default trust evaluation for the connection.
         */
        shouldEvaluateTrust(connection: NWTCPConnection):boolean;
        /**
         * Override the default trust evaluation for the connection.
         */
        evaluateTrust(connection: NWTCPConnection, peerCertificateChain: any[], completion: ()=>any):void;
        /**
         * Indicate that the delegate can provide an identity for the connection authentication.
         */
        shouldProvideIdentity(connection: NWTCPConnection):boolean;
        /**
         * Provide the identity and an optional certificate chain to be used for authentication.
         */
        provideIdentity(connection: NWTCPConnection, completion: ()=>any):void;
    }
    export class NWUDPSession extends NSObject {
        /**
         * The current state of the UDP session.
         */
        state: NWUDPSessionState;
        /**
         * The viability of a UDP session represents whether or not data can be transferred.
         */
        isViable: boolean;
        /**
         * The currently targeted remote endpoint.
         */
        resolvedEndpoint: NWEndpoint | null;
        /**
         * The maximum size of a datagram to be written currently.
         */
        maximumDatagramLength: number;
        /**
         * If a session has a better path, new session would use a different interface.
         */
        hasBetterPath: boolean;
        /**
         * The destination endpoint with which this session was created.
         */
        endpoint: NWEndpoint;
        /**
         * The current evaluated path for the session’s 
         *  property.
         */
        currentPath: NWPath | null;
        /**
         * This convenience initializer can be used to create a new session based on the original session’s endpoint and parameters.
         */
        constructor (session: NWUDPSession);
        /**
         * Mark the current value of resolvedEndpoint as unusable, and try to switch to the next available endpoint.
         */
        tryNextResolvedEndpoint():void;
        /**
         * Set a read handler for datagrams.
         */
        setReadHandler(handler: ()=>any, maxDatagrams: number):void;
        /**
         * Write a single datagram.
         */
        writeDatagram(datagram: Data, completionHandler: ()=>any):void;
        /**
         * Write multiple datagrams.
         */
        writeMultipleDatagrams(datagramArray: Data[], completionHandler: ()=>any):void;
        /**
         * Cancel the session.
         */
        cancel():void;
    }
    export enum NWUDPSessionState {
        invalid = 0,
        waiting = 1,
        preparing = 2,
        ready = 3,
        failed = 4,
        cancelled = 5,
    }
    export class NWHostEndpoint extends NWEndpoint {
        /**
         * The endpoint's hostname.
         */
        hostname: string;
        /**
         * The endpoint's port, represented as a string.
         */
        port: string;
        /**
         * Create a host endpoint with a hostname and port.
         */
        constructor (hostname: string, port: string);
    }
    export class NWBonjourServiceEndpoint extends NWEndpoint {
        /**
         * The endpoint's Bonjour service name.
         */
        name: string;
        /**
         * The endpoint's Bonjour service type, such as 
         * .
         */
        type: string;
        /**
         * The endpoint's Bonjour service domain, such as 
         * .
         */
        domain: string;
        /**
         * Create an endpoint with a Bonjour service name, type, and domain. All fields must be specified.
         */
        constructor (name: string, type: string, domain: string);
    }
    export class NWEndpoint extends NSObject {}
    export class NWPath extends NSObject {
        /**
         * The evaluated status of the network path.
         */
        status: NWPathStatus;
        /**
         * A Boolean that indicates whether or not the path uses an expensive interface.
         */
        isExpensive: boolean;
        isConstrained: boolean;
        /**
         * Comparison method for 
         *  objects.
         */
        isEqual(path: NWPath):boolean;
    }
    export enum NWPathStatus {
        invalid = 0,
        satisfied = 1,
        unsatisfied = 2,
        satisfiable = 3,
    }
    export class NEVPNProtocolIKEv2 extends NEVPNProtocolIPSec {
        /**
         * An 
         *  object containing the parameters for the initial IKE security association to be negotiated with the IKEv2 server.
         */
        ikeSecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters;
        /**
         * An 
         *  object containing the parameters for the child IPSec security associations to be negotiated for each IKEv2 policy.
         */
        childSecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters;
        /**
         * The frequency at which the IKEv2 client will run the dead peer detection algorithm.
         */
        deadPeerDetectionRate: NEVPNIKEv2DeadPeerDetectionRate;
        /**
         * A string containing the value of the Subject Common Name field of the Certificate Authority certificate that issued the IKEv2 server's certificate.
         */
        serverCertificateIssuerCommonName: string;
        /**
         * A string containing the value of the Subject Common Name field of the IKEv2 server’s certificate.
         */
        serverCertificateCommonName: string;
        /**
         * The type of the certificate in the identity configured in 
         *  or 
         * .
         */
        certificateType: NEVPNIKEv2CertificateType;
        /**
         * A Boolean indicating whether or not the IKEv2 client should use the INTERNAL_IP4_SUBNET and/or INTERNAL_IP6_SUBNET attributes sent by the IKEv2 server. If this property is 
         * , split tunnel configurations may still be communicated via Traffic Selectors during IKE negotiation.
         */
        useConfigurationAttributeInternalIPSubnet: boolean;
        /**
         * A Boolean indicating whether or not MOBIKE should be disabled for the IKEv2 sessions.
         */
        disableMOBIKE: boolean;
        /**
         * A Boolean indicating whether or not IKEv2 server redirects are disabled.
         */
        disableRedirect: boolean;
        /**
         * A Boolean indicating whether or not Perfect Forward Secrecy is enabled.
         */
        enablePFS: boolean;
        /**
         * Enable revocation checking of the IKEv2 server certificate.
         */
        enableRevocationCheck: boolean;
        /**
         * Require a "not revoked" result when checking if the certificate identifying the server is revoked.
         */
        strictRevocationCheck: boolean;
        minimumTLSVersion: NEVPNIKEv2TLSVersion;
        maximumTLSVersion: NEVPNIKEv2TLSVersion;
        /**
         * A property to enable the use of cellular data when Wi-Fi connectivity is poor.
         */
        enableFallback: boolean;
        mtu: number;
    }
    export class NEVPNIKEv2SecurityAssociationParameters extends NSObject {
        /**
         * The algorithm used by the Security Association to encrypt and decrypt data.
         */
        encryptionAlgorithm: NEVPNIKEv2EncryptionAlgorithm;
        /**
         * The algorithm used by the Security Association to verify the integrity of data.
         */
        integrityAlgorithm: NEVPNIKEv2IntegrityAlgorithm;
        /**
         * The Diffie Hellman group used by the Security Association.
         */
        diffieHellmanGroup: NEVPNIKEv2DiffieHellmanGroup;
        /**
         * The duration of the lifetime of the Security Association, in minutes.
         */
        lifetimeMinutes: Int32;
    }
    export enum NEVPNIKEv2EncryptionAlgorithm {
        algorithmDES = 1,
        algorithm3DES = 2,
        algorithmAES128 = 3,
        algorithmAES256 = 4,
        algorithmAES128GCM = 5,
        algorithmAES256GCM = 6,
        algorithmChaCha20Poly1305 = 7,
    }
    export enum NEVPNIKEv2IntegrityAlgorithm {
        SHA96 = 1,
        SHA160 = 2,
        SHA256 = 3,
        SHA384 = 4,
        SHA512 = 5,
    }
    export enum NEVPNIKEv2DiffieHellmanGroup {
        groupInvalid = 0,
        group1 = 1,
        group2 = 2,
        group5 = 5,
        group14 = 14,
        group15 = 15,
        group16 = 16,
        group17 = 17,
        group18 = 18,
        group19 = 19,
        group20 = 20,
        group21 = 21,
        group31 = 31,
    }
    export class NEHotspotConfiguration extends NSObject {
        /**
         * The SSID of an open, WEP, WPA/WPA2 personal, or WPA/WPA2 enterprise Wi-Fi network.
         */
        ssid: string;
        /**
         * The string used to match networks against a known SSID prefix.
         */
        ssidPrefix: string;
        /**
         * The number of days the network retains the associated configuration.
         */
        lifeTimeInDays: NSNumber;
        /**
         * Restricts the lifetime of a configuration to the operating status of the app that created it.
         */
        joinOnce: boolean;
        /**
         * A Boolean value that indicates the visibility of the SSID.
         */
        hidden: boolean;
        /**
         * Creates a new hotspot configuration, identified by an SSID, for an open Wi-Fi network.
         */
        constructor (SSID: string);
        /**
         * Creates a new hotspot configuration, identified by an SSID, for a protected WEP or WPA/WPA2 personal Wi-Fi network.
         */
        constructor (SSID: string, passphrase: string, isWEP: boolean);
        /**
         * Creates a new hotspot configuration, identified by an SSID, for a WPA/WPA2 enterprise Wi-Fi network with EAP settings.
         */
        constructor (SSID: string, eapSettings: NEHotspotEAPSettings);
        /**
         * Creates a new hotspot configuration, identified by a domain name, for a Hotspot 2.0 Wi-Fi network with HS 2.0 and EAP settings.   
         */
        constructor (hs20Settings: NEHotspotHS20Settings, eapSettings: NEHotspotEAPSettings);
        /**
         * Creates a new hotspot configuration, identified by an SSID prefix string, for an open Wi-Fi network.
         */
        constructor (SSIDPrefix: string);
        /**
         * Creates a new hotspot configuration, identified by an SSID prefix string, for a protected WEP or WPA/WPA2 personal Wi-Fi network.
         */
        constructor (SSIDPrefix: string, passphrase: string, isWEP: boolean);
    }
    export enum NEVPNIKEv2DeadPeerDetectionRate {
        none = 0,
        low = 1,
        medium = 2,
        high = 3,
    }
    export enum NEVPNIKEv2CertificateType {
        RSA = 1,
        ECDSA256 = 2,
        ECDSA384 = 3,
        ECDSA521 = 4,
        ed25519 = 5,
    }
    export class NEHotspotConfigurationManager extends NSObject {
        /**
         * Instantiates 
         *  as a singleton, so it can be shared.
         */
        static shared: NEHotspotConfigurationManager;
        /**
         * Adds or updates a Wi-Fi network configuration after prompting the user for permission, and then attempts to join the network under certain conditions.
         */
        apply(configuration: NEHotspotConfiguration, completionHandler: ()=>any | null):void;
        /**
         * Returns the SSIDs or the names of the Wi-Fi hotspot domains that your app has configured and invokes an optional completion handler.
         */
        getConfiguredSSIDs(completionHandler: ()=>any):void;
        /**
         * Removes a Wi-Fi hotspot configuration, identified by a Hotspot 2.0 domain name, that your app previously added.
         */
        removeConfiguration(domainName: string):void;
    }
    export enum NEVPNIKEv2TLSVersion {
        versionDefault = 0,
        version1_0 = 1,
        version1_1 = 2,
        version1_2 = 3,
    }
    export class NEVPNProtocolIPSec extends NEVPNProtocol {
        /**
         * The method used to authenticate the device with the IPSec server. For IKE version 2, when using extended authentication, this authentication method only affects how the client validates the authentication payload presented by the server.
         */
        authenticationMethod: NEVPNIKEAuthenticationMethod;
        /**
         * A flag indicating if extended authentication will be negotiated.
         */
        useExtendedAuthentication: boolean;
        /**
         * A persistent keychain reference to a keychain item containing the IKE shared secret.
         */
        sharedSecretReference: Data | null;
        /**
         * A string identifying the iOS or macOS device for authentication purposes
         */
        localIdentifier: string;
        /**
         * A string identifying the IPSec server for authentication purposes
         */
        remoteIdentifier: string;
    }
    export enum NEVPNIKEAuthenticationMethod {
        none = 0,
        certificate = 1,
        sharedSecret = 2,
    }
    export class NEVPNProtocol extends NSObject {
        /**
         * The address of the tunneling server.
         */
        serverAddress: string;
        /**
         * The user name component of the tunneling protocol authentication credential.
         */
        username: string;
        /**
         * A persistent keychain reference to a keychain item containing the password component of the tunneling protocol authentication credential.
         */
        passwordReference: Data | null;
        /**
         * A persistent keychain reference to a keychain item containing the certificate and private key components of the tunneling protocol authentication credential.
         */
        identityReference: Data | null;
        /**
         * The certificate and private key components of the tunneling protocol authentication credential, in PKCS12 format.
         */
        identityData: Data | null;
        /**
         * The password to decrypt the PKCS12 data set in the 
         *  property.
         */
        identityDataPassword: string;
        /**
         * A Boolean value that indicates whether the VPN disconnects when the device sleeps.
         */
        disconnectOnSleep: boolean;
        /**
         * The proxy settings to use for HTTP and HTTPS connections that route through the VPN.
         */
        proxySettings: NEProxySettings | null;
        /**
         * A Boolean value that indicates whether the system sends all network traffic over the tunnel.
         */
        includeAllNetworks: boolean;
        /**
         * A Boolean value that indicates whether the system excludes all traffic destined for local networks from the tunnel.
         */
        excludeLocalNetworks: boolean;
        /**
         * A Boolean value that indicates whether route rules for this tunnel take precedence over any locally defined routes.
         */
        enforceRoutes: boolean;
    }
    export class NEPacketTunnelProvider extends NETunnelProvider {
        /**
         * A 
         *  object which is used to receive IP packets routed to the tunnel’s virtual interface and inject IP packets into the networking stack via the tunnel’s virtual interface.
         */
        packetFlow: NEPacketTunnelFlow;
        /**
         * Start the network tunnel.
         */
        startTunnel(options: Record<string, NSObject> | null, completionHandler: ()=>any):void;
        /**
         * Stop the network tunnel.
         */
        stopTunnel(reason: NEProviderStopReason, completionHandler: ()=>any):void;
        /**
         * Stop the network tunnel from the Packet Tunnel Provider.
         */
        cancelTunnelWithError(error: Error | null):void;
        /**
         * Create a TCP connection through the current tunnel.
         */
        createTCPConnectionThroughTunnel(remoteEndpoint: NWEndpoint, enableTLS: boolean, TLSParameters: NWTLSParameters | null, delegate: any):NWTCPConnection;
        /**
         * Create a UDP session through the current tunnel.
         */
        createUDPSessionThroughTunnel(remoteEndpoint: NWEndpoint, localEndpoint: NWHostEndpoint | null):NWUDPSession;
    }
    export class NETunnelProvider extends NEProvider {
        /**
         * The configuration of the current tunneling session.
         */
        protocolConfiguration: NEVPNProtocol;
        /**
         * The method by which network traffic is routed to the tunnel.
         */
        routingMethod: NETunnelProviderRoutingMethod;
        /**
         * The app rules dictating which apps will use the current tunneling session.
         */
        appRules: NEAppRule[] | null;
        /**
         * Indicate to the system that the tunnel is being re-established.
         */
        reasserting: boolean;
        /**
         * Specify the network settings for the current tunneling session.
         */
        setTunnelNetworkSettings(tunnelNetworkSettings: NETunnelNetworkSettings | null, completionHandler: ()=>any | null):void;
        /**
         * Handle messages sent by the tunnel provider extension’s containing app.
         */
        handleAppMessage(messageData: Data, completionHandler: ()=>any | null):void;
    }
    export class NEHotspotEAPSettings extends NSObject {
        /**
         * A Boolean value indicating whether a network requires two-factor authentication or allows zero-factor authentication.
         */
        isTLSClientCertificateRequired: boolean;
        /**
         * An array of server certificate common name strings used to verify a server’s certificate. 
         */
        trustedServerNames: string[];
        /**
         * An array of supported EAP types. 
         */
        supportedEAPTypes: NSNumber[];
        /**
         * The user name string for EAP authentication, encoded as UTF-8.
         */
        username: string;
        /**
         * The password component of the IEEE 802.1X authentication credential. 
         */
        password: string;
        /**
         * The Transport Layer Security (TLS) version to use during a TLS authentication handshake. 
         */
        preferredTLSVersion: NEHotspotEAPSettings.TLSVersion;
        /**
         * The identity string to be used in the EAP-Identity/Response packet during outer EAP authentication. 
         */
        outerIdentity: string;
        /**
         * The inner-layer authentication protocol used by a TTLS module. 
         */
        ttlsInnerAuthenticationType: NEHotspotEAPSettings.TTLSInnerAuthenticationType;
        /**
         * Sets the client identity for EAP authentication.
         */
        setIdentity(identity: SecIdentity):boolean;
        /**
         * Sets trusted EAP server certificates for an enterprise Wi-Fi or Hotspot 2.0 network.
         */
        setTrustedServerCertificates(certificates: any[]):boolean;
    }
    /**
     * the same name namespace of class NEHotspotEAPSettings
     */
    export namespace NEHotspotEAPSettings {
        export enum EAPType {
            EAPTLS = 13,
            EAPTTLS = 21,
            EAPPEAP = 25,
            EAPFAST = 43,
        }
        export enum TLSVersion {}
        export enum TTLSInnerAuthenticationType {
            eapttlsInnerAuthenticationPAP = 0,
            eapttlsInnerAuthenticationCHAP = 1,
            eapttlsInnerAuthenticationMSCHAP = 2,
            eapttlsInnerAuthenticationMSCHAPv2 = 3,
            eapttlsInnerAuthenticationEAP = 4,
        }
    }
    export class NETunnelProviderError {
        static networkSettingsInvalid: NETunnelProviderError.Code;
        static networkSettingsCanceled: NETunnelProviderError.Code;
        static networkSettingsFailed: NETunnelProviderError.Code;
        static errorDomain: string;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class NETunnelProviderError
     */
    export namespace NETunnelProviderError {
        export enum Code {
            networkSettingsInvalid = 1,
            networkSettingsCanceled = 2,
            networkSettingsFailed = 3,
        }
    }
    export class NEProvider extends NSObject {
        /**
         * The current default network path used for connections created by the provider.
         */
        defaultPath: NWPath | null;
        /**
         * Starts the Network Extension machinery from inside a System Extension.
         */
        static startSystemExtensionMode():void;
        /**
         * Handle a sleep event.
         */
        sleep(completionHandler: ()=>any):void;
        /**
         * Handle a wake event.
         */
        wake():void;
        /**
         * Create a TCP connection.
         */
        createTCPConnection(remoteEndpoint: NWEndpoint, enableTLS: boolean, TLSParameters: NWTLSParameters | null, delegate: any):NWTCPConnection;
        /**
         * Create a UDP session.
         */
        createUDPSession(remoteEndpoint: NWEndpoint, localEndpoint: NWHostEndpoint | null):NWUDPSession;
        /**
         * Call this method from your 
         *  subclass if you want to display a message to the user.
         */
        displayMessage(message: string, completionHandler: ()=>any):void;
    }
    export enum NEProviderStopReason {
        none = 0,
        userInitiated = 1,
        providerFailed = 2,
        noNetworkAvailable = 3,
        unrecoverableNetworkChange = 4,
        providerDisabled = 5,
        authenticationCanceled = 6,
        configurationFailed = 7,
        idleTimeout = 8,
        configurationDisabled = 9,
        configurationRemoved = 10,
        superceded = 11,
        userLogout = 12,
        userSwitch = 13,
        appUpdate = 16,
        connectionFailed = 14,
        sleep = 15,
    }
    export class NEPacketTunnelNetworkSettings extends NETunnelNetworkSettings {
        /**
         * The tunnel IP version 4 settings.
         */
        ipv4Settings: NEIPv4Settings | null;
        /**
         * The tunnel IP version 6 settings.
         */
        ipv6Settings: NEIPv6Settings | null;
        /**
         * The number of bytes added to each tunneled packet for storing tunneling protocol headers.
         */
        tunnelOverheadBytes: NSNumber | null;
        /**
         * An 
         *  object containing the Maximum Transmission Unit (MTU) size in bytes to assign to the TUN interface.
         */
        mtu: NSNumber | null;
    }
    export class NEIPv4Settings extends NSObject {
        /**
         * The IPv4 addresses to assign to the TUN interface.
         */
        addresses: string[];
        /**
         * The IPv4 network masks to assign to the TUN interface.
         */
        subnetMasks: string[];
        /**
         * The routes that specify what IPv4 network traffic will be routed to the TUN interface.
         */
        includedRoutes: NEIPv4Route[] | null;
        /**
         * The routes that specify what IPv4 network traffic will be routed to the primary physical interface.
         */
        excludedRoutes: NEIPv4Route[] | null;
        router: string;
        /**
         * Initialize the NEIPv4Settings object.
         */
        constructor (addresses: string[], subnetMasks: string[]);
    }
    export class NEIPv4Route extends NSObject {
        /**
         * The destination network address of the route.
         */
        destinationAddress: string;
        /**
         * The destination network mask of the route.
         */
        destinationSubnetMask: string;
        /**
         * The address of the next-hop gateway of the route.
         */
        gatewayAddress: string;
        /**
         * Initialize the 
         *  object.
         */
        constructor (address: string, subnetMask: string);
        /**
         * A convenience method for creating the default IPv4 route.
         */
        static default():NEIPv4Route;
    }
    export class NEIPv6Settings extends NSObject {
        /**
         * The IPv6 addresses to assign to the TUN interface.
         */
        addresses: string[];
        /**
         * The IPv6 network prefix lengths to assign to the TUN interface.
         */
        networkPrefixLengths: NSNumber[];
        /**
         * The routes that specify what IPv6 network traffic will be routed to the TUN interface.
         */
        includedRoutes: NEIPv6Route[] | null;
        /**
         * The routes that specify what IPv6 network traffic will be routed to the primary physical interface.
         */
        excludedRoutes: NEIPv6Route[] | null;
        /**
         * Initialize the 
         *  object.
         */
        constructor (addresses: string[], networkPrefixLengths: NSNumber[]);
    }
    export class NEIPv6Route extends NSObject {
        /**
         * The destination network address of the route.
         */
        destinationAddress: string;
        /**
         * The destination network prefix length of the route.
         */
        destinationNetworkPrefixLength: NSNumber;
        /**
         * The address of the next-hop gateway of the route.
         */
        gatewayAddress: string;
        /**
         * Initialize the NEIPv6Route
         */
        constructor (address: string, networkPrefixLength: NSNumber);
        /**
         * A convenience method for creating the default IPv4 route.
         */
        static default():NEIPv6Route;
    }
    export class NETunnelNetworkSettings extends NSObject {
        /**
         * The IP address of the tunnel server.
         */
        tunnelRemoteAddress: string;
        /**
         * The tunnel DNS settings.
         */
        dnsSettings: NEDNSSettings | null;
        /**
         * The tunnel HTTP proxy settings.
         */
        proxySettings: NEProxySettings | null;
        /**
         * Initialize a 
         *  object.
         */
        constructor (address: string);
    }
    export class NEProxySettings extends NSObject {
        /**
         * A Boolean indicating if proxy auto-configuration is enabled.
         */
        autoProxyConfigurationEnabled: boolean;
        /**
         * A URL specifying the location from where the Proxy Auto Configuration (PAC) script should be downloaded.
         */
        proxyAutoConfigurationURL: URL | null;
        /**
         * A string containing the Proxy Auto Configuration (PAC) JavaScript source code.
         */
        proxyAutoConfigurationJavaScript: string;
        /**
         * A Boolean indicating if a static HTTP proxy will be used.
         */
        httpEnabled: boolean;
        /**
         * An 
         *  object containing the static HTTP proxy server settings.
         */
        httpServer: NEProxyServer | null;
        /**
         * A Boolean indicating if a static HTTPS proxy will be used.
         */
        httpsEnabled: boolean;
        /**
         * An 
         *  object containing the static HTTPS proxy server settings.
         */
        httpsServer: NEProxyServer | null;
        /**
         * A Boolean indicating if HTTP requests using single-label host names should be excluded from using the proxy settings.
         */
        excludeSimpleHostnames: boolean;
        /**
         * An array of domain name patterns. If the destination host name of an HTTP connection matches one of these patterns then the proxy settings will not be used for the connection.
         */
        exceptionList: string[] | null;
        /**
         * An array of domain strings.
         */
        matchDomains: string[] | null;
    }
    export class NEProxyServer extends NSObject {
        /**
         * The address of the proxy server.
         */
        address: string;
        /**
         * The TCP port on which the proxy server is listening for connections.
         */
        port: number;
        /**
         * A Boolean indicating if the server requires authentication credentials.
         */
        authenticationRequired: boolean;
        /**
         * The username portion of the authentication credential to be used to authenticate with the proxy server.
         */
        username: string;
        /**
         * The password portion of the authentication credential to be used to authenticate with the proxy server.
         */
        password: string;
        /**
         * Initialize a newly-allocated 
         *  object
         */
        constructor (address: string, port: number);
    }
    export class NEPacketTunnelFlow extends NSObject {
        /**
         * Read multiple IP packets from the TUN interface.
         */
        readPacketObjects(completionHandler: ()=>any):void;
        /**
         * Write multiple IP packets to the TUN interface.
         */
        writePacketObjects(packets: NEPacket[]):boolean;
        /**
         * Reads IP packets from the TUN interface.
         */
        readPackets(completionHandler: ()=>any):void;
        /**
         * Writes IP packets to the TUN interface.
         */
        writePackets(packets: Data[], protocols: NSNumber[]):boolean;
    }
    export class NEPacket extends NSObject {
        data: Data;
        metadata: NEFlowMetaData | null;
        protocolFamily: sa_family_t;
        /**
         * The direction of the packet.
         */
        direction: NETrafficDirection;
        constructor (data: Data, protocolFamily: sa_family_t);
    }
    export class NETunnelProviderManager extends NEVPNManager {
        /**
         * The method by which network traffic is routed to the tunnel.
         */
        routingMethod: NETunnelProviderRoutingMethod;
        appRules: NEAppRule[];
        associatedDomains: string[];
        calendarDomains: string[];
        contactsDomains: string[];
        excludedDomains: string[];
        mailDomains: string[];
        safariDomains: string[];
        /**
         * Read all of the VPN configurations created by the calling app that have previously been saved to the Network Extension preferences.
         */
        static loadAllFromPreferences(completionHandler: ()=>any):void;
        static forPerAppVPN():Self;
        /**
         * Create a copy of the app rules currently set in the configuration.
         */
        copyAppRules():NEAppRule[] | null;
    }
    export enum NETunnelProviderRoutingMethod {
        destinationIP = 1,
        sourceApplication = 2,
        networkRule = 3,
    }
    export class NEHotspotHS20Settings extends NSObject {
        /**
         * The domain name of a Hotspot 2.0 Wi-Fi Network. 
         */
        domainName: string;
        /**
         * A Boolean value indicating whether or not roaming is enabled on a Hotspot 2.0 Wi-Fi network.
         */
        isRoamingEnabled: boolean;
        /**
         * An array of Mobile Country Code (MCC) and Mobile Network Code  (MNC) pairs used for Wi-Fi Hotspot 2.0 negotiation.
         */
        mccAndMNCs: string[];
        /**
         * An array of Network Access Identifier (NAI) realm name strings used for Wi-Fi Hotspot 2.0 negotiation.
         */
        naiRealmNames: string[];
        /**
         * An array of Roaming Consortium Organization (RCO) identifiers used for Wi-Fi Hotspot 2.0 negotiation.
         */
        roamingConsortiumOIs: string[];
        /**
         * Creates a new hotspot configuration of a legacy Hotspot or HS 2.0 Wi-Fi network. with optional roaming enabled.
         */
        constructor (domainName: string, roamingEnabled: boolean);
    }
    export class NEHotspotHelper extends NSObject {
        /**
         * Register the application as a Hotspot Helper.
         */
        static register(options: Record<string, NSObject> | null, queue: DispatchQueue, handler: NEHotspotHelperHandler):boolean;
        /**
         * Return the list of network interfaces managed by the Hotspot Helper infrastructure.
         */
        static supportedNetworkInterfaces():any[] | null;
        /**
         * Terminate the authentication session for a Hotspot network.
         */
        static logoff(network: NEHotspotNetwork):boolean;
    }
    export class NEAppProxyProvider extends NETunnelProvider {
        /**
         * Start the network proxy.
         */
        startProxy(options: Record<string, any> | null, completionHandler: ()=>any):void;
        /**
         * Stop the network proxy.
         */
        stopProxy(reason: NEProviderStopReason, completionHandler: ()=>any):void;
        /**
         * Stop the network proxy from the App Proxy Provider.
         */
        cancelProxyWithError(error: Error | null):void;
        /**
         * Handle a new flow of network data.
         */
        handleNewFlow(flow: NEAppProxyFlow):boolean;
        /**
         * Handle a new UDP flow of network data.
         */
        handleNewUDPFlow(flow: NEAppProxyUDPFlow, remoteEndpoint: NWEndpoint):boolean;
    }
    export class NEHotspotHelperCommand extends NSObject {
        /**
         * The type of the command
         */
        commandType: NEHotspotHelperCommandType;
        /**
         * The network associated with the command.
         */
        network: NEHotspotNetwork | null;
        /**
         * The list of networks associated with the command.
         */
        networkList: NEHotspotNetwork[] | null;
        /**
         * Create a new TCP connection over the network associated with the command.
         */
        createTCPConnection(endpoint: NWEndpoint):NWTCPConnection;
        /**
         * Create a new UDP session over the network associated with the command.
         */
        createUDPSession(endpoint: NWEndpoint):NWUDPSession;
        /**
         * Create a response to the command.
         */
        createResponse(result: NEHotspotHelperResult):NEHotspotHelperResponse;
    }
    export enum NEHotspotHelperCommandType {
        none = 0,
        filterScanList = 1,
        evaluate = 2,
        authenticate = 3,
        presentUI = 4,
        maintain = 5,
        logoff = 6,
    }
    export class NEFlowMetaData extends NSObject {
        /**
         * A 
         *  object containing a unique hash value of the source application. This value changes between different versions of an application.
         */
        sourceAppUniqueIdentifier: Data;
        /**
         * An 
         *  containing the signing identifier of the source application.
         */
        sourceAppSigningIdentifier: string;
        /**
         * The audit token of the source application of the flow.
         */
        sourceAppAuditToken: Data | null;
        filterFlowIdentifier: UUID | null;
    }
    export class NEAppProxyProviderManager extends NETunnelProviderManager {
        /**
         * Load all of the App Proxy configurations associated with the calling app that have previously been saved to the Network Extension preferences.
         */
        static loadAllFromPreferences(completionHandler: ()=>any):void;
    }
}

/**
 * Browse and download newspaper and magazine assets in the background.
 */
declare module NewsstandKit {
    export class NKAssetDownload extends NSObject {
        /**
         * An identifier for the downloaded asset.
         */
        identifier: string;
        /**
         * Application-specific information that is saved with the asset-download object.
         */
        userInfo: Record<AnyHashable, any> | null;
        /**
         * The URL request associated with the asset download.
         */
        urlRequest: URLRequest;
        /**
         * The issue associated with the asset download.
         */
        issue: NKIssue | null;
        /**
         * Returns a connection object and starts downloading the issue asset with a specified delegate to handle callbacks.
         */
        download(delegate: NSURLConnectionDownloadDelegate):NSURLConnection;
    }
    export class NKIssue extends NSObject {
        /**
         * Returns the assets that are currently downloading for the newsstand issue.
         */
        downloadingAssets: NKAssetDownload[];
        /**
         * The location in the application sandbox where issue content should be stored.
         */
        contentURL: URL;
        /**
         * The status of the newsstand issue.
         */
        status: NKIssueContentStatus;
        /**
         * The date of the newsstand issue.
         */
        date: Date;
        /**
         * The name of the newsstand issue.
         */
        name: string;
        /**
         * Adds an asset to the list of assets to be downloaded and returns an instance representing that asset.
         */
        addAsset(request: URLRequest):NKAssetDownload;
    }
    export enum NKIssueContentStatus {
        none = 0,
        downloading = 1,
        available = 2,
    }
    export class NKLibrary extends NSObject {
        /**
         * Accesses or sets the newsstand issue that the user is currently reading.
         */
        currentlyReadingIssue: NKIssue | null;
        /**
         * Returns the current issues of the newsstand content library.
         */
        issues: NKIssue[];
        /**
         * The assets that are currently being downloaded for one or more issues of the newsstand content library.
         */
        downloadingAssets: NKAssetDownload[];
        /**
         * Returns the shared instance representing the newsstand content library.
         */
        static shared():NKLibrary | null;
        /**
         * Creates a newsstand issue and adds it to the content library.
         */
        addIssue(name: string, date: Date):NKIssue;
        /**
         * Removes the specified issue from the newsstand content library.
         */
        removeIssue(issue: NKIssue):void;
        /**
         * Returns an issue of the newsstand content library specified by name.
         */
        issue(name: string):NKIssue | null;
    }
}

/**
 * Create and manage widgets for the Today view.
 */
declare module NotificationCenter {
    export interface NCWidgetProviding extends NSExtensionRequestHandling,NSObjectProtocol {
        /**
         * Called to let a widget accept the default margin inset values or return custom values to use instead.
         */
        widgetMarginInsets(defaultMarginInsets: UIEdgeInsets):UIEdgeInsets;
        /**
         * Called when the active display mode changes.
         */
        widgetActiveDisplayModeDidChange(activeDisplayMode: NCWidgetDisplayMode, maxSize: CGSize):void;
        /**
         * Called to give a widget an opportunity to update its contents.
         */
        widgetPerformUpdate(completionHandler: ()=>any):void;
        /**
         * A Boolean value indicating whether the widget can be edited by users.
         */
        widgetAllowsEditing: boolean;
        /**
         * Called when a user chooses the widget’s begin editing button.
         */
        widgetDidBeginEditing():void;
        /**
         * Called when a widget’s editing session ends.
         */
        widgetDidEndEditing():void;
    }
    export enum NCWidgetDisplayMode {
        compact = 0,
        expanded = 1,
    }
    export enum NCUpdateResult {
        newData = 0,
        noData = 1,
        failed = 2,
    }
    export class NCWidgetController extends NSObject {
        /**
         * Returns a widget controller used to specify whether a widget has content to display.
         */
        static widgetController():Self;
        static default():NCWidgetController;
        /**
         * Sets whether the specified widget has content to display.
         */
        setHasContent(flag: boolean, bundleID: string):void;
    }
    export class NCWidgetSearchViewController extends NSViewController {
        /**
         * The search view controller’s delegate or 
         *  if the receiver doesn’t have a delegate.
         */
        delegate: NCWidgetSearchViewDelegate | null;
        /**
         * A localized description of the nature of the search.
         */
        searchDescription: string;
        /**
         * A localized phrase displayed in the results list when no search results are available.
         */
        searchResultsPlaceholderString: string;
        /**
         * A key path for the string property to display for each object in the search results array.
         */
        searchResultKeyPath: string;
        /**
         * An array of search results.
         */
        searchResults: any[] | null;
    }
    export interface NCWidgetSearchViewDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate to search using the specified term.
         */
        widgetSearch(controller: NCWidgetSearchViewController, searchTerm: string, max: number):void;
        /**
         * Tells the delegate that a user cleared the search field.
         */
        widgetSearchTermCleared(controller: NCWidgetSearchViewController):void;
    }
    export class NCWidgetListViewController extends NSViewController {
        /**
         * The list view controller’s delegate or 
         *  if the receiver doesn’t have a delegate.
         */
        delegate: NCWidgetListViewDelegate | null;
        /**
         * An array of objects to display in the list view.
         */
        contents: any[];
        /**
         * The minimum number of visible rows to display.
         */
        minimumVisibleRowCount: number;
        /**
         * A Boolean value that indicates whether list displays divider lines between rows.
         */
        hasDividerLines: boolean;
        /**
         * A Boolean value that indicates whether the list is in editing mode.
         */
        editing: boolean;
        /**
         * A Boolean value that indicates whether an Add (+) button is displayed while the list is in editing mode.
         */
        showsAddButtonWhenEditing: boolean;
        /**
         * Returns the row represented by the specified content view controller.
         */
        row(viewController: NSViewController):number;
        /**
         * Returns the content view controller associated with the specified row, or a new content view controller if desired.
         */
        viewController(row: number, makeIfNecesary: boolean):NSViewController;
    }
    export interface NCWidgetListViewDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate for a content view controller for the specified row.
         */
        widgetList(list: NCWidgetListViewController, row: number):NSViewController;
        /**
         * Asks the delegate to perform an action when the Add (+) button is clicked.
         */
        widgetListPerformAddAction(list: NCWidgetListViewController):void;
    }
}

/**
 * Create 3D and 2D graphics effects with this compact, efficient subset of OpenGL.
 */
declare module OpenGLES {
    export class EAGLContext extends NSObject {
        /**
         * A Boolean value that determines whether OpenGL ES defers work to another thread.
         */
        isMultiThreaded: boolean;
        /**
         * The OpenGL ES rendering API version supported by the context. (read-only)
         */
        api: EAGLRenderingAPI;
        /**
         * The context’s sharegroup object. (read-only)
         */
        sharegroup: EAGLSharegroup;
        /**
         * A label describing the context for use in debugging.
         */
        debugLabel: string;
        /**
         * Initializes and returns a newly allocated rendering context with the specified version of the OpenGL ES rendering API.
         */
        constructor (api: EAGLRenderingAPI);
        /**
         * Initializes and returns a newly allocated rendering context with the specified version of OpenGL ES rendering API and the specified sharegroup.
         */
        constructor (api: EAGLRenderingAPI, sharegroup: EAGLSharegroup);
        /**
         * Returns the current rendering context for the calling thread.
         */
        static current():EAGLContext | null;
        /**
         * Makes the specified context the current rendering context for the calling thread.
         */
        static setCurrent(context: EAGLContext | null):boolean;
        presentRenderbuffer(target: number, duration: CFTimeInterval):boolean;
        texImageIOSurface(ioSurface: IOSurfaceRef, target: number, internalFormat: number, width: UInt32, height: UInt32, format: number, type: number, plane: UInt32):boolean;
        /**
         * Binds a drawable object’s storage to an OpenGL ES renderbuffer object.
         */
        renderbufferStorage(target: number, drawable: EAGLDrawable | null):boolean;
    }
    export enum EAGLRenderingAPI {
        openGLES1 = 1,
        openGLES2 = 2,
        openGLES3 = 3,
    }
    export class EAGLSharegroup extends NSObject {
        debugLabel: string;
    }
    export interface EAGLDrawable {
        /**
         * A dictionary of values that specify the desired characteristics of the drawable surface.
         */
        drawableProperties: Record<string, any> | null;
    }
}

/**
 * Coordinate the scheduling and synchronization of your app’s tasks, and log information to the console to diagnose issues. 
 */
declare module os {
    export class OSLog extends NSObject {
        /**
         * The shared default log.
         */
        static default: OSLog;
        /**
         * The shared disabled log.
         */
        static disabled: OSLog;
        /**
         * A Boolean value that indicates whether a log is able to use signpost logging.
         */
        signpostsEnabled: boolean;
        /**
         * Returns a Boolean value that indicates whether the log can write messages with the specified log type.
         */
        isEnabled(type: OSLogType):boolean;
    }
    /**
     * the same name namespace of class OSLog
     */
    export namespace OSLog {
        export class Category {
            /**
             * The category you use to log signposts.
             */
            static pointsOfInterest: OSLog.Category;
            /**
             * The category for dynamic stack tracing.
             */
            static dynamicStackTracing: OSLog.Category;
            /**
             * The category for dynamic tracing.
             */
            static dynamicTracing: OSLog.Category;
            /**
             * A string that uniquely identifies a logging category.
             */
            rawValue: string;
        }
    }
    export class OSLogFloatFormatting {
        /**
         * The standard fixed-point format option.
         */
        static fixed: OSLogFloatFormatting;
        /**
         * The standard hexadecimal format for floating-point values. 
         */
        static hex: OSLogFloatFormatting;
        /**
         * The standard exponential format option.
         */
        static exponential: OSLogFloatFormatting;
        /**
         * A hybrid option that changes the format according to the size of the number.
         */
        static hybrid: OSLogFloatFormatting;
    }
    export enum OSLogPointerFormat {
        none,
        ipv6Address,
        sockaddr,
        timespec,
        timeval,
        uuid,
    }
    export class OSLogInterpolation {
        /**
         * Creates a log interpolation.
         */
        constructor (literalCapacity: number, interpolationCount: number);
        /**
         * Appends an interpolated string.
         */
        appendInterpolation(argumentString: ()=>any, align: OSLogStringAlignment, privacy: OSLogPrivacy):void;
        /**
         * Appends a string literal.
         */
        appendLiteral(literal: string):void;
    }
    export enum OSLogIntExtendedFormat {
        bitrate,
        bitrateIEC,
        byteCount,
        byteCountIEC,
    }
    export class OSLogStringAlignment {
        /**
         * No alignment.
         */
        static none: OSLogStringAlignment;
        /**
         * Aligns the value on the left side of a column with the specified width.
         */
        static left(columns: ()=>any):OSLogStringAlignment;
        /**
         * Aligns the value on the right side of a column with the specified width.
         */
        static right(columns: ()=>any):OSLogStringAlignment;
    }
    export class OSSignposter {
        /**
         * A shared signposter that doesn’t emit signposts at runtime.
         */
        static disabled: OSSignposter;
        /**
         * A Boolean value that indicates whether the signposter can emit signposts.
         */
        isEnabled: boolean;
        /**
         * Creates a signposter that uses the default subsystem.
         */
        constructor ();
        /**
         * Creates a signposter that uses the specified subsystem and category.
         */
        constructor (subsystem: string, category: string);
        /**
         * Creates a signposter that uses the subsystem and category of an existing logger.
         */
        constructor (logger: Logger);
        /**
         * Creates a signposter that uses the subsystem and category of an existing log.
         */
        constructor (logHandle: OSLog);
        /**
         * Returns an identifier that’s unique within the scope of the signposter.
         */
        makeSignpostID():OSSignpostID;
        /**
         * Begins a signposted interval.
         */
        beginInterval(name: StaticString, id: OSSignpostID):OSSignpostIntervalState;
        /**
         * Begins a signposted interval for measuring an animation.
         */
        beginAnimationInterval(name: StaticString, id: OSSignpostID):OSSignpostIntervalState;
        /**
         * Ends the signposted interval that corresponds to the specified name and state.
         */
        endInterval(name: StaticString, state: OSSignpostIntervalState):void;
        /**
         * Marks a point of interest in time.
         */
        emitEvent(name: StaticString, id: OSSignpostID):void;
    }
    export class Logger {
        /**
         * Writes a message to the log.  
         */
        log(message: OSLogMessage):void;
    }
    export class OSSignpostID {
        /**
         * A signpost identifier that indicates no overlap among different signpost time intervals.
         */
        static exclusive: OSSignpostID;
        /**
         * A signpost identifier that indicates an error.
         */
        static invalid: OSSignpostID;
        /**
         * A signpost identifier that indicates a disabled signpost.
         */
        static null: OSSignpostID;
        /**
         * The signpost ID’s raw value.
         */
        rawValue: os_signpost_id_t;
        /**
         * Creates a signpost ID from an arbitrary 64-bit integer value.
         */
        constructor (value: UInt64);
        /**
         * Creates a signpost ID for the specified log.
         */
        constructor (log: OSLog);
        /**
         * Creates a signpost ID and associates it with the specified object.
         */
        constructor (log: OSLog, object: AnyObject);
    }
    export class OSLogType {
        /**
         * The debug log level.
         */
        static debug: OSLogType;
        /**
         * The informative log level.
         */
        static info: OSLogType;
        /**
         * The default log level.
         */
        static default: OSLogType;
        /**
         * The error log level.
         */
        static error: OSLogType;
        /**
         * The fault log level.
         */
        static fault: OSLogType;
        /**
         * The log type’s raw value.
         */
        rawValue: UInt8;
        /**
         * Creates a log type from the specified value.
         */
        constructor (rawValue: UInt8);
        /**
         * Creates a log type from the specified raw value.
         */
        constructor (rawValue: UInt8);
    }
    export class OSSignpostIntervalState {
        /**
         * Decodes the interval state from the provided decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Recreates interval state from the specified signpost ID.
         */
        static beginState(id: OSSignpostID):OSSignpostIntervalState;
        /**
         * Encodes the interval state into the provided encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class OSSignpostType {
        /**
         * A signpost that marks the start of a time interval of interest in your code.
         */
        static begin: OSSignpostType;
        /**
         * A signpost that marks the end of a time interval of interest in your code.
         */
        static end: OSSignpostType;
        /**
         * A signpost that marks an event in your code.
         */
        static event: OSSignpostType;
        /**
         * An integer value that represents the role of a signpost.
         */
        rawValue: UInt8;
        /**
         * Creates a signpost from a raw integer value.
         */
        constructor (rawValue: UInt8);
        /**
         * Creates a signpost from a raw integer value.
         */
        constructor (rawValue: UInt8);
    }
    export enum OSSignpostAnimationBegin {
        animationBegin,
    }
    export enum AnimationFormatString {}
    export class OSLogMessage {
        /**
         * The byte size of the buffer that the logging system receives.
         */
        bufferSize: number;
        /**
         * The log message’s string interpolation.
         */
        interpolation: OSLogInterpolation;
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: string);
        /**
         * Creates a log message that contains interpolated values.
         */
        constructor (stringInterpolation: OSLogInterpolation);
        /**
         * Creates a log message using a string literal.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: string);
    }
    export class OSLogPrivacy {
        /**
         * The standard option to let the system determine whether to redact or display a value.
         */
        static auto: OSLogPrivacy;
        /**
         * The standard option to always redact the interpolated value.
         */
        static private: OSLogPrivacy;
        /**
         * The standard option to always show the interpolated value.
         */
        static public: OSLogPrivacy;
        /**
         * The option to always redact interpolated values that contain sensitive information.
         */
        static sensitive: OSLogPrivacy;
    }
    /**
     * the same name namespace of class OSLogPrivacy
     */
    export namespace OSLogPrivacy {
        export enum Mask {
            hash,
            none,
        }
    }
    export enum OSLogBoolFormat {
        truth,
        answer,
    }
    export class OSLogIntegerFormatting {
        /**
         * The standard decimal format option.
         */
        static decimal: OSLogIntegerFormatting;
        /**
         * The standard hexadecimal format option.
         */
        static hex: OSLogIntegerFormatting;
        /**
         * The standard octal format option.
         */
        static octal: OSLogIntegerFormatting;
    }
    export enum OSLogInt32ExtendedFormat {
        ipv4Address,
        secondsSince1970,
        darwinErrno,
        darwinMode,
        darwinSignal,
        bitrate,
        bitrateIEC,
        byteCount,
        byteCountIEC,
        truth,
        answer,
        machErrno,
    }
}

/**
 * A unified logging system for the reading of historical data.
 */
declare module OSLog {
    export class OSLogStore extends NSObject {
        /**
         * Creates a log store based on a log archive.
         */
        constructor (url: URL);
        constructor ();
        constructor (scope: OSLogStore.Scope);
        /**
         * Creates a log store representing the Mac's local store.
         */
        static local():Self;
        /**
         * Returns a position representing the time specified.
         */
        position(date: Date):OSLogPosition;
        /**
         * Returns a sequence of log entries filtered by the parameters passed in.
         */
        getEntries(options: OSLogEnumerator.Options, position: OSLogPosition | null, predicate: NSPredicate | null):AnySequence<OSLogEntry>;
    }
    /**
     * the same name namespace of class OSLogStore
     */
    export namespace OSLogStore {
        export enum Scope {
            currentProcessIdentifier = 1,
            system = 0,
        }
    }
    export class OSLogEnumerator extends NSEnumerator {}
    /**
     * the same name namespace of class OSLogEnumerator
     */
    export namespace OSLogEnumerator {
        export class Options {
            /**
             * Tells the framework to iterate backwards.
             */
            static reverse: OSLogEnumerator.Options;
            constructor (rawValue: number);
        }
    }
    export class OSLogEntry extends NSObject {
        /**
         * The fully formatted message for the entry.
         */
        composedMessage: string;
        /**
         * The timestamp of the entry.
         */
        date: Date;
        /**
         * The current log entry's storage tag.
         */
        storeCategory: OSLogEntry.StoreCategory;
    }
    /**
     * the same name namespace of class OSLogEntry
     */
    export namespace OSLogEntry {
        export enum StoreCategory {
            undefined = 0,
            metadata = 1,
            shortTerm = 2,
            longTermAuto = 3,
            longTerm1 = 4,
            longTerm3 = 5,
            longTerm7 = 6,
            longTerm14 = 7,
            longTerm30 = 8,
        }
    }
    export class OSLogEntryActivity extends OSLogEntry {
        /**
         * The identifier of the parent activity.
         */
        parentActivityIdentifier: os_activity_id_t;
    }
    export class OSLogEntryBoundary extends OSLogEntry {}
    export class OSLogEntryLog extends OSLogEntry {
        /**
         * The log level of the entry.
         */
        level: OSLogEntryLog.Level;
    }
    /**
     * the same name namespace of class OSLogEntryLog
     */
    export namespace OSLogEntryLog {
        export enum Level {
            undefined = 0,
            debug = 1,
            info = 2,
            notice = 3,
            error = 4,
            fault = 5,
        }
    }
    export class OSLogEntrySignpost extends OSLogEntry {
        /**
         * The signpost's identifier.
         */
        signpostIdentifier: os_signpost_id_t;
        /**
         * The signpost's name.
         */
        signpostName: string;
        /**
         * The signpost's type.
         */
        signpostType: OSLogEntrySignpost.SignpostType;
    }
    /**
     * the same name namespace of class OSLogEntrySignpost
     */
    export namespace OSLogEntrySignpost {
        export enum SignpostType {
            undefined = 0,
            intervalBegin = 1,
            intervalEnd = 2,
            event = 3,
        }
    }
    export interface OSLogEntryFromProcess {
        /**
         * The activity identifier associated with the entry.
         */
        activityIdentifier: os_activity_id_t;
        /**
         * The name of the process that made the entry.
         */
        process: string;
        /**
         * The process identifier that made the entry.
         */
        processIdentifier: pid_t;
        /**
         * The name of the binary image that made the entry.
         */
        sender: string;
        /**
         * The identifier of the thread that made the entry.
         */
        threadIdentifier: UInt64;
    }
    export interface OSLogEntryWithPayload {
        /**
         * The payload's category.
         */
        category: string;
        /**
         * The payload's components.
         */
        components: OSLogMessageComponent[];
        /**
         * The payload's format string.
         */
        formatString: string;
        /**
         * The payload's subsystem.
         */
        subsystem: string;
    }
    export class OSLogMessageComponent extends NSObject {
        /**
         * The argument passed into the message component.
         */
        argument: OSLogMessageComponent.Argument;
        /**
         * The type of argument that corresponds to the placeholder.
         */
        argumentCategory: OSLogMessageComponent.ArgumentCategory;
        /**
         * The text immediately preceding a placeholder.
         */
        formatSubstring: string;
        /**
         * The placeholder text for the message component.
         */
        placeholder: string;
        /**
         * The argument formatted as a sequence of bytes.
         */
        argumentDataValue: Data | null;
        /**
         * The argument formatted as a double.
         */
        argumentDoubleValue: number;
        /**
         * The argument formatted as a signed 64-bit integer.
         */
        argumentInt64Value: Int64;
        /**
         * The argument formatted as a number.
         */
        argumentNumberValue: NSNumber | null;
        /**
         * The argument formatted as a string.
         */
        argumentStringValue: string;
        /**
         * The argument formatted as an unsigned 64-bit integer.
         */
        argumentUInt64Value: UInt64;
    }
    /**
     * the same name namespace of class OSLogMessageComponent
     */
    export namespace OSLogMessageComponent {
        export enum Argument {
            data,
            double,
            signed,
            string,
            undefined,
            unsigned,
        }
        export enum ArgumentCategory {
            data = 1,
            double = 2,
            int64 = 3,
            string = 4,
            uInt64 = 5,
            undefined = 0,
        }
    }
    export class OSLogPosition extends NSObject {}
}

/**
 * Display and manipulate PDF documents in your apps. 
 */
declare module PDFKit {
    export class PDFView extends NSView,UIView {
        /**
         * Returns the view’s delegate.
         */
        delegate: PDFViewDelegate | null;
        /**
         * The current style of display box.
         */
        displayBox: PDFDisplayBox;
        findInteraction: UIFindInteraction;
        isFindInteractionEnabled: boolean;
        /**
         * A Boolean value indicating whether the view is displaying page breaks.
         */
        displaysPageBreaks: boolean;
        isInMarkupMode: boolean;
        pageOverlayViewProvider: PDFPageOverlayViewProvider | null;
        pageShadowsEnabled: boolean;
        /**
         * The spacing between pages as defined by the top, bottom, left, and right margins.
         */
        pageBreakMargins: UIEdgeInsets;
        /**
         * The layout direction, either vertical or horizontal, for the given display mode.
         */
        displayDirection: PDFDisplayDirection;
        /**
         * The presentation of pages from right-to-left.
         */
        displaysRTL: boolean;
        /**
         * A Boolean value indicating whether the view will display the first page as a book cover (meaningful only when the document is in two-up or two-up continuous display mode). 
         */
        displaysAsBook: boolean;
        /**
         * A Boolean value indicating whether the scroll view is using a 
         * .
         */
        isUsingPageViewController: boolean;
        /**
         * Returns the document associated with a 
         *  object.
         */
        document: PDFDocument | null;
        /**
         * The view’s background color.
         */
        backgroundColor: UIColor;
        /**
         * A Boolean value indicating whether the view is antialiased.
         */
        shouldAntiAlias: boolean;
        /**
         * The interpolation quality for images drawn into the 
         *  context.
         */
        interpolationQuality: PDFInterpolationQuality;
        /**
         * Returns the current greeking threshold for the view.
         */
        greekingThreshold: CGFloat;
        /**
         * The current scale factor for the view.
         */
        scaleFactor: CGFloat;
        /**
         * The "size to fit" scale factor that 
         *  would use for scaling the current document and layout. 
         */
        scaleFactorForSizeToFit: CGFloat;
        /**
         * The maximum scaling factor for the PDF document. 
         */
        maxScaleFactor: CGFloat;
        /**
         * The minimum scaling factor for the PDF document. 
         */
        minScaleFactor: CGFloat;
        /**
         * A Boolean value indicating whether autoscaling is set.
         */
        autoScales: boolean;
        /**
         * Returns a Boolean value indicating whether the user can magnify the view and zoom in.
         */
        canZoomIn: boolean;
        /**
         * Returns a Boolean value indicating whether the user can view an expanded area and zoom out.
         */
        canZoomOut: boolean;
        /**
         * The innermost view used by 
         *  or by your 
         *  subclass.
         */
        documentView: UIView | null;
        /**
         * The current display mode.
         */
        displayMode: PDFDisplayMode;
        /**
         * The current selection.
         */
        currentSelection: PDFSelection | null;
        /**
         * Returns the array of selections that are highlighted using 
         * .
         */
        highlightedSelections: PDFSelection[] | null;
        /**
         * A Boolean value indicating whether to turns on or off data detection, which adds annotations for detected URLs in a page.
         */
        enableDataDetectors: boolean;
        /**
         * A Boolean value indicating whether the view can accept new PDF documents dragged into it by the user. 
         */
        allowsDragging: boolean;
        /**
         * A Boolean value indicating whether you can drag a file into the view.
         */
        acceptsDraggedFiles: boolean;
        /**
         * Returns the current page.
         */
        currentPage: PDFPage | null;
        /**
         * Returns a 
         *  object representing the current page and the current point in the view specified in page space.
         */
        currentDestination: PDFDestination | null;
        /**
         * Returns an array of 
         *  objects that represent the currently visible pages.
         */
        visiblePages: PDFPage[];
        /**
         * Returns a Boolean value indicating whether the user can navigate to the previous page in the page history.
         */
        canGoBack: boolean;
        /**
         * Returns a Boolean value indicating whether the user can navigate to the next page in the page history.
         */
        canGoForward: boolean;
        /**
         * Returns a Boolean value indicating whether the user can navigate to the first page of the document.
         */
        canGoToFirstPage: boolean;
        /**
         * Returns a Boolean value indicating whether the user can navigate to the last page of the document.
         */
        canGoToLastPage: boolean;
        /**
         * Returns a Boolean value indicating whether the user can navigate to the next page of the document.
         */
        canGoToNextPage: boolean;
        /**
         * Returns a Boolean value indicating whether the user can navigate to the previous page of the document.
         */
        canGoToPreviousPage: boolean;
        /**
         * Navigates to the next page of the document.
         */
        goToNextPage(sender: any):void;
        /**
         * Navigates to the previous page of the document.
         */
        goToPreviousPage(sender: any):void;
        /**
         * Scrolls to the specified page.
         */
        go(page: PDFPage):void;
        /**
         * Changes the scroll view to use a 
         *  to layout and navigate pages. 
         */
        usePageViewController(enable: boolean, viewOptions: Record<AnyHashable, any> | null):void;
        /**
         * Sets the view’s background color to the specified color.
         */
        takeBackgroundColorFrom(sender: any):void;
        /**
         * Unlocks with the password from the specified sender.
         */
        takePasswordFrom(sender: any):void;
        /**
         * Returns the size needed to display a row of the current document page.
         */
        rowSize(page: PDFPage):CGSize;
        /**
         * Zooms in by increasing the scaling factor.
         */
        zoomIn(sender: any):void;
        /**
         * Zooms out by decreasing the scaling factor.
         */
        zoomOut(sender: any):void;
        /**
         * Draw and render a visible page.
         */
        draw(page: PDFPage):void;
        /**
         * Perform post-page rendering.
         */
        drawPagePost(page: PDFPage):void;
        /**
         * Prints the document with the specified printer information.
         */
        print(printInfo: NSPrintInfo, doRotate: boolean):void;
        /**
         * Performs layout of the inner views.
         */
        layoutDocumentView():void;
        /**
         * Sets the current selection, in an animated way, if desired.
         */
        setCurrentSelection(selection: PDFSelection | null, animate: boolean):void;
        /**
         * Selects all text in the document.
         */
        selectAll(sender: any):void;
        /**
         * Clears the selection.
         */
        clearSelection():void;
        /**
         * Copies the text in the selection, if any, to the Pasteboard.
         */
        copy(sender: any):void;
        /**
         * Scrolls the view until the selection is visible. 
         */
        scrollSelectionToVisible(sender: any):void;
        /**
         * Tells the PDF view that an annotation on the specified page has changed.
         */
        annotationsChanged(page: PDFPage):void;
        /**
         * Returns the page containing a point specified in view coordinates.
         */
        page(point: CGPoint, nearest: boolean):PDFPage | null;
        /**
         * Converts a point from view space to page space.
         */
        convert(point: CGPoint, page: PDFPage):CGPoint;
        /**
         * Returns the type of area the mouse cursor is over.
         */
        areaOfInterest(event: UIEvent):PDFAreaOfInterest;
        /**
         * Sets the type of mouse cursor according to the type of area the mouse cursor is over.
         */
        setCursorFor(area: PDFAreaOfInterest):void;
        /**
         * Performs the specified action.
         */
        perform(action: PDFAction):void;
        /**
         * Navigates back one step in the page history.
         */
        goBack(sender: any):void;
        /**
         * Navigates forward one step in the page history.
         */
        goForward(sender: any):void;
        /**
         * Navigates to the first page of the document.
         */
        goToFirstPage(sender: any):void;
        /**
         * Navigates to the last page of the document.
         */
        goToLastPage(sender: any):void;
    }
    export enum PDFDisplayMode {
        twoUpContinuous = 3,
    }
    export interface PDFViewDelegate extends NSObjectProtocol {
        /**
         * Performs a find operation.
         */
        pdfViewPerformFind(sender: PDFView):void;
        /**
         * Performs a go-to operation.
         */
        pdfViewPerformGo(sender: PDFView):void;
        /**
         * Prints the current document.
         */
        pdfViewPerformPrint(sender: PDFView):void;
        /**
         * Opens a specified page.
         */
        pdfViewOpenPDF(sender: PDFView, action: PDFActionRemoteGoTo):void;
        /**
         * Overrides changes to the scale factor.
         */
        pdfViewWillChangeScaleFactor(sender: PDFView, scaler: CGFloat):CGFloat;
        /**
         * Handle clicks on URL links in a view.
         */
        pdfViewWillClick(sender: PDFView, url: URL):void;
        /**
         * Overrides the job title used when the 
         *  is printed.
         */
        pdfViewPrintJobTitle(sender: PDFView):string;
        pdfViewParentViewController():UIViewController;
    }
    export class PDFThumbnailView extends NSView,UIView {
        /**
         * Returns the 
         *  object associated with the thumbnail view.
         */
        pdfView: PDFView | null;
        /**
         * Returns the maximum width and height of the thumbnails in the thumbnail view.
         */
        thumbnailSize: CGSize;
        /**
         * Returns the maximum number of columns of thumbnails the thumbnail view can display.
         */
        maximumNumberOfColumns: number;
        /**
         * Returns the font used to label the thumbnails.
         */
        labelFont: NSFont | null;
        /**
         * Returns the color used in the background of the thumbnail view.
         */
        backgroundColor: UIColor | null;
        /**
         * Returns a Boolean value indicating whether users can drag thumbnails (that is, re-order pages in the document) within the thumbnail view.
         */
        allowsDragging: boolean;
        /**
         * Returns a Boolean value indicating whether users can select multiple thumbnails in the thumbnail view at one time.
         */
        allowsMultipleSelection: boolean;
        /**
         * Returns an array of PDF pages that correspond to the selected thumbnails in the thumbnail view.
         */
        selectedPages: PDFPage[] | null;
        contentInset: UIEdgeInsets;
        layoutMode: PDFThumbnailLayoutMode;
    }
    export class PDFDocument extends NSObject {
        /**
         * The URL for the document.
         */
        documentURL: URL | null;
        /**
         * The major version of the document.
         */
        majorVersion: number;
        /**
         * The minor version of the document.
         */
        minorVersion: number;
        /**
         * A string representing the textual content for the entire document.
         */
        string: string;
        /**
         * The document’s root outline to a PDF outline object.
         */
        outlineRoot: PDFOutline | null;
        /**
         * A dictionary of document metadata.
         */
        documentAttributes: Record<AnyHashable, any> | null;
        /**
         * The 
         *  associated with the 
         *  object. 
         */
        documentRef: CGPDFDocument | null;
        /**
         * A Boolean value specifying whether the document is encrypted.
         */
        isEncrypted: boolean;
        /**
         * A Boolean value indicating whether the document is locked.
         */
        isLocked: boolean;
        /**
         * The permissions status of the PDF document.
         */
        permissionsStatus: PDFDocumentPermissions;
        /**
         * A Boolean value indicating whether the document allows copying of content to the Pasteboard.
         */
        allowsCopying: boolean;
        /**
         * A Boolean value indicating whether the document allows printing.
         */
        allowsPrinting: boolean;
        /**
         * A Boolean value indicating whether you can create or modify document annotations, including form field entries.
         */
        allowsCommenting: boolean;
        /**
         * A Boolean value indicating whether you can extract content from the document, but only for the purpose of accessibility.
         */
        allowsContentAccessibility: boolean;
        /**
         * A Boolean value indicating whether you can manage a document by inserting, deleting, and rotating pages.
         */
        allowsDocumentAssembly: boolean;
        /**
         * A Boolean value indicating whether you can modify the document contents except for document attributes.
         */
        allowsDocumentChanges: boolean;
        /**
         * A Boolean value indicating whether you can modify form field entries even if you can't edit document annotations.
         */
        allowsFormFieldEntry: boolean;
        /**
         * Returns a selection representing the textual content of the entire document.
         */
        selectionForEntireDocument: PDFSelection | null;
        /**
         * Returns a Boolean value indicating whether an asynchronous find operation is in progress.
         */
        isFinding: boolean;
        /**
         * The number of pages in the document.
         */
        pageCount: number;
        /**
         * The class that is allocated and initialized when page objects are created for the document.
         */
        pageClass: AnyClass;
        /**
         * The object acting as the delegate for the 
         *  object.
         */
        delegate: PDFDocumentDelegate | null;
        accessPermissions: PDFAccessPermissions;
        /**
         * Initializes a 
         *  object with the contents at the specified URL (if the URL is invalid, this method returns 
         * ).
         */
        constructor (url: URL);
        /**
         * Initializes a 
         *  object with the passed-in data.
         */
        constructor (data: Data);
        /**
         * Initializes a 
         *  object.
         */
        constructor ();
        /**
         * Returns the most likely parent PDF outline object for the selection.
         */
        outlineItem(selection: PDFSelection):PDFOutline | null;
        /**
         * Attempts to unlock an encrypted document.
         */
        unlock(password: string):boolean;
        /**
         * Returns the specified selection based on starting and ending character indexes.
         */
        selection(startPage: PDFPage, startCharacter: number, endPage: PDFPage, endCharacter: number):PDFSelection | null;
        /**
         * Synchronously finds all instances of the specified string in the document.
         */
        findString(_string: string, options: NSString.CompareOptions):PDFSelection[];
        /**
         * Asynchronously finds all instances of the specified string in the document.
         */
        beginFindString(_string: string, options: NSString.CompareOptions):void;
        /**
         * Asynchronously finds all instances of the specified array of strings in the document.
         */
        beginFindStrings(strings: string[], options: NSString.CompareOptions):void;
        /**
         * Cancels a search initiated with 
         * .
         */
        cancelFindString():void;
        /**
         * Returns the page at the specified index number.
         */
        page(index: number):PDFPage | null;
        /**
         * Gets the index number for the specified page.
         */
        index(page: PDFPage):number;
        /**
         * Inserts a page at the specified index point.
         */
        insert(page: PDFPage, index: number):void;
        /**
         * Removes the page at the specified index point.
         */
        removePage(index: number):void;
        /**
         * Swaps one page with another.
         */
        exchangePage(indexA: number, indexB: number):void;
        /**
         * Writes the document to a file at the specified path.
         */
        write(path: string):boolean;
        /**
         * Returns a representation of the document as an 
         *  object.
         */
        dataRepresentation():Data | null;
        /**
         * Returns a print operation suitable for printing the PDF document.
         */
        printOperation(printInfo: NSPrintInfo | null, scaleMode: PDFPrintScalingMode, doRotate: boolean):NSPrintOperation | null;
    }
    export enum PDFPrintScalingMode {
        pageScaleDownToFit = 2,
        pageScaleNone = 0,
        pageScaleToFit = 1,
    }
    export interface PDFDocumentDelegate extends NSObjectProtocol {
        /**
         * Called when the 
         *  notification is posted.
         */
        documentDidUnlock(notification: Notification):void;
        /**
         * Called for every match found during a find operation.
         */
        didMatchString(instance: PDFSelection):void;
        /**
         * Called when the 
         *  notification is posted. 
         */
        documentDidBeginDocumentFind(notification: Notification):void;
        /**
         * Called when the 
         *  notification is posted.
         */
        documentDidBeginPageFind(notification: Notification):void;
        /**
         * Called when the 
         *  notification is posted.
         */
        documentDidEndDocumentFind(notification: Notification):void;
        /**
         * Called when the 
         *  notification is posted. 
         */
        documentDidEndPageFind(notification: Notification):void;
        /**
         * Called when the 
         *  notification is posted.
         */
        documentDidFindMatch(notification: Notification):void;
        /**
         * Returns a 
         *  subclass for a page object. 
         */
        classForPage():AnyClass;
        /**
         * Returns a 
         *  subclass for a class.
         */
        class(annotationClass: AnyClass):AnyClass;
    }
    export enum PDFDocumentPermissions {
        none = 0,
        user = 1,
        owner = 2,
    }
    export class PDFDocumentAttribute {
        /**
         * An optional text string containing the name of the author of the document.
         */
        static authorAttribute: PDFDocumentAttribute;
        /**
         * An optional text string containing the document’s creation date.
         */
        static creationDateAttribute: PDFDocumentAttribute;
        /**
         * An optional text string containing the name of the application that created the document content.
         */
        static creatorAttribute: PDFDocumentAttribute;
        /**
         * An optional array of text strings containing keywords for the document.
         */
        static keywordsAttribute: PDFDocumentAttribute;
        /**
         * An optional text string containing the document’s last-modified date.
         */
        static modificationDateAttribute: PDFDocumentAttribute;
        /**
         * An optional text string containing the name of the application that produced the PDF data for the document.
         */
        static producerAttribute: PDFDocumentAttribute;
        /**
         * An optional text string containing a description of the subject of the document.
         */
        static subjectAttribute: PDFDocumentAttribute;
        /**
         * An optional text string containing the title of the document.
         */
        static titleAttribute: PDFDocumentAttribute;
        /**
         * Initialize a 
         *  structure.
         */
        constructor (rawValue: string);
    }
    export class PDFDocumentWriteOption {
        /**
         * An 
         * object for the owner's password which is required for encryption.
         */
        static ownerPasswordOption: PDFDocumentWriteOption;
        /**
         * An 
         *  object for the user's password which is optional for encryption.
         */
        static userPasswordOption: PDFDocumentWriteOption;
        static accessPermissionsOption: PDFDocumentWriteOption;
        static burnInAnnotationsOption: PDFDocumentWriteOption;
        static saveTextFromOCROption: PDFDocumentWriteOption;
        /**
         * Initialize a 
         *  structure. 
         */
        constructor (rawValue: string);
    }
    export class PDFPage extends NSObject {
        /**
         * Returns the 
         *  object with which the page is associated.
         */
        document: PDFDocument | null;
        /**
         * Returns the label for the page.
         */
        label: string;
        /**
         * Sets the rotation angle for the page in degrees.
         */
        rotation: number;
        /**
         * Returns an array containing the page’s annotations.
         */
        annotations: PDFAnnotation[];
        /**
         * Returns a Boolean value indicating whether annotations are displayed for the page.
         */
        displaysAnnotations: boolean;
        /**
         * Returns the number of characters on the page, including whitespace characters.
         */
        numberOfCharacters: number;
        /**
         * Returns an 
         *  object representing the text on the page.
         */
        string: string;
        /**
         * Returns an 
         *  object representing the text on the page. 
         */
        attributedString: NSAttributedString | null;
        /**
         * Returns the PDF data (that is, a PDF document) representing this page. This method does not preserve external page links. 
         */
        dataRepresentation: Data | null;
        pageRef: CGPDFPage | null;
        /**
         * Creates a new 
         *  object and initializes it with the specified 
         *  object.
         */
        constructor (image: UIImage);
        constructor ();
        constructor (image: UIImage, options: Record<PDFPage.ImageInitializationOption, any>);
        /**
         * Returns the bounds for the specified PDF display box.
         */
        bounds(box: PDFDisplayBox):CGRect;
        /**
         * Sets the bounds for the specified box.
         */
        setBounds(bounds: CGRect, box: PDFDisplayBox):void;
        /**
         * Adds the specified annotation object to the page.
         */
        addAnnotation(annotation: PDFAnnotation):void;
        /**
         * Removes the specified annotation from the page.
         */
        removeAnnotation(annotation: PDFAnnotation):void;
        /**
         * Returns the annotation, if there is one, at the specified point.
         */
        annotation(point: CGPoint):PDFAnnotation | null;
        /**
         * Draws the page within the specified box.
         */
        draw(box: PDFDisplayBox):void;
        /**
         * Transforms the current context, given the specified box.
         */
        transformContext(box: PDFDisplayBox):void;
        /**
         * Returns the bounds, in page space, of the character at the specified index.
         */
        characterBounds(index: number):CGRect;
        /**
         * Returns the character index value for the specified point in page space.
         */
        characterIndex(point: CGPoint):number;
        /**
         * Returns the text enclosed within the specified rectangle, expressed in page (user) coordinates.
         */
        selection(rect: CGRect):PDFSelection | null;
        /**
         * Returns the whole word that includes the specified point.
         */
        selectionForWord(point: CGPoint):PDFSelection | null;
        /**
         * Returns the whole line of text that includes the specified point.
         */
        selectionForLine(point: CGPoint):PDFSelection | null;
        thumbnail(size: CGSize, box: PDFDisplayBox):UIImage;
        transform(context: CGContext, box: PDFDisplayBox):void;
    }
    /**
     * the same name namespace of class PDFPage
     */
    export namespace PDFPage {
        export class ImageInitializationOption {
            static compressionQuality: PDFPage.ImageInitializationOption;
            static mediaBox: PDFPage.ImageInitializationOption;
            static rotation: PDFPage.ImageInitializationOption;
            static upscaleIfSmaller: PDFPage.ImageInitializationOption;
            constructor (rawValue: string);
        }
    }
    export enum PDFInterpolationQuality {
        none = 0,
        low = 1,
        high = 2,
    }
    export enum PDFDisplayBox {
        mediaBox = 0,
        cropBox = 1,
        bleedBox = 2,
        trimBox = 3,
        artBox = 4,
    }
    export enum PDFDisplayDirection {
        horizontal = 1,
        vertical = 0,
    }
    export class PDFOutline extends NSObject {
        /**
         * Returns the document with which the outline is associated.
         */
        document: PDFDocument | null;
        /**
         * Returns the number of child outline objects in the outline.
         */
        numberOfChildren: number;
        /**
         * Returns the parent outline object of the outline (returns 
         *  if called on the root outline object).
         */
        parent: PDFOutline | null;
        /**
         * Returns the index of the outline.
         */
        index: number;
        /**
         * Returns the label for the outline.
         */
        label: string;
        /**
         * Returns the destination associated with the outline.
         */
        destination: PDFDestination | null;
        /**
         * Returns the action performed when users click the outline.
         */
        action: PDFAction | null;
        /**
         * Returns a Boolean value that indicates whether the outline object is initially disclosed.
         */
        isOpen: boolean;
        /**
         * Initializes a 
         *  object.
         */
        constructor ();
        /**
         * Returns the child outline object at the specified index.
         */
        child(index: number):PDFOutline | null;
        /**
         * Inserts the specified outline object at the specified index.
         */
        insertChild(child: PDFOutline, index: number):void;
        /**
         * Removes the outline object from its parent (does nothing if outline object is the root outline object).
         */
        removeFromParent():void;
    }
    export class PDFSelection extends NSObject {
        /**
         * Returns the array of pages contained in the selection.
         */
        pages: PDFPage[];
        /**
         * Returns an 
         *  object representing the text contained in the selection (may contain linefeed characters).
         */
        string: string;
        /**
         * Returns an 
         *  object representing the text contained in the selection (may contain linefeed characters). 
         */
        attributedString: NSAttributedString | null;
        /**
         * Sets the color used for the drawing of a selection in both active and inactive states.
         */
        color: UIColor | null;
        /**
         * Returns an empty 
         *  object.
         */
        constructor (document: PDFDocument);
        /**
         * Returns the bounds of the selection on the specified page.
         */
        bounds(page: PDFPage):CGRect;
        /**
         * Returns an array of selections, one for each line of text covered by the receiver.
         */
        selectionsByLine():PDFSelection[];
        /**
         * Adds the specified selection to the receiving selection.
         */
        add(selection: PDFSelection):void;
        /**
         * Extends the selection from its end toward the end of the document.
         */
        extend(succeed: number):void;
        /**
         * Calls 
         *  with a default value for box parameter.
         */
        draw(page: PDFPage, active: boolean):void;
        extendForLineBoundaries():void;
        numberOfTextRanges(page: PDFPage):number;
        range(index: number, page: PDFPage):NSRange;
    }
    export class PDFAnnotation extends NSObject {
        /**
         * Returns the page that the annotation is associated with.
         */
        page: PDFPage | null;
        /**
         * Returns the modification date of the annotation.
         */
        modificationDate: Date | null;
        /**
         * Returns the name of the user who created the annotation.
         */
        userName: string;
        /**
         * Returns the type of the annotation.
         */
        type: string;
        /**
         * An object that represents an action for a PDF element, such as a link annotation.
         */
        action: PDFAction | null;
        /**
         * Returns a Boolean value indicating whether the annotation should be displayed.
         */
        shouldDisplay: boolean;
        /**
         * Returns a Boolean value indicating whether the annotation should appear when the document is printed.
         */
        shouldPrint: boolean;
        /**
         * A dictionary that contains a deep copy of the widget’s properties.
         */
        annotationKeyValues: Record<AnyHashable, any>;
        /**
         * The alignment of the free text and text widget annotation’s text content.
         */
        alignment: NSTextAlignment;
        /**
         * Returns the bounding box for the annotation in page space.
         */
        bounds: CGRect;
        /**
         * Returns the textual content (if any) associated with the annotation.
         */
        contents: string;
        /**
         * The font the annotation uses to display text.
         */
        font: UIFont | null;
        /**
         * The font color the annotation uses to display text.
         */
        fontColor: UIColor | null;
        /**
         * Sets the border style for the annotation.
         */
        border: PDFBorder | null;
        /**
         * A Boolean value that indicates whether the annotation is in a highlighted state, such as when the mouse is down on a link annotation.
         */
        isHighlighted: boolean;
        /**
         * Sets the stroke color for the annotation.
         */
        color: UIColor;
        /**
         * Returns a Boolean value that indicates whether the annotation has an appearance stream associated with it.
         */
        hasAppearanceStream: boolean;
        /**
         * The fill color for drawing a circle, line, or square annotation.
         */
        interiorColor: UIColor | null;
        /**
         * The point where a line begins, in annotation-space coordinates.
         */
        startPoint: CGPoint;
        /**
         * The point where a line ends, in annotation-space coordinates.
         */
        endPoint: CGPoint;
        /**
         * The style of the line annotation’s starting point, such as square or filled arrowhead.
         */
        startLineStyle: PDFLineStyle;
        /**
         * The style of the line annotation’s ending point, such as square or filled arrowhead.
         */
        endLineStyle: PDFLineStyle;
        /**
         * The destination for a link annotation.
         */
        destination: PDFDestination | null;
        /**
         * A URL for a link annotation.
         */
        url: URL | null;
        /**
         * The type of icon to display for a pop-up text annotation.
         */
        iconType: PDFTextAnnotationIconType;
        /**
         * Returns the pop-up annotation associated with an annotation.
         */
        popup: PDFAnnotation | null;
        /**
         * A Boolean value that indicates whether the pop-up annotation is in an opened state, displaying its text content, or in a closed state, displaying an icon.
         */
        isOpen: boolean;
        /**
         * The markup type that the annotation displays, either highlight, strikethrough, underline, or redact.
         */
        markupType: PDFMarkupType;
        /**
         * An array of values that represents the points bounding the marked-up text.
         */
        quadrilateralPoints: NSValue[] | null;
        /**
         * The type of widget annotation, such as button, choice, or text.
         */
        widgetFieldType: PDFAnnotationWidgetSubtype;
        /**
         * The string value of the widget annotation.
         */
        widgetStringValue: string;
        /**
         * The string value that the widget reverts to when performing a reset form action.
         */
        widgetDefaultStringValue: string;
        /**
         * The widget identifier for form annotation actions and behaviors.
         */
        fieldName: string;
        /**
         * The color of the widget’s background.
         */
        backgroundColor: UIColor | null;
        /**
         * A Boolean value that determines whether the widget is editable.
         */
        isReadOnly: boolean;
        /**
         * A Boolean value that indicates whether the text widget annotation displays multiple lines.
         */
        isMultiline: boolean;
        /**
         * A Boolean value that indicates whether the text widget annotation displays a password field using bullet characters.
         */
        isPasswordField: boolean;
        /**
         * The maximum number of characters the text widget annotation allows.
         */
        maximumLength: number;
        /**
         * A Boolean value that indicates whether the annotation divides the text widget’s bounds into equally spaced segments, such as in a form entry field.
         */
        hasComb: boolean;
        /**
         * The type of button widget control, either radio button, push button, or checkbox.
         */
        widgetControlType: PDFWidgetControlType;
        /**
         * The current state of the button widget annotation.
         */
        buttonWidgetState: PDFWidgetCellState;
        /**
         * A string value that differentiates button widgets in the same group, such as to identify mutually exclusive radio buttons from each other.
         */
        buttonWidgetStateString: string;
        /**
         * The title of push button widget annotations.
         */
        caption: string;
        /**
         * A Boolean value that indicates whether clicking or tapping a selected radio button toggles it to an unselected state.
         */
        allowsToggleToOff: boolean;
        /**
         * A Boolean value that indicates whether radio buttons in a group turn on and off in unison.
         */
        radiosInUnison: boolean;
        /**
         * An array of strings that specifies the options in either a list or a pop-up menu.
         */
        choices: string[] | null;
        /**
         * A Boolean value that indicates whether the choice widget annotation is a list or a pop-up menu.
         */
        isListChoice: boolean;
        /**
         * An array of strings that specifies the export values for items in a list or a pop-up menu.
         */
        values: string[] | null;
        /**
         * An array of bezier paths, in annotation-space coordinates, that compose the annotation.
         */
        paths: UIBezierPath[] | null;
        /**
         * The name of the stamp, a text or graphics annotation that emulates a rubber stamp effect. 
         */
        stampName: string;
        /**
         * The action to perform when a user releases the mouse button within an annotation.
         */
        mouseUpAction: PDFAction | null;
        /**
         * Returns text for display as a help tag. 
         */
        toolTip: string;
        /**
         * Creates a PDF annotation with the specified bounds, type, and optional properties.
         */
        constructor (bounds: CGRect, annotationType: PDFAnnotationSubtype, properties: Record<AnyHashable, any> | null);
        /**
         * Creates a PDF annotation object.
         */
        constructor (bounds: NSRect);
        constructor (dictionary: Record<AnyHashable, any>, page: PDFPage | null);
        /**
         * Returns a line style that corresponds to the specified name.
         */
        static lineStyle(name: string):PDFLineStyle;
        /**
         * Returns the name of the line style, which matches the definition in the Adobe PDF Specification.
         */
        static name(style: PDFLineStyle):string;
        /**
         * Draws the annotation in a graphics context using page-space coordinates relative to the origin of the specified box.
         */
        draw(box: PDFDisplayBox, context: CGContext):void;
        /**
         * Returns a deep copy of the key-value pairs of properties for the specified key.
         */
        value(key: PDFAnnotationKey):any;
        /**
         * Sets a value in the annotation’s dictionary.
         */
        setValue(value: any, key: PDFAnnotationKey):boolean;
        /**
         * Sets a Boolean value in the annotation’s dictionary.
         */
        setBoolean(value: boolean, key: PDFAnnotationKey):boolean;
        /**
         * Sets a rectangle value in the annotation’s dictionary.
         */
        setRect(value: CGRect, key: PDFAnnotationKey):boolean;
        /**
         * Removes a value from the annotation’s dictionary.
         */
        removeValue(key: PDFAnnotationKey):void;
        /**
         * Adds a bezier path to the ink annotation.
         */
        add(path: UIBezierPath):void;
        /**
         * Removes a bezier path from an ink annotation.
         */
        remove(path: UIBezierPath):void;
        removeAllAppearanceStreams():void;
    }
    export class PDFAnnotationSubtype {
        /**
         * An annotation that renders a circle shape.
         */
        static circle: PDFAnnotationSubtype;
        /**
         * An annotation that displays an editable text field.
         */
        static freeText: PDFAnnotationSubtype;
        /**
         * An annotation that highlights text.
         */
        static highlight: PDFAnnotationSubtype;
        /**
         * An annotation that represents a freehand scribble.
         */
        static ink: PDFAnnotationSubtype;
        /**
         * An annotation that displays a single straight line.
         */
        static line: PDFAnnotationSubtype;
        /**
         * An annotation that provides a hyperlink to a location in the document, or an action to perform when the user clicks or taps it.
         */
        static link: PDFAnnotationSubtype;
        /**
         * An annotation that displays text in a pop-up window for entry and editing.
         */
        static popup: PDFAnnotationSubtype;
        /**
         * An annotation that displays a square shape.
         */
        static square: PDFAnnotationSubtype;
        /**
         * An annotation that displays text or a graphic as if a rubber stamp imprints it on the page.
         */
        static stamp: PDFAnnotationSubtype;
        /**
         * An annotation that strikes out text.
         */
        static strikeOut: PDFAnnotationSubtype;
        /**
         * An annotation that displays a collapsible note that contains text.
         */
        static text: PDFAnnotationSubtype;
        /**
         * An annotation that underlines text.
         */
        static underline: PDFAnnotationSubtype;
        /**
         * An annotation that displays interactive form elements, including text or signature fields, radio buttons, checkboxes, push buttons, pop-ups, and tables.
         */
        static widget: PDFAnnotationSubtype;
        /**
         * Creates an annotation subtype using the specified raw string.
         */
        constructor (rawValue: string);
    }
    export class PDFAction extends NSObject {
        /**
         * Returns the type of the action.
         */
        type: string;
    }
    export class PDFActionGoTo extends PDFAction {
        /**
         * Returns the destination associated with the action.
         */
        destination: PDFDestination;
        /**
         * Initializes the go-to action.
         */
        constructor (destination: PDFDestination);
    }
    export class PDFActionNamed extends PDFAction {
        /**
         * Returns the name of the named action.
         */
        name: PDFActionNamedName;
        /**
         * Initializes the 
         *  object with the specified named action.
         */
        constructor (name: PDFActionNamedName);
    }
    export class PDFActionRemoteGoTo extends PDFAction {
        /**
         * Returns the zero-based page index referenced by the remote go-to action.
         */
        pageIndex: number;
        /**
         * Sets the point, in page space, on the page referenced by the remote go-to action.
         */
        point: CGPoint;
        /**
         * Returns the URL of the document referenced by the remote go-to action.
         */
        url: URL;
        /**
         * Initializes the remote go-to action with the specified page index, point, and document URL.
         */
        constructor (pageIndex: number, point: CGPoint, url: URL);
    }
    export class PDFActionResetForm extends PDFAction {
        /**
         * Returns an array of fields associated with the reset action.
         */
        fields: string[] | null;
        /**
         * Sets whether the fields associated with the reset action are cleared when the action is performed.
         */
        fieldsIncludedAreCleared: boolean;
        /**
         * Initializes a reset form action.
         */
        constructor ();
    }
    export class PDFActionURL extends PDFAction {
        /**
         * Returns the URL associated with the URL action.
         */
        url: URL | null;
        /**
         * Initializes a URL action with the specified URL.
         */
        constructor (url: URL);
    }
    export enum PDFActionNamedName {
        find = 8,
        firstPage = 3,
        goBack = 5,
        goForward = 6,
        goToPage = 7,
        lastPage = 4,
        nextPage = 1,
        none = 0,
        previousPage = 2,
        print = 9,
        zoomIn = 10,
        zoomOut = 11,
    }
    export class PDFDestination extends NSObject {
        /**
         * Returns the page that the destination refers to.
         */
        page: PDFPage | null;
        /**
         * Returns the point, in page space, that the destination refers to.
         */
        point: CGPoint;
        zoom: CGFloat;
        /**
         * Initializes the destination.
         */
        constructor (page: PDFPage, point: CGPoint);
        /**
         * Returns a comparison result that indicates the location of the destination in the document, relative to the current position.
         */
        compare(destination: PDFDestination):ComparisonResult;
    }
    export class PDFAnnotationKey {
        /**
         * The text that the annotation displays or represents.
         */
        static contents: PDFAnnotationKey;
        /**
         * The date, or string representation of a date, of the annotation’s most recent modification.
         */
        static date: PDFAnnotationKey;
        /**
         * An integer value that specifies flags for the annotation.
         */
        static flags: PDFAnnotationKey;
        /**
         * A string that uniquely identifies the annotation among all annotations on the same page.
         */
        static name: PDFAnnotationKey;
        /**
         * A dictionary or PDF page object that includes the annotation.
         */
        static page: PDFAnnotationKey;
        /**
         * A dictionary or annotation object that a pop-up or widget belongs to.
         */
        static parent: PDFAnnotationKey;
        /**
         * An array of floating point values that specifies a rectangular region of a page.
         */
        static quadPoints: PDFAnnotationKey;
        /**
         * The rectangle that the annotation occupies on the page, in page-space coordinates.
         */
        static rect: PDFAnnotationKey;
        /**
         * The type of annotation that the entries in a dictionary describe.
         */
        static subtype: PDFAnnotationKey;
        /**
         * A string that represents the title of the annotation.
         */
        static textLabel: PDFAnnotationKey;
        /**
         * A dictionary that contains properties for controlling the annotation’s visual appearance.
         */
        static appearanceDictionary: PDFAnnotationKey;
        /**
         * A string that specifies the appearance stream for the annotation.
         */
        static appearanceState: PDFAnnotationKey;
        /**
         * An array of integers or border objects that describes the border of the annotation.
         */
        static border: PDFAnnotationKey;
        /**
         * A dictionary that contains the properties of the annotation’s border.
         */
        static borderStyle: PDFAnnotationKey;
        /**
         * An array of floats or a color object that specifies the annotation’s color.
         */
        static color: PDFAnnotationKey;
        /**
         * A string value a free text annotation uses to format the text.
         */
        static defaultAppearance: PDFAnnotationKey;
        /**
         * A string value that defines the way an annotation highlights when the user activates it, such as when clicking or tapping a link.
         */
        static highlightingMode: PDFAnnotationKey;
        /**
         * A string value that specifies the name of an icon for a text or stamp annotation.
         */
        static iconName: PDFAnnotationKey;
        /**
         * An array of floating point values or a PDF color object that annotations use to fill interior space, such as line endings, squares, or circles.
         */
        static interiorColor: PDFAnnotationKey;
        /**
         * An integer value that specifies left, right, or center justification.
         */
        static quadding: PDFAnnotationKey;
        /**
         * An array of string values that specifies the styles to use for the ends of lines.
         */
        static lineEndingStyles: PDFAnnotationKey;
        /**
         * An array of floating point values that specifies the starting and ending points, in page-space coordinates, of a line.
         */
        static linePoints: PDFAnnotationKey;
        /**
         * A dictionary or annotation object that specifies the annotation to pop up for text entry or editing.
         */
        static popup: PDFAnnotationKey;
        /**
         * A Boolean value that specifies whether the pop-up is in an opened state, showing its text content, or in a closed state and showing an icon.
         */
        static open: PDFAnnotationKey;
        /**
         * A dictionary or appearance characteristic object that contains properties for controlling the widget’s visual appearance.
         */
        static widgetAppearanceDictionary: PDFAnnotationKey;
        /**
         * An array of floating point values or a PDF color object that specifies the widget’s background color.
         */
        static widgetBackgroundColor: PDFAnnotationKey;
        /**
         * An array of floating point values or a PDF color object that specifies the widget’s border color.
         */
        static widgetBorderColor: PDFAnnotationKey;
        /**
         * A string that a push button widget displays when it isn’t in a pressed state.
         */
        static widgetCaption: PDFAnnotationKey;
        /**
         * A default value for the widget.
         */
        static widgetDefaultValue: PDFAnnotationKey;
        /**
         * A string that a push button widgets displays when it’s in a pressed state.
         */
        static widgetDownCaption: PDFAnnotationKey;
        /**
         * An integer value that specifies flags for a widget.
         */
        static widgetFieldFlags: PDFAnnotationKey;
        /**
         * A string that specifies the type of widget, such as button, checkbox, or signature field.
         */
        static widgetFieldType: PDFAnnotationKey;
        /**
         * An integer value that specifies the maximum length of a text field, in characters.
         */
        static widgetMaxLen: PDFAnnotationKey;
        /**
         * An array that specifies the options to present in radio buttons or choice lists.
         */
        static widgetOptions: PDFAnnotationKey;
        /**
         * A string that push button widgets display when the pointer is over the button, but not clicking it.
         */
        static widgetRolloverCaption: PDFAnnotationKey;
        /**
         * An integer value that specifies the rotation of the widget.
         */
        static widgetRotation: PDFAnnotationKey;
        /**
         * A user-visible alternative field name that identifies the widget, typically for accessibility purposes.
         */
        static widgetTextLabelUI: PDFAnnotationKey;
        /**
         * The widget’s value, typically for text and choice widgets.
         */
        static widgetValue: PDFAnnotationKey;
        /**
         * An array, name, or string that represents the destination of an action.
         */
        static destination: PDFAnnotationKey;
        /**
         * A dictionary or PDF action object that represents an action to take, such as when the user clicks or taps a button.
         */
        static action: PDFAnnotationKey;
        /**
         * A dictionary or PDF action object that represents additional actions an annotation can perform, such as when it receives input focus.
         */
        static additionalActions: PDFAnnotationKey;
        /**
         * An array of arrays that represents stroked paths.
         */
        static inklist: PDFAnnotationKey;
        /**
         * Creates an annotation key using the specified raw string value.
         */
        constructor (rawValue: string);
    }
    export class PDFAnnotationHighlightingMode {
        /**
         * A highlight mode that inverts the content of the annotation.
         */
        static invert: PDFAnnotationHighlightingMode;
        /**
         * A highlight mode that doesn’t change the appearance of the annotation.
         */
        static none: PDFAnnotationHighlightingMode;
        /**
         * A highlight mode that inverts the annotation’s border.
         */
        static outline: PDFAnnotationHighlightingMode;
        /**
         * A highlight mode that renders a pressed appearance for the annotation.
         */
        static push: PDFAnnotationHighlightingMode;
        /**
         * Creates a highlight mode using the specified raw string value.
         */
        constructor (rawValue: string);
    }
    export enum PDFLineStyle {
        none = 0,
        square = 1,
        circle = 2,
        diamond = 3,
        openArrow = 4,
        closedArrow = 5,
    }
    export class PDFAnnotationLineEndingStyle {
        /**
         * A style that displays a circle line ending and fills it with the annotation’s interior color.
         */
        static circle: PDFAnnotationLineEndingStyle;
        /**
         * A style that displays a closed arrowhead line ending and fills it with the annotation’s interior color.
         */
        static closedArrow: PDFAnnotationLineEndingStyle;
        static diamond: PDFAnnotationLineEndingStyle;
        static none: PDFAnnotationLineEndingStyle;
        /**
         * A style that displays an open arrowhead line ending.
         */
        static openArrow: PDFAnnotationLineEndingStyle;
        /**
         * A style that displays a square line ending and fills it with the annotation’s interior color.
         */
        static square: PDFAnnotationLineEndingStyle;
        /**
         * Creates a line-ending style using the specified raw string value.
         */
        constructor (rawValue: string);
    }
    export class PDFAnnotationWidgetSubtype {
        /**
         * A button widget type, including push buttons, checkboxes, and radio buttons.
         */
        static button: PDFAnnotationWidgetSubtype;
        /**
         * A type that presents a list of choices the user can choose from.
         */
        static choice: PDFAnnotationWidgetSubtype;
        /**
         * A digital signature widget type.
         */
        static signature: PDFAnnotationWidgetSubtype;
        /**
         * A text field the user can type text in.
         */
        static text: PDFAnnotationWidgetSubtype;
        /**
         * Creates a widget subtype using the specified raw string value.
         */
        constructor (rawValue: string);
    }
    export class PDFBorder extends NSObject {
        /**
         * Sets the border style.
         */
        style: PDFBorderStyle;
        /**
         * Sets the line width (in points) for the border.
         */
        lineWidth: CGFloat;
        /**
         * Gets the dash pattern for the border as an array of NSNumber objects.
         */
        dashPattern: any[] | null;
        /**
         * A dictionary that contains a deep copy of all border properties.
         */
        borderKeyValues: Record<AnyHashable, any>;
        /**
         * Draws the border.
         */
        draw(rect: CGRect):void;
    }
    export enum PDFBorderStyle {
        solid = 0,
        dashed = 1,
        beveled = 2,
        inset = 3,
        underline = 4,
    }
    export class PDFBorderKey {
        static dashPattern: PDFBorderKey;
        static lineWidth: PDFBorderKey;
        static style: PDFBorderKey;
        constructor (rawValue: string);
    }
    export enum PDFTextAnnotationIconType {
        comment = 0,
        key = 1,
        note = 2,
        help = 3,
        newParagraph = 4,
        paragraph = 5,
        insert = 6,
    }
    export class PDFAnnotationTextIconType {
        /**
         * An icon that represents a comment.
         */
        static comment: PDFAnnotationTextIconType;
        /**
         * An icon that represents a key.
         */
        static key: PDFAnnotationTextIconType;
        /**
         * An icon that represents a note.
         */
        static note: PDFAnnotationTextIconType;
        /**
         * An icon that indicates help information is available.
         */
        static help: PDFAnnotationTextIconType;
        /**
         * An icon that represents a new paragraph.
         */
        static newParagraph: PDFAnnotationTextIconType;
        /**
         * An icon that represents a paragraph.
         */
        static paragraph: PDFAnnotationTextIconType;
        /**
         * An icon that represents an insertion command.
         */
        static insert: PDFAnnotationTextIconType;
        /**
         * Creates a text icon type using the specified raw string value.
         */
        constructor (rawValue: string);
    }
    export enum PDFMarkupType {
        highlight = 0,
        strikeOut = 1,
        underline = 2,
        redact = 3,
    }
    export enum PDFWidgetControlType {
        unknownControl = -1,
        pushButtonControl = 0,
        radioButtonControl = 1,
        checkBoxControl = 2,
    }
    export class PDFAppearanceCharacteristics extends NSObject {
        /**
         * The background color of the widget annotation.
         */
        backgroundColor: UIColor | null;
        /**
         * The border color of the widget annotation.
         */
        borderColor: UIColor | null;
        /**
         * The text that the button widget annotation displays when the user isn’t interacting with it.
         */
        caption: string;
        /**
         * The type of button widget annotation.
         */
        controlType: PDFWidgetControlType;
        /**
         * The text that the button widget annotation displays when the user holds down on it.
         */
        downCaption: string;
        /**
         * The text that the widget annotation displays when the user hovers the pointer over it.
         */
        rolloverCaption: string;
        /**
         * The number of degrees, in multiples of 90, that the widget annotation rotates counterclockwise relative to the page.
         */
        rotation: number;
        /**
         * A dictionary that contains a deep copy of the appearance characteristic key-value pairs.
         */
        appearanceCharacteristicsKeyValues: Record<AnyHashable, any>;
    }
    export class PDFAppearanceCharacteristicsKey {
        /**
         * The background color of the widget annotation.
         */
        static backgroundColor: PDFAppearanceCharacteristicsKey;
        /**
         * The border color of the widget annotation.
         */
        static borderColor: PDFAppearanceCharacteristicsKey;
        /**
         * The text that the button widget annotation displays when the user isn’t interacting with it.
         */
        static caption: PDFAppearanceCharacteristicsKey;
        /**
         * The text that the button widget annotation displays when the user holds down on it.
         */
        static downCaption: PDFAppearanceCharacteristicsKey;
        /**
         * The text that the button widget annotation displays when the user hovers the pointer over it.
         */
        static rolloverCaption: PDFAppearanceCharacteristicsKey;
        /**
         * The number of degrees, in multiples of 90, that the widget annotation rotates counterclockwise relative to the page.
         */
        static rotation: PDFAppearanceCharacteristicsKey;
        /**
         * Creates an appearance characteristic key using the specified raw string.
         */
        constructor (rawValue: string);
    }
    export enum PDFWidgetCellState {
        onState = 1,
        offState = 0,
        mixedState = -1,
    }
    export class PDFAnnotationButtonWidget extends PDFAnnotation {
        /**
         * Returns the type of the control.
         */
        controlType():PDFWidgetControlType;
        /**
         * Sets the type of the control.
         */
        setControlType(type: PDFWidgetControlType):void;
        /**
         * Returns the state of the control.
         */
        state():number;
        /**
         * Sets the state of the control.
         */
        setState(value: number):void;
        /**
         * Returns the background color of the control.
         */
        backgroundColor():NSColor!;
        /**
         * Sets the control’s background color.
         */
        setBackgroundColor(color: NSColor!):void;
        /**
         * Returns the font used in the control’s label.
         */
        font():NSFont!;
        /**
         * Sets the font of the control’s label.
         */
        setFont(font: NSFont!):void;
        /**
         * Returns the font color used in the control’s label.
         */
        fontColor():NSColor!;
        /**
         * Sets the font color used in the control’s label.
         */
        setFontColor(color: NSColor!):void;
        /**
         * Returns the text of the label on a push button control.
         */
        caption():String!;
        /**
         * Sets the text of the label on a push button control.
         */
        setCaption(name: String!):void;
        /**
         * Returns a Boolean value indicating whether a radio button behaves in a toggling manner.
         */
        allowsToggleToOff():boolean;
        /**
         * Returns the string associated with the on state of a radio button or checkbox control.
         */
        onStateValue():String!;
        /**
         * Sets the string that is associated with the on state of a radio button or checkbox control.
         */
        setOnStateValue(name: String!):void;
        /**
         * Returns the internal name of a field (used for reset-form actions).
         */
        fieldName():String!;
        /**
         * Sets the internal name of a field (used for reset-form actions).
         */
        setFieldName(name: String!):void;
        setAllowsToggleToOff(allowOff: boolean):void;
    }
    export class PDFAnnotationChoiceWidget extends PDFAnnotation {
        /**
         * Returns the selection in the widget annotation.
         */
        stringValue():String!;
        /**
         * Sets the selection in the widget annotation.
         */
        setStringValue(value: String!):void;
        /**
         * Returns the color of the widget annotation background.
         */
        backgroundColor():NSColor!;
        /**
         * Sets the background color of the widget annotation.
         */
        setBackgroundColor(color: NSColor!):void;
        /**
         * Returns the font used to display the text in the widget annotation.
         */
        font():NSFont!;
        /**
         * Sets the font used to display the text in the widget annotation.
         */
        setFont(font: NSFont!):void;
        /**
         * Returns the font color used to display the text in the widget annotation.
         */
        fontColor():NSColor!;
        /**
         * Sets the font color used to display the text in the widget annotation.
         */
        setFontColor(color: NSColor!):void;
        /**
         * Returns the internal field name associated with the widget annotation.
         */
        fieldName():String!;
        /**
         * Sets the internal field name associated with the widget annotation’s value.
         */
        setFieldName(name: String!):void;
        /**
         * Returns a Boolean value indicating whether the widget annotation is a list.
         */
        isListChoice():boolean;
        /**
         * Sets whether the widget annotation is a list.
         */
        setIsListChoice(isList: boolean):void;
        /**
         * Returns an array of strings that represent the items available in the list or pop-up menu of the choice widget annotation.
         */
        choices():[Any]!;
        /**
         * Sets the items available in the list or pop-up menu of the choice widget annotation.
         */
        setChoices(options: [Any]!):void;
    }
    export class PDFAnnotationCircle extends PDFAnnotation {
        /**
         * Returns the fill color used for drawing the annotation.
         */
        interiorColor():NSColor!;
        /**
         * Sets the fill color used for drawing the annotation.
         */
        setInteriorColor(color: NSColor!):void;
    }
    export class PDFAnnotationFreeText extends PDFAnnotation {
        /**
         * Returns the horizontal alignment of text within the bounds of the annotation.
         */
        alignment():NSTextAlignment;
        /**
         * Sets the horizontal alignment of text within the bounds of the annotation.
         */
        setAlignment(alignment: NSTextAlignment):void;
        /**
         * Returns the font used for the annotation’s text field.
         */
        font():NSFont!;
        /**
         * Sets the font used in the text field of the annotation.
         */
        setFont(font: NSFont!):void;
        /**
         * Returns the font color used in the text field of the annotation.
         */
        fontColor():NSColor!;
        /**
         * Sets the font color used in the text field of the annotation.
         */
        setFontColor(color: NSColor!):void;
    }
    export class PDFAnnotationInk extends PDFAnnotation {
        /**
         * Returns an array containing the Bezier paths that make up an annotation.
         */
        paths():[Any]!;
        /**
         * Adds a Bezier path to an annotation.
         */
        add(path: NSBezierPath!):void;
        /**
         * Removes a Bezier path from an annotation.
         */
        remove(path: NSBezierPath!):void;
    }
    export class PDFAnnotationLine extends PDFAnnotation {
        /**
         * Returns the starting point for the line.
         */
        startPoint():NSPoint;
        /**
         * Sets the starting point for the line.
         */
        setStart(point: NSPoint):void;
        /**
         * Returns the ending point for the line in page space.
         */
        endPoint():NSPoint;
        /**
         * Sets the ending point for the line.
         */
        setEnd(point: NSPoint):void;
        /**
         * Returns the line ending style for the starting point of the line.
         */
        startLineStyle():PDFLineStyle;
        /**
         * Returns the line ending style for the ending point of the line.
         */
        endLineStyle():PDFLineStyle;
        /**
         * Returns the color used to fill the ornament at the ends of the line.
         */
        interiorColor():NSColor!;
        /**
         * Sets the color used to fill the ornament at the ends of the line.
         */
        setInteriorColor(color: NSColor!):void;
    }
    export class PDFAnnotationLink extends PDFAnnotation {
        /**
         * Gets the destination for the link when the destination was specified as a PDFDestination object.
         */
        destination():PDFDestination!;
        /**
         * Sets the destination for the link as a PDFDestination object.
         */
        setDestination(destination: PDFDestination!):void;
        /**
         * Gets the destination for the link when the destination was specified as a URL.
         */
        url():URL!;
        /**
         * Sets the destination for the link as a URL.
         */
        setURL(url: URL!):void;
    }
    export class PDFAnnotationMarkup extends PDFAnnotation {
        /**
         * Gets the array of quadrilateral points defining the bounds of the markup.
         */
        quadrilateralPoints():[Any]!;
        /**
         * Sets the array of quadrilateral points defining the bounds of the markup.
         */
        setQuadrilateralPoints(points: [Any]!):void;
        /**
         * Gets the markup style.
         */
        markupType():PDFMarkupType;
        /**
         * Sets the markup style.
         */
        setMarkupType(type: PDFMarkupType):void;
    }
    export class PDFAnnotationPopup extends PDFAnnotation {
        /**
         * Returns a Boolean value indicating whether the pop-up is open.
         */
        isOpen():boolean;
        /**
         * Sets the open state of the pop-up menu.
         */
        setIsOpen(isOpen: boolean):void;
    }
    export class PDFAnnotationSquare extends PDFAnnotation {
        /**
         * Gets the fill color used for drawing the annotation.
         */
        interiorColor():NSColor!;
        /**
         * Sets the fill color used for drawing the annotation.
         */
        setInteriorColor(color: NSColor!):void;
    }
    export class PDFAnnotationStamp extends PDFAnnotation {
        /**
         * Returns name associated with the stamp annotation.
         */
        name():String!;
        /**
         * Sets the name associated with the stamp annotation.
         */
        setName(name: String!):void;
    }
    export class PDFAnnotationText extends PDFAnnotation {
        /**
         * Returns the icon type for the annotation.
         */
        iconType():PDFTextAnnotationIconType;
        /**
         * Sets the icon type for the annotation.
         */
        setIconType(type: PDFTextAnnotationIconType):void;
    }
    export class PDFAnnotationTextWidget extends PDFAnnotation {
        /**
         * Returns the string assigned to the annotation.
         */
        stringValue():String!;
        /**
         * Sets the string for the annotation.
         */
        setStringValue(value: String!):void;
        /**
         * Returns the maximum number of characters allowed in the annotation string.
         */
        maximumLength():number;
        /**
         * Sets the maximum number of characters allowed in the annotation string.
         */
        setMaximumLength(maxLen: number):void;
        /**
         * Returns the font used for the annotation’s text field.
         */
        font():NSFont!;
        /**
         * Sets the font used in the text field of the annotation.
         */
        setFont(font: NSFont!):void;
        /**
         * Returns the font color used for the annotation’s text field.
         */
        fontColor():NSColor!;
        /**
         * Sets the font color used for the annotation’s text field.
         */
        setFontColor(color: NSColor!):void;
        /**
         * Returns the background color of the annotation text field.
         */
        backgroundColor():NSColor!;
        /**
         * Sets the background color of the annotation text field.
         */
        setBackgroundColor(color: NSColor!):void;
        /**
         * Returns the text alignment setting for the annotation.
         */
        alignment():NSTextAlignment;
        /**
         * Sets the text alignment for the annotation.
         */
        setAlignment(alignment: NSTextAlignment):void;
        /**
         * Returns the rotation angle of the annotation text field in degrees.
         */
        rotation():number;
        /**
         * Sets the rotation angle of the annotation text field in degrees.
         */
        setRotation(rotation: Int32):void;
        /**
         * Returns the internal name for the annotation text field.
         */
        fieldName():String!;
        /**
         * Sets the internal field name for the annotation text field.
         */
        setFieldName(name: String!):void;
        attributedStringValue():NSAttributedString!;
        isMultiline():boolean;
        setAttributedStringValue(value: NSAttributedString!):void;
        setIsMultiline(multiline: boolean):void;
    }
    export class PDFAreaOfInterest {
        /**
         * The mouse is over a page.
         */
        static pageArea: PDFAreaOfInterest;
        /**
         * The mouse is over text.
         */
        static textArea: PDFAreaOfInterest;
        /**
         * The mouse is over an annotation.
         */
        static annotationArea: PDFAreaOfInterest;
        /**
         * The mouse is over a link.
         */
        static linkArea: PDFAreaOfInterest;
        /**
         * The mouse is over a control.
         */
        static controlArea: PDFAreaOfInterest;
        /**
         * The mouse is over a text field.
         */
        static textFieldArea: PDFAreaOfInterest;
        /**
         * The mouse is over an icon.
         */
        static iconArea: PDFAreaOfInterest;
        /**
         * The mouse is over a popup menu. 
         */
        static popupArea: PDFAreaOfInterest;
        /**
         * The mouse is over an image.
         */
        static imageArea: PDFAreaOfInterest;
        static anyArea: PDFAreaOfInterest;
        constructor (rawValue: number);
    }
    export interface PDFPageOverlayViewProvider extends NSObjectProtocol {
        pdfView(view: PDFView, page: PDFPage):UIView | null;
    }
    export enum PDFAccessPermissions {
        allowsCommenting = 64,
        allowsContentAccessibility = 32,
        allowsContentCopying = 16,
        allowsDocumentAssembly = 8,
        allowsDocumentChanges = 4,
        allowsFormFieldEntry = 128,
        allowsHighQualityPrinting = 2,
        allowsLowQualityPrinting = 1,
    }
    export enum PDFThumbnailLayoutMode {
        horizontal = 1,
        vertical = 0,
    }
}

/**
 * Capture touch and Apple Pencil input as a drawing, and display that content from your app.
 */
declare module PencilKit {
    export class PKCanvasView extends UIScrollView {
        /**
         * A Boolean value that indicates whether the canvas accepts input from the user’s finger in addition to Apple Pencil.
         */
        allowsFingerDrawing: boolean;
        /**
         * The policy that controls the types of touches allowed when drawing on the canvas.
         */
        drawingPolicy: PKCanvasViewDrawingPolicy;
        /**
         * The gesture recognizer that the canvas uses to track touch events.
         */
        drawingGestureRecognizer: UIGestureRecognizer;
        /**
         * The data object that the canvas uses to store drawn content.
         */
        drawing: PKDrawing;
        /**
         * The object you use to respond to changes in the drawn content or with the selected tool.
         */
        delegate: PKCanvasViewDelegate | null;
        /**
         * The currently selected tool used for drawing.
         */
        tool: PKTool;
        /**
         * A Boolean value that indicates whether a ruler view is visible on the canvas.
         */
        isRulerActive: boolean;
    }
    export class PKStrokePath {
        /**
         * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns 
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Slice<PKStrokePath>;
        /**
         * Returns a subsequence containing all but the given number of initial elements.
         */
        dropFirst(k: number):Slice<PKStrokePath>;
        /**
         * Returns a subsequence containing all but the specified number of final elements.
         */
        dropLast(k: number):Slice<PKStrokePath>;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a consecutive integer starting at zero and 
         *  represents an element of the sequence.
         */
        enumerated():EnumeratedSequence<PKStrokePath>;
        /**
         * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
         */
        filter(isIncluded: Bool):PKStrokePoint[];
        /**
         * Returns the first element of the sequence that satisfies the given predicate.
         */
        first(predicate: Bool):PKStrokePoint | null;
        /**
         * Returns the first index in which an element of the collection satisfies the given predicate.
         */
        firstIndex(predicate: Bool):number;
        /**
         * Calls the given closure on each element in the sequence in the same order as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Int, distance: number):void;
        /**
         * Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
         */
        index(i: number, distance: number, limit: number):number;
        /**
         * Returns the last element of the sequence that satisfies the given predicate.
         */
        last(predicate: Bool):PKStrokePoint | null;
        /**
         * Returns the index of the last element in the collection that matches the given predicate.
         */
        lastIndex(predicate: Bool):number;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<PKStrokePath>;
        /**
         * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):PKStrokePoint | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):PKStrokePoint | null;
        /**
         * Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
         */
        prefix(maxLength: number):Slice<PKStrokePath>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():PKStrokePoint | null;
        /**
         * Returns a view presenting the elements of the collection in reverse order.
         */
        reversed():ReversedCollection<PKStrokePath>;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():PKStrokePoint[];
        /**
         * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):PKStrokePoint[];
        /**
         * Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Slice<PKStrokePath>[];
        /**
         * Returns a subsequence, up to the given maximum length, containing the final elements of the collection.
         */
        suffix(maxLength: number):Slice<PKStrokePath>;
        parametricValue(parametricValue: CGFloat, step: PKStrokePath.InterpolatedSlice.Stride):CGFloat;
        trimmingPrefix(predicate: Bool):Slice<PKStrokePath>;
    }
    /**
     * the same name namespace of class PKStrokePath
     */
    export namespace PKStrokePath {
        export class InterpolatedSlice {
            /**
             * Calls the given closure on each element in the sequence in the same order as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns an iterator over the elements of this sequence.
             */
            makeIterator():PKStrokePath.InterpolatedSlice;
            next():PKStrokePoint | null;
            /**
             * Returns an array containing the elements of this sequence in reverse order.
             */
            reversed():PKStrokePoint[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():PKStrokePoint[];
            /**
             * Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):PKStrokePoint[];
            /**
             * Returns the longest possible subsequences of the sequence, in order, that don’t contain elements satisfying the given predicate. Elements that are used to split the sequence are not returned as part of any subsequence.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):ArraySlice<PKStrokePoint>[];
            /**
             * Returns a subsequence, up to the given maximum length, containing the final elements of the sequence.
             */
            suffix(maxLength: number):PKStrokePoint[];
            /**
             * Returns an array containing, in order, the elements of the sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):PKStrokePoint[];
            /**
             * Returns the maximum element in the sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):PKStrokePoint | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):PKStrokePoint | null;
            /**
             * Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.
             */
            drop(predicate: Bool):DropWhileSequence<PKStrokePath.InterpolatedSlice>;
            /**
             * Returns a sequence containing all but the given number of initial elements.
             */
            dropFirst(k: number):DropFirstSequence<PKStrokePath.InterpolatedSlice>;
            /**
             * Returns a sequence containing all but the given number of final elements.
             */
            dropLast(k: number):PKStrokePoint[];
            /**
             * Returns a sequence, up to the specified maximum length, containing the initial elements of the sequence.
             */
            prefix(maxLength: number):PrefixSequence<PKStrokePath.InterpolatedSlice>;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):PKStrokePoint | null;
        }
    }
    export enum PKCanvasViewDrawingPolicy {
        default = 0,
        anyInput = 1,
        pencilOnly = 2,
    }
    export class PKDrawing {
        /**
         * The smallest rectangle used to represent the content’s bounds, taking into account line widths of that content.
         */
        bounds: CGRect;
        /**
         * The array of strokes that make up the drawing.
         */
        strokes: PKStroke[];
        /**
         * Creates a drawing object and populates it with previously drawn content.
         */
        constructor (data: Data);
        /**
         * Creates an empty drawing object.
         */
        constructor ();
        /**
         * Creates a drawing object and populates it with previously drawn content stored on disk.
         */
        constructor (decoder: Decoder);
        /**
         * Returns an image object that contains the specified portion of the drawing.
         */
        image(rect: CGRect, scale: CGFloat):UIImage;
        /**
         * Returns a raw data representation of the rendered content.
         */
        dataRepresentation():Data;
        /**
         * Applies the specified transform to the contents of this drawing.
         */
        transform(transform: CGAffineTransform):void;
        /**
         * Applies the specified transform and returns a new drawing.
         */
        transformed(transform: CGAffineTransform):PKDrawing;
        /**
         * Appends the contents of the specified drawing object to an existing drawing object that you provide.
         */
        append(toAppend: PKDrawing):void;
        /**
         * Returns a new drawing created by appending the current drawing with another drawing you provide.
         */
        appending(toAppend: PKDrawing):PKDrawing;
        encode(encoder: Encoder):void;
    }
    export class PKStrokePathReference extends NSObject {
        /**
         * The number of control points in this stroke path.
         */
        count: number;
        /**
         * The time at which this stroke path starts.
         */
        creationDate: Date;
        /**
         * Creates a stroke path with the cubic B-spline control points and a date that you specify.
         */
        constructor (controlPoints: PKStrokePoint[], creationDate: Date);
        /**
         * Executes a given block using each point in a range with a distance step.
         */
        enumerateInterpolatedPoints(range: __PKFloatRange, distanceStep: CGFloat, block: ()=>any):void;
        /**
         * Returns the on-curve point for the floating point parametric value.
         */
        interpolatedLocation(parametricValue: CGFloat):CGPoint;
        /**
         * Returns the on-curve point for the provided floating point parameter.
         */
        interpolatedPoint(parametricValue: CGFloat):PKStrokePoint;
        /**
         * Returns a parametric value on the B-spline that’s a specified distance from the given parametric value.
         */
        parametricValue(parametricValue: CGFloat, distanceStep: CGFloat):CGFloat;
        /**
         * Returns the B-spline control point at an index point that you provide.
         */
        point(i: number):PKStrokePoint;
    }
    export class PKStrokePoint {
        /**
         * The location of this point.
         */
        location: CGPoint;
        /**
         * The time offset since the start of the stroke path in seconds.
         */
        timeOffset: TimeInterval;
        /**
         * The altitude of this point in radians.
         */
        altitude: CGFloat;
        /**
         * The azimuth of this point in radians.
         */
        azimuth: CGFloat;
        /**
         * The amount of force applied by the touch.
         */
        force: CGFloat;
        /**
         * The size of this point.
         */
        size: CGSize;
        /**
         * Opacity of the point.
         */
        opacity: CGFloat;
        /**
         * Creates a new point with the provided properties.
         */
        constructor (location: CGPoint, timeOffset: TimeInterval, size: CGSize, opacity: CGFloat, force: CGFloat, azimuth: CGFloat, altitude: CGFloat);
    }
    export class PKStrokePointReference extends NSObject {
        /**
         * The location of this point.
         */
        location: CGPoint;
        /**
         * The time offset since the start of the stroke path in seconds.
         */
        timeOffset: TimeInterval;
        /**
         * The altitude of this point in radians.
         */
        altitude: CGFloat;
        /**
         * The azimuth of this point in radians.
         */
        azimuth: CGFloat;
        /**
         * The amount of force applied by the touch.
         */
        force: CGFloat;
        /**
         * The size of the point.
         */
        size: CGSize;
        /**
         * Opacity of the point.
         */
        opacity: CGFloat;
        /**
         * Creates a new point with the provided properties.
         */
        constructor (location: CGPoint, timeOffset: TimeInterval, size: CGSize, opacity: CGFloat, force: CGFloat, azimuth: CGFloat, altitude: CGFloat);
    }
    export class PKInk {
        /**
         * The color of this ink.
         */
        color: UIColor;
        /**
         * The line presentation to use for this Ink.
         */
        inkType: PKInk.InkType;
        /**
         * Creates a new ink, specifying its type and color.
         */
        constructor (inkType: PKInk.InkType, color: UIColor);
    }
    export class PKInkReference extends NSObject {
        /**
         * The base color for this ink.
         */
        color: UIColor;
        /**
         * The type of ink, such as pen or pencil, as defined in the 
         *  enumeration.
         */
        inkType: __PKInkType;
        /**
         * Create a new ink, specifying its type, color.
         */
        constructor (type: __PKInkType, color: UIColor);
    }
    export class PKToolPicker extends NSObject {
        /**
         * A Boolean value that indicates whether the tool picker is currently visible.
         */
        isVisible: boolean;
        /**
         * The currently selected tool in this tool picker.
         */
        selectedTool: PKTool;
        /**
         * The user interface style for this tool picker.
         */
        colorUserInterfaceStyle: UIUserInterfaceStyle;
        /**
         * A Boolean value that indicates whether the ruler is visible on the canvas.
         */
        isRulerActive: boolean;
        /**
         * The specific user interface style to apply to this tool picker.
         */
        overrideUserInterfaceStyle: UIUserInterfaceStyle;
        /**
         * A Boolean value that indicates whether the default drawing policy UI is visible.
         */
        showsDrawingPolicyControls: boolean;
        /**
         * The name used to automatically save the tool picker’s state in the defaults system.
         */
        stateAutosaveName: string;
        /**
         * Returns a new instance of a tool picker.
         */
        constructor ();
        /**
         * Returns the tool picker object to use for the specified window.
         */
        static shared(window: UIWindow):PKToolPicker | null;
        /**
         * Adds the specified object to the list of objects to notify when the picker configuration changes.
         */
        addObserver(observer: PKToolPickerObserver):void;
        /**
         * Removes the specified object from the list of objects to notify when the picker configuration changes.
         */
        removeObserver(observer: PKToolPickerObserver):void;
        /**
         * Sets the visibility for the tool picker, based on when the specified responder object becomes active.
         */
        setVisible(visible: boolean, responder: UIResponder):void;
        /**
         * Returns the portion of the specified view that the tool picker obscures.
         */
        frameObscured(view: UIView):CGRect;
    }
    export interface PKToolPickerObserver extends NSObjectProtocol {
        /**
         * Tells the observer that the user selected a new tool.
         */
        toolPickerSelectedToolDidChange(toolPicker: PKToolPicker):void;
        /**
         * Tells the observer that the user showed or hid the ruler.
         */
        toolPickerIsRulerActiveDidChange(toolPicker: PKToolPicker):void;
        /**
         * Tells the observer that the user showed or hid the tool picker.
         */
        toolPickerVisibilityDidChange(toolPicker: PKToolPicker):void;
        /**
         * Tells the observer that area obscured by the tool picker changed.
         */
        toolPickerFramesObscuredDidChange(toolPicker: PKToolPicker):void;
    }
    export class PKInkingTool {
        /**
         * The color of the ink.
         */
        color: UIColor;
        /**
         * The width of the ink.
         */
        width: CGFloat;
        /**
         * The ink used by this inking tool.
         */
        ink: PKInk;
        /**
         * The tool type that determines the shape of the rendered content.
         */
        inkType: PKInkingTool.InkType;
        /**
         * Creates an ink tool object with the specified color and line width values.
         */
        constructor (inkType: PKInkingTool.InkType, color: UIColor, width: CGFloat | null);
        /**
         * Create an inking tool with the specified ink and width.
         */
        constructor (ink: PKInk, width: CGFloat);
        /**
         * Convert a color from one user interface style to another.
         */
        static convertColor(color: UIColor, from: UIUserInterfaceStyle, to: UIUserInterfaceStyle):UIColor;
    }
    /**
     * the same name namespace of class PKInkingTool
     */
    export namespace PKInkingTool {
        export enum InkType {}
    }
    export class PKInkingToolReference {
        /**
         * The color of the ink.
         */
        color: UIColor;
        /**
         * The base line width for new content.
         */
        width: CGFloat;
        /**
         * The ink that this tool creates strokes with.
         */
        ink: PKInk;
        /**
         * The tool type that determines the shape of the rendered content.
         */
        inkType: __PKInkType;
        /**
         * Creates an ink tool object with the specified color and line width values.
         */
        constructor (type: __PKInkType, color: UIColor, width: CGFloat);
        /**
         * Creates an ink tool object with the default line width and the specified color.
         */
        constructor (type: __PKInkType, color: UIColor);
        /**
         * Create an inking tool with the specified ink and width.
         */
        constructor (ink: PKInk, width: CGFloat);
        /**
         * Converts a color from one user interface style to another.
         */
        static convert(color: UIColor, fromUserInterfaceStyle: UIUserInterfaceStyle, toUserInterfaceStyle: UIUserInterfaceStyle):UIColor;
        /**
         * Returns the default line width for the specified tool type.
         */
        static defaultWidth(inkType: __PKInkType):CGFloat;
        /**
         * Returns the minimum allowed line width for the specified tool type.
         */
        static minimumWidth(inkType: __PKInkType):CGFloat;
        /**
         * Returns the maximum allowed line width for the specified tool type.
         */
        static maximumWidth(inkType: __PKInkType):CGFloat;
    }
    export class PKEraserTool {
        /**
         * The behavior adopted by the eraser when deleting content.
         */
        eraserType: PKEraserTool.EraserType;
        /**
         * Creates an eraser tool object that removes objects wholly or partially from a canvas view.
         */
        constructor (eraserType: PKEraserTool.EraserType);
    }
    /**
     * the same name namespace of class PKEraserTool
     */
    export namespace PKEraserTool {
        export enum EraserType {
            vector,
            bitmap,
        }
    }
    export interface PKCanvasViewDelegate extends NSObjectProtocol,UIScrollViewDelegate {
        /**
         * Tells the delegate that the contents of the current drawing changed.
         */
        canvasViewDrawingDidChange(canvasView: PKCanvasView):void;
        /**
         * Tells the delegate that the previously drawn content is ready to display. 
         */
        canvasViewDidFinishRendering(canvasView: PKCanvasView):void;
        /**
         * Tells the delegate that the user started a new drawing sequence with the currently selected tool.
         */
        canvasViewDidBeginUsingTool(canvasView: PKCanvasView):void;
        /**
         * Tells the delegate that the user ended a drawing sequence with the tool they were using.
         */
        canvasViewDidEndUsingTool(canvasView: PKCanvasView):void;
    }
    export class PKEraserToolReference {
        /**
         * The behavior adopted by the eraser when deleting content.
         */
        eraserType: __PKEraserType;
        /**
         * Creates an eraser tool object that removes objects wholly or partially from a canvas view.
         */
        constructor (eraserType: __PKEraserType);
    }
    export class PKLassoTool {
        /**
         * Creates a lasso tool for selecting content on a canvas view.
         */
        constructor ();
    }
    export class PKLassoToolReference {
        /**
         * Creates a lasso tool object for selecting content on a canvas view.
         */
        constructor ();
    }
    export interface PKTool {}
    export class PKDrawingReference extends NSObject {
        /**
         * The smallest rectangle used to represent the content’s bounds, taking into account line widths of that content.
         */
        bounds: CGRect;
        /**
         * An array of strokes used to represent the drawing.
         */
        strokes: PKStroke[];
        /**
         * Creates a drawing object and populates it with previously drawn content.
         */
        constructor (data: Data);
        /**
         * Creates a drawing object with the strokes you supply.
         */
        constructor (strokes: PKStroke[]);
        /**
         * Creates an empty drawing object.
         */
        constructor ();
        /**
         * Returns an image object that contains the specified portion of the drawing.
         */
        image(rect: CGRect, scale: CGFloat):UIImage;
        /**
         * Returns a representation of the rendered content as data.
         */
        dataRepresentation():Data;
        /**
         * Returns a new drawing object by applying the specified transform to a copy of the current object’s contents.
         */
        applying(transform: CGAffineTransform):PKDrawing;
        /**
         * Returns a copy of the current drawing with the strokes you provide appended.
         */
        appendingStrokes(strokes: PKStroke[]):PKDrawing;
        /**
         * Returns a new drawing created by appending the current drawing with another drawing you provide.
         */
        appending(drawing: PKDrawing):PKDrawing;
    }
    export class PKStroke {
        /**
         * The Ink, which is a combination of a tool used to render this stroke.
         */
        ink: PKInk;
        /**
         * The pretransform mask used to clip the rendering of the stroke.
         */
        mask: UIBezierPath | null;
        /**
         * The range of points in the stroke path reference that intersect the stroke’s mask.
         */
        maskedPathRanges: ClosedRange<CGFloat>[];
        /**
         * The B-spline path that describes this stroke.
         */
        path: PKStrokePath;
        /**
         * The bounds of the rendered stroke, including the width and line properties of the stroke after applying the transform.
         */
        renderBounds: CGRect;
        /**
         * The affine transform of the stroke after rendering.
         */
        transform: CGAffineTransform;
        /**
         * Creates a stroke with the line properties, path, transform, and mask that you specify.
         */
        constructor (ink: PKInk, path: PKStrokePath, transform: CGAffineTransform, mask: UIBezierPath | null);
        constructor (ink: PKInk, path: PKStrokePath, transform: CGAffineTransform, mask: UIBezierPath | null, randomSeed: UInt32);
    }
    export class PKStrokeReference extends NSObject {
        /**
         * The line properties used to render this stroke.
         */
        ink: PKInk;
        /**
         * The pretransform mask used to clip the rendering of the stroke.
         */
        mask: UIBezierPath | null;
        /**
         * The range of points in the stroke path reference that intersect the stroke’s mask.
         */
        maskedPathRanges: __PKFloatRange[];
        /**
         * The B-spline path that describes this stroke.
         */
        path: PKStrokePath;
        /**
         * The bounds of the rendered stroke, including the width and line properties of the stroke after applying the transform.
         */
        renderBounds: CGRect;
        /**
         * The affine transform of the stroke after rendering.
         */
        transform: CGAffineTransform;
        randomSeed: UInt32;
        /**
         * Creates a stroke with the line properties, path, transform, and mask that you specify.
         */
        constructor (ink: PKInk, strokePath: PKStrokePath, transform: CGAffineTransform, mask: UIBezierPath | null);
        constructor (ink: PKInk, strokePath: PKStrokePath, transform: CGAffineTransform, mask: UIBezierPath | null, randomSeed: UInt32);
    }
}

/**
 * Create dynamic audio experiences in your game or app that react to events and cues in the environment.
 */
declare module PHASE {
    export class PHASEEngine extends NSObject {
        /**
         * The mode the engine implements to create a 3D sound experience.
         */
        outputSpatializationMode: PHASESpatializationMode;
        /**
         * The status of the engine's audio playback.
         */
        renderingState: PHASESoundEvent.RenderingState;
        /**
         * A list of named groups that contain sounds the app operates on collectively.
         */
        groups: Record<string, PHASEGroup>;
        /**
         * The settings that define playback for a group of sounds.
         */
        activeGroupPreset: PHASEGroupPreset | null;
        /**
         * An array of objects that reduce the volume of simultaneously playing sounds.
         */
        duckers: PHASEDucker[];
        /**
         * A collection of the sounds that play under various runtime circumstances.
         */
        soundEvents: PHASESoundEvent[];
        /**
         * A conversion factor from meters to your app's preferred unit of measurement.
         */
        unitsPerMeter: number;
        /**
         * A conversion factor from seconds to your app’s preferred unit of time. 
         */
        unitsPerSecond: number;
        /**
         * An object that loads and unloads audio resources.
         */
        assetRegistry: PHASEAssetRegistry;
        /**
         * The main object to which the app adds child objects.
         */
        rootObject: PHASEObject;
        /**
         * The environmental surroundings that determine how sound resonates.
         */
        defaultReverbPreset: PHASEReverbPreset;
        /**
         * The physical matter through which sound travels.
         */
        defaultMedium: PHASEMedium;
        /**
         * Creates an engine updated by the app or framework.
         */
        constructor (updateMode: PHASEEngine.UpdateMode);
        /**
         * Pauses all audio playback.
         */
        pause():void;
        /**
         * Starts or resumes all audio playback.
         */
        start():void;
        /**
         * Stops all audio playback.
         */
        stop():void;
        /**
         * Processes app commands and increments framework processing.
         */
        update():void;
    }
    /**
     * the same name namespace of class PHASEEngine
     */
    export namespace PHASEEngine {
        export enum UpdateMode {
            automatic = 0,
            manual = 1,
        }
    }
    export class PHASEMixerParameters extends NSObject {
        /**
         * Adds runtime parameters for a spatial mixer.
         */
        addSpatialMixerParameters(identifier: string, source: PHASESource, listener: PHASEListener):void;
    }
    export class PHASESoundAsset extends PHASEAsset {
        /**
         * A storage buffer for the sound asset.
         */
        data: Data | null;
        /**
         * The URL of the sound asset.
         */
        url: URL | null;
        /**
         * The type of sound asset.
         */
        type: PHASEAsset.AssetType;
    }
    export class PHASEAsset extends NSObject {
        /**
         * A unique name for the asset.
         */
        identifier: string;
    }
    /**
     * the same name namespace of class PHASEAsset
     */
    export namespace PHASEAsset {
        export enum AssetType {
            resident = 0,
            streamed = 1,
        }
    }
    export class PHASESoundEvent extends NSObject {
        /**
         * Nodes in the event tree that control the volume of their child nodes.
         */
        mixers: Record<string, PHASEMixer>;
        /**
         * The object's meta parameters.
         */
        metaParameters: Record<string, PHASEMetaParameter>;
        /**
         * The status of sound-event preparation.
         */
        prepareState: PHASESoundEvent.PrepareState;
        /**
         * The sound event’s playback status.
         */
        renderingState: PHASESoundEvent.RenderingState;
        /**
         * A collection of audio streams for playback.
         */
        pushStreamNodes: Record<string, PHASEPushStreamNode>;
        /**
         * A Boolean value that indicates whether the sound loops or stops on its own.
         */
        isIndefinite: boolean;
        /**
         * Creates a sound event node with the given asset.
         */
        constructor (engine: PHASEEngine, assetIdentifier: string);
        /**
         * Creates a sound event node with the given asset and mixer parameters.
         */
        constructor (engine: PHASEEngine, assetIdentifier: string, mixerParameters: PHASEMixerParameters);
        /**
         * Enables a sound event to play and runs the argument code when the sound event plays back.
         */
        prepare(handler: ()=>any | null):void;
        /**
         * Invokes the sound event and runs the specified code on completion.
         */
        start(handler: ()=>any | null):void;
        /**
         * Advances the sound event’s playback position to a specific time.
         */
        seek(time: number, handler: ()=>any | null):void;
        /**
         * Pauses the sound event.
         */
        pause():void;
        /**
         * Resumes the sound event.
         */
        resume():void;
        /**
         * Stops a sound event and prevents it from resuming.
         */
        stopAndInvalidate():void;
    }
    /**
     * the same name namespace of class PHASESoundEvent
     */
    export namespace PHASESoundEvent {
        export enum PrepareHandlerReason {
            prepared = 1,
            terminated = 2,
            failure = 0,
        }
        export enum PrepareState {
            prepareInProgress = 1,
            prepareNotStarted = 0,
            prepared = 2,
        }
        export enum RenderingState {
            paused = 2,
            started = 1,
            stopped = 0,
        }
        export enum StartHandlerReason {
            finishedPlaying = 1,
            terminated = 2,
            failure = 0,
        }
        export enum SeekHandlerReason {
            seekSuccessful = 2,
            failureSeekAlreadyInProgress = 1,
            failure = 0,
        }
    }
    export class PHASESoundEventNodeDefinition extends PHASEDefinition {
        /**
         * An array of child sound event nodes. 
         */
        children: PHASESoundEventNodeDefinition[];
    }
    export class PHASEDefinition extends NSObject {
        /**
         * A unique name for the definition.
         */
        identifier: string;
    }
    export class PHASESoundEventNodeAsset extends PHASEAsset {}
    export class PHASESamplerNodeDefinition extends PHASEGeneratorNodeDefinition {
        /**
         * The name of the audio this node plays.
         */
        assetIdentifier: string;
        /**
         * The action the engine performs after it temporarily removes the node's sound from the audio output.
         */
        cullOption: PHASECullOption;
        /**
         * An option that determines whether the node's audio plays in a loop.
         */
        playbackMode: PHASEPlaybackMode;
        /**
         * Creates a sampler node with the given sound asset and mixer.
         */
        constructor (soundAssetIdentifier: string, mixerDefinition: PHASEMixerDefinition);
        /**
         * Creates a named sampler node with the given sound asset and mixer.
         */
        constructor (soundAssetIdentifier: string, mixerDefinition: PHASEMixerDefinition, identifier: string);
    }
    export enum PHASECullOption {
        terminate = 0,
        doNotCull = 4,
        sleepWakeAtRealtimeOffset = 3,
        sleepWakeAtZero = 1,
        sleepWakeAtRandomOffset = 2,
    }
    export enum PHASEPlaybackMode {
        oneShot = 0,
        looping = 1,
    }
    export class PHASEPushStreamNodeDefinition extends PHASEGeneratorNodeDefinition {
        /**
         * The format of the audio stream data.
         */
        format: AVAudioFormat;
        /**
         * An option that resizes loudness of the audio stream for consistency.
         */
        normalize: boolean;
        /**
         * Creates a node definition for audio streams.
         */
        constructor (mixerDefinition: PHASEMixerDefinition, format: AVAudioFormat);
        /**
         * Creates a named node definition for audio streams.
         */
        constructor (mixerDefinition: PHASEMixerDefinition, format: AVAudioFormat, identifier: string);
    }
    export class PHASEPushStreamNode extends NSObject {
        /**
         * The audio stream's output pipeline.
         */
        mixer: PHASEMixer;
        /**
         * The format of the audio stream data.
         */
        format: AVAudioFormat;
        /**
         * A meta parameter for dynamic loudness control.
         */
        gainMetaParameter: PHASENumberMetaParameter | null;
        /**
         * A meta parameter for dynamic rate control.
         */
        rateMetaParameter: PHASENumberMetaParameter | null;
        /**
         * Schedules audio data for playback.
         */
        scheduleBuffer(buffer: AVAudioPCMBuffer):void;
    }
    export enum PHASEPushStreamCompletionCallbackCondition {
        dataRendered = 0,
    }
    export class PHASEPushStreamBufferOptions {
        /**
         * Indicates a buffer processes after existing buffers in the queue.
         */
        static default: PHASEPushStreamBufferOptions;
        /**
         * Indicates a buffer begins processing immediately.
         */
        static interrupts: PHASEPushStreamBufferOptions;
        /**
         * Indicates a buffer begins processing when an existing buffer loops.
         */
        static interruptsAtLoop: PHASEPushStreamBufferOptions;
        /**
         * Indicates a buffer restarts after it finishes processing.
         */
        static loops: PHASEPushStreamBufferOptions;
        /**
         * Creates a push stream buffer option with the given raw value.
         */
        constructor (rawValue: number);
    }
    export enum PHASECalibrationMode {
        absoluteSpl = 2,
        none = 0,
        relativeSpl = 1,
    }
    export class PHASEGeneratorNodeDefinition extends PHASESoundEventNodeDefinition {
        /**
         * A sound pressure level strategy for loudness correction.
         */
        calibrationMode: PHASECalibrationMode;
        /**
         * The node's loudness.
         */
        level: number;
        /**
         * An object that combines audio layers for the node's output.
         */
        mixerDefinition: PHASEMixerDefinition;
        /**
         * A group this node conforms to for gain and rate control. 
         */
        group: PHASEGroup | null;
        /**
         * A playback speed for the node's audio.
         */
        rate: number;
        /**
         * A meta parameter that dynamically changes the audio's rate.
         */
        rateMetaParameterDefinition: PHASENumberMetaParameterDefinition | null;
        /**
         * A meta parameter that dynamically changes the audio’s loudness.
         */
        gainMetaParameterDefinition: PHASENumberMetaParameterDefinition | null;
        /**
         * Selects a loudness correction strategy and reference level.
         */
        setCalibrationMode(calibrationMode: PHASECalibrationMode, level: number):void;
    }
    export class PHASEGeneratorParameters extends NSObject {
        /**
         * The volume level that the parameters define.
         */
        gain: number;
        /**
         * The playback speed that the parameters define.
         */
        rate: number;
    }
    export class PHASESwitchNodeDefinition extends PHASESoundEventNodeDefinition {
        /**
         * The meta parameter that holds the name of the child node to invoke.
         */
        switchMetaParameterDefinition: PHASEStringMetaParameterDefinition;
        /**
         * Creates a node that invokes a child node based on the value of the given parameter.
         */
        constructor (switchMetaParameterDefinition: PHASEStringMetaParameterDefinition);
        /**
         * Creates a named node that invokes a child node based on the value of the given parameter.
         */
        constructor (switchMetaParameterDefinition: PHASEStringMetaParameterDefinition, identifier: string);
        /**
         * Adds a child node with the given switch value.
         */
        addSubtree(subtree: PHASESoundEventNodeDefinition, switchValue: string):void;
    }
    export class PHASERandomNodeDefinition extends PHASESoundEventNodeDefinition {
        /**
         * The length of the unique selection queue.
         */
        uniqueSelectionQueueLength: number;
        /**
         * Creates a random node.
         */
        constructor ();
        /**
         * Creates a random node with the name you specify.
         */
        constructor (identifier: string);
        /**
         * Adds a node tree that’s one of the random-selection options.
         */
        addSubtree(subtree: PHASESoundEventNodeDefinition, weight: NSNumber):void;
    }
    export class PHASEBlendNodeDefinition extends PHASESoundEventNodeDefinition {
        /**
         * The meta parameter definition that caps the blend range.
         */
        blendParameterDefinition: PHASENumberMetaParameterDefinition | null;
        /**
         * An object that combines spatial audio layers.
         */
        spatialMixerDefinitionForDistance: PHASESpatialMixerDefinition | null;
        /**
         * Creates a blend node with a maxiumum blend range value.
         */
        constructor (blendMetaParameterDefinition: PHASENumberMetaParameterDefinition);
        /**
         * Creates a named blend node with a maxiumum blend range value.
         */
        constructor (blendMetaParameterDefinition: PHASENumberMetaParameterDefinition, identifier: string);
        /**
         * Creates a blend node for spatial audio output.
         */
        constructor (spatialMixerDefinition: PHASESpatialMixerDefinition);
        /**
         * Creates a named blend node for spatial audio output.
         */
        constructor (spatialMixerDefinition: PHASESpatialMixerDefinition, identifier: string);
        /**
         * Adds a child node with an envelope.
         */
        addRange(envelope: PHASEEnvelope, subtree: PHASESoundEventNodeDefinition):void;
        /**
         * Adds a child node that blends above a given value. 
         */
        addRangeForInputValuesAbove(value: number, fullGainAtValue: number, fadeCurveType: PHASECurveType, subtree: PHASESoundEventNodeDefinition):void;
        /**
         * Adds a child node that blends below a given value. 
         */
        addRangeForInputValuesBelow(value: number, fullGainAtValue: number, fadeCurveType: PHASECurveType, subtree: PHASESoundEventNodeDefinition):void;
        /**
         * Adds a child node that blends between a given high and low value. 
         */
        addRangeForInputValuesBetween(lowValue: number, highValue: number, fullGainAtLowValue: number, fullGainAtHighValue: number, lowFadeCurveType: PHASECurveType, highFadeCurveType: PHASECurveType, subtree: PHASESoundEventNodeDefinition):void;
    }
    export class PHASEContainerNodeDefinition extends PHASESoundEventNodeDefinition {
        /**
         * Creates a container node.
         */
        constructor ();
        /**
         * Creates a container node with the given name.
         */
        constructor (identifier: string);
        /**
         * Creates a container node.
         */
        static new():Self;
        /**
         * Adds a sound event node as a child.
         */
        addSubtree(subtree: PHASESoundEventNodeDefinition):void;
    }
    export class PHASEChannelMixerDefinition extends PHASEMixerDefinition {
        /**
         * The channel layout of the mixer's input audio.
         */
        inputChannelLayout: AVAudioChannelLayout;
        /**
         * Creates a channel mixer with the given channel layout.
         */
        constructor (layout: AVAudioChannelLayout);
        /**
         * Creates a named channel mixer with the given channel layout.
         */
        constructor (layout: AVAudioChannelLayout, identifier: string);
    }
    export class PHASEAmbientMixerDefinition extends PHASEMixerDefinition {
        /**
         * The channel layout of input audio.
         */
        inputChannelLayout: AVAudioChannelLayout;
        /**
         * A quaternion that describes the orientation of the speaker layout relative to the scene origin.
         */
        orientation: simd_quatf;
        /**
         * Creates an ambient mixer with the given channel layout and orientation.
         */
        constructor (layout: AVAudioChannelLayout, orientation: simd_quatf);
        /**
         * Creates a named ambient mixer with the given channel layout and orientation.
         */
        constructor (layout: AVAudioChannelLayout, orientation: simd_quatf, identifier: string);
    }
    export class PHASEMixerDefinition extends PHASEDefinition {
        /**
         * The mixer's volume.
         */
        gain: number;
        /**
         * A template for a parameter that changes the mixer’s volume gradually over a period of time.
         */
        gainMetaParameterDefinition: PHASENumberMetaParameterDefinition | null;
    }
    export class PHASEAssetRegistry extends NSObject {
        /**
         * A dictionary of metaparameters that all sound event assets share.
         */
        globalMetaParameters: Record<string, PHASEMetaParameter>;
        /**
         * Loads a sound asset from the argument URL and adds it to the engine’s list of registered assets.
         */
        registerSoundAsset(url: URL, identifier: string, assetType: PHASEAsset.AssetType, channelLayout: AVAudioChannelLayout | null, normalizationMode: PHASENormalizationMode):PHASESoundAsset;
        /**
         * Deallocates system memory for a given asset and removes it from the engine’s list of registered assets.
         */
        unregisterAsset(identifier: string, handler: ()=>any | null):void;
        /**
         * Registers the root node of the sound event asset.
         */
        registerSoundEventAsset(rootNode: PHASESoundEventNodeDefinition, identifier: string):PHASESoundEventNodeAsset;
        /**
         * Provides the asset named with the designated identifier.
         */
        asset(identifier: string):PHASEAsset | null;
        /**
         * Registers a global metaparameter with the asset registry.
         */
        registerGlobalMetaParameter(metaParameterDefinition: PHASEMetaParameterDefinition):PHASEGlobalMetaParameterAsset;
    }
    export class PHASEMixer extends NSObject {
        /**
         * The mixer's volume.
         */
        gain: number;
        /**
         * A parameter that changes the mixer's volume gradually over a period of time.
         */
        gainMetaParameter: PHASEMetaParameter | null;
        /**
         * A unique name for the mixer.
         */
        identifier: string;
    }
    export class PHASESpatialMixerDefinition extends PHASEMixerDefinition {
        /**
         * An object that adds sound layers for environmental effects.
         */
        spatialPipeline: PHASESpatialPipeline;
        /**
         * An effect that changes sound as it carries over a distance.
         */
        distanceModelParameters: PHASEDistanceModelParameters | null;
        /**
         * A data set that determines how well the listener hears depending on its direction relative to a sound source.
         */
        listenerDirectivityModelParameters: PHASEDirectivityModelParameters | null;
        /**
         * A data set that directs sound such that it's louder when directed at the listener.
         */
        sourceDirectivityModelParameters: PHASEDirectivityModelParameters | null;
        /**
         * Creates a mixer with the designated spatial pipeline.
         */
        constructor (spatialPipeline: PHASESpatialPipeline);
        /**
         * Creates a named mixer with the designated spatial pipeline.
         */
        constructor (spatialPipeline: PHASESpatialPipeline, identifier: string);
    }
    export class PHASESpatialPipeline extends NSObject {
        /**
         * A collection of environmental effects to include in the output.
         */
        flags: PHASESpatialPipeline.Flags;
        /**
         * Audio layers for environmental effects to add to the output.
         */
        entries: Record<PHASESpatialCategory, PHASESpatialPipelineEntry>;
        /**
         * Creates a spatial pipeline with the specified flags.
         */
        constructor (flags: PHASESpatialPipeline.Flags);
    }
    /**
     * the same name namespace of class PHASESpatialPipeline
     */
    export namespace PHASESpatialPipeline {
        export class Flags {
            /**
             * A spatial property that refers to the original audio signal.
             */
            static directPathTransmission: PHASESpatialPipeline.Flags;
            /**
             * A spatial property that refers to the earlier echoes along the duration of sound resonance.
             */
            static earlyReflections: PHASESpatialPipeline.Flags;
            /**
             * A spatial property that refers to the later echoes along the duration of sound resonance.
             */
            static lateReverb: PHASESpatialPipeline.Flags;
            /**
             * Initializes a spatial flag with the given string.
             */
            constructor (rawValue: number);
        }
    }
    export class PHASESpatialPipelineEntry extends NSObject {
        /**
         * The amount of audio signal to add to the output.
         */
        sendLevel: number;
        /**
         * A parameter that gradually updates the amount of audio signal that passes through to the output. 
         */
        sendLevelMetaParameterDefinition: PHASENumberMetaParameterDefinition | null;
    }
    export class PHASESpatialCategory {
        /**
         * A spatial category that refers to the unfiltered audio signal.
         */
        static directPathTransmission: PHASESpatialCategory;
        /**
         * A spatial category that refers to the earlier echoes along the duration of sound resonance.
         */
        static earlyReflections: PHASESpatialCategory;
        /**
         * A spatial category that refers to the later echoes along the duration of sound resonance.
         */
        static lateReverb: PHASESpatialCategory;
        /**
         * Initializes a spatial category with the given string.
         */
        constructor (rawValue: string);
    }
    export class PHASEGeometricSpreadingDistanceModelParameters extends PHASEDistanceModelParameters {
        /**
         * A value that fades specific frequencies over a distance.
         */
        rolloffFactor: number;
        /**
         * Creates the geometric spreading distance model parameters.
         */
        constructor ();
    }
    export class PHASEEnvelopeDistanceModelParameters extends PHASEDistanceModelParameters {
        /**
         * An envelope that shapes sound dissipation over distance.
         */
        envelope: PHASEEnvelope;
        /**
         * Creates the distance model parameters with an envelope.
         */
        constructor (envelope: PHASEEnvelope);
    }
    export class PHASEDistanceModelFadeOutParameters extends NSObject {
        /**
         * The distance beyond which the framework doesn’t process the sound.
         */
        cullDistance: number;
        /**
         * Creates a distance beyond which sound sources stop playing.
         */
        constructor (cullDistance: number);
    }
    export class PHASEDistanceModelParameters extends NSObject {
        /**
         * A distance over which the framework fades out the mixer's sound.
         */
        fadeOutParameters: PHASEDistanceModelFadeOutParameters | null;
    }
    export class PHASECardioidDirectivityModelParameters extends PHASEDirectivityModelParameters {
        /**
         * An array of frequencies that describe varying sound emission across the spectrum.
         */
        subbandParameters: PHASECardioidDirectivityModelSubbandParameters[];
        /**
         * Creates an object that directs sound in a heart-shaped curve surrounding a sound source.
         */
        constructor (subbandParameters: PHASECardioidDirectivityModelSubbandParameters[]);
    }
    export class PHASECardioidDirectivityModelSubbandParameters extends NSObject {
        /**
         * A frequency in the audio spectrum where the pattern and sharpness resonate most.
         */
        frequency: number;
        /**
         * A shape that determines the direction of sound.
         */
        pattern: number;
        /**
         * The amount that the shape overlaps with bordering subbands.
         */
        sharpness: number;
        /**
         * Creates a data set that projects sound of a certain frequency outward in the shape of a heart. 
         */
        constructor ();
    }
    export class PHASEConeDirectivityModelParameters extends PHASEDirectivityModelParameters {
        /**
         * An array of frequencies that describe varying sound emission across the spectrum.
         */
        subbandParameters: PHASEConeDirectivityModelSubbandParameters[];
        /**
         * Creates an object that directs sound in a cone-shaped curve that extends from a sound source.
         */
        constructor (subbandParameters: PHASEConeDirectivityModelSubbandParameters[]);
    }
    export class PHASEConeDirectivityModelSubbandParameters extends NSObject {
        /**
         * A frequency in the audio spectrum where the subband resonates most.
         */
        frequency: number;
        /**
         * An angle, in degrees, that determines the size of the audio emitting area inside the cone.
         */
        innerAngle: number;
        /**
         * An angle, in degrees, that determines the size of the audio emitting area outside the cone.
         */
        outerAngle: number;
        /**
         * The loudness of the audio the outside area of the cone emits.
         */
        outerGain: number;
        /**
         * Creates a data set that projects sound of a certain frequency outward in the shape of a cone.
         */
        constructor ();
        /**
         * Configures a focus area for cone-based sound directivity.
         */
        setAngles(innerAngle: number, outerAngle: number):void;
    }
    export class PHASEDirectivityModelParameters extends NSObject {}
    export class PHASEEnvelope extends NSObject {
        /**
         * An array of the envelope's segments.
         */
        segments: PHASEEnvelopeSegment[];
        /**
         * The starting point along the envelope's duration.
         */
        startPoint: simd_double2;
        /**
         * The range of the envelope's possible input values.
         */
        domain: PHASENumericPair;
        /**
         * The bounds of the output value.
         */
        range: PHASENumericPair;
        /**
         * Creates an envelope with a start point and segments.
         */
        constructor (startPoint: simd_double2, segments: PHASEEnvelopeSegment[]);
        /**
         * Provides the height of the envelope for an input value. 
         */
        evaluate(x: number):number;
    }
    export class PHASEEnvelopeSegment extends NSObject {
        /**
         * A curve along the envelope that shapes the segment.
         */
        curveType: PHASECurveType;
        /**
         * A point that identifies the end of the segment along the envelope.
         */
        endPoint: simd_double2;
        /**
         * Creates a curved portion of an envelope.
         */
        constructor (endPoint: simd_double2, curveType: PHASECurveType);
    }
    export enum PHASECurveType {
        linear = 1668435054,
        squared = 1668436849,
        inverseSquared = 1668434257,
        cubed = 1668432757,
        inverseCubed = 1668434243,
        sine = 1668436846,
        inverseSine = 1668434259,
        sigmoid = 1668436839,
        inverseSigmoid = 1668434247,
        holdStartValue = 1668434003,
        jumpToEndValue = 1668434501,
    }
    export enum PHASENormalizationMode {
        dynamic = 1,
        none = 0,
    }
    export class PHASENumericPair extends NSObject {
        /**
         * The first value in the pair.
         */
        first: number;
        /**
         * The second value in the pair.
         */
        second: number;
        /**
         * Creates a pair of numbers with the given values.
         */
        constructor (first: number, second: number);
    }
    export class PHASEMetaParameter extends NSObject {
        /**
         * A value for the metaparameter.
         */
        value: any;
        /**
         * A unique name for the metaparameter.
         */
        identifier: string;
    }
    export class PHASEMetaParameterDefinition extends PHASEDefinition {
        /**
         * A constant value for the parameter definition.
         */
        value: any;
    }
    export class PHASEGlobalMetaParameterAsset extends PHASEAsset {}
    export class PHASENumberMetaParameter extends PHASEMetaParameter {
        /**
         * The lowest possible number for the value.
         */
        minimum: number;
        /**
         * The highest possible number for the value.
         */
        maximum: number;
        /**
         * Sets the value gradually over the given amount of time.
         */
        fade(value: number, duration: TimeInterval):void;
    }
    export class PHASENumberMetaParameterDefinition extends PHASEMetaParameterDefinition {
        /**
         * The lowest possible number for the value.
         */
        minimum: number;
        /**
         * The highest possible number for the value.
         */
        maximum: number;
        /**
         * Creates a specification for a metaparameter with the given numeric value.
         */
        constructor (value: number);
        /**
         * Creates a specification for a named metaparameter with the given numeric value. 
         */
        constructor (value: number, identifier: string);
        /**
         * Creates a specification for a metaparameter with the given numeric value and range. 
         */
        constructor (value: number, minimum: number, maximum: number);
        /**
         * Creates a specification for a named metaparameter with the given numeric value and range.
         */
        constructor (value: number, minimum: number, maximum: number, identifier: string);
    }
    export enum PHASESpatializationMode {
        automatic = 0,
        alwaysUseBinaural = 1,
        alwaysUseChannelBased = 2,
    }
    export class PHASEStringMetaParameter extends PHASEMetaParameter {}
    export class PHASEStringMetaParameterDefinition extends PHASEMetaParameterDefinition {
        /**
         * Creates a specification for a textual metaparameter with the given value.
         */
        constructor (value: string);
        /**
         * Creates a specification for a named textual metaparameter with the given value.
         */
        constructor (value: string, identifier: string);
    }
    export class PHASEMappedMetaParameterDefinition extends PHASENumberMetaParameterDefinition {
        /**
         * A linear input value to plot on a curve.
         */
        inputMetaParameterDefinition: PHASENumberMetaParameterDefinition;
        /**
         * A collection of line segments that curve and connect to form a graph. 
         */
        envelope: PHASEEnvelope;
        /**
         * Creates a specification for a metaparameter that the app plots on a graph defined by the given set of curves.
         */
        constructor (inputMetaParameterDefinition: PHASENumberMetaParameterDefinition, envelope: PHASEEnvelope);
        /**
         * Creates a specification for a named metaparameter that the app plots on a graph defined by the given set of curves. 
         */
        constructor (inputMetaParameterDefinition: PHASENumberMetaParameterDefinition, envelope: PHASEEnvelope, identifier: string);
    }
    export class PHASEGroup extends NSObject {
        /**
         * A unique name for the group.
         */
        identifier: string;
        /**
         * Modifies the volume of the group's sounds.
         */
        gain: number;
        /**
         * The group’s playback speed.
         */
        rate: number;
        /**
         * A Boolean value that indicates whether the app silences the group.
         */
        isMuted: boolean;
        /**
         * A Boolean value that indicates whether the app silences all groups other than this group.
         */
        isSoloed: boolean;
        /**
         * Creates a group with a unique name.
         */
        constructor (identifier: string);
        /**
         * Adds the group to the engine's dictionary.
         */
        register(engine: PHASEEngine):void;
        /**
         * Removes the group from the engine's dictionary.
         */
        unregisterFromEngine():void;
        /**
         * Adjusts the volume of the sounds in a group gradually.
         */
        fadeGain(gain: number, duration: number, curveType: PHASECurveType):void;
        /**
         * Adjusts the playback speed of the sounds in a group gradually.
         */
        fadeRate(rate: number, duration: number, curveType: PHASECurveType):void;
        /**
         * Silences the group.
         */
        mute():void;
        /**
         * Restores the group's volume.
         */
        unmute():void;
        /**
         * Silences all other groups.
         */
        solo():void;
        /**
         * Restores the other groups' volume.
         */
        unsolo():void;
    }
    export class PHASEGroupPreset extends NSObject {
        /**
         * A dictionary with preset setting values and group objects as keys.
         */
        settings: Record<string, PHASEGroupPresetSetting>;
        /**
         * A duration in which the engine fades the settings from their original value to their new value.
         */
        timeToTarget: number;
        /**
         * A duration in which the framework restores the group’s original state.
         */
        timeToReset: number;
        /**
         * Creates a group preset with the designated engine, settings, and fade parameters.
         */
        constructor (engine: PHASEEngine, settings: Record<string, PHASEGroupPresetSetting>, timeToTarget: number, timeToReset: number);
        /**
         * Applies settings to the designated groups.
         */
        activate():void;
        /**
         * Reverts settings for the preset's groups.
         */
        deactivate():void;
    }
    export class PHASEGroupPresetSetting extends NSObject {
        /**
         * The volume of audio playback.
         */
        gain: number;
        /**
         * A rate of change for the setting's volume.
         */
        gainCurveType: PHASECurveType;
        /**
         * The playback speed for audio.
         */
        rate: number;
        /**
         * A rate of change for the setting’s playback speed.
         */
        rateCurveType: PHASECurveType;
        /**
         * Creates a group preset setting.
         */
        constructor (gain: number, rate: number, gainCurveType: PHASECurveType, rateCurveType: PHASECurveType);
    }
    export enum PHASEReverbPreset {
        cathedral = 1917023336,
        largeChamber = 1917600616,
        largeHall = 1917601841,
        largeHall2 = 1917601842,
        largeRoom = 1917604401,
        largeRoom2 = 1917604402,
        mediumChamber = 1917666152,
        mediumHall = 1917667377,
        mediumHall2 = 1917667378,
        mediumHall3 = 1917667379,
        mediumRoom = 1917669997,
        none = 1917742958,
        smallRoom = 1918063213,
    }
    export class PHASEDucker extends NSObject {
        /**
         * The sounds that determine volume reduction.
         */
        sourceGroups: Set<PHASEGroup>;
        /**
         * The sounds that reduce in volume.
         */
        targetGroups: Set<PHASEGroup>;
        /**
         * The amount of volume reduction.
         */
        gain: number;
        /**
         * A unique value for the ducker.
         */
        identifier: string;
        /**
         * A Boolean value that determines whether the ducker reduces sound.
         */
        isActive: boolean;
        /**
         * The amount of time for sound reduction to reach maximum strength.
         */
        attackTime: number;
        /**
         * A mathematical curve that shapes transition progress as sound reduction begins.
         */
        attackCurve: PHASECurveType;
        /**
         * The amount of time to transition from maximum sound reduction to no reduction.
         */
        releaseTime: number;
        /**
         * A mathematical curve that shapes transition progress as sound reduction ends.
         */
        releaseCurve: PHASECurveType;
        /**
         * Creates an object that manages competing sounds.
         */
        constructor (engine: PHASEEngine, sourceGroups: Set<PHASEGroup>, targetGroups: Set<PHASEGroup>, gain: number, attackTime: number, releaseTime: number, attackCurve: PHASECurveType, releaseCurve: PHASECurveType);
        /**
         * Instructs the ducker to begin altering sound.
         */
        activate():void;
        /**
         * Stops the ducker from altering sound.
         */
        deactivate():void;
    }
    export class PHASEError {
        /**
         * An error that indicates the engine failed to initialize.
         */
        static initializeFailed: PHASEError.Code;
        /**
         * An error that indicates an object is invalid in a specific context.
         */
        static invalidObject: PHASEError.Code;
        /**
         * A unique error domain for the framework.
         */
        static errorDomain: string;
        /**
         * A code that indicates the cause of the error.
         */
        code: Code;
        /**
         * An integer value for an error.
         */
        errorCode: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The error user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A string that contains a description of the error.
         */
        localizedDescription: string;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PHASEError
     */
    export namespace PHASEError {
        export enum Code {
            initializeFailed = 1346913633,
            invalidObject = 1346913634,
        }
    }
    export class PHASEAssetError {
        /**
         * A unique error domain for PHASE assets. 
         */
        static errorDomain: string;
        /**
         * An error the asset registry throws when the app registers an asset twice by the same name.
         */
        static alreadyExists: PHASEAssetError.Code;
        /**
         * An error that indicates an asset registry call contains invalid data.
         */
        static badParameters: PHASEAssetError.Code;
        /**
         * An error that indicates an asset failed to load.
         */
        static failedToLoad: PHASEAssetError.Code;
        /**
         * An error the asset registry throws when an unspecified problem occurs.
         */
        static generalError: PHASEAssetError.Code;
        /**
         * An error that indicates an asset registry call references an invalid engine.
         */
        static invalidEngineInstance: PHASEAssetError.Code;
        /**
         * An error the framework throws when an asset depletes system memory.
         */
        static memoryAllocation: PHASEAssetError.Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The error user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A string that contains a description of the error.
         */
        localizedDescription: string;
        /**
         * A code that indicates the cause of the error.
         */
        code: Code;
        /**
         * An integer value for an error.
         */
        errorCode: number;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PHASEAssetError
     */
    export namespace PHASEAssetError {
        export enum Code {
            alreadyExists = 1346920804,
            badParameters = 1346920803,
            failedToLoad = 1346920801,
            generalError = 1346920805,
            invalidEngineInstance = 1346920802,
            memoryAllocation = 1346920806,
        }
    }
    export class PHASESoundEventError {
        /**
         * A unique error domain for sound events. 
         */
        static errorDomain: string;
        /**
         * An error that indicates the app misconfigures data or calls the framework in unsupported succession.
         */
        static apiMisuse: PHASESoundEventError.Code;
        /**
         * An error that indicates a sound event contains invalid data.
         */
        static badData: PHASESoundEventError.Code;
        /**
         * An error that indicates a sound event object is no longer valid.
         */
        static invalidInstance: PHASESoundEventError.Code;
        /**
         * An error the framework throws when it fails to find a particular sound event.
         */
        static notFound: PHASESoundEventError.Code;
        /**
         * An error the framework throws when a sound event depletes system memory.
         */
        static outOfMemory: PHASESoundEventError.Code;
        /**
         * An error the framework throws when engine initialization interrupts sound event playback.
         */
        static systemNotInitialized: PHASESoundEventError.Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The error user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A string that contains a description of the error.
         */
        localizedDescription: string;
        /**
         * A code that indicates the cause of the error.
         */
        code: Code;
        /**
         * An integer value for an error.
         */
        errorCode: number;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of a value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class PHASESoundEventError
     */
    export namespace PHASESoundEventError {
        export enum Code {
            apiMisuse = 1346925668,
            badData = 1346925666,
            invalidInstance = 1346925667,
            notFound = 1346925665,
            outOfMemory = 1346925670,
            systemNotInitialized = 1346925669,
        }
    }
    export class PHASEMedium extends NSObject {
        /**
         * Creates a medium.
         */
        constructor (engine: PHASEEngine, preset: PHASEMedium.Preset);
    }
    /**
     * the same name namespace of class PHASEMedium
     */
    export namespace PHASEMedium {
        export enum Preset {
            air = 1835286898,
        }
    }
    export class PHASESource extends PHASEObject {
        /**
         * The amount of sound the source emanates.
         */
        gain: number;
        /**
         * An array of shapes that collectively define the audio-emitting surface area of a volumetric source.
         */
        shapes: PHASEShape[];
        /**
         * Creates a single point in the environment from which sound emanates.
         */
        constructor (engine: PHASEEngine);
        /**
         * Creates a voluminous area in the environment from which sound emanates.
         */
        constructor (engine: PHASEEngine, shapes: PHASEShape[]);
    }
    export class PHASEListener extends PHASEObject {
        /**
         * Modifies the volume of all audio playback for the listener's mixers.
         */
        gain: number;
        /**
         * Creates a listener with the given engine.
         */
        constructor (engine: PHASEEngine);
    }
    export class PHASEOccluder extends PHASEObject {
        /**
         * An array of shapes that collectively define the occluder's audio-deflecting surface and texture.
         */
        shapes: PHASEShape[];
        /**
         * Creates an occluder with the given engine and shapes.
         */
        constructor (engine: PHASEEngine, shapes: PHASEShape[]);
    }
    export class PHASEObject extends NSObject {
        /**
         * A vector that points forward in the local coordinate space.
         */
        static forward: simd_float3;
        /**
         * A vector that points right in the local coordinate space.
         */
        static right: simd_float3;
        /**
         * A vector that points up in the local coordinate space.
         */
        static up: simd_float3;
        /**
         * Objects that position and orient in the scene relative to the given object.
         */
        children: PHASEObject[];
        /**
         * The object that this instance positions and orients relative to in the scene.
         */
        parent: PHASEObject | null;
        /**
         * A matrix, in local coordinates, that determines the object's pose in the scene.
         */
        transform: simd_float4x4;
        /**
         * A matrix, in scene coordinates, that determines the object’s pose in the scene.
         */
        worldTransform: simd_float4x4;
        /**
         * Creates an object in the scene.
         */
        constructor (engine: PHASEEngine);
        /**
         * Adds the given object as a child.
         */
        addChild(child: PHASEObject):void;
        /**
         * Removes the given object as a child.
         */
        removeChild(child: PHASEObject):void;
        /**
         * Removes all child objects from the given object.
         */
        removeChildren():void;
    }
    export class PHASEShape extends NSObject {
        /**
         * An array of objects that collectively describe the physical characteristics of a surface.
         */
        elements: PHASEShape.Element[];
        /**
         * Creates an object that the given geometric data shapes.
         */
        constructor (engine: PHASEEngine, mesh: MDLMesh);
        /**
         * Creates an object of a specific material that the given geometric data shapes. 
         */
        constructor (engine: PHASEEngine, mesh: MDLMesh, materials: PHASEMaterial[]);
    }
    /**
     * the same name namespace of class PHASEShape
     */
    export namespace PHASEShape {
        export class Element extends NSObject {
            /**
             * A surface characteristic that determines the acoustic properties of an object. 
             */
            material: PHASEMaterial | null;
        }
    }
    export class PHASEMaterial extends NSObject {
        /**
         * Creates a material with the given preset.
         */
        constructor (engine: PHASEEngine, preset: PHASEMaterialPreset);
    }
    export enum PHASEMaterialPreset {
        brick = 1833071211,
        cardboard = 1833136740,
        concrete = 1833132914,
        drywall = 1833202295,
        glass = 1833397363,
        wood = 1834448228,
    }
}

/**
 * Read contactless physical and digital wallet cards using your iPhone.
 */
declare module ProximityReader {
    export class PaymentCardReader {
        /**
         * A Boolean value that indicates whether this device supports Tap to Pay on iPhone.
         */
        static isSupported: boolean;
        /**
         * A stream of events you receive indicating the activities of the payment card reader.
         */
        events: AsyncStream<PaymentCardReader.Event>;
        /**
         * The unique identifier for this card reader.
         */
        readerIdentifier: string;
        /**
         * A unique identifier for this object.
         */
        id: string;
        /**
         * Creates a payment card reader with the specified options.
         */
        constructor (options: PaymentCardReader.Options);
        /**
         * Configures the pipeline for reading payment or loyalty cards.
         */
        prepare(token: PaymentCardReader.Token):PaymentCardReaderSession;
        /**
         * Presents a sheet for the merchant to accept Tap to Pay on iPhone’s Terms and Conditions on a device.
         */
        linkAccount(token: PaymentCardReader.Token):void;
        /**
         * Presents a sheet for the merchant to re-accept Tap to Pay on iPhone’s Terms and Conditions on a device using a different Apple ID.
         */
        relinkAccount(token: PaymentCardReader.Token):void;
    }
    /**
     * the same name namespace of class PaymentCardReader
     */
    export namespace PaymentCardReader {
        export class Options {
            /**
             * A global list of merchants to use when reading loyalty cards.
             */
            vasMerchants: VASRequest.Merchant[];
            /**
             * Creates a new options structure with the specified list of merchants.
             */
            constructor (vasMerchants: VASRequest.Merchant[]);
        }
        export enum Event {}
        export enum UpdateEvent {}
        export class Token {
            /**
             * The raw token string from your payment service provider.
             */
            rawValue: string;
            hashValue: number;
            /**
             * Creates a token with the string your payment service provider gave you.
             */
            constructor (rawValue: string);
            hash(hasher: Hasher):void;
        }
    }
    export class PaymentCardReaderSession {
        /**
         * A unique identifier for this object.
         */
        id: string;
        /**
         * Presents a sheet to verify a contactless payment card, and returns the card data.
         */
        readPaymentCard(request: PaymentCardVerificationRequest):PaymentCardReadResult;
        /**
         * Presents a sheet to read a loyalty card for Value Added Services (VAS), and returns the loyalty card data.
         */
        readVAS(request: VASRequest):VASReadResult;
        /**
         * Presents a sheet to capture the PIN when required by the payment card issuer,
         *  
         * and returns the previously encrypted card data including newly captured PIN data.
         */
        capturePIN(token: PaymentCardReaderSession.PINToken, cardReaderTransactionID: string):PaymentCardReadResult;
        /**
         * Dismiss the sheet that prompts someone to present their card for reading.
         */
        cancelRead():boolean;
    }
    /**
     * the same name namespace of class PaymentCardReaderSession
     */
    export namespace PaymentCardReaderSession {
        export class PINToken {
            /**
             * The raw token string from your payment service provider.
             */
            rawValue: string;
            hashValue: number;
            /**
             * Creates a token with the string your payment service provider gave you.
             */
            constructor (rawValue: string);
            hash(hasher: Hasher):void;
        }
        export enum ReadError {}
        export enum Event {}
    }
    export class PaymentCardTransactionRequest {
        /**
         * The amount of the purchase or refund, in the requested currency.
         */
        amount: Decimal;
        /**
         * The ISO 4217 code that indicates the currency type.
         */
        currencyCode: string;
        /**
         * The type of transaction, which is either a purchase or a refund.
         */
        type: PaymentCardTransactionRequest.TransactionType;
        /**
         * Creates a new transaction request for the specified amount in the designated currency.
         */
        constructor (amount: Decimal, currencyCode: string, type: PaymentCardTransactionRequest.TransactionType);
    }
    /**
     * the same name namespace of class PaymentCardTransactionRequest
     */
    export namespace PaymentCardTransactionRequest {
        export enum TransactionType {}
    }
    export class PaymentCardVerificationRequest {
        /**
         * The ISO 4217 code that indicates the currency type.
         */
        currencyCode: string;
        /**
         * The reason you asked to verify someone’s card.
         */
        verificationReason: PaymentCardVerificationRequest.Reason;
        /**
         * Creates a new verification request using the specified currency and reason information.
         */
        constructor (currencyCode: string, reason: PaymentCardVerificationRequest.Reason);
    }
    /**
     * the same name namespace of class PaymentCardVerificationRequest
     */
    export namespace PaymentCardVerificationRequest {
        export enum Reason {}
    }
    export class PaymentCardReadResult {
        /**
         * A Base64-encoded string that contains general cardholder data in
         *  
         * type-length-value (TLV) format.
         */
        generalCardData: string;
        /**
         * A Base64-encoded string that contains the encrypted payment information
         *  
         * to send to your payment provider.
         */
        paymentCardData: string;
        /**
         * The unique identifier for the transaction.
         */
        id: string;
    }
    export class VASRequest {
        /**
         * The localized name of the loyalty program.
         */
        localizedVASType: string;
        /**
         * The list of merchants to match against the user’s Wallet content or loyalty card.
         */
        vasMerchants: VASRequest.Merchant[];
        /**
         * Creates a request to read loyalty card service information.
         */
        constructor (vasMerchants: VASRequest.Merchant[], localizedVASType: string);
    }
    /**
     * the same name namespace of class VASRequest
     */
    export namespace VASRequest {
        export class Merchant {
            /**
             * The localized name of the merchant or corresponding loyalty program.
             */
            localizedName: string;
            /**
             * The URL to display to the customer if the matching loyalty or reward ID isn’t found.
             */
            url: URL | null;
            /**
             * A Boolean value that indicates whether to send only the merchant URL to the customer’s device without requesting data.
             */
            shouldSendURLOnly: boolean;
            /**
             * A unique identifier for the merchant.
             */
            id: string;
            /**
             * Creates a new merchant object with the specified information.
             */
            constructor (id: string, url: URL | null, shouldSendURLOnly: boolean, localizedName: string);
        }
    }
    export class VASReadResult {
        /**
         * The list of loyalty reward card entries received from the customer.
         */
        entries: VASReadResult.ReadEntry[];
        /**
         * A unique identifier string for the requested read operation.
         */
        id: string;
        /**
         * Creates a new result object with the specified identifier and customer entries.
         */
        constructor (id: string, entries: VASReadResult.ReadEntry[]);
    }
    /**
     * the same name namespace of class VASReadResult
     */
    export namespace VASReadResult {
        export class ReadEntry {
            /**
             * The encrypted content of the pass stored in Wallet, which contains
             *  
             * the loyalty or reward pass identifier.
             */
            customerVASData: Data | null;
            /**
             * The status word that represents the outcome of the VAS read
             *  
             * attempt for this reward pass.
             */
            status: VASReadResult.ReadEntry.Status;
            /**
             * The merchant identifier you used to retrieve the loyalty program information from Wallet.
             */
            id: string;
        }
        /**
         * the same name namespace of class ReadEntry
         */
        export namespace ReadEntry {
            export enum Status {}
        }
    }
    export enum PaymentCardReaderError {}
}

/**
 * Respond to push notifications related to your app’s complications, file providers, and VoIP services.
 */
declare module PushKit {
    export class PKPushRegistry extends NSObject {
        /**
         * The delegate object that receives notifications coming from the push registry object.
         */
        delegate: PKPushRegistryDelegate | null;
        /**
         * Registers the push types for this push registry object.
         */
        desiredPushTypes: Set<PKPushType> | null;
        /**
         * Creates a push registry with the specified dispatch queue.
         */
        constructor (queue: DispatchQueue | null);
        /**
         * Retrieves the locally cached push token for the specified push type.
         */
        pushToken(type: PKPushType):Data | null;
    }
    export interface PKPushRegistryDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the system updated the credentials for the specified type of push notification.
         */
        pushRegistry(registry: PKPushRegistry, pushCredentials: PKPushCredentials, type: PKPushType):void;
    }
    export class PKPushCredentials extends NSObject {
        /**
         * A unique device token to use when sending push notifications to the current device. 
         */
        token: Data;
        /**
         * The push type constant associated with the token.
         */
        type: PKPushType;
    }
    export class PKPushType {
        /**
         * A push type for watchOS complications. 
         */
        static complication: PKPushType;
        /**
         * A push type for file provider updates. 
         */
        static fileProvider: PKPushType;
        /**
         * A push type for Voice-over-IP (VoIP) call invitations. 
         */
        static voIP: PKPushType;
        constructor (rawValue: string);
    }
    export class PKPushPayload extends NSObject {
        /**
         * The contents of the received payload.
         */
        dictionaryPayload: Record<AnyHashable, any>;
        /**
         * The type value indicating how to interpret the payload.
         */
        type: PKPushType;
    }
}

/**
 * Create previews of files to use inside your app, or perform simple edits on previews.
 */
declare module QuickLook {
    export class QLPreviewController extends UIViewController {
        /**
         * The preview controller’s data source.
         */
        dataSource: QLPreviewControllerDataSource | null;
        /**
         * The preview controller’s delegate object.
         */
        delegate: QLPreviewControllerDelegate | null;
        /**
         * The item currently displayed in the Quick Look preview controller.
         */
        currentPreviewItem: QLPreviewItem | null;
        /**
         * The index within the preview item navigation list of the item currently displayed in the Quick Look preview controller.
         */
        currentPreviewItemIndex: number;
        /**
         * Returns a Boolean value that indicates whether the preview controller can display an item.
         */
        static canPreview(item: QLPreviewItem):boolean;
        /**
         * Asks the Quick Look preview controller to recompute the display of the current preview item.
         */
        refreshCurrentPreviewItem():void;
        /**
         * Asks the preview controller to reload its data from its data source.
         */
        reloadData():void;
    }
    export interface QLPreviewControllerDataSource {
        /**
         * Returns the number of preview items to include in the preview navigation list.
         */
        numberOfPreviewItems(controller: QLPreviewController):number;
        /**
         * Returns the preview item that the controller should display for the specified index.
         */
        previewController(controller: QLPreviewController, index: number):QLPreviewItem;
    }
    export interface QLPreviewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the preview is about to be presented full screen or dismissed and asks for information to provide a zoom effect.
         */
        previewController(controller: QLPreviewController, item: QLPreviewItem, view: AutoreleasingUnsafeMutablePointer<UIView?>):CGRect;
        /**
         * Tells the delegate that the preview is about to close.
         */
        previewControllerWillDismiss(controller: QLPreviewController):void;
        /**
         * Tells the delegate that the preview was closed.
         */
        previewControllerDidDismiss(controller: QLPreviewController):void;
    }
    export enum QLPreviewItemEditingMode {
        createCopy = 2,
        disabled = 0,
        updateContents = 1,
    }
    export interface QLPreviewItem extends NSObjectProtocol {
        /**
         * The URL of the item to preview.
         */
        previewItemURL: URL | null;
        /**
         * The title to display for the preview item.
         */
        previewItemTitle: string;
    }
    export class QLPreviewSceneActivationConfiguration extends UIWindowScene.ActivationConfiguration {
        /**
         * Creates a preview scene configuration.
         */
        constructor (urls: URL[], options: QLPreviewSceneActivationConfiguration.Options | null);
    }
    /**
     * the same name namespace of class QLPreviewSceneActivationConfiguration
     */
    export namespace QLPreviewSceneActivationConfiguration {
        export class Options extends NSObject {
            /**
             * The index of the item to preview.
             */
            initialPreviewIndex: number;
        }
    }
    export class QLPreviewPDFStyle {
        /**
         * The raw value that represents the layout of previews for PDF files.
         */
        rawValue: UInt32;
        /**
         * Creates a PDF style instance that configures the layout of previews for PDF files.
         */
        constructor (rawValue: UInt32);
        /**
         * Creates a PDF style instance that configures the layout of previews for PDF files.
         */
        constructor (rawValue: UInt32);
    }
    export class QLGeneratorInterfaceStruct {
        QueryInterface: ()=>any;
        AddRef: ()=>any;
        Release: ()=>any;
        GenerateThumbnailForURL: ()=>any;
        CancelThumbnailGeneration: ()=>any;
        GeneratePreviewForURL: ()=>any;
        CancelPreviewGeneration: ()=>any;
        /**
         * Creates the interface structure that the platform uses to interface with a Quick Look plug-in.
         */
        constructor ();
        /**
         * Creates the interface structure that the platform uses to interface with a Quick Look plug-in.
         */
        constructor (_reserved: UnsafeMutableRawPointer!, QueryInterface: ()=>any, AddRef: ()=>any, Release: ()=>any, GenerateThumbnailForURL: ()=>any, CancelThumbnailGeneration: ()=>any, GeneratePreviewForURL: ()=>any, CancelPreviewGeneration: ()=>any);
    }
    export class QLThumbnail {}
    export class QLThumbnailRequest {}
    export class QLPreviewRequest {}
    export interface QLPreviewingController extends NSObjectProtocol {
        /**
         * Prepares the preview of a file at the specified file’s URL.
         */
        preparePreviewOfFile(url: URL, handler: ()=>any):void;
        /**
         * Prepares the preview for a file by using the data from Spotlight’s searchable item.
         */
        preparePreviewOfSearchableItem(identifier: string, queryString: string, handler: ()=>any):void;
        /**
         * Prepares the preview of a file identified within a file preview request.
         */
        providePreview(request: QLFilePreviewRequest, handler: ()=>any):void;
    }
    export class QLPreviewProvider extends NSObject {}
    export class QLFilePreviewRequest extends NSObject {
        /**
         * The URL that indicates the content to preview.
         */
        fileURL: URL;
    }
    export class QLPreviewReply extends NSObject {
        /**
         * The title for the system to display with the preview.
         */
        title: string;
        /**
         * The attachments for a preview reply that provide additional data for the system to display the preview.
         */
        attachments: Record<string, QLPreviewReplyAttachment>;
        stringEncoding: String.Encoding;
        /**
         * Creates a preview reply from an existing file URL.
         */
        constructor (fileURL: URL);
        /**
         * Creates a PDF preview reply.
         */
        constructor (defaultPageSize: CGSize, closure: PDFDocument);
        /**
         * Creates a preview reply of a specified size and from a specified type by providing the data of the preview.
         */
        constructor (contentType: UTType, contentSize: CGSize, closure: Data);
        /**
         * Creates a preview reply of a specified size by drawing into a CoreGraphics context.
         */
        constructor (contextSize: CGSize, isBitmap: boolean, closure: Void);
    }
    export class QLPreviewReplyAttachment extends NSObject {
        /**
         * The content type of the preview attachment.
         */
        contentType: UTType;
        /**
         * The data of the preview attachment.
         */
        data: Data;
        /**
         * Creates a preview reply attachment with the specified type.
         */
        constructor (data: Data, contentType: UTType);
    }
}

/**
 * Generate thumbnails for common file types and add a Thumbnail Extension to your app to enable others to create thumbnails of your custom files.
 */
declare module QuickLookThumbnailing {
    export class QLThumbnailGenerator extends NSObject {
        /**
         * The singleton thumbnail generator instance.
         */
        static shared: QLThumbnailGenerator;
        /**
         * Saves the best representation of thumbnail for a specific request to the specified URL.
         */
        saveBestRepresentation(request: QLThumbnailGenerator.Request, fileURL: URL, contentType: string, completionHandler: ()=>any):void;
        /**
         * Cancels the generation of a thumbnail for a given request.
         */
        cancel(request: QLThumbnailGenerator.Request):void;
        /**
         * Generates the best possible thumbnail representation for a file and calls a handler upon completion.
         */
        generateBestRepresentation(request: QLThumbnailGenerator.Request, completionHandler: ()=>any):void;
        /**
         * Generates various thumbnail representations for a file and calls the update handler for each thumbnail representation.
         */
        generateRepresentations(request: QLThumbnailGenerator.Request, updateHandler: ()=>any | null):void;
    }
    /**
     * the same name namespace of class QLThumbnailGenerator
     */
    export namespace QLThumbnailGenerator {
        export class Request extends NSObject {
            /**
             * The thumbnail sizes that you provide for a thumbnail request.
             */
            representationTypes: QLThumbnailGenerator.Request.RepresentationTypes;
            /**
             * The minimum height or width for a generated thumbnail.
             */
            minimumDimension: CGFloat;
            /**
             * A Boolean value indicating whether the generated thumbnail request should include icon decorations.
             */
            iconMode: boolean;
        }
        /**
         * the same name namespace of class Request
         */
        export namespace Request {
            export class RepresentationTypes {
                /**
                 * The thumbnail type to generate all possible thumbnail representations.
                 */
                static all: QLThumbnailGenerator.Request.RepresentationTypes;
                /**
                 * A file icon representation of a file.
                 */
                static icon: QLThumbnailGenerator.Request.RepresentationTypes;
                /**
                 * A faster to generate version of the thumbnail that may sacrifice quality for speed.
                 */
                static lowQualityThumbnail: QLThumbnailGenerator.Request.RepresentationTypes;
                /**
                 * A thumbnail representation of a file.
                 */
                static thumbnail: QLThumbnailGenerator.Request.RepresentationTypes;
                /**
                 * Creates a new thumbnail type object for a given value.
                 */
                constructor (rawValue: number);
            }
        }
    }
    export class QLThumbnailRepresentation extends NSObject {
        /**
         * A thumbnail in the form of a Core Graphics image object.
         */
        cgImage: CGImage;
        /**
         * A thumbnail in the form of an AppKit image object.
         */
        nsImage: NSImage;
        /**
         * A thumbnail in the form of a UIKit image object.
         */
        uiImage: UIImage;
        /**
         * The type of thumbnail.
         */
        type: QLThumbnailRepresentation.RepresentationType;
        /**
         * The rectangle within the thumbnail image of the document that represents its contents.
         */
        contentRect: CGRect;
    }
    /**
     * the same name namespace of class QLThumbnailRepresentation
     */
    export namespace QLThumbnailRepresentation {
        export enum RepresentationType {
            icon = 0,
            lowQualityThumbnail = 1,
            thumbnail = 2,
        }
    }
    export class QLThumbnailProvider extends NSObject {
        /**
         * Creates a thumbnail of a custom file type for a specific request.
         */
        provideThumbnail(request: QLFileThumbnailRequest, handler: ()=>any):void;
    }
    export class QLFileThumbnailRequest extends NSObject {
        /**
         * The maximum accepted size of a thumbnail.
         */
        maximumSize: CGSize;
        /**
         * The minimum accepted size of a thumbnail.
         */
        minimumSize: CGSize;
        /**
         * The scale of the requested thumbnail.
         */
        scale: CGFloat;
        /**
         * The URL of the image file to use for the thumbnail.
         */
        fileURL: URL;
    }
    export class QLThumbnailReply extends NSObject {
        /**
         * A short string that identifies the file type that the system uses as a badge when producing an icon thumbnail.
         */
        extensionBadge: string;
        /**
         * Creates a new thumbnail for a custom file type in the current context.
         */
        constructor (contextSize: CGSize, drawingBlock: ()=>any);
        /**
         * Creates a new thumbnail for a custom file type in the given context.
         */
        constructor (contextSize: CGSize, drawingBlock: ()=>any);
        /**
         * Creates a new thumbnail for a custom file type using a file at the given URL.
         */
        constructor (fileURL: URL);
    }
    export class QLThumbnailError {
        /**
         * A string containing the error domain.
         */
        static errorDomain: string;
        /**
         * The thumbnail couldn’t be created for the given file.
         */
        static generationFailed: QLThumbnailError.Code;
        /**
         * A low-quality thumbnail couldn’t be created.
         */
        static noCachedThumbnail: QLThumbnailError.Code;
        /**
         * The thumbnail for a remote file couldn’t be created.
         */
        static noCloudThumbnail: QLThumbnailError.Code;
        /**
         * The request to create a thumbnail was canceled.
         */
        static requestCancelled: QLThumbnailError.Code;
        /**
         * The request to create a thumbnail was invalid, for example, there’s no file at a provided URL.
         */
        static requestInvalid: QLThumbnailError.Code;
        /**
         * The thumbnail couldn’t be saved at the given URL.
         */
        static savingToURLFailed: QLThumbnailError.Code;
        /**
         * A code that indicates the type of error.
         */
        code: Code;
        /**
         * A number that represents the error code.
         */
        errorCode: number;
        /**
         * The user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * The error’s user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * A string containing the localized description of the error.
         */
        localizedDescription: string;
        /**
         * The hash value of the thumbnail error.
         */
        hashValue: number;
        /**
         * Creates a thumbnail error from the specified code.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the value by feeding them into the specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class QLThumbnailError
     */
    export namespace QLThumbnailError {
        export enum Code {
            generationFailed = 0,
            noCachedThumbnail = 2,
            noCloudThumbnail = 3,
            requestCancelled = 5,
            requestInvalid = 4,
            savingToURLFailed = 1,
        }
    }
}

/**
 * Record or stream video from the screen, and audio from the app and microphone.
 */
declare module ReplayKit {
    export class RPScreenRecorder extends NSObject {
        /**
         * The delegate for the screen recorder.
         */
        delegate: RPScreenRecorderDelegate | null;
        /**
         * A Boolean value that indicates whether the screen recorder is available for recording.
         */
        isAvailable: boolean;
        /**
         * A Boolean value that indicates whether the app is currently recording.
         */
        isRecording: boolean;
        /**
         * A Boolean value that indicates whether the microphone is currently enabled.
         */
        isMicrophoneEnabled: boolean;
        /**
         * A Boolean value that indicates whether the camera is currently enabled.
         */
        isCameraEnabled: boolean;
        /**
         * A view containing the contents of the front-facing camera.
         */
        cameraPreviewView: UIView | null;
        /**
         * The camera position to be used.
         */
        cameraPosition: RPCameraPosition;
        /**
         * Returns an app’s instance of the shared screen recorder.
         */
        static shared():RPScreenRecorder;
        /**
         * Starts recording the app display.
         */
        startRecording(handler: ()=>any | null):void;
        /**
         * Stops the current recording.
         */
        stopRecording(handler: ()=>any | null):void;
        /**
         * Starts screen and audio capture.
         */
        startCapture(captureHandler: ()=>any | null, completionHandler: ()=>any | null):void;
        /**
         * Stops screen capture
         */
        stopCapture(handler: ()=>any | null):void;
        /**
         * Discards the current recording.
         */
        discardRecording(handler: ()=>any):void;
        /**
         * Starts buffering a clip recording.
         */
        startClipBuffering(completionHandler: ()=>any | null):void;
        /**
         * Stops buffering a clip recording.
         */
        stopClipBuffering(completionHandler: ()=>any | null):void;
        /**
         * Exports a clip recording to a file.
         */
        exportClip(url: URL, duration: TimeInterval, completionHandler: ()=>any | null):void;
    }
    export enum RPCameraPosition {
        back = 2,
        front = 1,
    }
    export enum RPRecordingErrorCode {
        failedApplicationConnectionInterrupted = -5815,
        failedApplicationConnectionInvalid = -5814,
        failedAssetWriterExportCanceled = -5828,
        failedAssetWriterExportFailed = -5826,
        failedAssetWriterFailedToSave = -5823,
        failedAssetWriterInWrongState = -5825,
        failedIncorrectTimeStamps = -5821,
        failedMediaServicesFailure = -5817,
        failedNoAssetWriter = -5824,
        failedNoMatchingApplicationContext = -5816,
        failedToObtainURL = -5820,
        failedToProcessFirstSample = -5822,
        failedToRemoveFile = -5827,
        failedToStartCaptureStack = -5833,
        failedToStart = -5803,
        failedToSave = -5812,
        filePermissions = -5835,
        insufficientStorage = -5805,
        interrupted = -5806,
        invalidParameter = -5834,
        photoFailure = -5831,
        recordingInvalidSession = -5832,
        systemDormancy = -5809,
        unknown = -5800,
        userDeclined = -5801,
        videoMixingFailure = -5818,
        exportClipToURLInProgress = -5836,
    }
    export interface RPScreenRecorderDelegate extends NSObjectProtocol {
        /**
         * Indicates that the screen recording has stopped.
         */
        screenRecorder(screenRecorder: RPScreenRecorder, previewViewController: RPPreviewViewController | null, error: Error | null):void;
        /**
         * Indicates that the recorder has changed states between disabled and enabled.
         */
        screenRecorderDidChangeAvailability(screenRecorder: RPScreenRecorder):void;
    }
    export enum RPSampleBufferType {
        audioApp = 2,
        audioMic = 3,
        video = 1,
    }
    export class RPPreviewViewController extends NSViewController,UIViewController {
        /**
         * The type of screen that appears when the view is presented.
         */
        mode: RPPreviewViewControllerMode;
        /**
         * The preview view controller’s delegate.
         */
        previewControllerDelegate: RPPreviewViewControllerDelegate | null;
    }
    export enum RPPreviewViewControllerMode {
        preview = 0,
        share = 1,
    }
    export interface RPPreviewViewControllerDelegate extends NSObjectProtocol {
        /**
         * Indicates that the preview view controller is ready to be dismissed.
         */
        previewControllerDidFinish(previewController: RPPreviewViewController):void;
        /**
         * Indicates that the preview view controller is ready to be dismissed with associated activity types.
         */
        previewController(previewController: RPPreviewViewController, activityTypes: Set<String>):void;
    }
    export class RPBroadcastController extends NSObject {
        /**
         * A URL that redirects users to an ongoing or completed broadcast.
         */
        broadcastURL: URL;
        /**
         * Information updated by the service during a broadcast.
         */
        serviceInfo: Record<string, (NSCoding & NSObjectProtocol)> | null;
        /**
         * The bundle ID for the selected broadcast service.
         */
        broadcastExtensionBundleID: string;
        /**
         * A Boolean value indicating whether the controller is broadcasting.
         */
        isBroadcasting: boolean;
        /**
         * A Boolean value indicating whether the broadcast is paused.
         */
        isPaused: boolean;
        /**
         * The delegate for the broadcast controller.
         */
        delegate: RPBroadcastControllerDelegate | null;
        /**
         * Starts a broadcast.
         */
        startBroadcast(handler: ()=>any):void;
        /**
         * Pauses the current broadcast.
         */
        pauseBroadcast():void;
        /**
         * Resumes a paused broadcast.
         */
        resumeBroadcast():void;
        /**
         * Stops the current broadcast.
         */
        finishBroadcast(handler: ()=>any):void;
    }
    export interface RPBroadcastControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that a broadcast ended due to an error.
         */
        broadcastController(broadcastController: RPBroadcastController, error: Error | null):void;
    }
    export class RPBroadcastHandler extends NSObject {
        /**
         * Sends information about the current broadcast to the broadcasting app.
         */
        updateServiceInfo(serviceInfo: Record<string, (NSCoding & NSObjectProtocol)>):void;
        /**
         * Sends the current broadcast URL to the broadcast controller.
         */
        updateBroadcast(broadcastURL: URL):void;
    }
    export class RPBroadcastSampleHandler extends RPBroadcastHandler {
        /**
         * Perform any required actions after starting a live broadcast. 
         */
        broadcastStarted(setupInfo: Record<string, NSObject> | null):void;
        /**
         * Perform any required actions after a live broadcast is paused.
         */
        broadcastPaused():void;
        /**
         * Perform any required actions after a live broadcast is resumed.
         */
        broadcastResumed():void;
        /**
         * Perform any required actions after a live broadcast is finished.
         */
        broadcastFinished():void;
        /**
         * Perform any required actions after starting a live broadcast.
         */
        broadcastAnnotated(applicationInfo: Record<AnyHashable, any>):void;
        /**
         * Processes video and audio data as it becomes available during a live broadcast.
         */
        processSampleBuffer(sampleBuffer: CMSampleBuffer, sampleBufferType: RPSampleBufferType):void;
        /**
         * Stops the broadcast and passes an error back to the broadcasting app.
         */
        finishBroadcastWithError(error: Error):void;
    }
    export class RPBroadcastMP4ClipHandler extends RPBroadcastHandler {
        /**
         * Applies configuration update changes to the next MP4 movie clip.
         */
        finishedProcessingMP4Clip(broadcastConfiguration: RPBroadcastConfiguration | null, error: Error | null):void;
        /**
         * Processes MP4 movie clips for a live broadcast.
         */
        processMP4Clip(mp4ClipURL: URL | null, setupInfo: Record<string, NSObject> | null, finished: boolean):void;
    }
    export class RPBroadcastActivityViewController extends UIViewController {
        /**
         * The delegate for the broadcast activity view controller.
         */
        delegate: RPBroadcastActivityViewControllerDelegate | null;
        /**
         * Loads a broadcast activity view controller.
         */
        static load(handler: ()=>any):void;
    }
    export interface RPBroadcastActivityViewControllerDelegate extends NSObjectProtocol {
        /**
         * Indicates that the broadcast activity view controller is ready to be dismissed.
         */
        broadcastActivityViewController(broadcastActivityViewController: RPBroadcastActivityViewController, broadcastController: RPBroadcastController | null, error: Error | null):void;
    }
    export class RPSystemBroadcastPickerView extends UIView {
        /**
         * A bundle identifier of a broadcast extension.
         */
        preferredExtension: string;
        /**
         * A Boolean value that indicates whether the microphone button is visible in the broadcast picker.
         */
        showsMicrophoneButton: boolean;
    }
    export class RPBroadcastActivityController extends NSObject {
        /**
         * The broadcast activity controller’s delegate object.
         */
        delegate: RPBroadcastActivityControllerDelegate | null;
        /**
         * Presents a list of available broadcast services for the user to select.
         */
        static showBroadcastPicker(point: CGPoint, window: NSWindow | null, preferredExtension: string, handler: ()=>any):void;
    }
    export interface RPBroadcastActivityControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that a user selected a broadcast.
         */
        broadcastActivityController(broadcastActivityController: RPBroadcastActivityController, broadcastController: RPBroadcastController | null, error: Error | null):void;
    }
    export class RPBroadcastConfiguration extends NSObject {
        /**
         * The duration of movie clips sent the to the movie clip handler extension.
         */
        clipDuration: TimeInterval;
        /**
         * The compression properties for encoding movie clips that are to be overwritten.
         */
        videoCompressionProperties: Record<string, (NSSecureCoding & NSObjectProtocol)> | null;
    }
}

/**
 * Declare the user interface and behavior for your app on every platform.
 */
declare module SwiftUI {
    export class EnvironmentValues {
        requestReview: RequestReviewAction;
    }
    export class NSApplicationDelegateAdaptor {
        /**
         * A projection of the observed object that provides bindings to its
         *  
         * properties.
         */
        projectedValue: any;
        /**
         * The underlying delegate.
         */
        wrappedValue: DelegateType;
        /**
         * Creates an AppKit app delegate adaptor using a delegate that’s
         *  
         * an observable object.
         */
        constructor (delegateType: DelegateType.Type);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class OpenURLAction {
        /**
         * Opens a URL, following system conventions.
         */
        callAsFunction(url: URL):void;
    }
    /**
     * the same name namespace of class OpenURLAction
     */
    export namespace OpenURLAction {
        export class Result {
            /**
             * The handler discarded the URL.
             */
            static discarded: OpenURLAction.Result;
            /**
             * The handler opened the URL.
             */
            static handled: OpenURLAction.Result;
            /**
             * The handler asks the system to open the original URL.
             */
            static systemAction: OpenURLAction.Result;
        }
    }
    export class Font {
        /**
         * A font with the body text style.
         */
        static body: Font;
        /**
         * A font with the callout text style.
         */
        static callout: Font;
        /**
         * A font with the caption text style.
         */
        static caption: Font;
        /**
         * Create a font with the alternate caption text style.
         */
        static caption2: Font;
        /**
         * A font with the footnote text style.
         */
        static footnote: Font;
        /**
         * The hashed value of the font.
         */
        hashValue: number;
        /**
         * Creates a custom font from a platform font instance.
         */
        constructor (font: CTFont);
        /**
         * Use this function to create a system font by specifying the text style,
         *  
         * a type design, and weight together. The following styles the text with
         *  
         * a system font in 
         *  text style and
         *  
         *  weight:
         */
        static system(style: Font.TextStyle, design: Font.Design | null, weight: Font.Weight | null):Font;
        /**
         * Create a custom font with the given 
         *  and a fixed 
         *  that does
         *  
         * not scale with Dynamic Type.
         */
        static custom(name: string, fixedSize: CGFloat):Font;
        /**
         * Adds bold styling to the font.
         */
        bold():Font;
        /**
         * Adds italics to the font.
         */
        italic():Font;
        /**
         * Returns a fixed-width font from the same family as the base font.
         */
        monospaced():Font;
        /**
         * Returns a modified font that uses fixed-width digits, while leaving
         *  
         * other characters proportionally spaced.
         */
        monospacedDigit():Font;
        /**
         * Adjusts the font to enable all small capitals.
         */
        smallCaps():Font;
        /**
         * Adjusts the font to enable lowercase small capitals.
         */
        lowercaseSmallCaps():Font;
        /**
         * Adjusts the font to enable uppercase small capitals.
         */
        uppercaseSmallCaps():Font;
        /**
         * Sets the weight of the font.
         */
        weight(weight: Font.Weight):Font;
        /**
         * Adjusts the line spacing of a font.
         */
        leading(leading: Font.Leading):Font;
        /**
         * Hashes the essential components of the font by passing them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Font
     */
    export namespace Font {
        export enum Design {}
        export enum TextStyle {}
        export class Weight {
            static black: Font.Weight;
            static bold: Font.Weight;
            static heavy: Font.Weight;
            static light: Font.Weight;
            static medium: Font.Weight;
            static regular: Font.Weight;
            static semibold: Font.Weight;
            static thin: Font.Weight;
            static ultraLight: Font.Weight;
            /**
             * The hashed value of the font weight.
             */
            hashValue: number;
            /**
             * Hashes the essential components of the font weight by passing them into the given
             *  
             * hash function.
             */
            hash(hasher: Hasher):void;
        }
        export enum Leading {}
    }
    export class TextFormattingCommands {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * A new value describing the built-in text-formatting commands.
         */
        constructor ();
    }
    export class ToolbarCommands {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * A new value describing the built-in toolbar-related commands.
         */
        constructor ();
    }
    export class ScaledMetric {
        /**
         * The value scaled based on the current environment.
         */
        wrappedValue: Value;
        /**
         * Creates the scaled metric with an unscaled value using the default
         *  
         * scaling.
         */
        constructor (wrappedValue: Value);
        /**
         * Creates the scaled metric with an unscaled value and a text style to
         *  
         * scale relative to.
         */
        constructor (wrappedValue: Value, textStyle: Font.TextStyle);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class ImportFromDevicesCommands {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * Creates a new set of device import commands.
         */
        constructor ();
    }
    export class Text {}
    /**
     * the same name namespace of class Text
     */
    export namespace Text {
        export enum Case {}
        export class DateStyle {
            /**
             * A style displaying a date.
             */
            static date: Text.DateStyle;
            /**
             * A style displaying a date as offset from now.
             */
            static offset: Text.DateStyle;
            /**
             * A style displaying a date as relative to now.
             */
            static relative: Text.DateStyle;
            /**
             * A style displaying only the time component for a date.
             */
            static time: Text.DateStyle;
            /**
             * A style displaying a date as timer counting from now.
             */
            static timer: Text.DateStyle;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
        }
        export class LineStyle {
            /**
             * Draw a single solid line.
             */
            static single: Text.LineStyle;
            /**
             * The hashed value of the line style.
             */
            hashValue: number;
            /**
             * Creates a 
             *  from 
             * .
             */
            constructor (nsUnderlineStyle: NSUnderlineStyle);
            /**
             * Creates a line style.
             */
            constructor (pattern: Text.LineStyle.Pattern, color: Color | null);
            /**
             * Hashes the essential components of the line style by passing them into the given
             *  
             * hash function.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class LineStyle
         */
        export namespace LineStyle {
            export class Pattern {
                /**
                 * Draw a solid line.
                 */
                static solid: Text.LineStyle.Pattern;
                /**
                 * Draw a line of dots.
                 */
                static dot: Text.LineStyle.Pattern;
                /**
                 * Draw a line of dashes.
                 */
                static dash: Text.LineStyle.Pattern;
                static dashDot: Text.LineStyle.Pattern;
                /**
                 * Draw a line of alternating dashes and two dots.
                 */
                static dashDotDot: Text.LineStyle.Pattern;
            }
        }
        export enum TruncationMode {}
    }
    export enum LegibilityWeight {}
    export class EmptyCommands {
        /**
         * Creates an empty command hierarchy.
         */
        constructor ();
    }
    export enum DynamicTypeSize {}
    export class RedactionReasons {
        /**
         * Displayed data should appear as generic placeholders.
         */
        static placeholder: RedactionReasons;
        /**
         * Displayed data should be obscured to protect private information.
         */
        static privacy: RedactionReasons;
        /**
         * The raw value.
         */
        rawValue: number;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates a new set from a raw value.
         */
        constructor (rawValue: number);
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Returns a Boolean value that indicates whether a given element is a
         *  
         * member of the option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that are not
         *  
         * also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces this set with a new set containing all elements
         *  
         * contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in both this
         *  
         * set and the given set.
         */
        intersection(other: Self):Self;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Returns a new option set with the elements contained in this set or in
         *  
         * the given set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in the
         *  
         * given set, or in both.
         */
        union(other: Self):Self;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: Self.Element):Self.Element | null;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
    }
    export enum TextAlignment {}
    export class LocalizedStringKey {
        /**
         * Creates a localized string key from the given string value.
         */
        constructor (value: string);
        /**
         * Creates a localized string key from the given string literal.
         */
        constructor (value: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        /**
         * Creates a localized string key from the given string interpolation.
         */
        constructor (stringInterpolation: LocalizedStringKey.StringInterpolation);
    }
    /**
     * the same name namespace of class LocalizedStringKey
     */
    export namespace LocalizedStringKey {
        export class StringInterpolation {
            /**
             * Creates an empty instance ready to be filled with string literal content.
             */
            constructor (literalCapacity: number, interpolationCount: number);
            /**
             * Appends a literal string segment to a string interpolation.
             */
            appendInterpolation(_string: string):void;
            /**
             * Appends a type, convertible to a string by using a default format
             *  
             * specifier, to a string interpolation.
             */
            appendInterpolation<T>(value: T):void;
            /**
             * Appends the formatted representation  of a nonstring type
             *  
             * supported by a corresponding format style.
             */
            appendInterpolation<F>(input: F.FormatInput, format: F):void;
            /**
             * Appends an optionally-formatted instance of an Objective-C subclass
             *  
             * to a string interpolation.
             */
            appendInterpolation<Subject>(subject: Subject, formatter: Formatter | null):void;
            /**
             * Appends a literal string.
             */
            appendLiteral(literal: string):void;
        }
    }
    export enum ContentSizeCategory {}
    export class Image {
        /**
         * The representation used to import and export the item.
         */
        static transferRepresentation: TransferRepresentation;
        /**
         * Creates a labeled image that you can use as content for controls.
         */
        constructor (name: string, bundle: Bundle | null);
        /**
         * Creates a labeled image that you can use as content for controls,
         *  
         * with a variable value.
         */
        constructor (name: string, variableValue: number, bundle: Bundle | null);
        /**
         * Creates a labeled image that you can use as content for controls, with
         *  
         * the specified label.
         */
        constructor (name: string, bundle: Bundle | null, label: Text);
        /**
         * Creates a labeled image that you can use as content for controls, with
         *  
         * the specified label and variable value.
         */
        constructor (name: string, variableValue: number, bundle: Bundle | null, label: Text);
        /**
         * Creates a labeled image based on a Core Graphics image instance, usable
         *  
         * as content for controls.
         */
        constructor (cgImage: CGImage, scale: CGFloat, orientation: Image.Orientation, label: Text);
        /**
         * Creates an unlabeled, decorative image.
         */
        constructor (name: string, bundle: Bundle | null);
        /**
         * Creates an unlabeled, decorative image, with a variable value.
         */
        constructor (name: string, variableValue: number, bundle: Bundle | null);
        /**
         * Creates an unlabeled, decorative image based on a Core Graphics image
         *  
         * instance.
         */
        constructor (cgImage: CGImage, scale: CGFloat, orientation: Image.Orientation);
        /**
         * Creates a system symbol image.
         */
        constructor (systemName: string);
        /**
         * Creates a system symbol image with a variable value.
         */
        constructor (systemName: string, variableValue: number);
        /**
         * Creates a SwiftUI image from a UIKit image instance.
         */
        constructor (uiImage: UIImage);
        /**
         * Creates a SwiftUI image from an AppKit image instance.
         */
        constructor (nsImage: NSImage);
        /**
         * Initializes an image of the given size, with contents provided by a
         *  
         * custom rendering closure.
         */
        constructor (size: CGSize, label: Text | null, opaque: boolean, colorMode: ColorRenderingMode, renderer: ()=>any);
        /**
         * Sets the mode by which SwiftUI resizes an image to fit its space.
         */
        resizable(capInsets: EdgeInsets, resizingMode: Image.ResizingMode):Image;
        /**
         * Specifies whether SwiftUI applies antialiasing when rendering
         *  
         * the image.
         */
        antialiased(isAntialiased: boolean):Image;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):Image;
        /**
         * Indicates whether SwiftUI renders an image as-is, or
         *  
         * by using a different mode.
         */
        renderingMode(renderingMode: Image.TemplateRenderingMode | null):Image;
        /**
         * Specifies the current level of quality for rendering an
         *  
         * image that requires interpolation.
         */
        interpolation(interpolation: Image.Interpolation):Image;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to this view when this view changes.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Prevents the view from updating its child view when its new value is the
         *  
         * same as its old value.
         */
        equatable():EquatableView<Self>;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    /**
     * the same name namespace of class Image
     */
    export namespace Image {
        export enum TemplateRenderingMode {}
        export enum Interpolation {}
        export enum Scale {}
        export enum Orientation {}
        export enum ResizingMode {}
    }
    export class EmptyWidgetConfiguration {
        constructor ();
        /**
         * Runs the given action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
    }
    export class WidgetBundleBuilder {
        /**
         * Builds an empty Widget from a block containing no statements, 
         * .
         */
        static buildBlock():Widget;
        /**
         * Builds a single Widget written as a child view (e..g, 
         * )
         *  
         * through unmodified.
         */
        static buildBlock<Content>(content: Content):Widget;
        static buildBlock<C0, C1>(c0: C0, c1: C1):Widget;
        static buildBlock<C0, C1, C2>(c0: C0, c1: C1, c2: C2):Widget;
        static buildBlock<C0, C1, C2, C3>(c0: C0, c1: C1, c2: C2, c3: C3):Widget;
        static buildBlock<C0, C1, C2, C3, C4>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4):Widget;
        static buildBlock<C0, C1, C2, C3, C4, C5>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5):Widget;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6):Widget;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7):Widget;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8):Widget;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8, c9: C9):Widget;
        /**
         * Provides support for “if” statements with 
         *  clauses in
         *  
         * multi-statement closures, producing conditional content for the “then”
         *  
         * branch, i.e. the conditionally-available branch.
         */
        static buildLimitedAvailability(widget: Widget):(Widget & _LimitedAvailabilityWidgetMarker);
        /**
         * Provides support for “if” statements in multi-statement closures,
         *  
         * producing an optional widget that is visible only when the condition
         *  
         * evaluates to 
         * .
         */
        static buildOptional(widget: ((Widget & _LimitedAvailabilityWidgetMarker))):Widget;
    }
    export class OpenWindowAction {
        /**
         * Presents a window for the scene with the specified identifier.
         */
        callAsFunction(id: string):void;
        /**
         * Presents a window for the 
         *  scene with the specified
         *  
         * identifier, that handles the type of the presented value.
         */
        callAsFunction<D>(id: string, value: D):void;
    }
    export class State {
        /**
         * The underlying value referenced by the state variable.
         */
        wrappedValue: Value;
        /**
         * A binding to the state value.
         */
        projectedValue: Binding<Value>;
        /**
         * Creates a state without an initial value.
         */
        constructor ();
        /**
         * Creates the state with an initial wrapped value.
         */
        constructor (value: Value);
        /**
         * Creates the state with an initial value.
         */
        constructor (value: Value);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class Binding {
        /**
         * The underlying value referenced by the binding variable.
         */
        wrappedValue: Value;
        /**
         * A projection of the binding value that returns a binding.
         */
        projectedValue: Binding<Value>;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The collection’s “past the end” position—that is, the position one
         *  
         * greater than the last valid subscript argument.
         */
        endIndex: any;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: Value.Indices;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The position of the first element in a nonempty collection.
         */
        startIndex: any;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The stable identity of the entity associated with this instance,
         *  
         * corresponding to the 
         *  of the binding’s wrapped value.
         */
        id: Value.ID;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * Creates a binding by projecting the base value to an unwrapped value.
         */
        constructor (base: Binding<Value?>);
        /**
         * Creates a binding from the value of another binding.
         */
        constructor (projectedValue: Binding<Value>);
        /**
         * Creates a binding with a closure that reads from the binding value, and
         *  
         * a closure that applies a transaction when writing to the binding value.
         */
        constructor (get: ()=>any, set: ()=>any);
        /**
         * Creates a binding with an immutable value.
         */
        static constant(value: Value):Binding<Value>;
        /**
         * Specifies an animation to perform when the binding value changes.
         */
        animation(animation: Animation | null):Binding<Value>;
        /**
         * Specifies a transaction for the binding.
         */
        transaction(transaction: Transaction):Binding<Value>;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class AsyncImage {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Loads and displays an image from the specified URL.
         */
        constructor (url: URL | null, scale: CGFloat);
        /**
         * Loads and displays a modifiable image from the specified URL using
         *  
         * a custom placeholder until the image loads.
         */
        constructor (url: URL | null, scale: CGFloat, content: ()=>any, placeholder: ()=>any);
        /**
         * Loads and displays a modifiable image from the specified URL in phases.
         */
        constructor (url: URL | null, scale: CGFloat, transaction: Transaction, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class RefreshAction {
        /**
         * Initiates a refresh action.
         */
        callAsFunction():void;
    }
    export class ResetFocusAction {
        /**
         * Asks the focus sytem to reevaluate the default focus item.
         */
        callAsFunction(_namespace: Namespace.ID):void;
    }
    export enum AsyncImagePhase {}
    export class SymbolVariants {
        /**
         * No variant for a symbol.
         */
        static none: SymbolVariants;
        /**
         * A variant that encapsulates the symbol in a circle.
         */
        static circle: SymbolVariants;
        /**
         * A variant that encapsulates the symbol in a square.
         */
        static square: SymbolVariants;
        /**
         * A variant that encapsulates the symbol in a rectangle.
         */
        static rectangle: SymbolVariants;
        /**
         * A variant that fills the symbol.
         */
        static fill: SymbolVariants;
        /**
         * A variant that draws a slash through the symbol.
         */
        static slash: SymbolVariants;
        /**
         * The hashed value of the symbol variant.
         */
        hashValue: number;
        /**
         * Returns a Boolean value that indicates whether the current variant
         *  
         * contains the specified variant.
         */
        contains(other: SymbolVariants):boolean;
        /**
         * Hashes the essential components of the symbol variant by passing them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class RenameAction {
        /**
         * Triggers the standard rename action provided through the environment.
         */
        callAsFunction():void;
    }
    export class SymbolRenderingMode {
        /**
         * A mode that renders symbols as multiple layers, with different opacities
         *  
         * applied to the foreground style.
         */
        static hierarchical: SymbolRenderingMode;
        /**
         * A mode that renders symbols as a single layer filled with the
         *  
         * foreground style.
         */
        static monochrome: SymbolRenderingMode;
        /**
         * A mode that renders symbols as multiple layers with their inherit
         *  
         * styles.
         */
        static multicolor: SymbolRenderingMode;
        /**
         * A mode that renders symbols as multiple layers, with different styles
         *  
         * applied to the layers.
         */
        static palette: SymbolRenderingMode;
    }
    export class ImageRenderer {
        /**
         * The root view rendered by this image renderer.
         */
        content: Content;
        /**
         * The size proposed to the root view.
         */
        proposedSize: ProposedViewSize;
        /**
         * The scale at which to render the image.
         */
        scale: CGFloat;
        /**
         * A Boolean value that indicates whether the alpha channel of the image is
         *  
         * fully opaque.
         */
        isOpaque: boolean;
        /**
         * The working color space and storage format of the image.
         */
        colorMode: ColorRenderingMode;
        /**
         * The current contents of the view, rasterized as a Core Graphics image.
         */
        cgImage: CGImage | null;
        /**
         * The current contents of the view, rasterized as an AppKit image.
         */
        nsImage: NSImage | null;
        /**
         * The current contents of the view, rasterized as a UIKit image.
         */
        uiImage: UIImage | null;
        /**
         * A publisher that informs subscribers of changes to the image.
         */
        objectWillChange: any;
        /**
         * Creates a renderer object with a source content view.
         */
        constructor (view: Content);
        /**
         * Draws the renderer’s current contents to an arbitrary Core Graphics
         *  
         * context.
         */
        render(rasterizationScale: CGFloat, renderer: ()=>any):void;
    }
    export class Button {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a button that displays a custom label.
         */
        constructor (action: ()=>any, label: ()=>any);
        /**
         * Creates a button that generates its label from a localized string key.
         */
        constructor (titleKey: LocalizedStringKey, action: ()=>any);
        /**
         * Creates a button with a specified role that displays a custom label.
         */
        constructor (role: ButtonRole | null, action: ()=>any, label: ()=>any);
        /**
         * Creates a button with a specified role that generates its label from a
         *  
         * localized string key.
         */
        constructor (titleKey: LocalizedStringKey, role: ButtonRole | null, action: ()=>any);
        /**
         * Creates a button based on a configuration for a style with a custom
         *  
         * appearance and custom interaction behavior.
         */
        constructor (configuration: PrimitiveButtonStyleConfiguration);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ButtonRole {
        /**
         * A role that indicates a button that cancels an operation.
         */
        static cancel: ButtonRole;
        /**
         * A role that indicates a destructive button.
         */
        static destructive: ButtonRole;
    }
    export class ButtonStyleConfiguration {
        /**
         * A view that describes the effect of pressing the button.
         */
        label: ButtonStyleConfiguration.Label;
        /**
         * A Boolean that indicates whether the user is currently pressing the
         *  
         * button.
         */
        isPressed: boolean;
        /**
         * An optional semantic role that describes the button’s purpose.
         */
        role: ButtonRole | null;
    }
    /**
     * the same name namespace of class ButtonStyleConfiguration
     */
    export namespace ButtonStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a text view as a title.
             */
            alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Generates a badge for the view from an integer value.
             */
            badge(count: number):View;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * localized string key for the title.
             */
            confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: PartialRangeFrom<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class ObservedObject {
        /**
         * The underlying value referenced by the observed object.
         */
        wrappedValue: ObjectType;
        /**
         * A projection of the observed object that creates bindings to its
         *  
         * properties using dynamic member lookup.
         */
        projectedValue: any;
        /**
         * Creates an observed object with an initial wrapped value.
         */
        constructor (wrappedValue: ObjectType);
        /**
         * Creates an observed object with an initial value.
         */
        constructor (initialValue: ObjectType);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    /**
     * the same name namespace of class ObservedObject
     */
    export namespace ObservedObject {
        export class Wrapper {}
    }
    export class EnvironmentObject {
        /**
         * The underlying value referenced by the environment object.
         */
        wrappedValue: ObjectType;
        /**
         * A projection of the environment object that creates bindings to its
         *  
         * properties using dynamic member lookup.
         */
        projectedValue: any;
        /**
         * Creates an environment object.
         */
        constructor ();
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    /**
     * the same name namespace of class EnvironmentObject
     */
    export namespace EnvironmentObject {
        export class Wrapper {}
    }
    export class PrimitiveButtonStyleConfiguration {
        /**
         * A view that describes the effect of calling the button’s action.
         */
        label: PrimitiveButtonStyleConfiguration.Label;
        /**
         * An optional semantic role describing the button’s purpose.
         */
        role: ButtonRole | null;
        /**
         * Performs the button’s action.
         */
        trigger():void;
    }
    /**
     * the same name namespace of class PrimitiveButtonStyleConfiguration
     */
    export namespace PrimitiveButtonStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor. The Rotor will be attached to the current Accessibility element,
             *  
             * and each entry will go the specified range of that element.
             */
            accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to a shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a localized string key.
             */
            badge(key: LocalizedStringKey | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy
             *  
             * in this view.
             */
            lineLimit(limit: PartialRangeThrough<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to offer
             *  
             * suggestions while the user enters text on a watchOS device.
             */
            textContentType(textContentType: WKTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class StateObject {
        /**
         * The underlying value referenced by the state object.
         */
        wrappedValue: ObjectType;
        /**
         * A projection of the state object that creates bindings to its
         *  
         * properties.
         */
        projectedValue: any;
        /**
         * Creates a new state object with an initial wrapped value.
         */
        constructor (thunk: ()=>any);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class Environment {
        /**
         * The current value of the environment property.
         */
        wrappedValue: Value;
        /**
         * Creates an environment property to read the specified key path.
         */
        constructor (keyPath: any);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class ButtonBorderShape {
        /**
         * A shape that defers to the system to determine an appropriate shape
         *  
         * for the given context and platform.
         */
        static automatic: ButtonBorderShape;
        /**
         * A capsule shape.
         */
        static capsule: ButtonBorderShape;
        /**
         * A rounded rectangle shape.
         */
        static roundedRectangle: ButtonBorderShape;
    }
    export class DefaultButtonStyle {
        /**
         * The default button style, based on the button’s context.
         */
        static automatic: DefaultButtonStyle;
        /**
         * Creates a default button style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: DefaultButtonStyle.Configuration):View;
    }
    export class BorderedButtonStyle {
        /**
         * A button style that applies standard border artwork based on the
         *  
         * button’s context.
         */
        static bordered: BorderedButtonStyle;
        /**
         * Creates a bordered button style.
         */
        constructor ();
        /**
         * Creates a bordered button style with a tint color.
         */
        constructor (tint: Color);
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: BorderedButtonStyle.Configuration):View;
    }
    export class BorderedProminentButtonStyle {
        /**
         * A button style that applies standard border prominent artwork based on
         *  
         * the button’s context.
         */
        static borderedProminent: BorderedProminentButtonStyle;
        /**
         * Creates a bordered prominent button style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: BorderedProminentButtonStyle.Configuration):View;
    }
    export class BorderlessButtonStyle {
        /**
         * A button style that doesn’t apply a border.
         */
        static borderless: BorderlessButtonStyle;
        /**
         * Creates a borderless button style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: BorderlessButtonStyle.Configuration):View;
    }
    export class CardButtonStyle {
        /**
         * A button style that doesn’t pad the content, and applies a motion effect
         *  
         * when a button has focus.
         */
        static card: CardButtonStyle;
        /**
         * Creates a style that doesn’t pad a button’s content and applies a motion
         *  
         * effect to a focused button.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: CardButtonStyle.Configuration):View;
    }
    export class LinkButtonStyle {
        /**
         * A button style for buttons that emulate links.
         */
        static link: LinkButtonStyle;
        /**
         * Creates a link button style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: LinkButtonStyle.Configuration):View;
    }
    export class PlainButtonStyle {
        /**
         * A button style that doesn’t style or decorate its content while idle,
         *  
         * but may apply a visual effect to indicate the pressed, focused, or
         *  
         * enabled state of the button.
         */
        static plain: PlainButtonStyle;
        /**
         * Creates a plain button style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a button.
         */
        makeBody(configuration: PlainButtonStyle.Configuration):View;
    }
    export class PresentationMode {
        /**
         * Indicates whether a view is currently presented.
         */
        isPresented: boolean;
        /**
         * Dismisses the view if it is currently presented.
         */
        dismiss():void;
    }
    export class EditButton {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an Edit button instance.
         */
        constructor ();
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class AppStorage {
        wrappedValue: Value;
        projectedValue: Binding<Value>;
        /**
         * Creates a property that can read and write to a string user default.
         */
        constructor (wrappedValue: Value, key: string, store: UserDefaults | null);
        /**
         * Creates a property that can read and write an Optional integer user
         *  
         * default.
         */
        constructor (key: string, store: UserDefaults | null);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class SceneStorage {
        /**
         * The underlying value referenced by the state variable.
         */
        wrappedValue: Value;
        /**
         * A binding to the state value.
         */
        projectedValue: Binding<Value>;
        /**
         * Creates a property that can save and restore a URL.
         */
        constructor (wrappedValue: Value, key: string);
        /**
         * Creates a property that can save and restore an Optional string.
         */
        constructor (key: string);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export enum ScenePhase {}
    export class PasteButton {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a Paste button that accepts specific types of data from the
         *  
         * pasteboard.
         */
        constructor (supportedContentTypes: UTType[], payloadAction: ()=>any);
        /**
         * Creates an instance that accepts values of the specified type.
         */
        constructor (payloadType: T.Type, onPaste: ()=>any);
        /**
         * Creates a Paste button that accepts specific types of data from the
         *  
         * pasteboard.
         */
        constructor (supportedTypes: string[], payloadAction: ()=>any);
        /**
         * Creates a Paste button that accepts specific types of data from the
         *  
         * pasteboard, performing a custom validation of the data before sending it
         *  
         * to your app.
         */
        constructor (supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any);
        /**
         * Creates a Paste button that accepts specific types of data from the
         *  
         * pasteboard, performing a custom validation of the data before sending it
         *  
         * to your app.
         */
        constructor (supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class FetchRequest {
        /**
         * A binding to the request’s mutable configuration properties.
         */
        projectedValue: any;
        /**
         * The fetched results of the fetch request.
         */
        wrappedValue: FetchedResults<Result>;
        /**
         * Creates a fetch request based on a predicate and value type sort
         *  
         * parameters.
         */
        constructor (sortDescriptors: SortDescriptor<Result>[], predicate: NSPredicate | null, animation: Animation | null);
        /**
         * Creates a fetch request for a specified entity description, based on a
         *  
         * predicate and sort parameters.
         */
        constructor (entity: NSEntityDescription, sortDescriptors: NSSortDescriptor[], predicate: NSPredicate | null, animation: Animation | null);
        /**
         * Creates a fully configured fetch request that uses the specified
         *  
         * animation when updating results.
         */
        constructor (fetchRequest: NSFetchRequest<Result>, animation: Animation | null);
        /**
         * Creates a fully configured fetch request that uses the specified
         *  
         * transaction when updating results.
         */
        constructor (fetchRequest: NSFetchRequest<Result>, transaction: Transaction);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    /**
     * the same name namespace of class FetchRequest
     */
    export namespace FetchRequest {
        export class Configuration {
            /**
             * The request’s predicate.
             */
            nsPredicate: NSPredicate | null;
            /**
             * The request’s sort descriptors, accessed as value types.
             */
            sortDescriptors: SortDescriptor<Result>[];
            /**
             * The request’s sort descriptors, accessed as reference types.
             */
            nsSortDescriptors: NSSortDescriptor[];
        }
    }
    export class FetchedResults {
        /**
         * The request’s predicate.
         */
        nsPredicate: NSPredicate | null;
        /**
         * The request’s sort descriptors, accessed as value types.
         */
        sortDescriptors: SortDescriptor<Result>[];
        /**
         * The request’s sort descriptors, accessed as reference types.
         */
        nsSortDescriptors: NSSortDescriptor[];
        /**
         * The index of the first entity in the results collection.
         */
        startIndex: number;
        /**
         * The index that’s one greater than the last valid subscript argument.
         */
        endIndex: number;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        index(element: Self.Element):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains the
         *  
         * given element.
         */
        contains(element: Self.Element):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence.
         */
        max():Self.Element | null;
        /**
         * Returns the minimum element in the sequence.
         */
        min():Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    export class RenameButton {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a rename button.
         */
        constructor ();
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Link {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a control, consisting of a URL and a title key, used to
         *  
         * navigate to a URL.
         */
        constructor (titleKey: LocalizedStringKey, destination: URL);
        /**
         * Creates a control, consisting of a URL and a label, used to navigate
         *  
         * to the given URL.
         */
        constructor (destination: URL, label: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class SectionedFetchRequest {
        /**
         * A binding to the request’s mutable configuration properties.
         */
        projectedValue: any;
        /**
         * The fetched results of the fetch request.
         */
        wrappedValue: any;
        /**
         * Creates a sectioned fetch request based on a section identifier,
         *  
         * a predicate, and value type sort parameters.
         */
        constructor (sectionIdentifier: any, sortDescriptors: SortDescriptor<Result>[], predicate: NSPredicate | null, animation: Animation | null);
        /**
         * Creates a sectioned fetch request for a specified entity description,
         *  
         * based on a section identifier, a predicate, and sort parameters.
         */
        constructor (entity: NSEntityDescription, sectionIdentifier: any, sortDescriptors: NSSortDescriptor[], predicate: NSPredicate | null, animation: Animation | null);
        /**
         * Creates a fully configured sectioned fetch request that uses the
         *  
         * specified animation when updating results.
         */
        constructor (fetchRequest: NSFetchRequest<Result>, sectionIdentifier: any, animation: Animation | null);
        /**
         * Creates a fully configured sectioned fetch request that uses the
         *  
         * specified transaction when updating results.
         */
        constructor (fetchRequest: NSFetchRequest<Result>, sectionIdentifier: any, transaction: Transaction);
        /**
         * Updates the fetched results.
         */
        update():void;
    }
    /**
     * the same name namespace of class SectionedFetchRequest
     */
    export namespace SectionedFetchRequest {
        export class Configuration {
            /**
             * The request’s section identifier key path.
             */
            sectionIdentifier: any;
            /**
             * The request’s predicate.
             */
            nsPredicate: NSPredicate | null;
            /**
             * The request’s sort descriptors, accessed as value types.
             */
            sortDescriptors: SortDescriptor<Result>[];
            /**
             * The request’s sort descriptors, accessed as reference types.
             */
            nsSortDescriptors: NSSortDescriptor[];
        }
    }
    export class SectionedFetchResults {
        /**
         * The request’s predicate.
         */
        nsPredicate: NSPredicate | null;
        /**
         * The request’s sort descriptors, accessed as value types.
         */
        sortDescriptors: SortDescriptor<Result>[];
        /**
         * The request’s sort descriptors, accessed as reference types.
         */
        nsSortDescriptors: NSSortDescriptor[];
        /**
         * The key path that the system uses to group fetched results into sections.
         */
        sectionIdentifier: any;
        /**
         * The index of the first section in the results collection.
         */
        startIndex: number;
        /**
         * The index that’s one greater than that of the last section.
         */
        endIndex: number;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        publisher: any;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Replaces the given index with its predecessor.
         */
        formIndex(i: Self.Index):void;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Returns an index that is the specified distance from the given index,
         *  
         * unless that distance is beyond a given limiting index.
         */
        index(i: Self.Index, distance: number, limit: Self.Index):Self.Index | null;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
    }
    /**
     * the same name namespace of class SectionedFetchResults
     */
    export namespace SectionedFetchResults {
        export class Section {
            /**
             * The value that all entities in the section share for a specified
             *  
             * key path.
             */
            id: SectionIdentifier;
            /**
             * The index of the first entity in the section.
             */
            startIndex: number;
            /**
             * The index that’s one greater than that of the last entity in the
             *  
             * section.
             */
            endIndex: number;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            publisher: any;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Finds and returns the range of the first occurrence of a given collection
             *  
             * within this collection.
             */
            firstRange<C>(other: C):C.Element;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a Boolean value indicating whether the collection contains the
             *  
             * given sequence.
             */
            contains<C>(other: C):C.Element;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            index(element: Self.Element):Self.Index | null;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Finds and returns the ranges of the all occurrences of a given sequence
             *  
             * within the collection.
             */
            ranges<C>(other: C):C.Element;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * around elements equal to the given separator.
             */
            split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
            /**
             * Returns a new collection of the same type by removing initial elements
             *  
             * that satisfy the given predicate from the start.
             */
            trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the
             *  
             * less-than operator (
             * ) to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence.
             */
            max():Self.Element | null;
            /**
             * Returns the minimum element in the sequence.
             */
            min():Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted.
             */
            sorted():Self.Element[];
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
    }
    export class ShareLink {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (item: string, subject: Text | null, message: Text | null);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (item: string, subject: Text | null, message: Text | null, label: ()=>any);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (item: I, subject: Text | null, message: Text | null, preview: any);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (item: I, subject: Text | null, message: Text | null, preview: any, label: ()=>any);
        /**
         * Creates an instance, with a custom label, that presents the share
         *  
         * interface.
         */
        constructor (title: S, item: URL, subject: Text | null, message: Text | null);
        /**
         * Creates an instance, with a custom label, that presents the share
         *  
         * interface.
         */
        constructor (title: S, item: I, subject: Text | null, message: Text | null, preview: any);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (items: Data, subject: Text | null, message: Text | null);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (items: Data, subject: Text | null, message: Text | null, label: ()=>any);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (items: Data, subject: Text | null, message: Text | null, preview: ()=>any);
        /**
         * Creates an instance that presents the share interface.
         */
        constructor (items: Data, subject: Text | null, message: Text | null, preview: ()=>any, label: ()=>any);
        /**
         * Creates an instance, with a custom label, that presents the share
         *  
         * interface.
         */
        constructor (title: S, items: Data, subject: Text | null, message: Text | null);
        /**
         * Creates an instance, with a custom label, that presents the share
         *  
         * interface.
         */
        constructor (title: S, items: Data, subject: Text | null, message: Text | null, preview: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class SharePreview {
        /**
         * Creates a preview representation.
         */
        constructor (title: S);
        /**
         * Creates a preview representation.
         */
        constructor (title: S, image: Image);
        /**
         * Creates a preview representation.
         */
        constructor (title: S, icon: Icon);
        /**
         * Creates a preview representation.
         */
        constructor (title: S, image: Image, icon: Icon);
    }
    export class DefaultShareLinkLabel {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class SceneBuilder {
        /**
         * Passes a single scene written as a child scene through unmodified.
         */
        static buildBlock<Content>(content: Content):Scene;
        static buildBlock<C0, C1>(c0: C0, c1: C1):Scene;
        static buildBlock<C0, C1, C2>(c0: C0, c1: C1, c2: C2):Scene;
        static buildBlock<C0, C1, C2, C3>(c0: C0, c1: C1, c2: C2, c3: C3):Scene;
        static buildBlock<C0, C1, C2, C3, C4>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4):Scene;
        static buildBlock<C0, C1, C2, C3, C4, C5>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5):Scene;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6):Scene;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7):Scene;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8):Scene;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8, c9: C9):Scene;
        /**
         * Provides support for “if” statements with 
         *  clauses in
         *  
         * multi-statement closures, producing conditional content for the “then”
         *  
         * branch, i.e. the conditionally-available branch.
         */
        static buildLimitedAvailability(scene: Scene):(Scene & _LimitedAvailabilitySceneMarker);
        /**
         * Provides support for “if” statements in multi-statement closures,
         *  
         * producing an optional scene that is visible only when the condition
         *  
         * evaluates to 
         * .
         */
        static buildOptional(scene: ((Scene & _LimitedAvailabilitySceneMarker))):Scene;
    }
    export class TextFieldLink {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a TextFieldLink which when pressed will request text input from the user.
         */
        constructor (titleKey: LocalizedStringKey, prompt: Text | null, onSubmit: ()=>any);
        /**
         * Creates a TextFieldLink which when pressed will request text input from the user.
         */
        constructor (prompt: Text | null, label: ()=>any, onSubmit: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Menu {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a menu with a custom label.
         */
        constructor (content: ()=>any, label: ()=>any);
        /**
         * Creates a menu that generates its label from a localized string key.
         */
        constructor (titleKey: LocalizedStringKey, content: ()=>any);
        /**
         * Creates a menu with a custom primary action and custom label.
         */
        constructor (content: ()=>any, label: ()=>any, primaryAction: ()=>any);
        /**
         * Creates a menu with a custom primary action that generates its label
         *  
         * from a localized string key.
         */
        constructor (titleKey: LocalizedStringKey, content: ()=>any, primaryAction: ()=>any);
        /**
         * Creates a menu based on a style configuration.
         */
        constructor (configuration: MenuStyleConfiguration);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class MenuStyleConfiguration {}
    /**
     * the same name namespace of class MenuStyleConfiguration
     */
    export namespace MenuStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the unit point where activations occur in the view.
             */
            accessibility(activationPoint: UnitPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to a shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a localized string key.
             */
            badge(key: LocalizedStringKey | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a text view that you provide.
             */
            help(text: Text):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets the maximum number of lines that text can occupy in this view.
             */
            lineLimit(_number: number):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class Content {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a localized string key.
             */
            badge(key: LocalizedStringKey | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a text view that you provide.
             */
            help(text: Text):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets the maximum number of lines that text can occupy in this view.
             */
            lineLimit(_number: number):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation, using a string
             *  
             * binding.
             */
            navigationTitle(title: Binding<String>):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on an iOS or tvOS device.
             */
            textContentType(textContentType: UITextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export enum PreviewPlatform {}
    export class PreviewDevice {
        /**
         * The corresponding value of the raw type.
         */
        rawValue: string;
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Creates an instance initialized to the given string value.
         */
        constructor (stringLiteral: string);
        /**
         * Creates a new instance with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class UIApplicationDelegateAdaptor {
        /**
         * A projection of the observed object that provides bindings to its
         *  
         * properties.
         */
        projectedValue: any;
        /**
         * The underlying app delegate.
         */
        wrappedValue: DelegateType;
        /**
         * Creates a UIKit app delegate adaptor.
         */
        constructor (delegateType: DelegateType.Type);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export enum PreviewLayout {}
    export class InterfaceOrientation {
        /**
         * The device is in portrait mode, with the top of the device on top.
         */
        static portrait: InterfaceOrientation;
        /**
         * The device is in portrait mode, but is upside down.
         */
        static portraitUpsideDown: InterfaceOrientation;
        /**
         * The device is in landscape mode, with the top of the device on the left.
         */
        static landscapeLeft: InterfaceOrientation;
        /**
         * The device is in landscape mode, with the top of the device on the right.
         */
        static landscapeRight: InterfaceOrientation;
        /**
         * A collection of all values of this type.
         */
        static allCases: InterfaceOrientation[];
        /**
         * The stable identity of the entity associated with this instance.
         */
        id: string;
    }
    export class WindowGroup {
        /**
         * The content and behavior of the scene.
         */
        body: Scene;
        /**
         * Creates a window group.
         */
        constructor (content: ()=>any);
        /**
         * Creates a window group with a localized title.
         */
        constructor (title: Text, content: ()=>any);
        /**
         * Creates a window group with an identifier.
         */
        constructor (id: string, content: ()=>any);
        /**
         * Creates a window group with a localized title and an identifier.
         */
        constructor (title: Text, id: string, content: ()=>any);
        /**
         * Creates a window group.
         */
        constructor (type: D.Type, content: ()=>any);
        /**
         * Creates a window group with a key for a localized title string.
         */
        constructor (titleKey: LocalizedStringKey, type: D.Type, content: ()=>any);
        /**
         * Creates a window group.
         */
        constructor (type: D.Type, content: ()=>any, defaultValue: ()=>any);
        /**
         * Creates a window group with a key for a localized title string.
         */
        constructor (titleKey: LocalizedStringKey, type: D.Type, content: ()=>any, defaultValue: ()=>any);
        /**
         * Creates a window group with an identifier.
         */
        constructor (id: string, type: D.Type, content: ()=>any);
        /**
         * Creates a window group with a key for a localized title string and an
         *  
         * identifier.
         */
        constructor (titleKey: LocalizedStringKey, id: string, type: D.Type, content: ()=>any);
        /**
         * Creates a window group with an identifier.
         */
        constructor (id: string, type: D.Type, content: ()=>any, defaultValue: ()=>any);
        /**
         * Creates a window group with a key for a localized title string and an
         *  
         * identifier.
         */
        constructor (titleKey: LocalizedStringKey, id: string, type: D.Type, content: ()=>any, defaultValue: ()=>any);
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
    }
    export class AccessibilityTechnologies {
        /**
         * The value that represents a Switch Control, allowing the use of the
         *  
         * entire system using controller buttons, a breath-controlled switch or similar hardware.
         */
        static switchControl: AccessibilityTechnologies;
        /**
         * The value that represents the VoiceOver screen reader, allowing use
         *  
         * of the system without seeing the screen visually.
         */
        static voiceOver: AccessibilityTechnologies;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates a new accessibility technologies structure with an empy accessibility technology set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Returns a Boolean value that indicates whether the given element exists
         *  
         * in the set.
         */
        contains(member: AccessibilityTechnologies):boolean;
        /**
         * Removes the elements of this set that aren’t also in the given set.
         */
        formIntersection(other: AccessibilityTechnologies):void;
        /**
         * Removes the elements of the set that are also in the given set and adds
         *  
         * the members of the given set that are not already in the set.
         */
        formSymmetricDifference(other: AccessibilityTechnologies):void;
        /**
         * Adds the elements of the given set to the set.
         */
        formUnion(other: AccessibilityTechnologies):void;
        /**
         * Inserts the given element in the set if it is not already present.
         */
        insert(newMember: AccessibilityTechnologies):any;
        /**
         * Returns a new set with the elements that are common to both this set and
         *  
         * the given set.
         */
        intersection(other: AccessibilityTechnologies):AccessibilityTechnologies;
        /**
         * Removes the given element and any elements subsumed by the given element.
         */
        remove(member: AccessibilityTechnologies):AccessibilityTechnologies | null;
        /**
         * Returns a new set with the elements that are either in this set or in the
         *  
         * given set, but not in both.
         */
        symmetricDifference(other: AccessibilityTechnologies):AccessibilityTechnologies;
        /**
         * Returns a new set with the elements of both this and the given set.
         */
        union(other: AccessibilityTechnologies):AccessibilityTechnologies;
        /**
         * Inserts the given element into the set unconditionally.
         */
        update(newMember: AccessibilityTechnologies):AccessibilityTechnologies | null;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
    }
    export class DefaultMenuStyle {
        /**
         * The default menu style, based on the menu’s context.
         */
        static automatic: DefaultMenuStyle;
        /**
         * Creates a default menu style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a menu.
         */
        makeBody(configuration: DefaultMenuStyle.Configuration):View;
    }
    export class ButtonMenuStyle {
        /**
         * A menu style that displays a button that toggles the display of
         *  
         * the menu’s contents when pressed.
         */
        static button: ButtonMenuStyle;
        /**
         * Creates a button menu style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a menu.
         */
        makeBody(configuration: ButtonMenuStyle.Configuration):View;
    }
    export class BorderlessButtonMenuStyle {
        /**
         * A menu style that displays a borderless button that toggles the display of
         *  
         * the menu’s contents when pressed.
         */
        static borderlessButton: BorderlessButtonMenuStyle;
        /**
         * Creates a borderless button menu style.
         */
        constructor ();
        /**
         * Creates a borderless button menu style, specifying whether to show a
         *  
         * visual menu indicator.
         */
        constructor (showsMenuIndicator: boolean);
        /**
         * Creates a view that represents the body of a menu.
         */
        makeBody(configuration: BorderlessButtonMenuStyle.Configuration):View;
    }
    export class BorderedButtonMenuStyle {
        /**
         * A menu style that displays a bordered button that toggles the display of
         *  
         * the menu’s contents when pressed.
         */
        static borderedButton: BorderedButtonMenuStyle;
        /**
         * Creates a bordered button menu style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a menu.
         */
        makeBody(configuration: BorderedButtonMenuStyle.Configuration):View;
    }
    export enum AccessibilityLabeledPairRole {}
    export class AccessibilityActionKind {
        /**
         * The value that represents the default accessibility action.
         */
        static default: AccessibilityActionKind;
        static delete: AccessibilityActionKind;
        /**
         * The value that represents an action that cancels a pending accessibility action.
         */
        static escape: AccessibilityActionKind;
        static magicTap: AccessibilityActionKind;
        static showMenu: AccessibilityActionKind;
        constructor (name: Text);
    }
    export enum AccessibilityAdjustmentDirection {}
    export class MenuOrder {
        /**
         * The ordering of the menu chosen by the system for the current context.
         */
        static automatic: MenuOrder;
        /**
         * Order items from top to bottom.
         */
        static fixed: MenuOrder;
        /**
         * Keep the first items closest to user’s interaction point.
         */
        static priority: MenuOrder;
        /**
         * The hashed value of the menu order.
         */
        hashValue: number;
        /**
         * Hashes the essential components of the menu order by passing them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class Slider {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a slider to select a value from a given range.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, onEditingChanged: ()=>any);
        /**
         * Creates a slider to select a value from a given range, subject to a
         *  
         * step increment.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, onEditingChanged: ()=>any);
        /**
         * Creates a slider to select a value from a given range, which displays
         *  
         * the provided label.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, label: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a slider to select a value from a given range, subject to a
         *  
         * step increment, which displays the provided label.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, label: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a slider to select a value from a given range, which displays
         *  
         * the provided labels.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, label: ()=>any, minimumValueLabel: ()=>any, maximumValueLabel: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a slider to select a value from a given range, subject to a
         *  
         * step increment, which displays the provided labels.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, label: ()=>any, minimumValueLabel: ()=>any, maximumValueLabel: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a slider to select a value from a given range, which displays
         *  
         * the provided label.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, onEditingChanged: ()=>any, label: ()=>any);
        /**
         * Creates a slider to select a value from a given range, subject to a
         *  
         * step increment, which displays the provided label.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, onEditingChanged: ()=>any, label: ()=>any);
        /**
         * Creates a slider to select a value from a given range, which displays
         *  
         * the provided labels.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, onEditingChanged: ()=>any, minimumValueLabel: ValueLabel, maximumValueLabel: ValueLabel, label: ()=>any);
        /**
         * Creates a slider to select a value from a given range, subject to a
         *  
         * step increment, which displays the provided labels.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, onEditingChanged: ()=>any, minimumValueLabel: ValueLabel, maximumValueLabel: ValueLabel, label: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class AccessibilityChildBehavior {
        /**
         * Any child accessibility element’s properties are merged
         *  
         * into the new accessibility element.
         */
        static combine: AccessibilityChildBehavior;
        /**
         * Any child accessibility elements become children of the new
         *  
         * accessibility element.
         */
        static contain: AccessibilityChildBehavior;
        /**
         * Any child accessibility elements become hidden.
         */
        static ignore: AccessibilityChildBehavior;
        /**
         * The hashed value of the accessibility child behavior.
         */
        hashValue: number;
        /**
         * Hashes the essential components of the accessibility child behavior by passing them into the given
         *  
         * hash function.
         */
        hash(hasher: Hasher):void;
    }
    export class AccessibilityCustomContentKey {
        /**
         * Create an 
         *  with the specified label.
         */
        constructor (labelKey: LocalizedStringKey);
        /**
         * Create an 
         *  with the specified label and
         *  
         * identifier.
         */
        constructor (label: Text, id: string);
    }
    export class AccessibilityRotorContentBuilder {
        static buildBlock<Content>(content: Content):AccessibilityRotorContent;
        static buildBlock<C0, C1>(c0: C0, c1: C1):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2>(c0: C0, c1: C1, c2: C2):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3>(c0: C0, c1: C1, c2: C2, c3: C3):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3, C4>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3, C4, C5>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8):AccessibilityRotorContent;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8, c9: C9):AccessibilityRotorContent;
        static buildIf<Content>(content: Content | null):AccessibilityRotorContent;
    }
    export class Stepper {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a stepper configured to increment or decrement a binding to a
         *  
         * value using a step value you provide.
         */
        constructor (value: Binding<V>, step: V.Stride, label: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a stepper configured to increment or decrement a binding to a
         *  
         * value using a step value you provide, displaying its value with an
         *  
         * applied format style.
         */
        constructor (value: Binding<F.FormatInput>, step: F.FormatInput.Stride, format: F, label: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a stepper with a title key and configured to increment and
         *  
         * decrement a binding to a value and step amount you provide.
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<V>, step: V.Stride, onEditingChanged: ()=>any);
        /**
         * Creates a stepper with a title and configured to increment and
         *  
         * decrement a binding to a value and step amount you provide,
         *  
         * displaying its value with an applied format style.
         */
        constructor (title: S, value: Binding<F.FormatInput>, step: F.FormatInput.Stride, format: F, onEditingChanged: ()=>any);
        /**
         * Creates a stepper configured to increment or decrement a binding to a
         *  
         * value using a step value and within a range of values you provide.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, label: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a stepper configured to increment or decrement a binding to a
         *  
         * value using a step value and within a range of values you provide,
         *  
         * displaying its value with an applied format style.
         */
        constructor (value: Binding<F.FormatInput>, bounds: ClosedRange<F.FormatInput>, step: F.FormatInput.Stride, format: F, label: ()=>any, onEditingChanged: ()=>any);
        /**
         * Creates a stepper instance that increments and decrements a binding to
         *  
         * a value, by a step size and within a closed range that you provide.
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, onEditingChanged: ()=>any);
        /**
         * Creates a stepper instance that increments and decrements a binding to
         *  
         * a value, by a step size and within a closed range that you provide,
         *  
         * displaying its value with an applied format style.
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<F.FormatInput>, bounds: ClosedRange<F.FormatInput>, step: F.FormatInput.Stride, format: F, onEditingChanged: ()=>any);
        /**
         * Creates a stepper instance that performs the closures you provide when
         *  
         * the user increments or decrements the stepper.
         */
        constructor (label: ()=>any, onIncrement: ()=>any | null, onDecrement: ()=>any | null, onEditingChanged: ()=>any);
        /**
         * Creates a stepper that uses a title key and executes the closures
         *  
         * you provide when the user clicks or taps the stepper’s increment and
         *  
         * decrement buttons.
         */
        constructor (titleKey: LocalizedStringKey, onIncrement: ()=>any | null, onDecrement: ()=>any | null, onEditingChanged: ()=>any);
        /**
         * Creates a stepper configured to increment or decrement a binding to a
         *  
         * value using a step value you provide.
         */
        constructor (value: Binding<V>, step: V.Stride, onEditingChanged: ()=>any, label: ()=>any);
        /**
         * Creates a stepper configured to increment or decrement a binding to a
         *  
         * value using a step value and within a range of values you provide.
         */
        constructor (value: Binding<V>, bounds: ClosedRange<V>, step: V.Stride, onEditingChanged: ()=>any, label: ()=>any);
        /**
         * Creates a stepper instance that performs the closures you provide when
         *  
         * the user increments or decrements the stepper.
         */
        constructor (onIncrement: ()=>any | null, onDecrement: ()=>any | null, onEditingChanged: ()=>any, label: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class AccessibilityRotorEntry {
        /**
         * The internal content of this 
         * .
         */
        body: Never;
        /**
         * Create a Rotor entry with a specific label and range. This Rotor entry
         *  
         * will be associated with the Accessibility element that owns the Rotor.
         */
        constructor (labelKey: LocalizedStringKey, textRange: Range<String.Index>, prepare: ()=>any);
        /**
         * Create a Rotor entry with a specific label and identifier, with an
         *  
         * optional range.
         */
        constructor (labelKey: LocalizedStringKey, id: ID, textRange: Range<String.Index> | null, prepare: ()=>any);
        /**
         * Create a Rotor entry with a specific label, identifier and namespace,
         *  
         * and with an optional range.
         */
        constructor (labelKey: LocalizedStringKey, id: ID, _namespace: Namespace.ID, textRange: Range<String.Index> | null, prepare: ()=>any);
        /**
         * Create a Rotor entry with a specific label, identifier and namespace,
         *  
         * and with an optional range.
         */
        constructor (label: L, id: ID, _namespace: Namespace.ID, textRange: Range<String.Index> | null, prepare: ()=>any);
    }
    export class AccessibilitySystemRotor {
        /**
         * System Rotor allowing users to iterate through all text fields.
         */
        static textFields: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all the ranges of
         *  
         * bolded text.
         */
        static boldText: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all the ranges of
         *  
         * italicized text.
         */
        static italicText: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all the ranges of
         *  
         * underlined text.
         */
        static underlineText: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all the ranges of
         *  
         * mis-spelled words.
         */
        static misspelledWords: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all headings.
         */
        static headings: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all links.
         */
        static links: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all images.
         */
        static images: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all landmarks.
         */
        static landmarks: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all lists.
         */
        static lists: AccessibilitySystemRotor;
        /**
         * System Rotor allowing users to iterate through all tables.
         */
        static tables: AccessibilitySystemRotor;
    }
    export class AccessibilityFocusState {
        /**
         * A projection of the state value that can be used to establish bindings between view content
         *  
         * and accessibility focus placement.
         */
        projectedValue: any;
        /**
         * The current state value, taking into account whatever bindings might be
         *  
         * in effect due to the current location of focus.
         */
        wrappedValue: Value;
        /**
         * Creates a new accessibility focus state of the type you provide.
         */
        constructor ();
        /**
         * Creates a new accessibility focus state of the type and
         *  
         * using the accessibility technologies you specify.
         */
        constructor (technologies: AccessibilityTechnologies);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    /**
     * the same name namespace of class AccessibilityFocusState
     */
    export namespace AccessibilityFocusState {
        export class Binding {
            /**
             * The currently focused element.
             */
            projectedValue: any;
            /**
             * The underlying value referenced by the bound property.
             */
            wrappedValue: Value;
        }
    }
    export class Toggle {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a toggle that displays a custom label.
         */
        constructor (isOn: Binding<Bool>, label: ()=>any);
        /**
         * Creates a toggle that generates its label from a localized string key.
         */
        constructor (titleKey: LocalizedStringKey, isOn: Binding<Bool>);
        /**
         * Creates a toggle representing a collection of values with a custom label.
         */
        constructor (sources: C, isOn: any, label: ()=>any);
        /**
         * Creates a toggle representing a collection of values that generates its
         *  
         * label from a string.
         */
        constructor (title: S, sources: C, isOn: any);
        /**
         * Creates a toggle based on a toggle style configuration.
         */
        constructor (configuration: ToggleStyleConfiguration);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ToggleStyleConfiguration {
        /**
         * A view that describes the effect of switching the toggle between states.
         */
        label: ToggleStyleConfiguration.Label;
        /**
         * Whether the 
         *  is currently in a mixed state.
         */
        isMixed: boolean;
        /**
         * A binding to a state property that indicates whether the toggle is on.
         */
        isOn: boolean;
    }
    /**
     * the same name namespace of class ToggleStyleConfiguration
     */
    export namespace ToggleStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueKey: LocalizedStringKey):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a text view for
             *  
             * the title.
             */
            alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a text view as a title.
             */
            alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a text view.
             */
            badge(label: Text | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * localized string key for the title.
             */
            confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy
             *  
             * in this view.
             */
            lineLimit(limit: PartialRangeThrough<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a specific padding amount to each edge of this view.
             */
            padding(length: CGFloat):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class AccessibilityTraits {
        /**
         * The accessibility element allows direct touch interaction for
         *  
         * VoiceOver users.
         */
        static allowsDirectInteraction: AccessibilityTraits;
        /**
         * The accessibility element causes an automatic page turn when VoiceOver
         *  
         * finishes reading the text within it.
         */
        static causesPageTurn: AccessibilityTraits;
        /**
         * The accessibility element is a button.
         */
        static isButton: AccessibilityTraits;
        /**
         * The accessibility element is a header that divides content into
         *  
         * sections, like the title of a navigation bar.
         */
        static isHeader: AccessibilityTraits;
        /**
         * The accessibility element is an image.
         */
        static isImage: AccessibilityTraits;
        /**
         * The accessibility element behaves as a keyboard key.
         */
        static isKeyboardKey: AccessibilityTraits;
        /**
         * The accessibility element is a link.
         */
        static isLink: AccessibilityTraits;
        /**
         * The accessibility element is modal.
         */
        static isModal: AccessibilityTraits;
        /**
         * The accessibility element is a search field.
         */
        static isSearchField: AccessibilityTraits;
        /**
         * The accessibility element is currently selected.
         */
        static isSelected: AccessibilityTraits;
        /**
         * The accessibility element is a static text that cannot be
         *  
         * modified by the user.
         */
        static isStaticText: AccessibilityTraits;
        /**
         * The accessibility element provides summary information when the
         *  
         * application starts.
         */
        static isSummaryElement: AccessibilityTraits;
        /**
         * The accessibility element plays its own sound when activated.
         */
        static playsSound: AccessibilityTraits;
        /**
         * The accessibility element starts a media session when it is activated.
         */
        static startsMediaSession: AccessibilityTraits;
        /**
         * The accessibility element frequently updates its label or value.
         */
        static updatesFrequently: AccessibilityTraits;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates an empty set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Returns a Boolean value that indicates whether the given element exists
         *  
         * in the set.
         */
        contains(member: AccessibilityTraits):boolean;
        /**
         * Removes the elements of this set that aren’t also in the given set.
         */
        formIntersection(other: AccessibilityTraits):void;
        /**
         * Removes the elements of the set that are also in the given set and adds
         *  
         * the members of the given set that are not already in the set.
         */
        formSymmetricDifference(other: AccessibilityTraits):void;
        /**
         * Adds the elements of the given set to the set.
         */
        formUnion(other: AccessibilityTraits):void;
        /**
         * Inserts the given element in the set if it is not already present.
         */
        insert(newMember: AccessibilityTraits):any;
        /**
         * Returns a new set with the elements that are common to both this set and
         *  
         * the given set.
         */
        intersection(other: AccessibilityTraits):AccessibilityTraits;
        /**
         * Removes the given element and any elements subsumed by the given element.
         */
        remove(member: AccessibilityTraits):AccessibilityTraits | null;
        /**
         * Returns a new set with the elements that are either in this set or in the
         *  
         * given set, but not in both.
         */
        symmetricDifference(other: AccessibilityTraits):AccessibilityTraits;
        /**
         * Returns a new set with the elements of both this and the given set.
         */
        union(other: AccessibilityTraits):AccessibilityTraits;
        /**
         * Inserts the given element into the set unconditionally.
         */
        update(newMember: AccessibilityTraits):AccessibilityTraits | null;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
    }
    export class PresentedWindowContent {
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export enum AccessibilityHeadingLevel {}
    export class AccessibilityTextContentType {
        /**
         * A type that represents text used for input, like in the Terminal app.
         */
        static console: AccessibilityTextContentType;
        /**
         * A type that represents text used by a file browser, like in the Finder app in macOS.
         */
        static fileSystem: AccessibilityTextContentType;
        /**
         * A type that represents text used in a message, like in the Messages app.
         */
        static messaging: AccessibilityTextContentType;
        /**
         * A type that represents text used in a story or poem, like in the Books app.
         */
        static narrative: AccessibilityTextContentType;
        /**
         * A type that represents generic text that has no specific type.
         */
        static plain: AccessibilityTextContentType;
        /**
         * A type that represents text used in source code, like in Swift Playgrounds.
         */
        static sourceCode: AccessibilityTextContentType;
        /**
         * A type that represents text used in a grid of data, like in the Numbers app.
         */
        static spreadsheet: AccessibilityTextContentType;
        /**
         * A type that represents text used in a document, like in the Pages app.
         */
        static wordProcessing: AccessibilityTextContentType;
    }
    export class AccessibilityQuickActionOutlineStyle {
        /**
         * A presentation style that animates an outline around the view
         *  
         * when the accessibility quick action is active.
         */
        static outline: AccessibilityQuickActionOutlineStyle;
    }
    export class AccessibilityQuickActionPromptStyle {
        /**
         * A presentation style that displays a prompt to the user when
         *  
         * the accessibility quick action is active.
         */
        static prompt: AccessibilityQuickActionPromptStyle;
    }
    export class DefaultToggleStyle {
        /**
         * The default toggle style.
         */
        static automatic: DefaultToggleStyle;
        /**
         * Creates a default toggle style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a toggle.
         */
        makeBody(configuration: DefaultToggleStyle.Configuration):View;
    }
    export class ButtonToggleStyle {
        /**
         * A toggle style that displays as a button with its label as the title.
         */
        static button: ButtonToggleStyle;
        /**
         * Creates a button toggle style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a toggle button.
         */
        makeBody(configuration: ButtonToggleStyle.Configuration):View;
    }
    export class AccessibilityAttachmentModifier {
        /**
         * Returns a new version of the modifier that will apply
         *  
         *  to all animatable values within the modifier.
         */
        animation(animation: Animation | null):ViewModifier;
        /**
         * Gets the current body of the caller.
         */
        body(content: Self.Content):Self.Body;
        /**
         * Returns a new modifier that is the result of concatenating
         *  
         *  with 
         * .
         */
        concat<T>(modifier: T):any;
        /**
         * Returns a new version of the modifier that will apply the
         *  
         * transaction mutation function 
         *  to all transactions
         *  
         * within the modifier.
         */
        transaction(transform: ()=>any):ViewModifier;
    }
    export class CheckboxToggleStyle {
        /**
         * A toggle style that displays a checkbox followed by its label.
         */
        static checkbox: CheckboxToggleStyle;
        /**
         * Creates a checkbox toggle style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a toggle checkbox.
         */
        makeBody(configuration: CheckboxToggleStyle.Configuration):View;
    }
    export class SwitchToggleStyle {
        /**
         * A toggle style that displays a leading label and a trailing switch.
         */
        static switch: SwitchToggleStyle;
        /**
         * Creates a switch toggle style.
         */
        constructor ();
        /**
         * Creates a switch style with a tint color.
         */
        constructor (tint: Color);
        /**
         * Creates a view that represents the body of a toggle switch.
         */
        makeBody(configuration: SwitchToggleStyle.Configuration):View;
    }
    export class Picker {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a picker that displays a custom label.
         */
        constructor (selection: Binding<SelectionValue>, content: ()=>any, label: ()=>any);
        /**
         * Creates a picker that generates its label from a localized string key.
         */
        constructor (titleKey: LocalizedStringKey, selection: Binding<SelectionValue>, content: ()=>any);
        /**
         * Creates a picker that generates its label from a localized string key.
         */
        constructor (titleKey: LocalizedStringKey, sources: C, selection: any, content: ()=>any);
        /**
         * Creates a picker that displays a custom label.
         */
        constructor (sources: C, selection: any, content: ()=>any, label: ()=>any);
        /**
         * Creates a picker that displays a custom label.
         */
        constructor (selection: Binding<SelectionValue>, label: Label, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class DefaultPickerStyle {
        /**
         * The default picker style, based on the picker’s context.
         */
        static automatic: DefaultPickerStyle;
        /**
         * Creates a default picker style.
         */
        constructor ();
    }
    export class InlinePickerStyle {
        /**
         * A 
         *  where each option is displayed inline with other views
         *  
         * in the current container.
         */
        static inline: InlinePickerStyle;
        /**
         * Creates an inline picker style.
         */
        constructor ();
    }
    export class MenuPickerStyle {
        /**
         * A picker style that presents the options as a menu when the user presses a
         *  
         * button, or as a submenu when nested within a larger menu.
         */
        static menu: MenuPickerStyle;
        /**
         * Creates a menu picker style.
         */
        constructor ();
    }
    export class RadioGroupPickerStyle {
        /**
         * A picker style that presents the options as a group of radio buttons.
         */
        static radioGroup: RadioGroupPickerStyle;
        /**
         * Creates a radio group picker style.
         */
        constructor ();
    }
    export class SegmentedPickerStyle {
        /**
         * A picker style that presents the options as a group of radio buttons.
         */
        static segmented: SegmentedPickerStyle;
        /**
         * Creates a segmented picker style.
         */
        constructor ();
    }
    export class WheelPickerStyle {
        /**
         * A picker style that presents the options in a scrollable wheel that
         *  
         * shows the selected option and a few neighboring options.
         */
        static wheel: WheelPickerStyle;
        /**
         * Sets the picker style to display an item wheel from which the user makes
         *  
         * a selection.
         */
        constructor ();
    }
    export class PopUpButtonPickerStyle {
        /**
         * Creates a pop-up button picker style.
         */
        constructor ();
    }
    export class DatePicker {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance that selects a 
         *  with an unbounded range.
         */
        constructor (selection: Binding<Date>, displayedComponents: any, label: ()=>any);
        /**
         * Creates an instance that selects a 
         *  with an unbounded range.
         */
        constructor (titleKey: LocalizedStringKey, selection: Binding<Date>, displayedComponents: any);
        /**
         * Creates an instance that selects a 
         *  in a closed range.
         */
        constructor (selection: Binding<Date>, range: ClosedRange<Date>, displayedComponents: any, label: ()=>any);
        /**
         * Creates an instance that selects a 
         *  in a closed range.
         */
        constructor (titleKey: LocalizedStringKey, selection: Binding<Date>, range: ClosedRange<Date>, displayedComponents: any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class DatePickerComponents {
        /**
         * Displays day, month, and year based on the locale
         */
        static date: DatePickerComponents;
        /**
         * Displays hour and minute components based on the locale
         */
        static hourAndMinute: DatePickerComponents;
        /**
         * The corresponding value of the raw type.
         */
        rawValue: number;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        /**
         * Creates a new option set from the given raw value.
         */
        constructor (rawValue: number);
        /**
         * Returns a Boolean value that indicates whether a given element is a
         *  
         * member of the option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that are not
         *  
         * also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces this set with a new set containing all elements
         *  
         * contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in both this
         *  
         * set and the given set.
         */
        intersection(other: Self):Self;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Returns a new option set with the elements contained in this set or in
         *  
         * the given set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in the
         *  
         * given set, or in both.
         */
        union(other: Self):Self;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: Self.Element):Self.Element | null;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
    }
    export class DatePickerStyleConfiguration {
        /**
         * The oldest selectable date.
         */
        minimumDate: Date | null;
        /**
         * The most recent selectable date.
         */
        maximumDate: Date | null;
        /**
         * A description of the 
         * .
         */
        label: DatePickerStyleConfiguration.Label;
        /**
         * The date value being displayed and selected.
         */
        selection: Date;
        /**
         * The date components that the user is able to view and edit.
         */
        displayedComponents: DatePickerComponents;
    }
    /**
     * the same name namespace of class DatePickerStyleConfiguration
     */
    export namespace DatePickerStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the unit point where activations occur in the view.
             */
            accessibility(activationPoint: UnitPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a text view as a title.
             */
            alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a localized string key.
             */
            badge(key: LocalizedStringKey | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a text view that you provide.
             */
            help(text: Text):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy
             *  
             * in this view.
             */
            lineLimit(limit: PartialRangeThrough<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a specific padding amount to each edge of this view.
             */
            padding(length: CGFloat):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class DefaultDatePickerStyle {
        /**
         * The default style for date pickers.
         */
        static automatic: DefaultDatePickerStyle;
        /**
         * Creates an instance of the default date picker style.
         */
        constructor ();
        /**
         * Returns the appearance and interaction content for a 
         * .
         */
        makeBody(configuration: DefaultDatePickerStyle.Configuration):View;
    }
    export class CompactDatePickerStyle {
        /**
         * A date picker style that displays the components in a compact, textual
         *  
         * format.
         */
        static compact: CompactDatePickerStyle;
        /**
         * Creates an instance of the compact date picker style.
         */
        constructor ();
        /**
         * Returns the appearance and interaction content for a 
         * .
         */
        makeBody(configuration: CompactDatePickerStyle.Configuration):View;
    }
    export class FieldDatePickerStyle {
        /**
         * A date picker style that displays the components in an editable field.
         */
        static field: FieldDatePickerStyle;
        /**
         * Creates an instance of the field date picker style.
         */
        constructor ();
        /**
         * Returns the appearance and interaction content for a 
         * .
         */
        makeBody(configuration: FieldDatePickerStyle.Configuration):View;
    }
    export class GraphicalDatePickerStyle {
        /**
         * A date picker style that displays an interactive calendar or clock.
         */
        static graphical: GraphicalDatePickerStyle;
        /**
         * Creates an instance of the graphical date picker style.
         */
        constructor ();
        /**
         * Returns the appearance and interaction content for a 
         * .
         */
        makeBody(configuration: GraphicalDatePickerStyle.Configuration):View;
    }
    export class StepperFieldDatePickerStyle {
        /**
         * A system style that displays the components in an editable field, with
         *  
         * adjoining stepper that can increment/decrement the selected component.
         */
        static stepperField: StepperFieldDatePickerStyle;
        /**
         * Creates an instance of the field date picker style.
         */
        constructor ();
        /**
         * Returns the appearance and interaction content for a 
         * .
         */
        makeBody(configuration: StepperFieldDatePickerStyle.Configuration):View;
    }
    export class WheelDatePickerStyle {
        /**
         * A date picker style that displays each component as columns in a
         *  
         * scrollable wheel.
         */
        static wheel: WheelDatePickerStyle;
        /**
         * Creates an instance of the wheel date picker style.
         */
        constructor ();
        /**
         * Returns the appearance and interaction content for a 
         * .
         */
        makeBody(configuration: WheelDatePickerStyle.Configuration):View;
    }
    export class MultiDatePicker {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance that selects multiple dates with an unbounded
         *  
         * range.
         */
        constructor (titleKey: LocalizedStringKey, selection: Binding<Set<DateComponents>>);
        /**
         * Creates an instance that selects multiple dates with an unbounded
         *  
         * range.
         */
        constructor (selection: Binding<Set<DateComponents>>, label: ()=>any);
        /**
         * Creates an instance that selects multiple dates in a range.
         */
        constructor (titleKey: LocalizedStringKey, selection: Binding<Set<DateComponents>>, bounds: Range<Date>);
        /**
         * Creates an instance that selects multiple dates in a range.
         */
        constructor (selection: Binding<Set<DateComponents>>, bounds: Range<Date>, label: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class PageIndexViewStyle {
        /**
         * An index view style that places a page index view over its content.
         */
        static page: PageIndexViewStyle;
        /**
         * Creates a page index view style.
         */
        constructor (backgroundDisplayMode: PageIndexViewStyle.BackgroundDisplayMode);
    }
    /**
     * the same name namespace of class PageIndexViewStyle
     */
    export namespace PageIndexViewStyle {
        export class BackgroundDisplayMode {
            /**
             * Background is always displayed behind the page index view.
             */
            static always: PageIndexViewStyle.BackgroundDisplayMode;
            /**
             * Background will use the default for the platform.
             */
            static automatic: PageIndexViewStyle.BackgroundDisplayMode;
            /**
             * Background is only shown while the index view is interacted with.
             */
            static interactive: PageIndexViewStyle.BackgroundDisplayMode;
            /**
             * Background is never displayed behind the page index view.
             */
            static never: PageIndexViewStyle.BackgroundDisplayMode;
        }
    }
    export class ColorPicker {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance that selects a color.
         */
        constructor (selection: Binding<Color>, supportsOpacity: boolean, label: ()=>any);
        /**
         * Creates a color picker with a text label generated from a title string key.
         */
        constructor (titleKey: LocalizedStringKey, selection: Binding<Color>, supportsOpacity: boolean);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Gauge {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a gauge showing a value within a range and describes the
         *  
         * gauge’s purpose and current value.
         */
        constructor (value: V, bounds: ClosedRange<V>, label: ()=>any);
        /**
         * Creates a gauge showing a value within a range and that describes the
         *  
         * gauge’s purpose and current value.
         */
        constructor (value: V, bounds: ClosedRange<V>, label: ()=>any, currentValueLabel: ()=>any);
        /**
         * Creates a gauge representing a value within a range.
         */
        constructor (value: V, bounds: ClosedRange<V>, label: ()=>any, currentValueLabel: ()=>any, markedValueLabels: ()=>any);
        /**
         * Creates a gauge showing a value within a range and describes the
         *  
         * gauge’s current, minimum, and maximum values.
         */
        constructor (value: V, bounds: ClosedRange<V>, label: ()=>any, currentValueLabel: ()=>any, minimumValueLabel: ()=>any, maximumValueLabel: ()=>any);
        /**
         * Creates a gauge representing a value within a range.
         */
        constructor (value: V, bounds: ClosedRange<V>, label: ()=>any, currentValueLabel: ()=>any, minimumValueLabel: ()=>any, maximumValueLabel: ()=>any, markedValueLabels: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class DefaultGaugeStyle {
        /**
         * The default gauge view style in the current context of the view being
         *  
         * styled.
         */
        static automatic: DefaultGaugeStyle;
        /**
         * Creates a default gauge style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: DefaultGaugeStyle.Configuration):View;
    }
    export class CircularGaugeStyle {
        /**
         * A gauge style that displays an open ring with a marker that appears at a
         *  
         * point along the ring to indicate the gauge’s current value.
         */
        static circular: CircularGaugeStyle;
        /**
         * Creates a circular gauge.
         */
        constructor ();
        /**
         * Creates a circular gauge that draws with a specified color.
         */
        constructor (tint: Color);
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: CircularGaugeStyle.Configuration):View;
    }
    export class AccessoryCircularGaugeStyle {
        /**
         * A gauge style that displays an open ring with a marker that appears at a
         *  
         * point along the ring to indicate the gauge’s current value.
         */
        static accessoryCircular: AccessoryCircularGaugeStyle;
        /**
         * Creates an accessory circular gauge style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: AccessoryCircularGaugeStyle.Configuration):View;
    }
    export class AccessoryCircularCapacityGaugeStyle {
        /**
         * A gauge style that displays a closed ring that’s partially filled in to
         *  
         * indicate the gauge’s current value.
         */
        static accessoryCircularCapacity: AccessoryCircularCapacityGaugeStyle;
        /**
         * Creates an accessory circular capacity gauge style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: AccessoryCircularCapacityGaugeStyle.Configuration):View;
    }
    export class LinearGaugeStyle {
        /**
         * A gauge style that displays a bar with a marker that appears at a
         *  
         * point along the bar to indicate the gauge’s current value.
         */
        static linear: LinearGaugeStyle;
        /**
         * Creates a linear gauge style.
         */
        constructor ();
        /**
         * Creates a linear gauge style with a tint color.
         */
        constructor (tint: Color);
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: LinearGaugeStyle.Configuration):View;
    }
    export class LinearCapacityGaugeStyle {
        /**
         * A gauge style that displays a bar that fills from leading to trailing
         *  
         * edges as the gauge’s current value increases.
         */
        static linearCapacity: LinearCapacityGaugeStyle;
        /**
         * Creates a linear capacity gauge style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: LinearCapacityGaugeStyle.Configuration):View;
    }
    export class AccessoryLinearGaugeStyle {
        /**
         * A gauge style that displays bar with a marker that appears at a
         *  
         * point along the bar to indicate the gauge’s current value.
         */
        static accessoryLinear: AccessoryLinearGaugeStyle;
        /**
         * Creates an accessory linear gauge style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: AccessoryLinearGaugeStyle.Configuration):View;
    }
    export class AccessoryLinearCapacityGaugeStyle {
        /**
         * A gauge style that displays bar that fills from leading to trailing
         *  
         * edges as the gauge’s current value increases.
         */
        static accessoryLinearCapacity: AccessoryLinearCapacityGaugeStyle;
        /**
         * Creates an accessory linear capacity gauge style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a gauge.
         */
        makeBody(configuration: AccessoryLinearCapacityGaugeStyle.Configuration):View;
    }
    export class GaugeStyleConfiguration {
        /**
         * A view that describes the purpose of the gauge.
         */
        label: GaugeStyleConfiguration.Label;
        /**
         * A view that describes the minimum of the range for the current value.
         */
        minimumValueLabel: GaugeStyleConfiguration.MinimumValueLabel | null;
        /**
         * A view that describes the maximum of the range for the current value.
         */
        maximumValueLabel: GaugeStyleConfiguration.MaximumValueLabel | null;
        /**
         * The current value of the gauge.
         */
        value: number;
        /**
         * A view that describes the current value.
         */
        currentValueLabel: GaugeStyleConfiguration.CurrentValueLabel | null;
    }
    /**
     * the same name namespace of class GaugeStyleConfiguration
     */
    export namespace GaugeStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a text view.
             */
            badge(label: Text | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a closed range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: ClosedRange<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class MinimumValueLabel {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the unit point where activations occur in the view.
             */
            accessibility(activationPoint: UnitPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to a shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from an integer value.
             */
            badge(count: number):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: PartialRangeFrom<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class MaximumValueLabel {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the unit point where activations occur in the view.
             */
            accessibility(activationPoint: UnitPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a text view for
             *  
             * the title.
             */
            alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a localized string key.
             */
            badge(key: LocalizedStringKey | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: PartialRangeFrom<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string
             *  
             * binding.
             */
            navigationTitle(title: Binding<String>):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a specific padding amount to each edge of this view.
             */
            padding(length: CGFloat):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to offer
             *  
             * suggestions while the user enters text on a watchOS device.
             */
            textContentType(textContentType: WKTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class CurrentValueLabel {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to a shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Generates a badge for the view from an integer value.
             */
            badge(count: number):View;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * localized string key for the title.
             */
            confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a closed range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: ClosedRange<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class MarkedValueLabel {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor. The Rotor will be attached to the current Accessibility element,
             *  
             * and each entry will go the specified range of that element.
             */
            accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a text view as a title.
             */
            alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from an integer value.
             */
            badge(count: number):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a text view that you provide.
             */
            help(text: Text):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets the maximum number of lines that text can occupy in this view.
             */
            lineLimit(_number: number):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a specific padding amount to each edge of this view.
             */
            padding(length: CGFloat):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to offer
             *  
             * suggestions while the user enters text on a watchOS device.
             */
            textContentType(textContentType: WKTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class WKApplicationDelegateAdaptor {
        /**
         * A projection of the observed object that creates bindings to its
         *  
         * properties using dynamic member lookup.
         */
        projectedValue: any;
        /**
         * The underlying delegate.
         */
        wrappedValue: DelegateType;
        /**
         * Creates an 
         *  using a WatchKit Application
         *  
         * Delegate.
         */
        constructor (delegateType: DelegateType.Type);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class SearchFieldPlacement {
        /**
         * The search field is placed automatically depending on the platform.
         */
        static automatic: SearchFieldPlacement;
        /**
         * The search field is placed in an drawer of the navigation bar.
         */
        static navigationBarDrawer: SearchFieldPlacement;
        /**
         * The search field is placed in the sidebar of a navigation view.
         */
        static sidebar: SearchFieldPlacement;
        /**
         * The search field is placed in the toolbar.
         */
        static toolbar: SearchFieldPlacement;
    }
    /**
     * the same name namespace of class SearchFieldPlacement
     */
    export namespace SearchFieldPlacement {
        export class NavigationBarDrawerDisplayMode {
            /**
             * Always display the search field no matter the scroll position of
             *  
             * the user’s content.
             */
            static always: SearchFieldPlacement.NavigationBarDrawerDisplayMode;
            /**
             * Allow the search field to be collapsed as the user scrolls
             *  
             * their content.
             */
            static automatic: SearchFieldPlacement.NavigationBarDrawerDisplayMode;
        }
    }
    export class SearchSuggestionsPlacement {
        /**
         * Search suggestions render automatically based on the surrounding
         *  
         * context.
         */
        static automatic: SearchSuggestionsPlacement;
        /**
         * Search suggestions render in the main content of the app.
         */
        static content: SearchSuggestionsPlacement;
        /**
         * Search suggestions render inside of a menu attached to the search field.
         */
        static menu: SearchSuggestionsPlacement;
    }
    /**
     * the same name namespace of class SearchSuggestionsPlacement
     */
    export namespace SearchSuggestionsPlacement {
        export class Set {
            /**
             * A set containing placements with the apps main content, excluding
             *  
             * the menu placement.
             */
            static content: SearchSuggestionsPlacement.Set;
            /**
             * A set containing the menu display mode.
             */
            static menu: SearchSuggestionsPlacement.Set;
            /**
             * The raw value that records the search suggestion display modes.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates a set of search suggestions from an integer.
             */
            constructor (rawValue: number);
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Returns a Boolean value that indicates whether a given element is a
             *  
             * member of the option set.
             */
            contains(member: Self):boolean;
            /**
             * Removes all elements of this option set that are not
             *  
             * also present in the given set.
             */
            formIntersection(other: Self):void;
            /**
             * Replaces this set with a new set containing all elements
             *  
             * contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: Self):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: Self):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: Self.Element):any;
            /**
             * Returns a new option set with only the elements contained in both this
             *  
             * set and the given set.
             */
            intersection(other: Self):Self;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: Self.Element):Self.Element | null;
            /**
             * Returns a new option set with the elements contained in this set or in
             *  
             * the given set, but not in both.
             */
            symmetricDifference(other: Self):Self;
            /**
             * Returns a new option set of the elements contained in this set, in the
             *  
             * given set, or in both.
             */
            union(other: Self):Self;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: Self.Element):Self.Element | null;
            /**
             * Returns a Boolean value that indicates whether the set has no members in
             *  
             * common with the given set.
             */
            isDisjoint(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * subset of the given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * superset of the given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of
             *  
             * another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of
             *  
             * the given set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur
             *  
             * in the given set.
             */
            subtracting(other: Self):Self;
        }
    }
    export enum PopoverAttachmentAnchor {}
    export class ContextMenu {
        constructor (menuItems: ()=>any);
    }
    export class ViewBuilder {
        /**
         * Builds an empty view from a block containing no statements.
         */
        static buildBlock():EmptyView;
        /**
         * Passes a single view written as a child view through unmodified.
         */
        static buildBlock<Content>(content: Content):View;
        static buildBlock<C0, C1>(c0: C0, c1: C1):View;
        static buildBlock<C0, C1, C2>(c0: C0, c1: C1, c2: C2):View;
        static buildBlock<C0, C1, C2, C3>(c0: C0, c1: C1, c2: C2, c3: C3):View;
        static buildBlock<C0, C1, C2, C3, C4>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4):View;
        static buildBlock<C0, C1, C2, C3, C4, C5>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5):View;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6):View;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7):View;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8):View;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8, c9: C9):View;
        /**
         * Provides support for “if” statements in multi-statement closures,
         *  
         * producing conditional content for the “then” branch.
         */
        static buildEither<TrueContent, FalseContent>(first: TrueContent):View;
        /**
         * Provides support for “if” statements in multi-statement closures,
         *  
         * producing an optional view that is visible only when the condition
         *  
         * evaluates to 
         * .
         */
        static buildIf<Content>(content: Content | null):View;
        /**
         * Provides support for “if” statements with 
         *  clauses in
         *  
         * multi-statement closures, producing conditional content for the “then”
         *  
         * branch, i.e. the conditionally-available branch.
         */
        static buildLimitedAvailability<Content>(content: Content):View;
    }
    export class EmptyModifier {
        static identity: EmptyModifier;
        constructor ();
        /**
         * Gets the current body of the caller.
         */
        body(content: EmptyModifier.Content):EmptyModifier.Body;
        /**
         * Returns a new version of the modifier that will apply
         *  
         *  to all animatable values within the modifier.
         */
        animation(animation: Animation | null):ViewModifier;
        /**
         * Returns a new modifier that is the result of concatenating
         *  
         *  with 
         * .
         */
        concat<T>(modifier: T):any;
        /**
         * Returns a new version of the modifier that will apply the
         *  
         * transaction mutation function 
         *  to all transactions
         *  
         * within the modifier.
         */
        transaction(transform: ()=>any):ViewModifier;
    }
    export class ModifiedContent {
        /**
         * The content that the modifier transforms into a new view or new
         *  
         * view modifier.
         */
        content: Content;
        /**
         * The view modifier.
         */
        modifier: Modifier;
        /**
         * The collection of underlying data.
         */
        data: Content.Data;
        /**
         * The content and behavior of the scene.
         */
        body: any;
        /**
         * The composition of content that comprise the table row content.
         */
        tableRowBody: Never;
        /**
         * A structure that the defines the content and modifier needed to produce
         *  
         * a new view or view modifier.
         */
        constructor (content: Content, modifier: Modifier);
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Set the level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Sets the sort priority order for this view’s accessibility
         *  
         * element, relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(textContentType: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Sets the insert action for the dynamic table rows.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the insert action for the dynamic table rows.
         */
        onInsert(supportedContentTypes: UTType[], action: ()=>any):any;
        /**
         * Sets the deletion action for the dynamic view.
         */
        onDelete(action: ()=>any):DynamicViewContent;
        /**
         * Sets the move action for the dynamic view.
         */
        onMove(action: ()=>any):DynamicViewContent;
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Adds a context menu to a table row.
         */
        contextMenu<M>(menuItems: ()=>any):View;
        /**
         * Adds a context menu with a preview to a table row.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Provides a closure that vends the drag representation for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any | null):any;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to this view when this view changes.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Limits the Dynamic Type size within the view to the given range.
         */
        dynamicTypeSize<T>(range: T):DynamicTypeSize;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Prevents the view from updating its child view when its new value is the
         *  
         * same as its old value.
         */
        equatable():EquatableView<Self>;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigaiton.
         */
        navigationDocument<D>(document: D):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Associates a search token with the value of this view.
         */
        searchCompletion<T>(token: T):Identifiable;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint within this view.
         */
        tint<S>(tint: S | null):ShapeStyle;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred shape style of the background of a bar managed
         *  
         * by SwiftUI.
         */
        toolbarBackground<S>(style: S, ...bars: ToolbarPlacement):ShapeStyle;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
        /**
         * Returns a new modifier that is the result of concatenating
         *  
         *  with 
         * .
         */
        concat<T>(modifier: T):any;
    }
    export class ProgressView {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a progress view for showing indeterminate progress, without a
         *  
         * label.
         */
        constructor ();
        /**
         * Creates a progress view for showing indeterminate progress that displays
         *  
         * a custom label.
         */
        constructor (label: ()=>any);
        /**
         * Creates a progress view for showing indeterminate progress that
         *  
         * generates its label from a localized string.
         */
        constructor (titleKey: LocalizedStringKey);
        /**
         * Creates a progress view for showing determinate progress.
         */
        constructor (value: V | null, total: V);
        /**
         * Creates a progress view for showing determinate progress that generates
         *  
         * its label from a localized string.
         */
        constructor (titleKey: LocalizedStringKey, value: V | null, total: V);
        /**
         * Creates a progress view for showing determinate progress, with a
         *  
         * custom label.
         */
        constructor (value: V | null, total: V, label: ()=>any);
        /**
         * Creates a progress view for showing determinate progress, with a
         *  
         * custom label.
         */
        constructor (value: V | null, total: V, label: ()=>any, currentValueLabel: ()=>any);
        /**
         * Creates a progress view for showing continuous progress with time.
         */
        constructor (timerInterval: ClosedRange<Date>, countsDown: boolean);
        /**
         * Creates a progress view for showing continuous progress with time.
         */
        constructor (timerInterval: ClosedRange<Date>, countsDown: boolean, label: ()=>any);
        /**
         * Creates a progress view for showing continuous progress with time.
         */
        constructor (timerInterval: ClosedRange<Date>, countsDown: boolean, label: ()=>any, currentValueLabel: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ProgressViewStyleConfiguration {
        /**
         * A view that describes the task represented by the progress view.
         */
        label: ProgressViewStyleConfiguration.Label | null;
        /**
         * A view that describes the current value of a progress view.
         */
        currentValueLabel: ProgressViewStyleConfiguration.CurrentValueLabel | null;
        /**
         * The completed fraction of the task represented by the progress view,
         *  
         * from 
         *  (not yet started) to 
         *  (fully complete), or 
         *  if the
         *  
         * progress is indeterminate or relative to a date interval.
         */
        fractionCompleted: number;
    }
    /**
     * the same name namespace of class ProgressViewStyleConfiguration
     */
    export namespace ProgressViewStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueKey: LocalizedStringKey):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a text view for
             *  
             * the title.
             */
            alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a text view as a title.
             */
            alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from an integer value.
             */
            badge(count: number):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy
             *  
             * in this view.
             */
            lineLimit(limit: PartialRangeThrough<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to offer
             *  
             * suggestions while the user enters text on a watchOS device.
             */
            textContentType(textContentType: WKTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class CurrentValueLabel {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor. The Rotor will be attached to the current Accessibility element,
             *  
             * and each entry will go the specified range of that element.
             */
            accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a text view as a title.
             */
            alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a localized string key.
             */
            badge(key: LocalizedStringKey | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a localized string key for the title.
             */
            confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a text view that you provide.
             */
            help(text: Text):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a partial range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: PartialRangeFrom<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a specific padding amount to each edge of this view.
             */
            padding(length: CGFloat):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given vertical and horizontal
             *  
             * size amounts, relative to an anchor point.
             */
            scaleEffect(scale: CGSize, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on macOS.
             */
            textContentType(textContentType: NSTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class DefaultProgressViewStyle {
        /**
         * The default progress view style in the current context of the view being
         *  
         * styled.
         */
        static automatic: DefaultProgressViewStyle;
        /**
         * Creates a default progress view style.
         */
        constructor ();
        /**
         * Creates a view representing the body of a progress view.
         */
        makeBody(configuration: DefaultProgressViewStyle.Configuration):View;
    }
    export class CircularProgressViewStyle {
        /**
         * A progress view that visually indicates its progress using a circular
         *  
         * gauge.
         */
        static circular: CircularProgressViewStyle;
        /**
         * Creates a circular progress view style.
         */
        constructor ();
        /**
         * Creates a circular progress view style with a tint color.
         */
        constructor (tint: Color);
        /**
         * Creates a view representing the body of a progress view.
         */
        makeBody(configuration: CircularProgressViewStyle.Configuration):View;
    }
    export class LinearProgressViewStyle {
        /**
         * A progress view that visually indicates its progress using a horizontal
         *  
         * bar.
         */
        static linear: LinearProgressViewStyle;
        /**
         * Creates a linear progress view style.
         */
        constructor ();
        /**
         * Creates a linear progress view style with a tint color.
         */
        constructor (tint: Color);
        /**
         * Creates a view representing the body of a progress view.
         */
        makeBody(configuration: LinearProgressViewStyle.Configuration):View;
    }
    export class DefaultDateProgressLabel {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
    }
    export class ColumnNavigationViewStyle {}
    export class ForEach {
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Limits the Dynamic Type size within the view to the given range.
         */
        dynamicTypeSize<T>(range: T):DynamicTypeSize;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigaiton.
         */
        navigationDocument<D>(document: D):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Associates a search token with the value of this view.
         */
        searchCompletion<T>(token: T):Identifiable;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the tint within this view.
         */
        tint<S>(tint: S | null):ShapeStyle;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred shape style of the background of a bar managed
         *  
         * by SwiftUI.
         */
        toolbarBackground<S>(style: S, ...bars: ToolbarPlacement):ShapeStyle;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class PullDownMenuButtonStyle {
        constructor ();
    }
    export class LazyHGrid {
        /**
         * Creates a grid that grows horizontally.
         */
        constructor (rows: GridItem[], alignment: VerticalAlignment, spacing: CGFloat | null, pinnedViews: PinnedScrollableViews, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Capsule {
        /**
         * The data to animate.
         */
        animatableData: EmptyAnimatableData;
    }
    export class OutlineSubgroupChildren {
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class WKExtensionDelegateAdaptor {
        /**
         * A projection of the observed object that provides bindings to its
         *  
         * properties.
         */
        projectedValue: any;
        /**
         * The underlying delegate.
         */
        wrappedValue: DelegateType;
        /**
         * Creates a WatchKit extension delegate adaptor.
         */
        constructor (delegateType: DelegateType.Type);
        /**
         * Updates the underlying value of the stored value.
         */
        update():void;
    }
    export class AnyView {
        /**
         * Create an instance that type-erases 
         * .
         */
        constructor (view: V);
        constructor (view: V);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class EmptyView {
        /**
         * Creates an empty view.
         */
        constructor ();
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export enum ColorScheme {}
    export class EquatableView {
        content: Content;
        constructor (content: Content);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class SubscriptionView {
        /**
         * The 
         *  that is being subscribed.
         */
        publisher: PublisherType;
        /**
         * The 
         *  executed when 
         *  emits an event.
         */
        action: ()=>any;
        /**
         * The content view.
         */
        content: Content;
        constructor (content: Content, publisher: PublisherType, action: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class PreferredColorSchemeKey {
        /**
         * Let nil-expressible values default-initialize to nil.
         */
        static defaultValue: Self.Value;
        /**
         * Combines a sequence of values by modifying the previously-accumulated
         *  
         * value with the result of a closure that provides the next value.
         */
        static reduce(value: PreferredColorSchemeKey.Value, nextValue: ()=>any):void;
    }
    export class TupleView {
        value: T;
        constructor (value: T);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export enum ColorSchemeContrast {}
    export class MenuButton {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance of 
         *  with a given localized title and
         *  
         * content to be presented to the user.
         */
        constructor (titleKey: LocalizedStringKey, content: ()=>any);
        /**
         * Creates an instance of 
         *  with a given label and content
         *  
         * to present to the user.
         */
        constructor (label: Label, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class BorderlessButtonMenuButtonStyle {
        constructor ();
    }
    export class BorderlessPullDownMenuButtonStyle {
        constructor ();
    }
    export class DefaultMenuButtonStyle {
        constructor ();
    }
    export class Alert {
        /**
         * Creates an alert with one button.
         */
        constructor (title: Text, message: Text | null, dismissButton: Alert.Button | null);
        /**
         * Creates an alert with two buttons.
         */
        constructor (title: Text, message: Text | null, primaryButton: Alert.Button, secondaryButton: Alert.Button);
        /**
         * Creates a side by side button alert.
         */
        static sideBySideButtons(title: Text, message: Text | null, primaryButton: Alert.Button, secondaryButton: Alert.Button):Alert;
    }
    /**
     * the same name namespace of class Alert
     */
    export namespace Alert {
        export class Button {
            /**
             * Creates an alert button with the default style.
             */
            static default(label: Text, action: ()=>any | null):Alert.Button;
            /**
             * Creates an alert button that indicates cancellation, with a
             *  
             * system-provided label.
             */
            static cancel(action: ()=>any | null):Alert.Button;
            /**
             * Creates an alert button with a style that indicates a destructive
             *  
             * action.
             */
            static destructive(label: Text, action: ()=>any | null):Alert.Button;
        }
    }
    export class ActionSheet {
        /**
         * Creates an action sheet with the provided buttons.
         */
        constructor (title: Text, message: Text | null, buttons: ActionSheet.Button[]);
    }
    export enum EditMode {}
    export class Label {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a label with an icon image and a title generated from a
         *  
         * localized string.
         */
        constructor (titleKey: LocalizedStringKey, name: string);
        /**
         * Creates a label with a system icon image and a title generated from a
         *  
         * localized string.
         */
        constructor (titleKey: LocalizedStringKey, name: string);
        /**
         * Creates a label with a custom title and icon.
         */
        constructor (title: ()=>any, icon: ()=>any);
        /**
         * Creates a label representing the configuration of a style.
         */
        constructor (configuration: LabelStyleConfiguration);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class LabelStyleConfiguration {
        /**
         * A symbolic representation of the labeled item.
         */
        icon: LabelStyleConfiguration.Icon;
        /**
         * A description of the labeled item.
         */
        title: LabelStyleConfiguration.Title;
    }
    /**
     * the same name namespace of class LabelStyleConfiguration
     */
    export namespace LabelStyleConfiguration {
        export class Icon {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the unit point where activations occur in the view.
             */
            accessibility(activationPoint: UnitPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor. The Rotor will be attached to the current Accessibility element,
             *  
             * and each entry will go the specified range of that element.
             */
            accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s horizontal alignment.
             */
            alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a text view.
             */
            badge(label: Text | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * localized string key for the title.
             */
            confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a text view for the title.
             */
            confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T | null):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a closed range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: ClosedRange<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets a fixed tint color associated with specific content in a list.
             */
            listItemTint(tint: Color | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation, using a string
             *  
             * binding.
             */
            navigationTitle(title: Binding<String>):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a specific padding amount to each edge of this view.
             */
            padding(length: CGFloat):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on an iOS or tvOS device.
             */
            textContentType(textContentType: UITextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class Title {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: UnitPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hint: Text):any;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds a quick action to be shown by the system when active.
             */
            accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor. The Rotor will be attached to the current Accessibility element,
             *  
             * and each entry will go the specified range of that element.
             */
            accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to a shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from an integer value.
             */
            badge(count: number):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the default wheel-style picker item height.
             */
            defaultWheelPickerItemHeight(height: CGFloat):View;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
             */
            digitalCrownAccessory(visibility: Visibility):View;
            /**
             * Places an accessory View next to the Digital Crown on Apple Watch.
             */
            digitalCrownAccessory<Content>(content: ()=>any):View;
            /**
             * Tracks Digital Crown rotations by updating the specified binding.
             */
            digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a closed range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: ClosedRange<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the color that the system applies to the row background when this
             *  
             * view is placed in a list.
             */
            listRowPlatterColor(color: Color | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title in the navigation bar for this view.
             */
            navigationBarTitle(title: Text):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform when this view recognizes a
             *  
             * remote long touch gesture. A long touch gesture is when the finger is
             *  
             * on the remote touch surface without actually pressing.
             */
            onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content beside the modified view.
             */
            safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to offer
             *  
             * suggestions while the user enters text on a watchOS device.
             */
            textContentType(textContentType: WKTextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class Window {
        /**
         * The content and behavior of the scene.
         */
        body: Scene;
        /**
         * Creates a window with a localized title and an identifier.
         */
        constructor (titleKey: LocalizedStringKey, id: string, content: ()=>any);
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
    }
    export class DocumentGroup {
        /**
         * The content and behavior of the scene.
         */
        body: Scene;
        /**
         * Creates a document group for creating and editing file documents.
         */
        constructor (newDocument: ()=>any, editor: ()=>any);
        /**
         * Creates a document group capable of viewing file documents.
         */
        constructor (documentType: Document.Type, viewer: ()=>any);
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
    }
    export class FileDocumentConfiguration {
        /**
         * The current document model.
         */
        document: Document;
        /**
         * The URL of the open file document.
         */
        fileURL: URL | null;
        /**
         * Whether the document is editable.
         */
        isEditable: boolean;
    }
    export class ReferenceFileDocumentConfiguration {
        /**
         * The current document model.
         */
        document: Document;
        /**
         * The url of the open file document.
         */
        fileURL: URL | null;
        /**
         * Whether the document is able to be edited.
         */
        isEditable: boolean;
    }
    export enum UserInterfaceSizeClass {}
    export class FileDocumentReadConfiguration {
        /**
         * The expected uniform type of the file contents.
         */
        contentType: UTType;
        /**
         * The file wrapper containing the document content.
         */
        file: FileWrapper;
    }
    export class FileDocumentWriteConfiguration {
        /**
         * The expected uniform type of the file contents.
         */
        contentType: UTType;
        /**
         * The file wrapper containing the current document content.
         *  
         *  if the document is unsaved.
         */
        existingFile: FileWrapper | null;
    }
    export class DefaultLabelStyle {
        /**
         * A label style that resolves its appearance automatically based on the
         *  
         * current context.
         */
        static automatic: DefaultLabelStyle;
        /**
         * Creates an automatic label style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a label.
         */
        makeBody(configuration: DefaultLabelStyle.Configuration):View;
    }
    export class MenuBarExtra {
        /**
         * The content and behavior of the scene.
         */
        body: Scene;
        /**
         * Creates a menu bar extra with a key for a localized string to use as the
         *  
         * label. The extra defines the primary scene of an 
         * .
         */
        constructor (titleKey: LocalizedStringKey, content: ()=>any);
        /**
         * Creates a menu bar extra that will be displayed in the system menu bar,
         *  
         * and defines the primary scene of an 
         * .
         */
        constructor (content: ()=>any, label: ()=>any);
        /**
         * Creates a menu bar extra with a key for a localized string to use as the
         *  
         * label. The item will be displayed in the system menu bar when the
         *  
         * specified binding is set to 
         * . If the user removes the item from
         *  
         * the menu bar, the binding will be set to 
         * .
         */
        constructor (titleKey: LocalizedStringKey, isInserted: Binding<Bool>, content: ()=>any);
        /**
         * Creates a menu bar extra. The item will be displayed in the system
         *  
         * menu bar when the specified binding is set to 
         * . If the user
         *  
         * removes the item from the menu bar, the binding will be set to 
         * .
         */
        constructor (isInserted: Binding<Bool>, content: ()=>any, label: ()=>any);
        /**
         * Creates a menu bar extra with a named image to use as the items label.
         *  
         * The provided title will be used by the accessibility system.
         */
        constructor (titleKey: LocalizedStringKey, image: string, content: ()=>any);
        /**
         * Creates a menu bar extra with a named image to use as the items label.
         *  
         * The provided title will be used by the accessibility system.
         */
        constructor (titleKey: LocalizedStringKey, image: string, isInserted: Binding<Bool>, content: ()=>any);
        /**
         * Creates a menu bar extra with a system image to use as the items label.
         *  
         * The provided title will be used by the accessibility system.
         */
        constructor (titleKey: LocalizedStringKey, systemImage: string, content: ()=>any);
        /**
         * Creates a menu bar extra with a system image to use as the items label.
         *  
         * The provided title will be used by the accessibility system.
         */
        constructor (titleKey: LocalizedStringKey, systemImage: string, isInserted: Binding<Bool>, content: ()=>any);
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
    }
    export class IconOnlyLabelStyle {
        /**
         * A label style that only displays the icon of the label.
         */
        static iconOnly: IconOnlyLabelStyle;
        /**
         * Creates an icon-only label style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a label.
         */
        makeBody(configuration: IconOnlyLabelStyle.Configuration):View;
    }
    export class TitleAndIconLabelStyle {
        /**
         * A label style that shows both the title and icon of the label using a
         *  
         * system-standard layout.
         */
        static titleAndIcon: TitleAndIconLabelStyle;
        /**
         * Creates a label style that shows both the title and icon of the label
         *  
         * using a system-standard layout.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a label.
         */
        makeBody(configuration: TitleAndIconLabelStyle.Configuration):View;
    }
    export class TitleOnlyLabelStyle {
        /**
         * A label style that only displays the title of the label.
         */
        static titleOnly: TitleOnlyLabelStyle;
        /**
         * Creates a title-only label style.
         */
        constructor ();
        /**
         * Creates a view that represents the body of a label.
         */
        makeBody(configuration: TitleOnlyLabelStyle.Configuration):View;
    }
    export class AutomaticMenuBarExtraStyle {
        /**
         * The default menu bar extra style.
         */
        static automatic: AutomaticMenuBarExtraStyle;
        /**
         * Creates an automatic menu bar extra style.
         */
        constructor ();
    }
    export class PullDownMenuBarExtraStyle {
        /**
         * A menu bar extra style that renders its contents as a menu that pulls
         *  
         * down from the icon in the menu bar.
         */
        static menu: PullDownMenuBarExtraStyle;
        /**
         * Creates a pull down menu bar extra style.
         */
        constructor ();
    }
    export class WindowMenuBarExtraStyle {
        /**
         * A menu bar extra style that renders its contents in a popover-like
         *  
         * window.
         */
        static window: WindowMenuBarExtraStyle;
        /**
         * Creates a window menu bar extra style.
         */
        constructor ();
    }
    export class Settings {
        /**
         * The content and behavior of the scene.
         */
        body: Scene;
        /**
         * Creates a scene that presents an interface for viewing and modifying
         *  
         * an app’s preferences.
         */
        constructor (content: ()=>any);
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
    }
    export class EnabledTextSelectability {
        /**
         * A Boolean value that indicates whether the selectability type allows
         *  
         * selection.
         */
        static allowsSelection: boolean;
        /**
         * A selectability value that enables text selection by a person using your app.
         */
        static enabled: EnabledTextSelectability;
    }
    export class DisabledTextSelectability {
        /**
         * A Boolean value that indicates whether the selectability type allows
         *  
         * selection.
         */
        static allowsSelection: boolean;
        /**
         * A selectability value that disables text selection by the person using your app.
         */
        static disabled: DisabledTextSelectability;
    }
    export class TextField {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a text field with a text label generated from a localized title
         *  
         * string.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>);
        /**
         * Creates a text field with a text label generated from a localized title
         *  
         * string.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, prompt: Text | null);
        /**
         * Creates a text field with a prompt generated from a 
         * .
         */
        constructor (text: Binding<String>, prompt: Text | null, label: ()=>any);
        /**
         * Creates a text field with a preferred axis and a text label generated
         *  
         * from a localized title string.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, axis: Axis);
        /**
         * Creates a text field with a preferred axis and a text label generated
         *  
         * from a localized title string.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, prompt: Text | null, axis: Axis);
        /**
         * Creates a text field with a preferred axis and a prompt generated from
         *  
         * a 
         * .
         */
        constructor (text: Binding<String>, prompt: Text | null, axis: Axis, label: ()=>any);
        /**
         * Creates a text field that applies a format style to a bound
         *  
         * value, with a label generated from a localized title string.
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<F.FormatInput>, format: F, prompt: Text | null);
        /**
         * Creates a text field that applies a format style to a bound
         *  
         * value, with a label generated from a view builder.
         */
        constructor (value: Binding<F.FormatInput>, format: F, prompt: Text | null, label: ()=>any);
        /**
         * Create an instance which binds over an arbitrary type, 
         * .
         */
        constructor (title: S, value: Binding<V>, formatter: Formatter);
        /**
         * Creates a text field that applies a formatter to a bound
         *  
         * value, with a label generated from a localized title string.
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<V>, formatter: Formatter, prompt: Text | null);
        /**
         * Creates a text field that applies a formatter to a bound optional
         *  
         * value, with a label generated from a view builder.
         */
        constructor (value: Binding<V>, formatter: Formatter, prompt: Text | null, label: ()=>any);
        /**
         * Creates a text field with a text label generated from a localized title
         *  
         * string.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, onEditingChanged: ()=>any, onCommit: ()=>any);
        /**
         * Creates a text field with a text label generated from a title string.
         */
        constructor (title: S, text: Binding<String>, onCommit: ()=>any);
        /**
         * Creates a text field with a text label generated from a localized title
         *  
         * string.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, onEditingChanged: ()=>any);
        /**
         * Creates an instance which binds over an arbitrary type, 
         * .
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<V>, formatter: Formatter, onEditingChanged: ()=>any, onCommit: ()=>any);
        /**
         * Create an instance which binds over an arbitrary type, 
         * .
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<V>, formatter: Formatter, onCommit: ()=>any);
        /**
         * Create an instance which binds over an arbitrary type, 
         * .
         */
        constructor (titleKey: LocalizedStringKey, value: Binding<V>, formatter: Formatter, onEditingChanged: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class DefaultTextFieldStyle {
        /**
         * The default text field style, based on the text field’s context.
         */
        static automatic: DefaultTextFieldStyle;
        constructor ();
    }
    export class PlainTextFieldStyle {
        /**
         * A text field style with no decoration.
         */
        static plain: PlainTextFieldStyle;
        constructor ();
    }
    export class RoundedBorderTextFieldStyle {
        /**
         * A text field style with a system-defined rounded border.
         */
        static roundedBorder: RoundedBorderTextFieldStyle;
        constructor ();
    }
    export class SquareBorderTextFieldStyle {
        /**
         * A text field style with a system-defined square border.
         */
        static squareBorder: SquareBorderTextFieldStyle;
        constructor ();
    }
    export class WKNotificationScene {
        /**
         * The content and behavior of the scene.
         */
        body: Scene;
        /**
         * Creates a scene that appears in response to receiving a specific
         *  
         * category of remote or local notifications.
         */
        constructor (controller: Controller.Type, category: string);
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
    }
    export class DefaultWindowStyle {
        /**
         * The default window style.
         */
        static automatic: DefaultWindowStyle;
        constructor ();
    }
    export class HiddenTitleBarWindowStyle {
        /**
         * A window style which hides both the window’s title and the backing of
         *  
         * the titlebar area, allowing more of the window’s content to show.
         */
        static hiddenTitleBar: HiddenTitleBarWindowStyle;
        /**
         * Creates a hidden title bar window style.
         */
        constructor ();
    }
    export class TitleBarWindowStyle {
        /**
         * A window style which displays the title bar section of the window.
         */
        static titleBar: TitleBarWindowStyle;
        /**
         * Creates a title bar window style.
         */
        constructor ();
    }
    export class DismissAction {
        /**
         * Dismisses the view if it is currently presented.
         */
        callAsFunction():void;
    }
    export class DefaultWindowToolbarStyle {
        /**
         * The default window toolbar style.
         */
        static automatic: DefaultWindowToolbarStyle;
        /**
         * Creates a default window toolbar style.
         */
        constructor ();
    }
    export class ExpandedWindowToolbarStyle {
        /**
         * A window toolbar style which displays its title bar area above the
         *  
         * toolbar.
         */
        static expanded: ExpandedWindowToolbarStyle;
        /**
         * Creates an expanded window toolbar style.
         */
        constructor ();
    }
    export class SecureField {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a secure field with a prompt generated from a 
         * .
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, prompt: Text | null);
        /**
         * Creates a secure field with a prompt generated from a 
         * .
         */
        constructor (text: Binding<String>, prompt: Text | null, label: ()=>any);
        /**
         * Creates a secure field with a prompt generated from a 
         * .
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>);
        /**
         * Creates an instance.
         */
        constructor (titleKey: LocalizedStringKey, text: Binding<String>, onCommit: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class UnifiedWindowToolbarStyle {
        /**
         * A window toolbar style which displays its toolbar and title bar inline.
         */
        static unified: UnifiedWindowToolbarStyle;
        /**
         * Creates a unified window toolbar style.
         */
        constructor ();
        /**
         * Creates a unified window toolbar style.
         */
        constructor (showsTitle: boolean);
    }
    export class DismissSearchAction {
        /**
         * Dismisses the current search operation, if any.
         */
        callAsFunction():void;
    }
    export class UnifiedCompactWindowToolbarStyle {
        /**
         * A window toolbar style similar to 
         * , but
         *  
         * with a more compact vertical sizing.
         */
        static unifiedCompact: UnifiedCompactWindowToolbarStyle;
        /**
         * Creates a unified compact window toolbar style.
         */
        constructor ();
        /**
         * Creates a unified compact window toolbar style.
         */
        constructor (showsTitle: boolean);
    }
    export class WindowResizability {
        /**
         * Automatic window resizability.
         */
        static automatic: WindowResizability;
        /**
         * A window resizability derived from the minimum size of the window
         *  
         * contents.
         */
        static contentMinSize: WindowResizability;
        /**
         * A window resizability derived from the contents of the window.
         */
        static contentSize: WindowResizability;
    }
    export class BackgroundTask {
        /**
         * A task that updates your app’s state in the background.
         */
        static appRefresh: any;
        /**
         * A background task used to update your app’s user interface in
         *  
         * preparation for a snapshot.
         */
        static snapshot: any;
        /**
         * A background task used to recieve critical alerts from paired
         *  
         * bluetooth accessories.
         */
        static bluetoothAlert: any;
        /**
         * A background task used to receive background updates from the Watch
         *  
         * Connectivity framework.
         */
        static watchConnectivity: any;
        /**
         * A task that responds to background URL sessions.
         */
        static urlSession: any;
        /**
         * A background task used to update your app after a SiriKit intent runs.
         */
        static intentDidRun: any;
        /**
         * A background task used to periodically donate relevant Siri shortcuts.
         */
        static relevantShortcut: any;
    }
    export class NewDocumentAction {
        /**
         * Presents a new document window, using the provided closure to specify
         *  
         * the initial document contents.
         */
        callAsFunction<D>(newDocument: ()=>any):void;
    }
    export class SnapshotData {
        /**
         * The identifier associated with this snapshot request.
         */
        identifier: string;
        /**
         * The reason for a background snapshot task.
         */
        reason: SnapshotData.SnapshotReason;
    }
    /**
     * the same name namespace of class SnapshotData
     */
    export namespace SnapshotData {
        export enum SnapshotReason {}
    }
    export class SnapshotResponse {
        /**
         * Creates a snapshot response.
         */
        constructor (restoredDefaultState: boolean, estimatedSnapshotExpiration: Date | null, identifier: string);
    }
    export class CommandMenu {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * Creates a new menu with a localized name for a collection of app-
         *  
         * specific commands, inserted in the standard location for app menus
         *  
         * (after the View menu, in order with other menus declared without an
         *  
         * explicit location).
         */
        constructor (nameKey: LocalizedStringKey, content: ()=>any);
    }
    export class TextEditor {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates a plain text editor.
         */
        constructor (text: Binding<String>);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class OpenDocumentAction {
        /**
         * Opens the document at the specified file URL, if it a type that’s
         *  
         * defined by a document group defined in this app.
         */
        callAsFunction(url: URL):void;
    }
    export class CommandGroup {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * A value describing the addition of the given views to the end of the
         *  
         * indicated group.
         */
        constructor (group: CommandGroupPlacement, addition: ()=>any);
        /**
         * A value describing the addition of the given views to the beginning of
         *  
         * the indicated group.
         */
        constructor (group: CommandGroupPlacement, addition: ()=>any);
        /**
         * A value describing the complete replacement of the contents of the
         *  
         * indicated group with the given views.
         */
        constructor (group: CommandGroupPlacement, addition: ()=>any);
    }
    export class CommandsBuilder {
        /**
         * Builds an empty command set from a block containing no statements.
         */
        static buildBlock():EmptyCommands;
        /**
         * Passes a single command group written as a child group through
         *  
         * modified.
         */
        static buildBlock<C>(content: C):Commands;
        static buildBlock<C0, C1>(c0: C0, c1: C1):Commands;
        static buildBlock<C0, C1, C2>(c0: C0, c1: C1, c2: C2):Commands;
        static buildBlock<C0, C1, C2, C3>(c0: C0, c1: C1, c2: C2, c3: C3):Commands;
        static buildBlock<C0, C1, C2, C3, C4>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4):Commands;
        static buildBlock<C0, C1, C2, C3, C4, C5>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5):Commands;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6):Commands;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7):Commands;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8):Commands;
        static buildBlock<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>(c0: C0, c1: C1, c2: C2, c3: C3, c4: C4, c5: C5, c6: C6, c7: C7, c8: C8, c9: C9):Commands;
        /**
         * Provides support for “if” statements in multi-statement closures,
         *  
         * producing conditional content for the “then” branch.
         */
        static buildEither<T, F>(first: T):Commands;
        /**
         * Provides support for “if” statements in multi-statement closures,
         *  
         * producing an optional value that is visible only when the condition
         *  
         * evaluates to 
         * .
         */
        static buildIf<C>(content: C | null):Commands;
        /**
         * Provides support for “if” statements with 
         *  clauses in
         *  
         * multi-statement closures, producing conditional content for the “then”
         *  
         * branch, i.e. the conditionally-available branch.
         */
        static buildLimitedAvailability<C>(content: C):Commands;
    }
    export class CommandGroupPlacement {
        /**
         * Standard placement for commands that provide information about the app,
         *  
         * the terms of the user’s license agreement, etc.
         */
        static appInfo: CommandGroupPlacement;
        /**
         * Standard placement for commands that expose app settings and
         *  
         * preferences.
         */
        static appSettings: CommandGroupPlacement;
        /**
         * Standard placement for commands that result in app termination.
         */
        static appTermination: CommandGroupPlacement;
        /**
         * Standard placement for commands that control the visibility of running
         *  
         * apps.
         */
        static appVisibility: CommandGroupPlacement;
        /**
         * Standard placement for commands that expose services provided by other
         *  
         * apps.
         */
        static systemServices: CommandGroupPlacement;
        /**
         * Standard placement for commands that relate to importing and exporting
         *  
         * data using formats that the app doesn’t natively support.
         */
        static importExport: CommandGroupPlacement;
        /**
         * Standard placement for commands that create and open different kinds of
         *  
         * documents.
         */
        static newItem: CommandGroupPlacement;
        /**
         * Standard placement for commands related to printing app content.
         */
        static printItem: CommandGroupPlacement;
        /**
         * Standard placement for commands that save open documents and close
         *  
         * windows.
         */
        static saveItem: CommandGroupPlacement;
        /**
         * Standard placement for commands that interact with the pasteboard and
         *  
         * manipulate content that is currently selected in the app’s view
         *  
         * hierarchy.
         */
        static pasteboard: CommandGroupPlacement;
        /**
         * Standard placement for commands that manipulate and transform text
         *  
         * selections.
         */
        static textEditing: CommandGroupPlacement;
        /**
         * Standard placement for commands that manipulate and transform the styles
         *  
         * applied to text selections.
         */
        static textFormatting: CommandGroupPlacement;
        /**
         * Standard placement for commands that control the Undo Manager.
         */
        static undoRedo: CommandGroupPlacement;
        /**
         * Standard placement for commands that control the app’s sidebar and full
         *  
         * screen modes.
         */
        static sidebar: CommandGroupPlacement;
        /**
         * Standard placement for commands that manipulate the toolbar.
         */
        static toolbar: CommandGroupPlacement;
        /**
         * Standard placement for commands that describe and reveal any
         *  
         * s defined by the app.
         */
        static singleWindowList: CommandGroupPlacement;
        /**
         * Standard placement for commands that arrange all of an app’s windows.
         */
        static windowArrangement: CommandGroupPlacement;
        /**
         * Standard placement for commands that describe and reveal the app’s open
         *  
         * windows.
         */
        static windowList: CommandGroupPlacement;
        /**
         * Standard placement for commands that control the size of the window.
         */
        static windowSize: CommandGroupPlacement;
        /**
         * Standard placement for commands that present documentation and helpful
         *  
         * information to the user.
         */
        static help: CommandGroupPlacement;
    }
    export class SidebarCommands {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * A new value describing the built-in sidebar-related commands.
         */
        constructor ();
    }
    export class TextEditingCommands {
        /**
         * The contents of the command hierarchy.
         */
        body: Commands;
        /**
         * A new value describing the built-in text-editing commands.
         */
        constructor ();
    }
    export class TextInputAutocapitalization {
        /**
         * Defines an autocapitalizing behavior that will capitalize every letter.
         */
        static characters: TextInputAutocapitalization;
        /**
         * Defines an autocapitalizing behavior that will capitalize the first
         *  
         * letter in every sentence.
         */
        static sentences: TextInputAutocapitalization;
        /**
         * Defines an autocapitalizing behavior that will capitalize the first
         *  
         * letter of every word.
         */
        static words: TextInputAutocapitalization;
        /**
         * Defines an autocapitalizing behavior that will not capitalize anything.
         */
        static never: TextInputAutocapitalization;
        /**
         * Creates a new 
         *  struct from a
         *  
         *  enum.
         */
        constructor (type: UITextAutocapitalizationType);
    }
    export class Section {
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint within this view.
         */
        tint<S>(tint: S | null):ShapeStyle;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred shape style of the background of a bar managed
         *  
         * by SwiftUI.
         */
        toolbarBackground<S>(style: S, ...bars: ToolbarPlacement):ShapeStyle;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class OutlineGroup {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an outline group from a root data element and a key path to
         *  
         * its children.
         */
        constructor (root: DataElement, children: any, content: ()=>any);
        /**
         * Creates an outline group from a root data element, the key path to its
         *  
         * identifier, and a key path to its children.
         */
        constructor (root: DataElement, id: any, children: any, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Limits the Dynamic Type size within the view to the given range.
         */
        dynamicTypeSize<T>(range: T):DynamicTypeSize;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigaiton.
         */
        navigationDocument<D>(document: D):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a search token with the value of this view.
         */
        searchCompletion<T>(token: T):Identifiable;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint within this view.
         */
        tint<S>(tint: S | null):ShapeStyle;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred shape style of the background of a bar managed
         *  
         * by SwiftUI.
         */
        toolbarBackground<S>(style: S, ...bars: ToolbarPlacement):ShapeStyle;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Spacer {
        /**
         * The minimum length this spacer can be shrunk to, along the axis or axes
         *  
         * of expansion.
         */
        minLength: CGFloat | null;
        constructor (minLength: CGFloat | null);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Divider {
        constructor ();
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Rectangle {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        /**
         * The data to animate.
         */
        animatableData: EmptyAnimatableData;
        /**
         * The content and behavior of the view.
         */
        body: any;
        /**
         * Creates a new rectangle shape.
         */
        constructor ();
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):InsettableShape;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with the foreground color.
         *  
         * This is equivalent to insetting 
         *  by 
         *  and
         *  
         * stroking the resulting shape with 
         *  as the line-width.
         */
        strokeBorder(lineWidth: CGFloat, antialiased: boolean):View;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class RoundedRectangle {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        /**
         * The width and height of the rounded rectangle’s corners.
         */
        cornerSize: CGSize;
        /**
         * The style of corners drawn by the rounded rectangle.
         */
        style: RoundedCornerStyle;
        /**
         * The data to animate.
         */
        animatableData: CGSize.AnimatableData;
        /**
         * The content and behavior of the view.
         */
        body: any;
        /**
         * Creates a new rounded rectangle shape.
         */
        constructor (cornerRadius: CGFloat, style: RoundedCornerStyle);
        /**
         * Creates a new rounded rectangle shape.
         */
        constructor (cornerSize: CGSize, style: RoundedCornerStyle);
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):InsettableShape;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with the foreground color.
         *  
         * This is equivalent to insetting 
         *  by 
         *  and
         *  
         * stroking the resulting shape with 
         *  as the line-width.
         */
        strokeBorder(lineWidth: CGFloat, antialiased: boolean):View;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Circle {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        /**
         * The data to animate.
         */
        animatableData: EmptyAnimatableData;
        /**
         * Returns a rectangle that bounds the shape in such a way that viewers
         *  
         * perceive it as having the same size and position as a unit rectangle.
         */
        perceptualUnitRect: CGRect;
        /**
         * The content and behavior of the view.
         */
        body: any;
        /**
         * Creates a new circle shape.
         */
        constructor ();
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        strokeBorder(lineWidth: CGFloat):ChartSymbolShape;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):InsettableShape;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the size of the view that will render the shape, given
         *  
         * a proposed size.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Adds a background to a view that contains a chart.
         */
        chartBackground<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Configures the foreground style scale for charts.
         */
        chartForegroundStyleScale<DataValue, S>(mapping: any):ShapeStyle;
        /**
         * Configures the foreground style scale for charts.
         */
        chartForegroundStyleScale<Domain, S>(domain: Domain, mapping: ()=>any):Plottable;
        /**
         * Configures the foreground style scale for charts.
         */
        chartForegroundStyleScale<Domain, Range>(domain: Domain, range: Range, type: ScaleType | null):ShapeStyle;
        /**
         * Configures the foreground style scale for charts.
         */
        chartForegroundStyleScale<Domain>(domain: Domain, type: ScaleType | null):ScaleDomain;
        /**
         * Configures the foreground style scale for charts.
         */
        chartForegroundStyleScale<Range>(range: Range, type: ScaleType | null):ShapeStyle;
        /**
         * Configures the foreground style scale for charts.
         */
        chartForegroundStyleScale(type: ScaleType | null):View;
        /**
         * Configures the legend for charts.
         */
        chartLegend(visibility: Visibility):View;
        /**
         * Configures the legend for charts.
         */
        chartLegend<Content>(position: AnnotationPosition, alignment: Alignment | null, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Configures the line style scale for charts.
         */
        chartLineStyleScale<DataValue>(mapping: any):Plottable;
        /**
         * Configures the line style scale for charts.
         */
        chartLineStyleScale<Domain>(domain: Domain):ScaleDomain;
        /**
         * Configures the line style scale for charts.
         */
        chartLineStyleScale<Domain, Range>(domain: Domain, range: Range):StrokeStyle;
        /**
         * Configures the line style scale for charts.
         */
        chartLineStyleScale<Range>(range: Range):StrokeStyle;
        /**
         * Adds an overlay to a view that contains a chart.
         */
        chartOverlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Configures the plot area of charts.
         */
        chartPlotStyle<Content>(content: ()=>any):View;
        /**
         * Configures the symbol scale for charts.
         */
        chartSymbolScale<DataValue>(mapping: any):Plottable;
        /**
         * Configures the symbol scale for charts.
         */
        chartSymbolScale<DataValue, S>(mapping: any):ChartSymbolShape;
        /**
         * Configures the symbol style scale for charts.
         */
        chartSymbolScale<Domain>(domain: Domain):ScaleDomain;
        /**
         * Configures the symbol scale for charts.
         */
        chartSymbolScale<Domain, S>(domain: Domain, mapping: ()=>any):Plottable;
        /**
         * Configures the symbol style scale for charts.
         */
        chartSymbolScale<Domain, Range>(domain: Domain, range: Range):ChartSymbolShape;
        /**
         * Configures the symbol style scale for charts.
         */
        chartSymbolScale(range: ChartSymbolShape[]):View;
        /**
         * Configures the symbol size scale for charts.
         */
        chartSymbolSizeScale<DataValue>(mapping: any):Plottable;
        /**
         * Configures the symbol size scale for charts.
         */
        chartSymbolSizeScale<Domain>(domain: Domain, mapping: ()=>any):Plottable;
        /**
         * Configures the symbol size scale for charts.
         */
        chartSymbolSizeScale<Domain, Range>(domain: Domain, range: Range, type: ScaleType | null):CGFloat;
        /**
         * Configures the symbol size scale for charts.
         */
        chartSymbolSizeScale<Range>(range: Range, type: ScaleType | null):CGFloat;
        /**
         * Configures the symbol size scale for charts.
         */
        chartSymbolSizeScale(type: ScaleType | null):View;
        /**
         * Sets the visibility of the x axis.
         */
        chartXAxis(visibility: Visibility):View;
        /**
         * Sets the x axis for charts in the view (with no label).
         */
        chartXAxis<Content>(content: ()=>any):AxisContent;
        /**
         * Adds x axis label for charts in the view.
         */
        chartXAxisLabel(labelKey: LocalizedStringKey, position: AnnotationPosition, alignment: Alignment | null, spacing: CGFloat | null):View;
        /**
         * Adds x axis label for charts in the view.
         */
        chartXAxisLabel<C>(position: AnnotationPosition, alignment: Alignment | null, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Configures the x scale for charts.
         */
        chartXScale<Domain, Range>(domain: Domain, range: Range, type: ScaleType | null):PositionScaleRange;
        /**
         * Configures the x scale for charts.
         */
        chartXScale<Domain>(domain: Domain, type: ScaleType | null):ScaleDomain;
        /**
         * Configures the x scale for charts.
         */
        chartXScale<Range>(range: Range, type: ScaleType | null):PositionScaleRange;
        /**
         * Configures the x scale for charts.
         */
        chartXScale(type: ScaleType | null):View;
        /**
         * Sets the visibility of the y axis.
         */
        chartYAxis(visibility: Visibility):View;
        /**
         * Sets the y axis for charts in the view (with no label).
         */
        chartYAxis<Content>(content: ()=>any):AxisContent;
        /**
         * Adds y axis label for charts in the view.
         */
        chartYAxisLabel(labelKey: LocalizedStringKey, position: AnnotationPosition, alignment: Alignment | null, spacing: CGFloat | null):View;
        /**
         * Adds y axis label for charts in the view.
         */
        chartYAxisLabel<C>(position: AnnotationPosition, alignment: Alignment | null, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Configures the y scale for charts.
         */
        chartYScale<Domain, Range>(domain: Domain, range: Range, type: ScaleType | null):PositionScaleRange;
        /**
         * Configures the y scale for charts.
         */
        chartYScale<Domain>(domain: Domain, type: ScaleType | null):ScaleDomain;
        /**
         * Configures the y scale for charts.
         */
        chartYScale<Range>(range: Range, type: ScaleType | null):PositionScaleRange;
        /**
         * Configures the y scale for charts.
         */
        chartYScale(type: ScaleType | null):View;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Ellipse {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        /**
         * The data to animate.
         */
        animatableData: EmptyAnimatableData;
        /**
         * The content and behavior of the view.
         */
        body: any;
        /**
         * Creates a new ellipse shape.
         */
        constructor ();
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):InsettableShape;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with the foreground color.
         *  
         * This is equivalent to insetting 
         *  by 
         *  and
         *  
         * stroking the resulting shape with 
         *  as the line-width.
         */
        strokeBorder(lineWidth: CGFloat, antialiased: boolean):View;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified point.
         */
        offset(offset: CGPoint):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Path {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        /**
         * A rectangle containing all path segments.
         */
        boundingRect: CGRect;
        /**
         * An immutable path representing the elements in the path.
         */
        cgPath: CGPath;
        /**
         * Returns the last point in the path, or nil if the path contains
         *  
         * no points.
         */
        currentPoint: CGPoint | null;
        /**
         * A description of the path that may be used to recreate the path
         *  
         * via 
         * .
         */
        description: string;
        /**
         * A Boolean value indicating whether the path contains zero elements.
         */
        isEmpty: boolean;
        /**
         * The data to animate.
         */
        animatableData: EmptyAnimatableData;
        /**
         * The content and behavior of the view.
         */
        body: any;
        /**
         * Creates an empty path.
         */
        constructor ();
        /**
         * Creates an empty path, and then executes the closure to add the initial
         *  
         * elements.
         */
        constructor (callback: ()=>any);
        /**
         * Creates a path as an ellipse inscribed within the given rectangle.
         */
        constructor (rect: CGRect);
        /**
         * Creates a path as the given rounded rectangle.
         */
        constructor (rect: CGRect, cornerRadius: CGFloat, style: RoundedCornerStyle);
        /**
         * Creates a path as the given rounded rectangle.
         */
        constructor (rect: CGRect, cornerSize: CGSize, style: RoundedCornerStyle);
        /**
         * Returns true if the path contains a specified point.
         */
        contains(p: CGPoint, eoFill: boolean):boolean;
        /**
         * Begins a new subpath at the specified point.
         */
        move(p: CGPoint):void;
        /**
         * Adds an arc of a circle to the path, specified with a radius and angles.
         */
        addArc(center: CGPoint, radius: CGFloat, startAngle: Angle, endAngle: Angle, clockwise: boolean, transform: CGAffineTransform):void;
        /**
         * Adds a cubic Bézier curve to the path, with the specified end point and
         *  
         * control points.
         */
        addCurve(p: CGPoint, cp1: CGPoint, cp2: CGPoint):void;
        /**
         * Adds an ellipse to the path.
         */
        addEllipse(rect: CGRect, transform: CGAffineTransform):void;
        /**
         * Appends a straight line segment from the current point to the specified
         *  
         * point.
         */
        addLine(p: CGPoint):void;
        /**
         * Adds a sequence of connected straight-line segments to the path.
         */
        addLines(lines: CGPoint[]):void;
        /**
         * Appends a copy of the given path to this path.
         */
        addPath(path: Path, transform: CGAffineTransform):void;
        /**
         * Adds a quadratic Bézier curve to the path, with the specified end point
         *  
         * and control point.
         */
        addQuadCurve(p: CGPoint, cp: CGPoint):void;
        /**
         * Adds a rectangular subpath to the path.
         */
        addRect(rect: CGRect, transform: CGAffineTransform):void;
        /**
         * Adds a sequence of rectangular subpaths to the path.
         */
        addRects(rects: CGRect[], transform: CGAffineTransform):void;
        /**
         * Adds an arc of a circle to the path, specified with a radius and a
         *  
         * difference in angle.
         */
        addRelativeArc(center: CGPoint, radius: CGFloat, startAngle: Angle, delta: Angle, transform: CGAffineTransform):void;
        /**
         * Adds a rounded rectangle to the path.
         */
        addRoundedRect(rect: CGRect, cornerSize: CGSize, style: RoundedCornerStyle, transform: CGAffineTransform):void;
        /**
         * Closes and completes the current subpath.
         */
        closeSubpath():void;
        /**
         * Returns a path constructed by applying the transform to all points of
         *  
         * the path.
         */
        applying(transform: CGAffineTransform):Path;
        /**
         * Returns a path constructed by translating 
         *  by 
         * .
         */
        offsetBy(dx: CGFloat, dy: CGFloat):Path;
        /**
         * Returns a partial copy of the path.
         */
        trimmedPath(from: CGFloat, to: CGFloat):Path;
        /**
         * Calls 
         *  with each element in the path.
         */
        forEach(body: ()=>any):void;
        /**
         * Returns a stroked copy of the path using 
         *  to define how the
         *  
         * stroked outline is created.
         */
        strokedPath(style: StrokeStyle):Path;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(_: CGRect):Path;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to this view when this view changes.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Prevents the view from updating its child view when its new value is the
         *  
         * same as its old value.
         */
        equatable():EquatableView<Self>;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    /**
     * the same name namespace of class Path
     */
    export namespace Path {
        export enum Element {}
    }
    export class ScaledShape {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        anchor: UnitPoint;
        scale: CGSize;
        shape: Content;
        /**
         * The data to animate.
         */
        animatableData: any;
        /**
         * The content and behavior of the view.
         */
        body: any;
        constructor (shape: Content, scale: CGSize, anchor: UnitPoint);
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified point.
         */
        offset(offset: CGPoint):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class RotatedShape {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        anchor: UnitPoint;
        angle: Angle;
        shape: Content;
        /**
         * The data to animate.
         */
        animatableData: any;
        /**
         * The content and behavior of the view.
         */
        body: any;
        constructor (shape: Content, angle: Angle, anchor: UnitPoint);
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):RotatedShape<Content.InsetShape>;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with the foreground color.
         *  
         * This is equivalent to insetting 
         *  by 
         *  and
         *  
         * stroking the resulting shape with 
         *  as the line-width.
         */
        strokeBorder(lineWidth: CGFloat, antialiased: boolean):View;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class OffsetShape {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        offset: CGSize;
        shape: Content;
        /**
         * The data to animate.
         */
        animatableData: any;
        /**
         * The content and behavior of the view.
         */
        body: any;
        constructor (shape: Content, offset: CGSize);
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):OffsetShape<Content.InsetShape>;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with the foreground color.
         *  
         * This is equivalent to insetting 
         *  by 
         *  and
         *  
         * stroking the resulting shape with 
         *  as the line-width.
         */
        strokeBorder(lineWidth: CGFloat, antialiased: boolean):View;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class TransformedShape {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        shape: Content;
        transform: CGAffineTransform;
        /**
         * The data to animate.
         */
        animatableData: any;
        /**
         * The content and behavior of the view.
         */
        body: any;
        constructor (shape: Content, transform: CGAffineTransform);
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ContainerRelativeShape {
        /**
         * An indication of how to style a shape.
         */
        static role: ShapeRole;
        /**
         * The data to animate.
         */
        animatableData: EmptyAnimatableData;
        /**
         * The content and behavior of the view.
         */
        body: any;
        constructor ();
        /**
         * Describes this shape as a path within a rectangular frame of reference.
         */
        path(rect: CGRect):Path;
        /**
         * Returns 
         *  inset by 
         * .
         */
        inset(amount: CGFloat):InsettableShape;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with 
         * . This is
         *  
         * equivalent to insetting 
         *  by 
         *  and stroking the
         *  
         * resulting shape with 
         *  as the line-width.
         */
        strokeBorder<S>(content: S, lineWidth: CGFloat, antialiased: boolean):ShapeStyle;
        /**
         * Returns a view that is the result of filling the 
         * -sized
         *  
         * border (aka inner stroke) of 
         *  with the foreground color.
         *  
         * This is equivalent to insetting 
         *  by 
         *  and
         *  
         * stroking the resulting shape with 
         *  as the line-width.
         */
        strokeBorder(lineWidth: CGFloat, antialiased: boolean):View;
        /**
         * Fills this shape with a color or gradient.
         */
        fill<S>(content: S, style: FillStyle):ShapeStyle;
        /**
         * Fills this shape with the foreground color.
         */
        fill(style: FillStyle):View;
        /**
         * Changes the relative position of this shape using the specified size.
         */
        offset(offset: CGSize):OffsetShape<Self>;
        /**
         * Rotates this shape around an anchor point at the angle you specify.
         */
        rotation(angle: Angle, anchor: UnitPoint):RotatedShape<Self>;
        /**
         * Scales this shape without changing its bounding frame.
         */
        scale(scale: CGFloat, anchor: UnitPoint):ScaledShape<Self>;
        /**
         * Returns a new version of self representing the same shape, but
         *  
         * that will ask it to create its path from a rect of 
         * . This
         *  
         * does not affect the layout properties of any views created from
         *  
         * the shape (e.g. by filling it).
         */
        size(size: CGSize):Shape;
        /**
         * Returns the original proposal, with nil components replaced by
         *  
         * a small positive value.
         */
        sizeThatFits(proposal: ProposedViewSize):CGSize;
        /**
         * Traces the outline of this shape with a color or gradient.
         */
        stroke<S>(content: S, lineWidth: CGFloat):ShapeStyle;
        /**
         * Returns a new shape that is a stroked copy of 
         *  with
         *  
         * line-width defined by 
         *  and all other properties of
         *  
         *  having their default values.
         */
        stroke(lineWidth: CGFloat):Shape;
        /**
         * Applies an affine transform to this shape.
         */
        transform(transform: CGAffineTransform):TransformedShape<Self>;
        /**
         * Trims this shape by a fractional amount based on its representation as a
         *  
         * path.
         */
        trim(startFraction: CGFloat, endFraction: CGFloat):Shape;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class Color {
        /**
         * A black color suitable for use in UI elements.
         */
        static black: Color;
        /**
         * A context-dependent blue color suitable for use in UI elements.
         */
        static blue: Color;
        /**
         * A context-dependent brown color suitable for use in UI elements.
         */
        static brown: Color;
        /**
         * A clear color suitable for use in UI elements.
         */
        static clear: Color;
        /**
         * A context-dependent cyan color suitable for use in UI elements.
         */
        static cyan: Color;
        /**
         * A context-dependent gray color suitable for use in UI elements.
         */
        static gray: Color;
        /**
         * A context-dependent green color suitable for use in UI elements.
         */
        static green: Color;
        /**
         * A context-dependent indigo color suitable for use in UI elements.
         */
        static indigo: Color;
        /**
         * A context-dependent mint color suitable for use in UI elements.
         */
        static mint: Color;
        /**
         * A context-dependent orange color suitable for use in UI elements.
         */
        static orange: Color;
        /**
         * A context-dependent pink color suitable for use in UI elements.
         */
        static pink: Color;
        /**
         * A context-dependent purple color suitable for use in UI elements.
         */
        static purple: Color;
        /**
         * A context-dependent red color suitable for use in UI elements.
         */
        static red: Color;
        /**
         * A context-dependent teal color suitable for use in UI elements.
         */
        static teal: Color;
        /**
         * A white color suitable for use in UI elements.
         */
        static white: Color;
        /**
         * A context-dependent yellow color suitable for use in UI elements.
         */
        static yellow: Color;
        /**
         * A color that reflects the accent color of the system or app.
         */
        static accentColor: Color;
        /**
         * The color to use for primary content.
         */
        static primary: Color;
        /**
         * The color to use for secondary content.
         */
        static secondary: Color;
        /**
         * One group of colors–constant colors–created with explicitly specified
         *  
         * component values are transferred as is.
         */
        static transferRepresentation: TransferRepresentation;
        /**
         * A Core Graphics representation of the color, if available.
         */
        cgColor: CGColor | null;
        /**
         * Returns the standard gradient for the color 
         * .
         */
        gradient: AnyGradient;
        /**
         * A textual representation of the color.
         */
        description: string;
        /**
         * The hashed value of the color.
         */
        hashValue: number;
        /**
         * Creates a color from a color set that you indicate by name.
         */
        constructor (name: string, bundle: Bundle | null);
        /**
         * Creates a constant color from hue, saturation, and brightness values.
         */
        constructor (hue: number, saturation: number, brightness: number, opacity: number);
        /**
         * Creates a constant grayscale color.
         */
        constructor (colorSpace: Color.RGBColorSpace, white: number, opacity: number);
        /**
         * Creates a constant color from red, green, and blue component values.
         */
        constructor (colorSpace: Color.RGBColorSpace, red: number, green: number, blue: number, opacity: number);
        /**
         * Creates a color from a UIKit color.
         */
        constructor (uiColor: UIColor);
        /**
         * Creates a color from an AppKit color.
         */
        constructor (nsColor: NSColor);
        /**
         * Creates a color from a Core Graphics color.
         */
        constructor (cgColor: CGColor);
        /**
         * Creates a color from a UIKit color.
         */
        constructor (color: UIColor);
        /**
         * Multiplies the opacity of the color by the given amount.
         */
        opacity(opacity: number):Color;
        /**
         * Hashes the essential components of the color by feeding them into the
         *  
         * given hash function.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to this view when this view changes.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Prevents the view from updating its child view when its new value is the
         *  
         * same as its old value.
         */
        equatable():EquatableView<Self>;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    /**
     * the same name namespace of class Color
     */
    export namespace Color {
        export enum RGBColorSpace {}
    }
    export class ImagePaint {
        /**
         * The image to be drawn.
         */
        image: Image;
        /**
         * A scale factor applied to the image while being drawn.
         */
        scale: CGFloat;
        /**
         * A unit-space rectangle defining how much of the source image to draw.
         */
        sourceRect: CGRect;
        /**
         * Creates a shape-filling shape style.
         */
        constructor (image: Image, sourceRect: CGRect, scale: CGFloat);
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
    }
    export class Gradient {
        /**
         * The array of color stops.
         */
        stops: Gradient.Stop[];
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a gradient from an array of colors.
         */
        constructor (colors: Color[]);
        /**
         * Creates a gradient from an array of color stops.
         */
        constructor (stops: Gradient.Stop[]);
        /**
         * Returns a version of the gradient that will use a specified
         *  
         * color space for interpolating between its colors.
         */
        colorSpace(space: Gradient.ColorSpace):AnyGradient;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
    }
    /**
     * the same name namespace of class Gradient
     */
    export namespace Gradient {
        export class Stop {
            /**
             * The color for the stop.
             */
            color: Color;
            /**
             * The parametric location of the stop.
             */
            location: CGFloat;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a color stop with a color and location.
             */
            constructor (color: Color, location: CGFloat);
            /**
             * Hashes the essential components of this value by feeding them into the
             *  
             * given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class ColorSpace {
            /**
             * Interpolates gradient colors in the output color space.
             */
            static device: Gradient.ColorSpace;
            /**
             * Interpolates gradient colors in a perceptual color space.
             */
            static perceptual: Gradient.ColorSpace;
            /**
             * The hashed value of the color space.
             */
            hashValue: number;
            /**
             * Hashes the essential components of the color space by passing them into the given
             *  
             * hash function.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class LinearGradient {
        /**
         * Creates a linear gradient from a base gradient.
         */
        constructor (gradient: Gradient, startPoint: UnitPoint, endPoint: UnitPoint);
        /**
         * Creates a linear gradient from a collection of colors.
         */
        constructor (colors: Color[], startPoint: UnitPoint, endPoint: UnitPoint);
        /**
         * Creates a linear gradient from a collection of color stops.
         */
        constructor (stops: Gradient.Stop[], startPoint: UnitPoint, endPoint: UnitPoint);
        /**
         * A linear gradient.
         */
        static linearGradient(gradient: Gradient, startPoint: UnitPoint, endPoint: UnitPoint):LinearGradient;
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class AngularGradient {
        /**
         * Creates a conic gradient that completes a full turn.
         */
        constructor (gradient: Gradient, center: UnitPoint, angle: Angle);
        /**
         * Creates a conic gradient from a collection of colors that completes
         *  
         * a full turn.
         */
        constructor (colors: Color[], center: UnitPoint, angle: Angle);
        /**
         * Creates a conic gradient from a collection of color stops that
         *  
         * completes a full turn.
         */
        constructor (stops: Gradient.Stop[], center: UnitPoint, angle: Angle);
        /**
         * Creates an angular gradient.
         */
        constructor (gradient: Gradient, center: UnitPoint, startAngle: Angle, endAngle: Angle);
        /**
         * Creates an angular gradient from a collection of colors.
         */
        constructor (colors: Color[], center: UnitPoint, startAngle: Angle, endAngle: Angle);
        /**
         * Creates an angular gradient from a collection of color stops.
         */
        constructor (stops: Gradient.Stop[], center: UnitPoint, startAngle: Angle, endAngle: Angle);
        /**
         * An angular gradient, which applies the color function as the angle
         *  
         * changes between the start and end angles, and anchored to a relative
         *  
         * center point within the filled shape.
         */
        static angularGradient(gradient: Gradient, center: UnitPoint, startAngle: Angle, endAngle: Angle):AngularGradient;
        /**
         * A conic gradient that completes a full turn, optionally starting from
         *  
         * a given angle and anchored to a relative center point within the filled
         *  
         * shape.
         */
        static conicGradient(gradient: Gradient, center: UnitPoint, angle: Angle):AngularGradient;
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class RadialGradient {
        /**
         * Creates a radial gradient from a base gradient.
         */
        constructor (gradient: Gradient, center: UnitPoint, startRadius: CGFloat, endRadius: CGFloat);
        /**
         * Creates a radial gradient from a collection of colors.
         */
        constructor (colors: Color[], center: UnitPoint, startRadius: CGFloat, endRadius: CGFloat);
        /**
         * Creates a radial gradient from a collection of color stops.
         */
        constructor (stops: Gradient.Stop[], center: UnitPoint, startRadius: CGFloat, endRadius: CGFloat);
        /**
         * A radial gradient.
         */
        static radialGradient(gradient: Gradient, center: UnitPoint, startRadius: CGFloat, endRadius: CGFloat):RadialGradient;
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ForegroundStyle {
        /**
         * The foreground style in the current context.
         */
        static foreground: ForegroundStyle;
        /**
         * Creates a foreground style instance.
         */
        constructor ();
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
    }
    export class FillStyle {
        /**
         * A Boolean value that indicates whether to use the even-odd rule when
         *  
         * rendering a shape.
         */
        isEOFilled: boolean;
        /**
         * A Boolean value that indicates whether to apply antialiasing to the
         *  
         * edges of a shape.
         */
        isAntialiased: boolean;
        /**
         * Creates a new fill style with the specified settings.
         */
        constructor (eoFill: boolean, antialiased: boolean);
    }
    export class BackgroundStyle {
        /**
         * The background style in the current context.
         */
        static background: BackgroundStyle;
        /**
         * Creates a background style instance.
         */
        constructor ();
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
    }
    export class SelectionShapeStyle {
        /**
         * A style used to visually indicate selection following platform conventional
         *  
         * colors and behaviors.
         */
        static selection: SelectionShapeStyle;
        /**
         * Creates a selection shape style.
         */
        constructor ();
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
    }
    export class SeparatorShapeStyle {
        /**
         * A style appropriate for foreground separator or border lines.
         */
        static separator: SeparatorShapeStyle;
        /**
         * Creates a new separator shape style instance.
         */
        constructor ();
        /**
         * Returns a new style based on 
         *  that applies the specified
         *  
         * blend mode when drawing.
         */
        blendMode(mode: BlendMode):ShapeStyle;
        /**
         * Maps a shape style’s unit-space coordinates to the absolute coordinates
         *  
         * of a given rectangle.
         */
        in(rect: CGRect):ShapeStyle;
        /**
         * Returns a new style based on 
         *  that multiplies by the
         *  
         * specified opacity when drawing.
         */
        opacity(opacity: number):ShapeStyle;
        /**
         * Applies the specified shadow effect to the shape style.
         */
        shadow(style: ShadowStyle):ShapeStyle;
    }
    export class StrokeStyle {
        /**
         * The width of the stroked path.
         */
        lineWidth: CGFloat;
        /**
         * The endpoint style of a line.
         */
        lineCap: CGLineCap;
        /**
         * The join type of a line.
         */
        lineJoin: CGLineJoin;
        /**
         * A threshold used to determine whether to use a bevel instead of a
         *  
         * miter at a join.
         */
        miterLimit: CGFloat;
        /**
         * The lengths of painted and unpainted segments used to make a dashed line.
         */
        dash: CGFloat[];
        /**
         * How far into the dash pattern the line starts.
         */
        dashPhase: CGFloat;
        /**
         * The data to animate.
         */
        animatableData: StrokeStyle.AnimatableData;
        /**
         * Creates a new stroke style from the given components.
         */
        constructor (lineWidth: CGFloat, lineCap: CGLineCap, lineJoin: CGLineJoin, miterLimit: CGFloat, dash: CGFloat[], dashPhase: CGFloat);
    }
    export class Canvas {
        /**
         * A Boolean that indicates whether the canvas is fully opaque.
         */
        isOpaque: boolean;
        /**
         * The working color space and storage format of the canvas.
         */
        colorMode: ColorRenderingMode;
        /**
         * A view that provides child views that you can use in the drawing
         *  
         * callback.
         */
        symbols: Symbols;
        /**
         * A Boolean that indicates whether the canvas can present its contents
         *  
         * to its parent view asynchronously.
         */
        rendersAsynchronously: boolean;
        /**
         * The drawing callback that you use to draw into the canvas.
         */
        renderer: ()=>any;
        /**
         * Creates and configures a canvas.
         */
        constructor (opaque: boolean, colorMode: ColorRenderingMode, rendersAsynchronously: boolean, renderer: ()=>any);
        /**
         * Creates and configures a canvas that you supply with renderable
         *  
         * child views.
         */
        constructor (opaque: boolean, colorMode: ColorRenderingMode, rendersAsynchronously: boolean, renderer: ()=>any, symbols: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class GeometryProxy {
        /**
         * The size of the container view.
         */
        size: CGSize;
        /**
         * The safe area inset of the container view.
         */
        safeAreaInsets: EdgeInsets;
        /**
         * Returns the container view’s bounds rectangle, converted to a defined
         *  
         * coordinate space.
         */
        frame(coordinateSpace: CoordinateSpace):CGRect;
    }
    export class GeometryReader {
        content: ()=>any;
        constructor (content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ProjectionTransform {
        isAffine: boolean;
        isIdentity: boolean;
        m11: CGFloat;
        m12: CGFloat;
        m13: CGFloat;
        m21: CGFloat;
        m22: CGFloat;
        m23: CGFloat;
        m31: CGFloat;
        m32: CGFloat;
        m33: CGFloat;
        constructor ();
        constructor (m: CGAffineTransform);
        invert():boolean;
        inverted():ProjectionTransform;
        concatenating(rhs: ProjectionTransform):ProjectionTransform;
    }
    export class HStack {
        /**
         * Creates a horizontal stack with the given spacing and vertical alignment.
         */
        constructor (alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor. The Rotor will be attached to the current Accessibility element,
         *  
         * and each entry will go the specified range of that element.
         */
        accessibilityRotor(systemRotor: AccessibilitySystemRotor, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class VStack {
        /**
         * Creates an instance with the given spacing and horizontal alignment.
         */
        constructor (alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class ZStack {
        /**
         * Creates an instance with the given alignment.
         */
        constructor (alignment: Alignment, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class LazyHStack {
        /**
         * Creates a lazy horizontal stack view with the given spacing,
         *  
         * vertical alignment, pinning behavior, and content.
         */
        constructor (alignment: VerticalAlignment, spacing: CGFloat | null, pinnedViews: PinnedScrollableViews, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy
         *  
         * in this view.
         */
        lineLimit(limit: PartialRangeThrough<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given amount in both the
         *  
         * horizontal and vertical directions, relative to an anchor point.
         */
        scaleEffect(s: CGFloat, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class LazyVStack {
        /**
         * Creates a lazy vertical stack view with the given spacing,
         *  
         * vertical alignment, pinning behavior, and content.
         */
        constructor (alignment: HorizontalAlignment, spacing: CGFloat | null, pinnedViews: PinnedScrollableViews, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns an optional keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to offer
         *  
         * suggestions while the user enters text on a watchOS device.
         */
        textContentType(textContentType: WKTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the specified items.
         */
        toolbar<Content>(content: ()=>any):ToolbarContent;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class LazyVGrid {
        /**
         * Creates a grid that grows vertically.
         */
        constructor (columns: GridItem[], alignment: HorizontalAlignment, spacing: CGFloat | null, pinnedViews: PinnedScrollableViews, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(label: Text, value: Text, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueDescription: Text):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a localized string key.
         */
        badge(key: LocalizedStringKey | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a localized string key for the title.
         */
        confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a localized string that you provide.
         */
        help(textKey: LocalizedStringKey):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a closed range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: ClosedRange<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets a fixed tint color associated with specific content in a list.
         */
        listItemTint(tint: Color | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation.
         */
        navigationTitle(title: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content above or below the modified view.
         */
        safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class GridItem {
        /**
         * The alignment to use when placing each view.
         */
        alignment: Alignment | null;
        /**
         * The spacing to the next item.
         */
        spacing: CGFloat | null;
        /**
         * The size of the item, which is the width of a column item or the
         *  
         * height of a row item.
         */
        size: GridItem.Size;
        /**
         * Creates a grid item with the specified size, spacing, and alignment.
         */
        constructor (size: GridItem.Size, spacing: CGFloat | null, alignment: Alignment | null);
    }
    /**
     * the same name namespace of class GridItem
     */
    export namespace GridItem {
        export enum Size {}
    }
    export class Group {
        /**
         * The internal content of this 
         * .
         */
        body: Never;
        /**
         * Creates a group of views.
         */
        constructor (content: ()=>any);
        /**
         * Configures the customization behavior of customizable toolbar content.
         */
        customizationBehavior(behavior: ToolbarCustomizationBehavior):CustomizableToolbarContent;
        /**
         * Configures customizable toolbar content with the default visibility
         *  
         * and options.
         */
        defaultCustomization():CustomizableToolbarContent;
        /**
         * Runs the specified action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Adds commands to the scene.
         */
        commands<Content>(content: ()=>any):Commands;
        /**
         * Removes all commands defined by the modified scene.
         */
        commandsRemoved():Scene;
        /**
         * Replaces all commands defined by the modified scene with the commands
         *  
         * from the builder.
         */
        commandsReplaced<Content>(content: ()=>any):Commands;
        /**
         * The default store used by 
         *  contained within the scene and
         *  
         * its view content.
         */
        defaultAppStorage(store: UserDefaults):Scene;
        /**
         * Defines the default position of 
         * .
         */
        defaultPosition(position: UnitPoint):Scene;
        /**
         * Defines the default size of 
         * .
         */
        defaultSize(size: CGSize):Scene;
        /**
         * Specifies a modifier to indicate if this Scene can be used
         *  
         * when creating a new Scene for the received External Event.
         */
        handlesExternalEvents(conditions: Set<String>):Scene;
        /**
         * Defines a keyboard shortcut for opening new scene windows.
         */
        keyboardShortcut(shortcut: KeyboardShortcut | null):Scene;
        /**
         * Sets the style for menu bar extra created by this scene.
         */
        menuBarExtraStyle<S>(style: S):MenuBarExtraStyle;
        /**
         * Adds an action to perform when the given value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Sets the desired window resizability for 
         * .
         */
        windowResizability(resizability: WindowResizability):Scene;
        /**
         * Sets the style for windows created by this scene.
         */
        windowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar defined within this scene.
         */
        windowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Adds a context menu to a table row.
         */
        contextMenu<M>(menuItems: ()=>any):View;
        /**
         * Adds a context menu with a preview to a table row.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Provides a closure that vends the drag representation for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any | null):any;
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: UnitPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a localized string key for a title.
         */
        alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a localized string key for a title.
         */
        alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s horizontal alignment.
         */
        alignmentGuide(g: HorizontalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and custom interaction behavior.
         */
        buttonStyle<S>(style: S):PrimitiveButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a localized string key for the title.
         */
        confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a text view for the message.
         */
        confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Limits the Dynamic Type size within the view to the given range.
         */
        dynamicTypeSize<T>(range: T):DynamicTypeSize;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigaiton.
         */
        navigationDocument<D>(document: D):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform when this view recognizes a
         *  
         * remote long touch gesture. A long touch gesture is when the finger is
         *  
         * on the remote touch surface without actually pressing.
         */
        onLongTouchGesture(minimumDuration: number, action: ()=>any, onTouchingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Associates a search token with the value of this view.
         */
        searchCompletion<T>(token: T):Identifiable;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint within this view.
         */
        tint<S>(tint: S | null):ShapeStyle;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred shape style of the background of a bar managed
         *  
         * by SwiftUI.
         */
        toolbarBackground<S>(style: S, ...bars: ToolbarPlacement):ShapeStyle;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class GroupBox {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an unlabeled group box with the provided view content.
         */
        constructor (content: ()=>any);
        /**
         * Creates a group box with the provided label and view content.
         */
        constructor (content: ()=>any, label: ()=>any);
        /**
         * Creates a group box with the provided view content and title.
         */
        constructor (titleKey: LocalizedStringKey, content: ()=>any);
        /**
         * Creates a group box based on a style configuration.
         */
        constructor (configuration: GroupBoxStyleConfiguration);
        constructor (label: Label, content: ()=>any);
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the unit point where activations occur in the view.
         */
        accessibility(activationPoint: UnitPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, valueKey: LocalizedStringKey, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hint: Text):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabelKeys: LocalizedStringKey[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(labelKey: LocalizedStringKey):any;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<Content>(label: Text, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel, ID>(rotorLabel: Text, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Presents an alert when a given condition is true, using a text view for
         *  
         * the title.
         */
        alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a text view as a title.
         */
        alert<A, M>(title: Text, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the aspect ratio of the given size.
         */
        aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to a shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Generates a badge for the view from an integer value.
         */
        badge(count: number):View;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * text view for the title.
         */
        confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Modifies this view by injecting a value that you provide for use by
         *  
         * other views whose state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets the maximum number of lines that text can occupy in this view.
         */
        lineLimit(_number: number):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title in the navigation bar for this view.
         */
        navigationBarTitle(title: Text):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a localized string.
         */
        navigationSubtitle(subtitleKey: LocalizedStringKey):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination for a drag and drop operation with the same size
         *  
         * and position as this view, with behavior controlled by the given
         *  
         * delegate.
         */
        onDrop(supportedTypes: string[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command.
         */
        onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a different padding amount to each edge of this view.
         */
        padding(insets: EdgeInsets):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets the rename action in the environment to update focus state.
         */
        renameAction(isFocused: any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: LocalizedStringKey):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on an iOS or tvOS device.
         */
        textContentType(textContentType: UITextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class GroupBoxStyleConfiguration {
        /**
         * A view that provides the title of the group box.
         */
        label: GroupBoxStyleConfiguration.Label;
        /**
         * A view that represents the content of the group box.
         */
        content: GroupBoxStyleConfiguration.Content;
    }
    /**
     * the same name namespace of class GroupBoxStyleConfiguration
     */
    export namespace GroupBoxStyleConfiguration {
        export class Label {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the point where activations occur in the view.
             */
            accessibility(activationPoint: CGPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(labelKey: LocalizedStringKey):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<Content>(labelKey: LocalizedStringKey, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel>(rotorLabel: Text, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueKey: LocalizedStringKey):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a localized
             *  
             * string key for the title.
             */
            alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a text view as a title.
             */
            alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a localized string key for a title.
             */
            alert<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the specified aspect ratio.
             */
            aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to an insettable shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Generates a badge for the view from a text view.
             */
            badge(label: Text | null):View;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and custom interaction behavior.
             */
            buttonStyle<S>(style: S):PrimitiveButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * localized string key for the title.
             */
            confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a text view for the title.
             */
            confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T | null):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Modifies this view by injecting a value that you provide for use by
             *  
             * other views whose state depends on the focused scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Adds help text to a view using a localized string that you provide.
             */
            help(textKey: LocalizedStringKey):View;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns an optional keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut | null):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets the maximum number of lines that text can occupy in this view.
             */
            lineLimit(_number: number):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationSubtitle(subtitleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a localized string.
             */
            navigationTitle(titleKey: LocalizedStringKey):View;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination for a drag and drop operation with the same size
             *  
             * and position as this view, with behavior controlled by the given
             *  
             * delegate.
             */
            onDrop(supportedTypes: string[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command.
             */
            onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            onPasteCommand<Payload>(supportedTypes: string[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets the rename action in the environment to update focus state.
             */
            renameAction(isFocused: any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on an iOS or tvOS device.
             */
            textContentType(textContentType: UITextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the specified items.
             */
            toolbar<Content>(content: ()=>any):ToolbarContent;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
        export class Content {
            /**
             * Sets the accent color for this view and the views it contains.
             */
            accentColor(accentColor: Color | null):View;
            /**
             * Specifies the unit point where activations occur in the view.
             */
            accessibility(activationPoint: UnitPoint):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
            /**
             * Adds an accessibility action to the view. Actions allow assistive technologies,
             *  
             * such as the VoiceOver, to interact with the view by invoking the action.
             */
            accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
            /**
             * Adds multiple accessibility actions to the view.
             */
            accessibilityActions<Content>(content: ()=>any):View;
            /**
             * The activation point for an element is the location
             *  
             * assistive technologies use to initiate gestures.
             */
            accessibilityActivationPoint(activationPoint: CGPoint):any;
            /**
             * Adds the given traits to the view.
             */
            accessibilityAddTraits(traits: AccessibilityTraits):any;
            /**
             * Adds an accessibility adjustable action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityAdjustableAction(handler: ()=>any):any;
            /**
             * Adds a descriptor to a View that represents a chart to make
             *  
             * the chart’s contents accessible to all users.
             */
            accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
            /**
             * Replaces the existing accessibility element’s children with one or
             *  
             * more new synthetic accessibility elements.
             */
            accessibilityChildren<V>(children: ()=>any):View;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent(labelKey: LocalizedStringKey, value: Text, importance: AXCustomContent.Importance):any;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<V>(labelKey: LocalizedStringKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Add additional accessibility information to the view.
             */
            accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
            /**
             * Creates a new accessibility element, or modifies the
             *  
             *  of the existing accessibility element.
             */
            accessibilityElement(children: AccessibilityChildBehavior):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state
             *  
             * to the given boolean state value.
             */
            accessibilityFocused(condition: any):View;
            /**
             * Modifies this view by binding its accessibility element’s focus state to
             *  
             * the given state value.
             */
            accessibilityFocused<Value>(binding: any, value: Value):Hashable;
            /**
             * Sets the accessibility level of this heading.
             */
            accessibilityHeading(level: AccessibilityHeadingLevel):any;
            /**
             * Specifies whether to hide this view from system accessibility features.
             */
            accessibilityHidden(hidden: boolean):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint(hintKey: LocalizedStringKey):any;
            /**
             * Communicates to the user what happens after performing the view’s
             *  
             * action.
             */
            accessibilityHint<S>(hint: S):StringProtocol;
            /**
             * Uses the string you specify to identify the view.
             */
            accessibilityIdentifier(identifier: string):any;
            /**
             * Sets whether this view should ignore the system Smart Invert setting.
             */
            accessibilityIgnoresInvertColors(active: boolean):View;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
            /**
             * Sets alternate input labels with which users identify a view.
             */
            accessibilityInputLabels(inputLabels: Text[]):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel(label: Text):any;
            /**
             * Adds a label to the view that describes its contents.
             */
            accessibilityLabel<S>(label: S):StringProtocol;
            /**
             * Pairs an accessibility element representing a label with the element
             *  
             * for the matching content.
             */
            accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Links multiple accessibility elements so that the user can quickly
             *  
             * navigate from one element to another, even when the elements are not near
             *  
             * each other in the accessibility hierarchy.
             */
            accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Removes the given traits from this view.
             */
            accessibilityRemoveTraits(traits: AccessibilityTraits):any;
            /**
             * Replaces one or more accessibility elements for this view with new
             *  
             * accessibility elements.
             */
            accessibilityRepresentation<V>(representation: ()=>any):View;
            /**
             * Explicitly set whether this Accessibility element responds to user
             *  
             * interaction and would thus be interacted with by technologies such as
             *  
             * Switch Control, Voice Control or Full Keyboard Access.
             */
            accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label,
             *  
             * and entries generated from the content closure.
             */
            accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<EntryModel, ID>(rotorLabelKey: LocalizedStringKey, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
            /**
             * Create an Accessibility Rotor replacing the specified system-provided
             *  
             * Rotor.
             */
            accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries.
             */
            accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor(label: Text, textRanges: Range<String.Index>[]):View;
            /**
             * Create an Accessibility Rotor with the specified user-visible label
             *  
             * and entries for each of the specified ranges. The Rotor will be attached
             *  
             * to the current Accessibility element, and each entry will go the
             *  
             * specified range of that element.
             */
            accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
            /**
             * Defines an explicit identifier tying an Accessibility element for this
             *  
             * view to an entry in an Accessibility Rotor.
             */
            accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
            /**
             * Adds an accessibility scroll action to the view. Actions allow
             *  
             * assistive technologies, such as the VoiceOver, to interact with the
             *  
             * view by invoking the action.
             */
            accessibilityScrollAction(handler: ()=>any):any;
            /**
             * Adds a default large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer():View;
            /**
             * Adds a custom large content view to be shown by
             *  
             * the large content viewer.
             */
            accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
            /**
             * Sets the sort priority order for this view’s accessibility element,
             *  
             * relative to other elements at the same level.
             */
            accessibilitySortPriority(sortPriority: number):any;
            /**
             * Sets an accessibility text content type.
             */
            accessibilityTextContentType(value: AccessibilityTextContentType):any;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue<S>(value: S):StringProtocol;
            /**
             * Adds a textual description of the value that the view contains.
             */
            accessibilityValue(valueDescription: Text):any;
            /**
             * Presents an action sheet when a given condition is true.
             */
            actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an action sheet using the given item as a data source for the
             *  
             * sheet’s content.
             */
            actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
            /**
             * Presents an alert when a given condition is true, using a text view for
             *  
             * the title.
             */
            alert<A>(title: Text, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert when a given condition is true, using a string
             *  
             * variable as a title.
             */
            alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true using
             *  
             * a string variable as a title.
             */
            alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message when a given condition is true, using
             *  
             * a localized string key for a title.
             */
            alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a localized string key for a title.
             */
            alert<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert using the given data to produce the alert’s content
             *  
             * and a string variable as a title.
             */
            alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a text view for a title.
             */
            alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert with a message using the given data to produce the
             *  
             * alert’s content and a string variable as a title.
             */
            alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert(isPresented: Binding<Bool>, content: ()=>any):View;
            /**
             * Presents an alert when an error is present.
             */
            alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
            /**
             * Presents an alert with a message when an error is present.
             */
            alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents an alert to the user.
             */
            alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
            /**
             * Sets the view’s vertical alignment.
             */
            alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
            /**
             * Configures whether this view participates in hit test operations.
             */
            allowsHitTesting(enabled: boolean):View;
            /**
             * Sets whether text in this view can compress the space between characters
             *  
             * when necessary to fit text in a line.
             */
            allowsTightening(flag: boolean):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of a geometry value tied to the current coordinate
             *  
             * space, allowing readers of the value to convert the geometry to
             *  
             * their local coordinates.
             */
            anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies the given animation to all animatable values within this view.
             */
            animation(animation: Animation | null):View;
            /**
             * Applies the given animation to this view when the specified value
             *  
             * changes.
             */
            animation<V>(animation: Animation | null, value: V):Equatable;
            /**
             * Constrains this view’s dimensions to the aspect ratio of the given size.
             */
            aspectRatio(aspectRatio: CGSize, contentMode: ContentMode):View;
            /**
             * Sets whether to apply auto-capitalization to this view.
             */
            autocapitalization(style: UITextAutocapitalizationType):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            autocorrectionDisabled(disable: boolean):View;
            /**
             * Layers the given view behind this view.
             */
            background<Background>(background: Background, alignment: Alignment):View;
            /**
             * Sets the view’s background to a style.
             */
            background<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Sets the view’s background to a shape filled with a style.
             */
            background<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify behind this view.
             */
            background<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Sets the view’s background to the default background style.
             */
            background(edges: Edge.Set):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as the background of the
             *  
             * original view.
             */
            backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Sets the specified style to render backgrounds within the view.
             */
            backgroundStyle<S>(style: S):ShapeStyle;
            /**
             * Generates a badge for the view from a text view.
             */
            badge(label: Text | null):View;
            /**
             * Generates a badge for the view from a string.
             */
            badge<S>(label: S | null):StringProtocol;
            /**
             * Sets the vertical offset for the text relative to its baseline
             *  
             * in this view.
             */
            baselineOffset(baselineOffset: CGFloat):View;
            /**
             * Sets the blend mode for compositing this view with overlapping views.
             */
            blendMode(blendMode: BlendMode):View;
            /**
             * Applies a Gaussian blur to this view.
             */
            blur(radius: CGFloat, opaque: boolean):View;
            /**
             * Applies a bold font weight to the text in this view.
             */
            bold(isActive: boolean):View;
            /**
             * Adds a border to this view with the specified style and width.
             */
            border<S>(content: S, width: CGFloat):ShapeStyle;
            /**
             * Brightens this view by the specified amount.
             */
            brightness(amount: number):View;
            /**
             * Sets the border shape for buttons in this view.
             */
            buttonBorderShape(shape: ButtonBorderShape):View;
            /**
             * Sets the style for buttons within this view to a button style with a
             *  
             * custom appearance and standard interaction behavior.
             */
            buttonStyle<S>(style: S):ButtonStyle;
            /**
             * Sets a clipping shape for this view.
             */
            clipShape<S>(shape: S, style: FillStyle):Shape;
            /**
             * Clips this view to its bounding rectangular frame.
             */
            clipped(antialiased: boolean):View;
            /**
             * Inverts the colors in this view.
             */
            colorInvert():View;
            /**
             * Adds a color multiplication effect to this view.
             */
            colorMultiply(color: Color):View;
            /**
             * Sets this view’s color scheme.
             */
            colorScheme(colorScheme: ColorScheme):View;
            /**
             * Wraps this view in a compositing group.
             */
            compositingGroup():View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * string variable as a title.
             */
            confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog when a given condition is true, using a
             *  
             * text view for the title.
             */
            confirmationDialog<A>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a localized string key for the title.
             */
            confirmationDialog<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message when a given condition is
             *  
             * true, using a string variable for the title.
             */
            confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a localized string key for the title.
             */
            confirmationDialog<A, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog using data to produce the dialog’s
             *  
             * content and a string variable for the title.
             */
            confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a text view for the message.
             */
            confirmationDialog<A, M, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Presents a confirmation dialog with a message using data to produce the
             *  
             * dialog’s content and a string variable for the title.
             */
            confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
            /**
             * Sets the container shape to use for any container relative shape
             *  
             * within this view.
             */
            containerShape<T>(shape: T):InsettableShape;
            /**
             * Sets the content shape for this view.
             */
            contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
            /**
             * Modifies the view to use a given transition as its method of animating
             *  
             * changes to the contents of its views.
             */
            contentTransition(transition: ContentTransition):View;
            /**
             * Adds a context menu to the view.
             */
            contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
            /**
             * Adds an item-based context menu to the view.
             */
            contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
            /**
             * Adds a context menu with a preview to a view.
             */
            contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
            /**
             * Sets the contrast and separation between similar colors in this view.
             */
            contrast(amount: number):View;
            /**
             * Sets the style for control groups within this view.
             */
            controlGroupStyle<S>(style: S):ControlGroupStyle;
            /**
             * Sets the size for controls within this view.
             */
            controlSize(controlSize: ControlSize):View;
            /**
             * Assigns a name to the view’s coordinate space, so other code can operate
             *  
             * on dimensions like points and sizes relative to the named space.
             */
            coordinateSpace<T>(name: T):Hashable;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            copyable<T>(payload: ()=>any):Transferable;
            /**
             * Clips this view to its bounding frame, with the specified corner radius.
             */
            cornerRadius(radius: CGFloat, antialiased: boolean):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Sets the style for date pickers within this view.
             */
            datePickerStyle<S>(style: S):DatePickerStyle;
            /**
             * The default store used by 
             *  contained within the view.
             */
            defaultAppStorage(store: UserDefaults):View;
            /**
             * Defines a region of the window in which default focus is evaluated by
             *  
             * assigning a value to a given focus state binding.
             */
            defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
            /**
             * Sets the screen edge from which you want your gesture to take
             *  
             * precedence over the system gesture.
             */
            defersSystemGestures(edges: Edge.Set):View;
            /**
             * Adds a condition for whether the view’s view hierarchy is deletable.
             */
            deleteDisabled(isDisabled: boolean):View;
            /**
             * Sets whether to disable autocorrection for this view.
             */
            disableAutocorrection(disable: boolean):View;
            /**
             * Adds a condition that controls whether users can interact with this
             *  
             * view.
             */
            disabled(disabled: boolean):View;
            /**
             * Sets the style for disclosure groups within this view.
             */
            disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<T>(payload: ()=>any):Transferable;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
            /**
             * Composites this view’s contents into an offscreen image before final
             *  
             * display.
             */
            drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
            /**
             * Defines the destination of a drag and drop operation that handles the
             *  
             * dropped content with a closure that you specify.
             */
            dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
            /**
             * Sets the Dynamic Type size within the view to the given value.
             */
            dynamicTypeSize(size: DynamicTypeSize):View;
            /**
             * Changes the view’s proposed area to extend outside the screen’s safe
             *  
             * areas.
             */
            edgesIgnoringSafeArea(edges: Edge.Set):View;
            /**
             * Sets the environment value of the specified key path to the given value.
             */
            environment<V>(keyPath: any, value: V):View;
            /**
             * Supplies an 
             *  to a view subhierarchy.
             */
            environmentObject<T>(object: T):ObservableObject;
            /**
             * Exports items for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportableToServices<T>(payload: ()=>any):Transferable;
            /**
             * Exports a read-only item provider for consumption by shortcuts,
             *  
             * quick actions, and services.
             */
            exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to export an in-memory
             *  
             * document to a file on disk.
             */
            fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):FileDocument;
            /**
             * Presents a system interface for allowing the user to export a collection
             *  
             * of in-memory documents to files on disk.
             */
            fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
            /**
             * Presents a system interface for allowing the user to import multiple
             *  
             * files.
             */
            fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move an existing
             *  
             * file to a new location.
             */
            fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
            /**
             * Presents a system interface for allowing the user to move a collection
             *  
             * of existing files to a new location.
             */
            fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
            /**
             * Prevents find and replace operations in a text editor.
             */
            findDisabled(isDisabled: boolean):View;
            /**
             * Programmatically presents the find and replace interface for text
             *  
             * editor views.
             */
            findNavigator(isPresented: Binding<Bool>):View;
            /**
             * Fixes this view at its ideal size.
             */
            fixedSize():View;
            /**
             * Sets whether this view mirrors its contents horizontally when the layout
             *  
             * direction is right-to-left.
             */
            flipsForRightToLeftLayoutDirection(enabled: boolean):View;
            /**
             * Creates a focus scope that SwiftUI uses to limit default focus
             *  
             * preferences.
             */
            focusScope(_namespace: Namespace.ID):View;
            /**
             * Indicates that the view’s frame and cohort of focusable descendants
             *  
             * should be used to guide focus movement.
             */
            focusSection():View;
            /**
             * Specifies if the view is focusable.
             */
            focusable(isFocusable: boolean):View;
            /**
             * Modifies this view by binding its focus state to the given Boolean state
             *  
             * value.
             */
            focused(condition: any):View;
            /**
             * Modifies this view by binding its focus state to the given state value.
             */
            focused<Value>(binding: any, value: Value):Hashable;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the focused view hierarchy.
             */
            focusedObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided object to other views whose
             *  
             * whose state depends on the active scene.
             */
            focusedSceneObject<T>(object: T):ObservableObject;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the active scene.
             */
            focusedSceneValue<T>(keyPath: any, value: T | null):View;
            /**
             * Creates a new view that exposes the provided value to other views whose
             *  
             * state depends on the focused view hierarchy.
             */
            focusedValue<Value>(keyPath: any, value: Value | null):View;
            /**
             * Sets the default font for text in this view.
             */
            font(font: Font | null):View;
            /**
             * Sets the font design of the text in this view.
             */
            fontDesign(design: Font.Design | null):View;
            /**
             * Sets the font weight of the text in this view.
             */
            fontWeight(weight: Font.Weight | null):View;
            /**
             * Sets the color of the foreground elements displayed by this view.
             */
            foregroundColor(color: Color | null):View;
            /**
             * Sets a view’s foreground elements to use a given style.
             */
            foregroundStyle<S>(style: S):ShapeStyle;
            /**
             * Sets the primary and secondary levels of the foreground
             *  
             * style in the child view.
             */
            foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
            /**
             * Sets the primary, secondary, and tertiary levels of
             *  
             * the foreground style.
             */
            foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
            /**
             * Sets the style for forms in a view hierarchy.
             */
            formStyle<S>(style: S):FormStyle;
            /**
             * Positions this view within an invisible frame.
             */
            frame():View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible when binding to a Boolean value you provide is true.
             */
            fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a modal view that covers as much of the screen as
             *  
             * possible using the binding you provide as a data source for the
             *  
             * sheet’s content.
             */
            fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Sets the style for gauges within this view.
             */
            gaugeStyle<S>(style: S):GaugeStyle;
            /**
             * Attaches a gesture to the view with a lower precedence than gestures
             *  
             * defined by the view.
             */
            gesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Adds a grayscale effect to this view.
             */
            grayscale(amount: number):View;
            /**
             * Specifies a custom alignment anchor for a view that acts as a grid cell.
             */
            gridCellAnchor(anchor: UnitPoint):View;
            /**
             * Tells a view that acts as a cell in a grid to span the specified
             *  
             * number of rows.
             */
            gridCellColumns(count: number):View;
            /**
             * Asks grid layouts not to offer the view extra size in the specified
             *  
             * axes.
             */
            gridCellUnsizedAxes(axes: Axis.Set):View;
            /**
             * Overrides the default horizontal alignment of the grid column that
             *  
             * the view appears in.
             */
            gridColumnAlignment(guide: HorizontalAlignment):View;
            /**
             * Sets the style for group boxes within this view.
             */
            groupBoxStyle<S>(style: S):GroupBoxStyle;
            /**
             * Specifies a modifier indicating the Scene this View
             *  
             * is in can handle matching incoming External Events.
             */
            handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
            /**
             * Sets the header prominence for this view.
             */
            headerProminence(prominence: Prominence):View;
            /**
             * Adds help text to a view using a text view that you provide.
             */
            help(text: Text):View;
            /**
             * Adds help text to a view using a string that you provide.
             */
            help<S>(text: S):StringProtocol;
            /**
             * Hides this view unconditionally.
             */
            hidden():View;
            /**
             * Attaches a gesture to the view with a higher precedence than gestures
             *  
             * defined by the view.
             */
            highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Sets the style for radio group style pickers within this view to be
             *  
             * horizontally positioned with the radio buttons inside the layout.
             */
            horizontalRadioGroupLayout():View;
            /**
             * Applies a pointer hover effect to the view.
             */
            hoverEffect(effect: HoverEffect):View;
            /**
             * Applies a hue rotation effect to this view.
             */
            hueRotation(angle: Angle):View;
            /**
             * Binds a view’s identity to the given proxy value.
             */
            id<ID>(id: ID):Hashable;
            /**
             * Expands the view out of its safe area.
             */
            ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
            /**
             * Scales images within the view according to one of the relative sizes
             *  
             * available including small, medium, and large images sizes.
             */
            imageScale(scale: Image.Scale):View;
            /**
             * Enables importing items from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
            /**
             * Enables importing item providers from services, such as Continuity Camera
             *  
             * on macOS.
             */
            importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
            /**
             * Sets the style for the index view within the current environment.
             */
            indexViewStyle<S>(style: S):IndexViewStyle;
            /**
             * Sets a tag that you use for tracking interactivity.
             */
            interactionActivityTrackingTag(tag: string):View;
            /**
             * Conditionally prevents interactive dismissal of a popover or a sheet.
             */
            interactiveDismissDisabled(isDisabled: boolean):View;
            /**
             * Applies italics to the text in this view.
             */
            italic(isActive: boolean):View;
            /**
             * Provides a closure that vends the drag representation to be used for a
             *  
             * particular data element.
             */
            itemProvider(action: ()=>any):View;
            /**
             * Sets the spacing, or kerning, between characters for the text in this view.
             */
            kerning(kerning: CGFloat):View;
            /**
             * Assigns a keyboard shortcut to the modified control.
             */
            keyboardShortcut(shortcut: KeyboardShortcut):View;
            /**
             * Sets the keyboard type for this view.
             */
            keyboardType(type: UIKeyboardType):View;
            /**
             * Sets the style for labels within this view.
             */
            labelStyle<S>(style: S):LabelStyle;
            /**
             * Sets a style for labeled content.
             */
            labeledContentStyle<S>(style: S):LabeledContentStyle;
            /**
             * Hides the labels of any controls contained within this view.
             */
            labelsHidden():View;
            /**
             * Sets the priority by which a parent layout should apportion space to
             *  
             * this child.
             */
            layoutPriority(value: number):View;
            /**
             * Associates a value with a custom layout property.
             */
            layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
            /**
             * Sets to a closed range the number of lines that text can occupy in
             *  
             * this view.
             */
            lineLimit(limit: ClosedRange<Int>):View;
            /**
             * Sets the amount of space between lines of text in this view.
             */
            lineSpacing(lineSpacing: CGFloat):View;
            /**
             * Sets the tint effect associated with specific content in a list.
             */
            listItemTint(tint: ListItemTint | null):View;
            /**
             * Places a custom background view behind a list row item.
             */
            listRowBackground<V>(view: V | null):View;
            /**
             * Applies an inset to the rows in a list.
             */
            listRowInsets(insets: EdgeInsets | null):View;
            /**
             * Sets the display mode for the separator associated with this specific row.
             */
            listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a row.
             */
            listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets whether to hide the separator associated with a list section.
             */
            listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
            /**
             * Sets the tint color associated with a section.
             */
            listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
            /**
             * Sets the style for lists within this view.
             */
            listStyle<S>(style: S):ListStyle;
            /**
             * Adds a luminance to alpha effect to this view.
             */
            luminanceToAlpha():View;
            /**
             * Masks this view using the alpha channel of the given view.
             */
            mask<Mask>(mask: Mask):View;
            /**
             * Defines a group of views with synchronized geometry using an
             *  
             * identifier and namespace that you provide.
             */
            matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
            /**
             * Sets the style for menu buttons within this view.
             */
            menuButtonStyle<S>(style: S):MenuButtonStyle;
            /**
             * Sets the menu indicator visibility for controls within this view.
             */
            menuIndicator(visibility: Visibility):View;
            /**
             * Sets the preferred order of items for menus presented from this view.
             */
            menuOrder(order: MenuOrder):View;
            /**
             * Sets the style for menus within this view.
             */
            menuStyle<S>(style: S):MenuStyle;
            /**
             * Sets the minimum amount that text in this view scales down to fit in the
             *  
             * available space.
             */
            minimumScaleFactor(factor: CGFloat):View;
            /**
             * Applies a modifier to a view and returns a new view.
             */
            modifier<T>(modifier: T):any;
            /**
             * Modifies the fonts of all child views to use the fixed-width variant of
             *  
             * the current font, if possible.
             */
            monospaced(isActive: boolean):View;
            /**
             * Modifies the fonts of all child views to use fixed-width digits, if
             *  
             * possible, while leaving other characters proportionally spaced.
             */
            monospacedDigit():View;
            /**
             * Adds a condition for whether the view’s view hierarchy is movable.
             */
            moveDisabled(isDisabled: boolean):View;
            /**
             * Sets the alignment of multiline text in this view.
             */
            multilineTextAlignment(alignment: TextAlignment):View;
            /**
             * Hides the navigation bar back button for the view.
             */
            navigationBarBackButtonHidden(hidesBackButton: boolean):View;
            /**
             * Hides the navigation bar for this view.
             */
            navigationBarHidden(hidden: boolean):View;
            navigationBarItems<L>(leading: L):View;
            navigationBarItems<L, T>(leading: L, trailing: T):View;
            navigationBarItems<T>(trailing: T):View;
            /**
             * Sets the title of this view’s navigation bar with a localized string.
             */
            navigationBarTitle(titleKey: LocalizedStringKey):View;
            /**
             * Sets the title of this view’s navigation bar with a string.
             */
            navigationBarTitle<S>(title: S):StringProtocol;
            /**
             * Configures the title display mode for this view.
             */
            navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
            /**
             * Associates a destination view with a presented data type for use within
             *  
             * a navigation stack.
             */
            navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
            /**
             * Associates a destination view with a binding that can be used to push
             *  
             * the view onto a 
             * .
             */
            navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument(url: URL):View;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D>(document: D, preview: any):Transferable;
            /**
             * Configures the view’s document for purposes of navigation.
             */
            navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
            /**
             * Sets a fixed, preferred width for the column containing this view.
             */
            navigationSplitViewColumnWidth(width: CGFloat):View;
            /**
             * Sets the style for navigation split views within this view.
             */
            navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
            /**
             * Configures the view’s subtitle for purposes of navigation.
             */
            navigationSubtitle(subtitle: Text):View;
            /**
             * Configures the view’s subtitle for purposes of navigation,
             *  
             * using a string.
             */
            navigationSubtitle<S>(subtitle: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation.
             */
            navigationTitle(title: Text):View;
            /**
             * Configures the view’s title for purposes of navigation, using a string.
             */
            navigationTitle<S>(title: S):StringProtocol;
            /**
             * Configures the view’s title for purposes of navigation,
             *  
             * using a custom view.
             */
            navigationTitle<V>(title: ()=>any):View;
            /**
             * Sets the style for navigation views within this view.
             */
            navigationViewStyle<S>(style: S):NavigationViewStyle;
            /**
             * Offset this view by the horizontal and vertical amount specified in the
             *  
             * offset parameter.
             */
            offset(offset: CGSize):View;
            /**
             * Adds an action to perform before this view appears.
             */
            onAppear(action: ()=>any | null):View;
            /**
             * Adds a modifier for this view that fires an action when a specific
             *  
             * value changes.
             */
            onChange<V>(value: V, action: ()=>any):Equatable;
            /**
             * Adds an action to perform in response to the given selector.
             */
            onCommand(selector: Selector, action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives the specified
             *  
             * activity type for the scene or window the view is in.
             */
            onContinueUserActivity(activityType: string, action: ()=>any):View;
            /**
             * Adds an action to perform when the pointer enters, moves within, and
             *  
             * exits the view’s bounds.
             */
            onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Copy command.
             */
            onCopyCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Cut command.
             */
            onCutCommand(payloadAction: ()=>any | null):View;
            /**
             * Adds an action to perform in response to the system’s Delete command,
             *  
             * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
             */
            onDeleteCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform after this view disappears.
             */
            onDisappear(action: ()=>any | null):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag(data: ()=>any):View;
            /**
             * Activates this view as the source of a drag and drop operation.
             */
            onDrag<V>(data: ()=>any, preview: ()=>any):View;
            /**
             * Defines the destination of a drag and drop operation using behavior
             *  
             * controlled by the delegate that you provide.
             */
            onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
            /**
             * Sets up an action that triggers in response to receiving the exit
             *  
             * command while the view has focus.
             */
            onExitCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the user moves the pointer over or away
             *  
             * from the view’s frame.
             */
            onHover(action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a long press
             *  
             * gesture.
             */
            onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
            /**
             * Adds an action to perform in response to a move command, like when the
             *  
             * user presses an arrow key on a Mac keyboard, or taps the edge of the
             *  
             * Siri Remote when controlling an Apple TV.
             */
            onMoveCommand(action: ()=>any | null):View;
            /**
             * Registers a handler to invoke when the view receives a url for the
             *  
             * scene or window the view is in.
             */
            onOpenURL(action: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command.
             */
            onPasteCommand(supportedTypes: string[], payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Paste command with
             *  
             * items that you validate.
             */
            onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
            /**
             * Adds an action to perform in response to the system’s Play/Pause
             *  
             * command.
             */
            onPlayPauseCommand(action: ()=>any | null):View;
            /**
             * Adds an action to perform when the specified preference key’s value
             *  
             * changes.
             */
            onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
            /**
             * Adds an action to perform when this view detects data emitted by the
             *  
             * given publisher.
             */
            onReceive<P>(publisher: P, action: ()=>any):Never;
            /**
             * Adds an action to perform when the user submits a value to this view.
             */
            onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
            /**
             * Adds an action to perform when this view recognizes a tap gesture,
             *  
             * and provides the action with the location of the interaction.
             */
            onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
            /**
             * Sets the transparency of this view.
             */
            opacity(opacity: number):View;
            /**
             * Layers a secondary view in front of this view.
             */
            overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
            /**
             * Layers the specified style in front of this view.
             */
            overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
            /**
             * Layers a shape that you specify in front of this view.
             */
            overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
            /**
             * Layers the views that you specify in front of this view.
             */
            overlay<V>(alignment: Alignment, content: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
            /**
             * Reads the specified preference value from the view, using it to
             *  
             * produce a second view that is applied as an overlay to the
             *  
             * original view.
             */
            overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
            /**
             * Adds a different padding amount to each edge of this view.
             */
            padding(insets: EdgeInsets):View;
            /**
             * Steps a value through a range in response to page up or page down
             *  
             * commands.
             */
            pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
            /**
             * Adds an action to perform in response to the system’s
             *  
             * Paste command with items that you validate.
             */
            pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
            /**
             * Sets the preferred visibility of the non-transient system views
             *  
             * overlaying the app.
             */
            persistentSystemOverlays(visibility: Visibility):View;
            /**
             * Sets the style for pickers within this view.
             */
            pickerStyle<S>(style: S):PickerStyle;
            /**
             * Presents a popover when a given condition is true.
             */
            popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Presents a popover using the given item as a data source for the
             *  
             * popover’s content.
             */
            popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
            /**
             * Positions the center of this view at the specified point in its parent’s
             *  
             * coordinate space.
             */
            position(position: CGPoint):View;
            /**
             * Sets a value for the given preference.
             */
            preference<K>(key: K.Type, value: K.Value):PreferenceKey;
            /**
             * Sets the preferred color scheme for this presentation.
             */
            preferredColorScheme(colorScheme: ColorScheme | null):View;
            /**
             * Indicates that the view should receive focus by default for a given
             *  
             * namespace.
             */
            prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
            /**
             * Sets the available detents for the enclosing sheet.
             */
            presentationDetents(detents: Set<PresentationDetent>):View;
            /**
             * Sets the visibility of the drag indicator on top of a sheet.
             */
            presentationDragIndicator(visibility: Visibility):View;
            /**
             * Sets the style for windows created by interacting with this view.
             */
            presentedWindowStyle<S>(style: S):WindowStyle;
            /**
             * Sets the style for the toolbar in windows created by
             *  
             * interacting with this view.
             */
            presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
            /**
             * Declares a context for the preview.
             */
            previewContext<C>(value: C):PreviewContext;
            /**
             * Overrides the device for a preview.
             */
            previewDevice(value: PreviewDevice | null):View;
            /**
             * Sets a user visible name to show in the canvas for a preview.
             */
            previewDisplayName(value: string):View;
            /**
             * Overrides the orientation of the preview.
             */
            previewInterfaceOrientation(value: InterfaceOrientation):View;
            /**
             * Overrides the size of the container for the preview.
             */
            previewLayout(value: PreviewLayout):View;
            /**
             * Marks the view as containing sensitive, private user data.
             */
            privacySensitive(sensitive: boolean):View;
            /**
             * Sets the style for progress views in this view.
             */
            progressViewStyle<S>(style: S):ProgressViewStyle;
            /**
             * Applies a projection transformation to this view’s rendered output.
             */
            projectionEffect(transform: ProjectionTransform):View;
            /**
             * Adds a reason to apply a redaction to this view hierarchy.
             */
            redacted(reason: RedactionReasons):View;
            /**
             * Marks this view as refreshable.
             */
            refreshable(action: Void):View;
            /**
             * Sets a closure to run for the rename action.
             */
            renameAction(action: ()=>any):View;
            /**
             * Prevents replace operations in a text editor.
             */
            replaceDisabled(isDisabled: boolean):View;
            /**
             * Rotates this view’s rendered output in three dimensions around the given
             *  
             * axis of rotation.
             */
            rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
            /**
             * Rotates this view’s rendered output around the specified point.
             */
            rotationEffect(angle: Angle, anchor: UnitPoint):View;
            /**
             * Shows the specified content above or below the modified view.
             */
            safeAreaInset<V>(edge: VerticalEdge, alignment: HorizontalAlignment, spacing: CGFloat | null, content: ()=>any):View;
            /**
             * Adjusts the color saturation of this view.
             */
            saturation(amount: number):View;
            /**
             * Scales this view’s rendered output by the given amount in both the
             *  
             * horizontal and vertical directions, relative to an anchor point.
             */
            scaleEffect(s: CGFloat, anchor: UnitPoint):View;
            /**
             * Scales this view to fill its parent.
             */
            scaledToFill():View;
            /**
             * Scales this view to fit its parent.
             */
            scaledToFit():View;
            /**
             * Adds padding to the specified edges of this view using an amount that’s
             *  
             * appropriate for the current scene.
             */
            scenePadding(edges: Edge.Set):View;
            /**
             * Specifies the visibility of the background for scrollable views within
             *  
             * this view.
             */
            scrollContentBackground(visibility: Visibility):View;
            /**
             * Disables or enables scrolling in scrollable views.
             */
            scrollDisabled(disabled: boolean):View;
            /**
             * Configures the behavior in which scrollable content interacts with
             *  
             * the software keyboard.
             */
            scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
            /**
             * Sets the visibility of scroll indicators within this view.
             */
            scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
            /**
             * Associates a fully formed string with the value of this view.
             */
            searchCompletion(completion: string):View;
            /**
             * Configures the search scopes for this view.
             */
            searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
            /**
             * Configures the search suggestions for this view.
             */
            searchSuggestions<S>(suggestions: ()=>any):View;
            /**
             * Configures how to display search suggestions within this view.
             */
            searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: LocalizedStringKey, token: ()=>any):Identifiable;
            /**
             * Marks this view as searchable, which configures the display of a
             *  
             * search field.
             */
            searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
            /**
             * Adds a shadow to this view.
             */
            shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
            /**
             * Presents a sheet when a binding to a Boolean value that you
             *  
             * provide is true.
             */
            sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Presents a sheet using the given item as a data source
             *  
             * for the sheet’s content.
             */
            sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
            /**
             * Attaches a gesture to the view to process simultaneously with gestures
             *  
             * defined by the view.
             */
            simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
            /**
             * Raises or lowers the pitch of spoken text.
             */
            speechAdjustedPitch(value: number):View;
            /**
             * Sets whether VoiceOver should always speak all punctuation in the text view.
             */
            speechAlwaysIncludesPunctuation(value: boolean):View;
            /**
             * Controls whether to queue pending announcements behind existing speech rather than
             *  
             * interrupting speech in progress.
             */
            speechAnnouncementsQueued(value: boolean):View;
            /**
             * Sets whether VoiceOver should speak the contents of the text view character by character.
             */
            speechSpellsOutCharacters(value: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBar(hidden: boolean):View;
            /**
             * Sets the visibility of the status bar.
             */
            statusBarHidden(hidden: boolean):View;
            /**
             * Applies a strikethrough to the text in this view.
             */
            strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Sets the submit label for this view.
             */
            submitLabel(submitLabel: SubmitLabel):View;
            /**
             * Prevents submission triggers originating from this view to invoke
             *  
             * a submission action configured by a submission modifier higher up
             *  
             * in the view hierarchy.
             */
            submitScope(isBlocking: boolean):View;
            /**
             * Adds custom swipe actions to a row in a list.
             */
            swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
            /**
             * Sets the rendering mode for symbol images within this view.
             */
            symbolRenderingMode(mode: SymbolRenderingMode | null):View;
            /**
             * Makes symbols within the view show a particular variant.
             */
            symbolVariant(variant: SymbolVariants):View;
            /**
             * Sets the tab bar item associated with this view.
             */
            tabItem<V>(label: ()=>any):View;
            /**
             * Sets the style for the tab view within the current environment.
             */
            tabViewStyle<S>(style: S):TabViewStyle;
            /**
             * Sets the style for tables within this view.
             */
            tableStyle<S>(style: S):TableStyle;
            /**
             * Sets the unique tag value of this view.
             */
            tag<V>(tag: V):Hashable;
            /**
             * Adds a task to perform before this view appears or when a specified
             *  
             * value changes.
             */
            task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
            /**
             * Adds an asynchronous task to perform before this view appears.
             */
            task(priority: TaskPriority, action: Void):View;
            /**
             * Sets a transform for the case of the text contained in this view when
             *  
             * displayed.
             */
            textCase(textCase: Text.Case | null):View;
            /**
             * Sets the text content type for this view, which the system uses to
             *  
             * offer suggestions while the user enters text on an iOS or tvOS device.
             */
            textContentType(textContentType: UITextContentType | null):View;
            /**
             * Sets the style for text fields within this view.
             */
            textFieldStyle<S>(style: S):TextFieldStyle;
            /**
             * Sets how often the shift key in the keyboard is automatically enabled.
             */
            textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
            /**
             * Controls whether people can select text within this view.
             */
            textSelection<S>(selectability: S):TextSelectability;
            /**
             * Sets the tint color within this view.
             */
            tint(tint: Color | null):View;
            /**
             * Sets the style for toggles in a view hierarchy.
             */
            toggleStyle<S>(style: S):ToggleStyle;
            /**
             * Specifies the visibility of a bar managed by SwiftUI.
             */
            toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Populates the toolbar or navigation bar with the views you provide.
             */
            toolbar<Content>(content: ()=>any):View;
            /**
             * Specifies the preferred visibility of backgrounds on a bar managed by
             *  
             * SwiftUI.
             */
            toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
            /**
             * Specifies the preferred color scheme of a bar managed by SwiftUI.
             */
            toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
            /**
             * Configures the semantic role for the content populating the toolbar.
             */
            toolbarRole(role: ToolbarRole):View;
            /**
             * Configure the title menu of a toolbar.
             */
            toolbarTitleMenu<C>(content: ()=>any):View;
            /**
             * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
             */
            touchBar<Content>(touchBar: TouchBar<Content>):View;
            /**
             * Sets a user-visible string that identifies the view’s functionality.
             */
            touchBarCustomizationLabel(label: Text):View;
            /**
             * Sets the behavior of the user-customized view.
             */
            touchBarItemPresence(presence: TouchBarItemPresence):View;
            /**
             * Sets principal views that have special significance to this Touch Bar.
             */
            touchBarItemPrincipal(principal: boolean):View;
            /**
             * Sets the tracking for the text in this view.
             */
            tracking(tracking: CGFloat):View;
            /**
             * Applies the given transaction mutation function to all animations used
             *  
             * within the view.
             */
            transaction(transform: ()=>any):View;
            /**
             * Sets a value for the specified preference key, the value is a
             *  
             * function of the key’s current value and a geometry value tied
             *  
             * to the current coordinate space, allowing readers of the value
             *  
             * to convert the geometry to their local coordinates.
             */
            transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
            /**
             * Applies an affine transformation to this view’s rendered output.
             */
            transformEffect(transform: CGAffineTransform):View;
            /**
             * Transforms the environment value of the specified key path with the
             *  
             * given function.
             */
            transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
            /**
             * Applies a transformation to a preference value.
             */
            transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
            /**
             * Associates a transition with the view.
             */
            transition(t: AnyTransition):View;
            /**
             * Sets the truncation mode for lines of text that are too long to fit in
             *  
             * the available space.
             */
            truncationMode(mode: Text.TruncationMode):View;
            /**
             * Applies an underline to the text in this view.
             */
            underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
            /**
             * Removes any reason to apply a redaction to this view hierarchy.
             */
            unredacted():View;
            /**
             * Advertises a user activity type.
             */
            userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
            /**
             * Advertises a user activity type.
             */
            userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
            /**
             * Controls the display order of overlapping views.
             */
            zIndex(value: number):View;
        }
    }
    export class DefaultGroupBoxStyle {
        /**
         * The default style for group box views.
         */
        static automatic: DefaultGroupBoxStyle;
        constructor ();
        /**
         * Creates a view representing the body of a group box.
         */
        makeBody(configuration: DefaultGroupBoxStyle.Configuration):View;
    }
}

/**
 * Perform low-level file operations using type-safe APIs.
 */
declare module System {
    export class FileDescriptor {
        /**
         * The standard error file descriptor, with a numeric value of 2.
         */
        static standardError: FileDescriptor;
        /**
         * The standard input file descriptor, with a numeric value of 0.
         */
        static standardInput: FileDescriptor;
        /**
         * The standard output file descriptor, with a numeric value of 1.
         */
        static standardOutput: FileDescriptor;
        hashValue: number;
        /**
         * The raw C file handle.
         */
        rawValue: CInt;
        /**
         * Creates a new instance by decoding from the given decoder, when the
         *  
         * type’s 
         *  is 
         * .
         */
        constructor (decoder: Decoder);
        /**
         * Creates a strongly-typed file handle from a raw C file handle.
         */
        constructor (rawValue: CInt);
        /**
         * Create a pipe, a unidirectional data channel which can be used for interprocess communication.
         */
        static pipe():any;
        /**
         * Opens or creates a file for reading or writing.
         */
        static open(path: FilePath, mode: FileDescriptor.AccessMode, options: FileDescriptor.OpenOptions, permissions: FilePermissions | null, retryOnInterrupt: boolean):FileDescriptor;
        /**
         * Reads bytes at the current file offset into a buffer.
         */
        read(buffer: UnsafeMutableRawBufferPointer, retryOnInterrupt: boolean):number;
        /**
         * Reposition the offset for the given file descriptor.
         */
        seek(offset: Int64, whence: FileDescriptor.SeekOrigin):Int64;
        /**
         * Writes the contents of a buffer at the current file offset.
         */
        write(buffer: UnsafeRawBufferPointer, retryOnInterrupt: boolean):number;
        /**
         * Writes a sequence of bytes to the current offset
         *  
         * and then updates the offset.
         */
        writeAll<S>(sequence: S):UInt8;
        /**
         * Deletes a file descriptor.
         */
        close():void;
        /**
         * Runs a closure and then closes the file descriptor, even if an error occurs.
         */
        closeAfter<R>(body: R):R;
        /**
         * Encodes this value into the given encoder, when the type’s 
         *  
         * is 
         * .
         */
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
        /**
         * Duplicate this file descriptor and return the newly created copy.
         */
        duplicate(target: FileDescriptor | null, retryOnInterrupt: boolean):FileDescriptor;
    }
    /**
     * the same name namespace of class FileDescriptor
     */
    export namespace FileDescriptor {
        export class AccessMode {
            /**
             * Opens the file for writing only.
             */
            static writeOnly: FileDescriptor.AccessMode;
            /**
             * A textual representation of the access mode.
             */
            description: string;
            /**
             * A textual representation of the access mode, suitable for debugging
             */
            debugDescription: string;
            /**
             * The raw C access mode.
             */
            rawValue: CInt;
            hashValue: number;
            /**
             * Creates a strongly-typed access mode from a raw C access mode.
             */
            constructor (rawValue: CInt);
            /**
             * Creates a new instance by decoding from the given decoder, when the
             *  
             * type’s 
             *  is 
             * .
             */
            constructor (decoder: Decoder);
            hash(hasher: Hasher):void;
            /**
             * Encodes this value into the given encoder, when the type’s 
             *  
             * is 
             * .
             */
            encode(encoder: Encoder):void;
        }
        export class OpenOptions {
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates a new set from a finite sequence of items.
             */
            constructor (sequence: S);
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: Self.Element);
            /**
             * Encodes this value into the given encoder, when the type’s 
             *  
             * is 
             * .
             */
            encode(encoder: Encoder):void;
            hash(hasher: Hasher):void;
            /**
             * Returns a Boolean value that indicates whether the set has no members in
             *  
             * common with the given set.
             */
            isDisjoint(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * subset of the given set.
             */
            isStrictSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict
             *  
             * superset of the given set.
             */
            isStrictSuperset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of
             *  
             * another set.
             */
            isSubset(other: Self):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of
             *  
             * the given set.
             */
            isSuperset(other: Self):boolean;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: Self):void;
            /**
             * Returns a new set containing the elements of this set that do not occur
             *  
             * in the given set.
             */
            subtracting(other: Self):Self;
        }
        export class SeekOrigin {
            /**
             * Indicates that the offset should be set
             *  
             * to the specified number of bytes after the current location.
             */
            static current: FileDescriptor.SeekOrigin;
            /**
             * Indicates that the offset should be set
             *  
             * to the size of the file plus the specified number of bytes.
             */
            static end: FileDescriptor.SeekOrigin;
            /**
             * Indicates that the offset should be set
             *  
             * to the next hole after the specified number of bytes.
             */
            static nextHole: FileDescriptor.SeekOrigin;
            /**
             * Indicates that the offset should be set
             *  
             * to the start of the next file region
             *  
             * that isn’t a hole
             *  
             * and is greater than or equal to the supplied offset.
             */
            static nextData: FileDescriptor.SeekOrigin;
            /**
             * Indicates that the offset should be set to the specified value.
             */
            static start: FileDescriptor.SeekOrigin;
            /**
             * A textual representation of the seek origin.
             */
            description: string;
            /**
             * A textual representation of the seek origin, suitable for debugging.
             */
            debugDescription: string;
            /**
             * The raw C value.
             */
            rawValue: CInt;
            hashValue: number;
            /**
             * Create a strongly-typed seek origin from a raw C value.
             */
            constructor (rawValue: CInt);
            /**
             * Creates a new instance by decoding from the given decoder, when the
             *  
             * type’s 
             *  is 
             * .
             */
            constructor (decoder: Decoder);
            hash(hasher: Hasher):void;
            /**
             * Encodes this value into the given encoder, when the type’s 
             *  
             * is 
             * .
             */
            encode(encoder: Encoder):void;
        }
    }
    export class FilePath {
        /**
         * The length of the file path, excluding the null terminator.
         */
        length: number;
        /**
         * A textual representation of the file path.
         */
        description: string;
        /**
         * A textual representation of the file path, suitable for debugging.
         */
        debugDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * View the non-root components that make up this path.
         */
        components: FilePath.ComponentView;
        /**
         * The extension of the file or directory last component.
         */
        extension: string;
        /**
         * Returns true if this path uniquely identifies the location of
         *  
         * a file without reference to an additional starting location.
         */
        isAbsolute: boolean;
        /**
         * Whether this path is empty
         */
        isEmpty: boolean;
        /**
         * Whether the path is in lexical-normal form, that is 
         *  and 
         *  
         * components have been collapsed lexically (i.e. without following
         *  
         * symlinks).
         */
        isLexicallyNormal: boolean;
        /**
         * Returns true if this path is not absolute (see 
         * ).
         */
        isRelative: boolean;
        /**
         * Returns the final component of the path.
         *  
         * Returns 
         *  if the path is empty or only contains a root.
         */
        lastComponent: FilePath.Component | null;
        /**
         * Returns the root of a path if there is one, otherwise 
         * .
         */
        root: FilePath.Root | null;
        /**
         * The non-extension portion of the file or directory last component.
         */
        stem: string;
        /**
         * Creates a string by interpreting the path’s content as UTF-8 on Unix
         *  
         * and UTF-16 on Windows.
         */
        string: string;
        /**
         * Creates an empty, null-terminated path.
         */
        constructor ();
        /**
         * Creates a file path from a string literal.
         */
        constructor (stringLiteral: string);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.StringLiteralType);
        /**
         * Creates an instance initialized to the given value.
         */
        constructor (value: Self.ExtendedGraphemeClusterLiteralType);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Creates a file path from a URL
         */
        constructor (url: URL);
        constructor (cString: CChar[]);
        constructor (platformString: CInterop.PlatformChar);
        /**
         * Create a file path from a root and a collection of components.
         */
        constructor (root: FilePath.Root | null, components: C);
        /**
         * Create a file path from a root and any number of components.
         */
        constructor (root: FilePath.Root | null, ...components: FilePath.Component);
        /**
         * For backwards compatibility only. This function is equivalent to
         *  
         * the preferred 
         * .
         */
        withCString<Result>(body: Result):Result;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Append 
         *  on to the end of this path.
         */
        append<C>(components: C):void;
        /**
         * Append the contents of 
         * , ignoring any spurious leading separators.
         */
        append(other: string):void;
        /**
         * Non-mutating version of 
         * .
         */
        appending(other: string):FilePath;
        /**
         * Non-mutating version of 
         * .
         */
        appending<C>(components: C):FilePath.Component;
        /**
         * Returns whether 
         *  is a suffix of 
         * , only considering
         *  
         * whole path components.
         */
        ends(other: FilePath):boolean;
        /**
         * Collapse 
         *  and 
         *  components lexically (i.e. without following
         *  
         * symlinks).
         */
        lexicallyNormalize():void;
        /**
         * Returns a copy of 
         *  in lexical-normal form, that is 
         *  and 
         *  
         * components have been collapsed lexically (i.e. without following
         *  
         * symlinks). See 
         */
        lexicallyNormalized():FilePath;
        /**
         * Create a new 
         *  by resolving 
         *  relative to 
         * ,
         *  
         * ensuring that the result is lexically contained within 
         * .
         */
        lexicallyResolving(subpath: FilePath):FilePath | null;
        /**
         * If 
         *  does not have a root, append each component of 
         * . If
         *  
         *  has a root, replaces 
         *  with other.
         */
        push(other: FilePath):void;
        /**
         * Non-mutating version of 
         * .
         */
        pushing(other: FilePath):FilePath;
        /**
         * Remove the contents of the path, keeping the null terminator.
         */
        removeAll(keepingCapacity: boolean):void;
        /**
         * In-place mutating variant of 
         * .
         */
        removeLastComponent():boolean;
        /**
         * If 
         *  is a prefix of 
         * , removes it and returns 
         * .
         *  
         * Otherwise returns 
         * .
         */
        removePrefix(prefix: FilePath):boolean;
        /**
         * Creates a new path with everything up to but not including
         *  
         * .
         */
        removingLastComponent():FilePath;
        /**
         * Creates a new path containing just the components, i.e. everything
         *  
         * after 
         * .
         */
        removingRoot():FilePath;
        /**
         * Reserve enough storage space to store 
         *  platform
         *  
         * characters.
         */
        reserveCapacity(minimumCapacity: number):void;
        /**
         * Returns whether 
         *  is a prefix of 
         * , only considering
         *  
         * whole path components.
         */
        starts(other: FilePath):boolean;
        /**
         * Calls the given closure with a pointer to the contents of the file path,
         *  
         * represented as a null-terminated platform string.
         */
        withPlatformString<Result>(body: Result):Result;
    }
    /**
     * the same name namespace of class FilePath
     */
    export namespace FilePath {
        export class Component {
            /**
             * The extension of this file or directory component.
             */
            extension: string;
            /**
             * The kind of this component
             */
            kind: FilePath.Component.Kind;
            /**
             * The non-extension portion of this file or directory  component.
             */
            stem: string;
            /**
             * Creates a string by interpreting the component’s content as UTF-8 on Unix
             *  
             * and UTF-16 on Windows.
             */
            string: string;
            /**
             * A textual representation of the path component, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A textual representation of the path component.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Create a file path component from a string.
             */
            constructor (_string: string);
            /**
             * Creates a file path component by copying bytes from a null-terminated
             *  
             * platform string. It is a precondition that a null byte indicates the end of
             *  
             * the string. The absence of a null byte will trigger a runtime error.
             */
            constructor (platformString: CInterop.PlatformChar[]);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: Self.StringLiteralType);
            /**
             * Create a file path component from a string literal.
             */
            constructor (stringLiteral: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: Self.ExtendedGraphemeClusterLiteralType);
            /**
             * Calls the given closure with a pointer to the contents of the file path
             *  
             * component, represented as a null-terminated platform string.
             */
            withPlatformString<Result>(body: Result):Result;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
        }
        /**
         * the same name namespace of class Component
         */
        export namespace Component {
            export enum Kind {}
        }
        export class ComponentView {
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The number of elements in the collection.
             */
            count: number;
            /**
             * The collection’s “past the end” position—that is, the position one
             *  
             * greater than the last valid subscript argument.
             */
            endIndex: FilePath.ComponentView.Index;
            /**
             * The first element of the collection.
             */
            first: Self.Element | null;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The position of the first element in a nonempty collection.
             */
            startIndex: FilePath.ComponentView.Index;
            /**
             * A value less than or equal to the number of elements in the collection.
             */
            underestimatedCount: number;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates a new, empty collection.
             */
            constructor ();
            /**
             * Creates a new instance of a collection containing the elements of a
             *  
             * sequence.
             */
            constructor (elements: S);
            /**
             * Creates a new collection containing the specified number of a single,
             *  
             * repeated value.
             */
            constructor (repeatedValue: Self.Element, count: number);
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Replaces the given index with its predecessor.
             */
            formIndex(i: Self.Index):void;
            index(i: Self.Index, distance: number):Self.Index;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            /**
             * Finds and returns the range of the first occurrence of a given collection
             *  
             * within this collection.
             */
            firstRange<C>(other: C):C.Element;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Finds and returns the ranges of the all occurrences of a given sequence
             *  
             * within the collection.
             */
            ranges<C>(other: C):C.Element;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * that don’t contain elements satisfying the given predicate.
             */
            split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
            /**
             * Returns a new collection of the same type by removing initial elements
             *  
             * that satisfy the given predicate from the start.
             */
            trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
            /**
             * Adds an element to the end of the collection.
             */
            append(newElement: Self.Element):void;
            /**
             * Adds the elements of a sequence or collection to the end of this
             *  
             * collection.
             */
            append<S>(newElements: S):void;
            /**
             * Applies the given difference to this collection.
             */
            applying(difference: CollectionDifference<Self.Element>):Self | null;
            /**
             * Returns a new collection of the same type containing, in order, the
             *  
             * elements of the original collection that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self;
            /**
             * Inserts a new element into the collection at the specified position.
             */
            insert(newElement: Self.Element, i: Self.Index):void;
            /**
             * Inserts the elements of a sequence into the collection at the specified
             *  
             * position.
             */
            insert<C>(newElements: C, i: Self.Index):void;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Self.Element | null;
            /**
             * Removes and returns the element at the specified position.
             */
            remove(position: Self.Index):Self.Element;
            /**
             * Removes all elements from the collection.
             */
            removeAll(keepCapacity: boolean):void;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Self.Element;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Self.Element;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange(bounds: Range<Self.Index>):void;
            /**
             * Removes the elements in the specified subrange from the collection.
             */
            removeSubrange<R>(bounds: R):void;
            /**
             * Replaces all occurrences of a target sequence with a given collection
             */
            replace<C, Replacement>(other: C, replacement: Replacement, maxReplacements: number):void;
            /**
             * Replaces the specified subrange of elements with the given collection.
             */
            replaceSubrange<C>(subrange: Range<FilePath.ComponentView.Index>, newElements: C):void;
            /**
             * Replaces the specified subrange of elements with the given collection.
             */
            replaceSubrange<C, R>(subrange: R, newElements: C):void;
            /**
             * Returns a new collection in which all occurrences of a target sequence
             *  
             * are replaced by another collection.
             */
            replacing<C, Replacement>(other: C, replacement: Replacement, maxReplacements: number):Replacement.Element;
            /**
             * Prepares the collection to store the specified number of elements, when
             *  
             * doing so is appropriate for the underlying type.
             */
            reserveCapacity(n: number):void;
            /**
             * Removes the initial elements that satisfy the given predicate from the
             *  
             * start of the sequence.
             */
            trimPrefix<Prefix>(prefix: Prefix):void;
            trimPrefix(predicate: Bool):void;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the given
             *  
             * predicate to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Returns the maximum element in the sequence, using the given predicate
             *  
             * as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as
             *  
             * the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as
             *  
             * the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        /**
         * the same name namespace of class ComponentView
         */
        export namespace ComponentView {
            export class Index {
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Hashes the essential components of this value by feeding them into the
                 *  
                 * given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
        export class Root {
            /**
             * On Unix, this returns 
             * .
             */
            string: string;
            /**
             * A textual representation of the path root, suitable for debugging.
             */
            debugDescription: string;
            /**
             * A textual representation of the path root.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Create a file path root from a string.
             */
            constructor (_string: string);
            /**
             * Creates a file path root by copying bytes from a null-terminated platform
             *  
             * string. It is a precondition that a null byte indicates the end of
             *  
             * the string. The absence of a null byte will trigger a runtime error.
             */
            constructor (platformString: CInterop.PlatformChar[]);
            /**
             * Creates a new instance by decoding from the given decoder.
             */
            constructor (decoder: Decoder);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: Self.StringLiteralType);
            /**
             * Create a file path root from a string literal.
             */
            constructor (stringLiteral: string);
            /**
             * Creates an instance initialized to the given value.
             */
            constructor (value: Self.ExtendedGraphemeClusterLiteralType);
            /**
             * Calls the given closure with a pointer to the contents of the file path
             *  
             * root, represented as a null-terminated platform string.
             */
            withPlatformString<Result>(body: Result):Result;
            /**
             * Encodes this value into the given encoder.
             */
            encode(encoder: Encoder):void;
        }
    }
    export class FilePermissions {
        /**
         * Indicates that the owner has read-only permission.
         */
        static ownerRead: FilePermissions;
        /**
         * Indicates that the owner has write-only permission.
         */
        static ownerWrite: FilePermissions;
        /**
         * Indicates that the owner has execute-only permission.
         */
        static ownerExecute: FilePermissions;
        /**
         * Indicates that the owner has read-write permission.
         */
        static ownerReadWrite: FilePermissions;
        /**
         * Indicates that the owner has read-execute permission.
         */
        static ownerReadExecute: FilePermissions;
        /**
         * Indicates that the owner has write-execute permission.
         */
        static ownerWriteExecute: FilePermissions;
        /**
         * Indicates that the owner has read, write, and execute permission.
         */
        static ownerReadWriteExecute: FilePermissions;
        /**
         * Indicates that the group has read-only permission.
         */
        static groupRead: FilePermissions;
        /**
         * Indicates that the group has write-only permission.
         */
        static groupWrite: FilePermissions;
        /**
         * Indicates that the group has execute-only permission.
         */
        static groupExecute: FilePermissions;
        /**
         * Indicates that the group has read-write permission.
         */
        static groupReadWrite: FilePermissions;
        /**
         * Indicates that the group has read-execute permission.
         */
        static groupReadExecute: FilePermissions;
        /**
         * Indicates that the group has write-execute permission.
         */
        static groupWriteExecute: FilePermissions;
        /**
         * Indicates that the group has read, write, and execute permission.
         */
        static groupReadWriteExecute: FilePermissions;
        /**
         * Indicates that other users have read-only permission.
         */
        static otherRead: FilePermissions;
        /**
         * Indicates that other users have write-only permission.
         */
        static otherWrite: FilePermissions;
        /**
         * Indicates that other users have execute-only permission.
         */
        static otherExecute: FilePermissions;
        /**
         * Indicates that other users have read-write permission.
         */
        static otherReadWrite: FilePermissions;
        /**
         * Indicates that other users have read-execute permission.
         */
        static otherReadExecute: FilePermissions;
        /**
         * Indicates that other users have write-execute permission.
         */
        static otherWriteExecute: FilePermissions;
        /**
         * Indicates that other users have read, write, and execute permission.
         */
        static otherReadWriteExecute: FilePermissions;
        /**
         * Indicates that the file is executed as the owner.
         */
        static setUserID: FilePermissions;
        /**
         * Indicates that the file is executed as the group.
         */
        static setGroupID: FilePermissions;
        /**
         * Indicates that executable’s text segment
         *  
         * should be kept in swap space even after it exits.
         */
        static saveText: FilePermissions;
        /**
         * The raw C file permissions.
         */
        rawValue: CModeT;
        /**
         * A textual representation of the file permissions.
         */
        description: string;
        /**
         * A textual representation of the file permissions, suitable for debugging.
         */
        debugDescription: string;
        hashValue: number;
        /**
         * A Boolean value that indicates whether the set has no elements.
         */
        isEmpty: boolean;
        /**
         * Create a strongly-typed file permission from a raw C value.
         */
        constructor (rawValue: CModeT);
        /**
         * Creates a new instance by decoding from the given decoder, when the
         *  
         * type’s 
         *  is 
         * .
         */
        constructor (decoder: Decoder);
        /**
         * Creates an empty option set.
         */
        constructor ();
        /**
         * Creates a new set from a finite sequence of items.
         */
        constructor (sequence: S);
        /**
         * Creates a set containing the elements of the given array literal.
         */
        constructor (...arrayLiteral: Self.Element);
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder, when the type’s 
         *  
         * is 
         * .
         */
        encode(encoder: Encoder):void;
        /**
         * Returns a Boolean value that indicates whether a given element is a
         *  
         * member of the option set.
         */
        contains(member: Self):boolean;
        /**
         * Removes all elements of this option set that are not
         *  
         * also present in the given set.
         */
        formIntersection(other: Self):void;
        /**
         * Replaces this set with a new set containing all elements
         *  
         * contained in either this set or the given set, but not in both.
         */
        formSymmetricDifference(other: Self):void;
        /**
         * Inserts the elements of another set into this option set.
         */
        formUnion(other: Self):void;
        /**
         * Adds the given element to the option set if it is not already a member.
         */
        insert(newMember: Self.Element):any;
        /**
         * Returns a new option set with only the elements contained in both this
         *  
         * set and the given set.
         */
        intersection(other: Self):Self;
        /**
         * Returns a Boolean value that indicates whether the set has no members in
         *  
         * common with the given set.
         */
        isDisjoint(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * subset of the given set.
         */
        isStrictSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether this set is a strict
         *  
         * superset of the given set.
         */
        isStrictSuperset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a subset of
         *  
         * another set.
         */
        isSubset(other: Self):boolean;
        /**
         * Returns a Boolean value that indicates whether the set is a superset of
         *  
         * the given set.
         */
        isSuperset(other: Self):boolean;
        /**
         * Removes the given element and all elements subsumed by it.
         */
        remove(member: Self.Element):Self.Element | null;
        /**
         * Removes the elements of the given set from this set.
         */
        subtract(other: Self):void;
        /**
         * Returns a new set containing the elements of this set that do not occur
         *  
         * in the given set.
         */
        subtracting(other: Self):Self;
        /**
         * Returns a new option set with the elements contained in this set or in
         *  
         * the given set, but not in both.
         */
        symmetricDifference(other: Self):Self;
        /**
         * Returns a new option set of the elements contained in this set, in the
         *  
         * given set, or in both.
         */
        union(other: Self):Self;
        /**
         * Inserts the given element into the set.
         */
        update(newMember: Self.Element):Self.Element | null;
    }
    export class Errno {
        /**
         * Attribute not found.
         */
        static attributeNotFound: Errno;
        /**
         * Bad file descriptor.
         */
        static badFileDescriptor: Errno;
        /**
         * File exists.
         */
        static fileExists: Errno;
        /**
         * The file is too large.
         */
        static fileTooLarge: Errno;
        /**
         * Improper link.
         */
        static improperLink: Errno;
        /**
         * Is a directory.
         */
        static isDirectory: Errno;
        /**
         * No locks available.
         */
        static noLocks: Errno;
        /**
         * No such file or directory.
         */
        static noSuchFileOrDirectory: Errno;
        /**
         * Not a directory.
         */
        static notDirectory: Errno;
        /**
         * Permission denied.
         */
        static permissionDenied: Errno;
        /**
         * Text file busy.
         */
        static textFileBusy: Errno;
        /**
         * Inappropriate file type or format.
         */
        static badFileTypeOrFormat: Errno;
        /**
         * Directory not empty.
         */
        static directoryNotEmpty: Errno;
        /**
         * Disk quota exceeded.
         */
        static diskQuotaExceeded: Errno;
        /**
         * Device out of space.
         */
        static noSpace: Errno;
        /**
         * Read-only file system.
         */
        static readOnlyFileSystem: Errno;
        /**
         * Too many links.
         */
        static tooManyLinks: Errno;
        /**
         * The system has too many open files.
         */
        static tooManyOpenFilesInSystem: Errno;
        /**
         * This process has too many open files.
         */
        static tooManyOpenFiles: Errno;
        /**
         * Authentication error.
         */
        static authenticationError: Errno;
        /**
         * Need authenticator.
         */
        static needAuthenticator: Errno;
        /**
         * Stale NFS file handle.
         */
        static staleNFSFileHandle: Errno;
        /**
         * Device error.
         */
        static deviceError: Errno;
        /**
         * Device power is off.
         */
        static devicePowerIsOff: Errno;
        /**
         * Inappropriate control function.
         */
        static inappropriateIOCTLForDevice: Errno;
        /**
         * Input/output error.
         */
        static ioError: Errno;
        /**
         * No such device or address.
         */
        static noSuchAddressOrDevice: Errno;
        /**
         * Not a block device.
         */
        static notBlockDevice: Errno;
        /**
         * Operation not supported by device.
         */
        static operationNotSupportedByDevice: Errno;
        /**
         * The file name is too long.
         */
        static fileNameTooLong: Errno;
        /**
         * Too many levels of remote in path.
         */
        static tooManyRemoteLevels: Errno;
        /**
         * Too many levels of symbolic links.
         */
        static tooManySymbolicLinkLevels: Errno;
        /**
         * Broken pipe.
         */
        static brokenPipe: Errno;
        /**
         * Illegal seek.
         */
        static illegalSeek: Errno;
        /**
         * Resource deadlock avoided.
         */
        static deadlock: Errno;
        /**
         * Can’t allocate memory.
         */
        static noMemory: Errno;
        /**
         * Operation would block.
         */
        static wouldBlock: Errno;
        /**
         * Numerical argument out of domain.
         */
        static outOfDomain: Errno;
        /**
         * Numerical result out of range.
         */
        static outOfRange: Errno;
        /**
         * Value too large to be stored in data type.
         */
        static overflow: Errno;
        /**
         * Bad CPU type in executable.
         */
        static badCPUType: Errno;
        /**
         * Bad executable or shared library.
         */
        static badExecutable: Errno;
        /**
         * Executable format error.
         */
        static execFormatError: Errno;
        /**
         * Malformed Mach-O file.
         */
        static malformedMachO: Errno;
        /**
         * Shared library version mismatch.
         */
        static sharedLibraryVersionMismatch: Errno;
        /**
         * Software caused a connection abort.
         */
        static connectionAbort: Errno;
        /**
         * Connection refused.
         */
        static connectionRefused: Errno;
        /**
         * Connection reset by peer.
         */
        static connectionReset: Errno;
        /**
         * The host is down.
         */
        static hostIsDown: Errno;
        /**
         * Message too long.
         */
        static messageTooLong: Errno;
        /**
         * Network is down.
         */
        static networkDown: Errno;
        /**
         * Network dropped connection on reset.
         */
        static networkReset: Errno;
        /**
         * Network is unreachable.
         */
        static networkUnreachable: Errno;
        /**
         * No buffer space available.
         */
        static noBufferSpace: Errno;
        /**
         * No route to host.
         */
        static noRouteToHost: Errno;
        /**
         * Not supported.
         */
        static notSupported: Errno;
        /**
         * Operation timed out.
         */
        static timedOut: Errno;
        /**
         * Protocol error.
         */
        static protocolError: Errno;
        /**
         * Protocol family not supported.
         */
        static protocolFamilyNotSupported: Errno;
        /**
         * Protocol not available.
         */
        static protocolNotAvailable: Errno;
        /**
         * Protocol not supported.
         */
        static protocolNotSupported: Errno;
        /**
         * Protocol wrong for socket type.
         */
        static protocolWrongTypeForSocket: Errno;
        /**
         * The address family isn’t supported by the protocol family.
         */
        static addressFamilyNotSupported: Errno;
        /**
         * Address already in use.
         */
        static addressInUse: Errno;
        /**
         * Can’t assign the requested address.
         */
        static addressNotAvailable: Errno;
        /**
         * Destination address required.
         */
        static addressRequired: Errno;
        /**
         * A socket operation was performed on something that isn’t a socket.
         */
        static notSocket: Errno;
        /**
         * Operation not supported on socket.
         */
        static notSupportedOnSocket: Errno;
        /**
         * Socket is already connected.
         */
        static socketIsConnected: Errno;
        /**
         * Socket is not connected.
         */
        static socketNotConnected: Errno;
        /**
         * Can’t send after socket shutdown.
         */
        static socketShutdown: Errno;
        /**
         * Socket type not supported.
         */
        static socketTypeNotSupported: Errno;
        /**
         * Bad procedure for program.
         */
        static rpcProcedureUnavailable: Errno;
        /**
         * The remote procedure call (RPC) program isn’t available.
         */
        static rpcProgramUnavailable: Errno;
        /**
         * The version of the remote procedure call (RPC) program is incorrect.
         */
        static rpcProgramVersionMismatch: Errno;
        /**
         * The structure of the remote procedure call (RPC) is bad.
         */
        static rpcUnsuccessful: Errno;
        /**
         * The version of the remote procedure call (RPC) is incorrect.
         */
        static rpcVersionMismatch: Errno;
        /**
         * The argument list is too long.
         */
        static argListTooLong: Errno;
        /**
         * Identifier removed.
         */
        static identifierRemoved: Errno;
        /**
         * No child processes.
         */
        static noChildProcess: Errno;
        /**
         * No such process.
         */
        static noSuchProcess: Errno;
        /**
         * Previous pthread mutex owner died.
         */
        static previousOwnerDied: Errno;
        /**
         * Too many processes.
         */
        static tooManyProcesses: Errno;
        /**
         * Operation already in progress.
         */
        static alreadyInProcess: Errno;
        /**
         * Bad address.
         */
        static badAddress: Errno;
        /**
         * Interrupted function call.
         */
        static interrupted: Errno;
        /**
         * Invalid argument.
         */
        static invalidArgument: Errno;
        /**
         * Function not implemented.
         */
        static noFunction: Errno;
        /**
         * Operation now in progress.
         */
        static nowInProgress: Errno;
        /**
         * Resource busy.
         */
        static resourceBusy: Errno;
        /**
         * Resource temporarily unavailable.
         */
        static resourceTemporarilyUnavailable: Errno;
        /**
         * Bad message.
         */
        static badMessage: Errno;
        /**
         * Operation canceled.
         */
        static canceled: Errno;
        /**
         * Illegal byte sequence.
         */
        static illegalByteSequence: Errno;
        /**
         * No message available.
         */
        static noData: Errno;
        /**
         * No message of desired type.
         */
        static noMessage: Errno;
        /**
         * No such policy registered.
         */
        static noSuchPolicy: Errno;
        /**
         * Operation not permitted.
         */
        static notPermitted: Errno;
        /**
         * State not recoverable.
         */
        static notRecoverable: Errno;
        /**
         * Interface output queue is full.
         */
        static outputQueueFull: Errno;
        /**
         * Too many references: can’t splice.
         */
        static tooManyReferences: Errno;
        /**
         * Too many users.
         */
        static tooManyUsers: Errno;
        /**
         * The largest valid error.
         */
        static lastErrnoValue: Errno;
        /**
         * Reserved.
         */
        static multiHop: Errno;
        /**
         * Reserved.
         */
        static noLink: Errno;
        /**
         * Reserved.
         */
        static noStreamResources: Errno;
        /**
         * Reserved.
         */
        static notStream: Errno;
        /**
         * Error. Not used.
         */
        static notUsed: Errno;
        /**
         * Reserved.
         */
        static timeout: Errno;
        /**
         * The raw C error number.
         */
        rawValue: CInt;
        /**
         * A textual representation of the most recent error
         *  
         * returned by a system call.
         */
        description: string;
        /**
         * A textual representation,
         *  
         * suitable for debugging,
         *  
         * of the most recent error returned by a system call.
         */
        debugDescription: string;
        hashValue: number;
        /**
         * Creates a strongly typed error number from a raw C error number.
         */
        constructor (rawValue: CInt);
        /**
         * Creates a new instance by decoding from the given decoder, when the
         *  
         * type’s 
         *  is 
         * .
         */
        constructor (decoder: Decoder);
        /**
         * Encodes this value into the given encoder, when the type’s 
         *  
         * is 
         * .
         */
        encode(encoder: Encoder):void;
        hash(hasher: Hasher):void;
    }
    export enum CInterop {}
}

/**
 * Import, organize, and prepare a table of data to train a machine learning model.
 */
declare module TabularData {
    export class DataFrame {
        /**
         * A text representation of the data frame.
         */
        description: string;
        /**
         * A text representation of the data frame suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the data frame.
         */
        customMirror: Mirror;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The underlying data frame.
         */
        base: DataFrame;
        /**
         * A Boolean that indicates whether the data frame type is empty.
         */
        isEmpty: boolean;
        /**
         * The number of rows and columns in the data frame.
         */
        shape: any;
        /**
         * The entire data frame as a collection of columns.
         */
        columns: AnyColumn[];
        /**
         * The entire data frame as a collection of rows.
         */
        rows: DataFrame.Rows;
        /**
         * Creates a data frame from a sequence of annotated features.
         */
        constructor (sequence: S, featuresColumnID: ColumnID<Feature>, annotationsColumnID: ColumnID<Annotation>);
        /**
         * Creates a data frame from a dictionary literal.
         */
        constructor (...elements: any);
        /**
         * Creates an empty data frame with no rows or columns.
         */
        constructor ();
        /**
         * Creates a new data frame from a sequence of columns.
         */
        constructor (columns: S);
        /**
         * Creates a data frame by reading a JSON file.
         */
        constructor (url: URL, columns: string[] | null, types: Record<string, JSONType>, options: JSONReadingOptions);
        /**
         * Creates a data frame by converting JSON data.
         */
        constructor (data: Data, columns: string[] | null, types: Record<string, JSONType>, options: JSONReadingOptions);
        /**
         * Creates a data frame from a CSV file.
         */
        constructor (url: URL, columns: string[] | null, rows: Range<Int> | null, types: Record<string, CSVType>, options: CSVReadingOptions);
        /**
         * Creates a data frame from CSV file data.
         */
        constructor (data: Data, columns: string[] | null, rows: Range<Int> | null, types: Record<string, CSVType>, options: CSVReadingOptions);
        /**
         * Creates a data frame from a Turi Create scalable data frame.
         */
        constructor (url: URL, columns: string[] | null, rows: Range<Int> | null);
        /**
         * Creates a new data frame with a slice of rows from another data frame.
         */
        constructor (other: DataFrame.Slice);
        /**
         * Renames a column in the data frame.
         */
        renameColumn(name: string, newName: string):void;
        /**
         * Adds an alternative name for a column.
         */
        addAlias(alias: string, columnName: string):void;
        /**
         * Returns the column names for an alias.
         */
        columnNames(alias: string):string[];
        /**
         * Removes an alternative name for a column.
         */
        removeAlias(alias: string):void;
        /**
         * Adds a type-erased column to the end of the data frame.
         */
        append(column: AnyColumn):void;
        /**
         * Adds a typed column to the end of the data frame.
         */
        append<T>(column: Column<T>):void;
        /**
         * Adds a type-erased column at a position in the data frame.
         */
        insert(column: AnyColumn, index: number):void;
        /**
         * Adds a typed column at a position in the data frame.
         */
        insert<T>(column: Column<T>, index: number):void;
        /**
         * Returns the index of a column.
         */
        indexOfColumn(columnName: string):number;
        /**
         * Replaces a column in the data frame, by name, with a type-erased column.
         */
        replaceColumn(name: string, newColumn: AnyColumn):void;
        /**
         * Replaces a column in the data frame, by name, with a typed column.
         */
        replaceColumn<T>(name: string, newColumn: Column<T>):void;
        /**
         * Replaces a column in the data frame, by column identifier, with a typed column.
         */
        replaceColumn<T, U>(id: ColumnID<T>, newColumn: Column<U>):void;
        /**
         * Removes a column you select by its name from the data frame.
         */
        removeColumn(name: string):AnyColumn;
        /**
         * Removes a column you select by its column identifier from the data frame.
         */
        removeColumn<T>(id: ColumnID<T>):Column<T>;
        /**
         * Applies a transform closure that modifies the nonempty elements of a column
         *  
         * you select by column identifier.
         */
        transformColumn<From, To>(id: ColumnID<From>, transform: To | null):void;
        /**
         * Merges two columns that you select by name into a new column.
         */
        combineColumns<E1, E2, R>(columnName1: string, columnName2: string, newColumnName: string, transform: R | null):void;
        /**
         * Merges three columns that you select by name into a new column.
         */
        combineColumns<E1, E2, E3, R>(columnName1: string, columnName2: string, columnName3: string, newColumnName: string, transform: R | null):void;
        /**
         * Replaces each row in a collection column that you select by name,
         *  
         * with a new row for each element in the original row’s collection.
         */
        explodeColumn<T>(name: string, type: T.Type):void;
        /**
         * Generates a data frame by replacing each row in a collection column that you select by name,
         *  
         * with a new row for each element in the original row’s collection.
         */
        explodingColumn<T>(name: string, type: T.Type):Collection;
        /**
         * Encodes the elements of a column you select by name.
         */
        encodeColumn<T, Encoder>(columnName: string, type: T.Type, encoder: Encoder):void;
        /**
         * Decodes the elements of a column you select by name.
         */
        decode<T, Decoder>(type: T.Type, columnName: string, decoder: Decoder):void;
        /**
         * Arranges the rows of a data frame according to a column that you select by its name.
         */
        sort(columnName: string, order: Order):void;
        /**
         * Arranges the rows of a data frame according to a column that you select by its name and type.
         */
        sort<T>(columnName: string, type: T.Type, order: Order):void;
        /**
         * Arranges the rows of a data frame according to two columns that you select by their column identifiers.
         */
        sort<T0, T1>(columnID0: ColumnID<T0>, columnID1: ColumnID<T1>, order: Order):void;
        /**
         * Arranges the rows of a data frame according to three columns that you select by their column identifiers.
         */
        sort<T0, T1, T2>(columnID0: ColumnID<T0>, columnID1: ColumnID<T1>, columnID2: ColumnID<T2>, order: Order):void;
        /**
         * Generates a data frame that summarizes the columns of the data frame.
         */
        summary():DataFrame;
        /**
         * Creates a CSV file with the contents of the data frame type.
         */
        writeCSV(url: URL, options: CSVWritingOptions):void;
        /**
         * Generates a CSV data instance of the data frame type.
         */
        csvRepresentation(options: CSVWritingOptions):Data;
        /**
         * Hashes the essential components of the data frame by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether the data frame contains a column matching a column ID.
         */
        containsColumn<T>(id: ColumnID<T>):boolean;
        /**
         * Returns a Boolean value indicating whether the data frame contains a column.
         */
        containsColumn(name: string):boolean;
        /**
         * Loads training examples from a data frame containing annotations.
         */
        loadRangedAnnotations<Annotation>(parameters: DataFrameTemporalAnnotationParameters<Annotation>, continueOnFailure: boolean):Sendable;
        /**
         * Generates a data frame that includes only the column selection.
         */
        selecting(selection: ColumnSelection):DataFrame;
        /**
         * Creates a grouping from two columns of different types.
         */
        grouped<T0, T1>(column0: ColumnID<T0>, column1: ColumnID<T1>):Hashable;
        /**
         * Creates a grouping from three columns of different types.
         */
        grouped<T0, T1, T2>(column0: ColumnID<T0>, column1: ColumnID<T1>, column2: ColumnID<T2>):Hashable;
        /**
         * Creates a grouping of rows that the method selects
         *  
         * by choosing unique units of time in a date column you select by column identifier.
         */
        grouped(columnID: ColumnID<Date>, timeUnit: Calendar.Component):RowGrouping<Int>;
        /**
         * Creates a grouping of rows that the method selects
         *  
         * by choosing unique values the transform closure creates with elements of a
         *  
         * column you select by column identifier.
         */
        grouped<InputKey, GroupingKey>(columnID: ColumnID<InputKey>, transform: ()=>any | null):Hashable;
        /**
         * Generates a data frame by joining with another data frame type along
         *  
         * the columns that you select by name for both data frame types.
         */
        joined<R>(other: R, columnNames: any, kind: JoinKind):DataFrameProtocol;
        /**
         * Generates a data frame by joining with another data frame type along
         *  
         * the columns that you select by identifier for both data frame types.
         */
        joined<R, T>(other: R, columnIDs: any, kind: JoinKind):Hashable;
        /**
         * Generates a JSON data instance of the data frame.
         */
        jsonRepresentation(options: JSONWritingOptions):Data;
        /**
         * Generates two data frame slices by randomly splitting the rows of the data table.
         */
        randomSplit(proportion: number, seed: number):any;
        /**
         * Generates two data frame slices by randomly splitting the rows of the data table type
         *  
         * with a random-number generator.
         */
        randomSplit<G>(proportion: number, generator: G):RandomNumberGenerator;
        /**
         * Generates a data frame by copying the data frame’s rows and then sorting the rows according to three columns
         *  
         * that you select by their column identifiers.
         */
        sorted<T0, T1, T2>(columnID0: ColumnID<T0>, columnID1: ColumnID<T1>, columnID2: ColumnID<T2>, order: Order):Comparable;
        /**
         * Generates a data frame by copying the data frame’s rows and then sorting the rows according to a column
         *  
         * that you select by its name and type, with a predicate.
         */
        sorted<T>(columnName: string, type: T.Type, areInIncreasingOrder: Bool):DataFrame;
        /**
         * Generates a data frame by copying the data frame’s rows and then sorting the rows according to two columns
         *  
         * that you select by their column identifiers.
         */
        sorted<T0, T1>(columnID0: ColumnID<T0>, columnID1: ColumnID<T1>, order: Order):Comparable;
        /**
         * Generates a data frame by copying the data frame’s rows and then sorting the rows according to a column
         *  
         * that you select by its name.
         */
        sorted(columnName: string, order: Order):DataFrame;
        /**
         * Generates two data frames by randomly splitting the rows of three columns,
         *  
         * which you select by column identifiers, into strata.
         */
        stratifiedSplit<T0, T1, T2>(columnID0: ColumnID<T0>, columnID1: ColumnID<T1>, columnID2: ColumnID<T2>, proportion: number, randomSeed: number):Hashable;
        /**
         * Generates two data frames by randomly splitting the rows of two columns, which you select by column identifiers,
         *  
         * into strata.
         */
        stratifiedSplit<T0, T1>(columnID0: ColumnID<T0>, columnID1: ColumnID<T1>, proportion: number, randomSeed: number):Hashable;
        /**
         * Generates two data frames by randomly splitting the rows of a column,
         *  
         * which you select by its name, into strata.
         */
        stratifiedSplit(columnName: string, proportion: number, randomSeed: number):any;
        /**
         * Creates a JSON file with the contents of the data frame.
         */
        writeJSON(url: URL, options: JSONWritingOptions):void;
        /**
         * Generates a data frame that includes the columns you select with a sequence of names.
         */
        selecting<S>(columnNames: S):String;
        /**
         * Adds an empty row to the data frame.
         */
        appendEmptyRow():void;
        /**
         * Removes a row from the data frame.
         */
        removeRow(index: number):void;
        /**
         * Returns a slice that contains the initial rows up to a maximum length.
         */
        prefix(maxLength: number):DataFrame.Slice;
        /**
         * Returns a slice that contains the final rows up to a maximum length.
         */
        suffix(maxLength: number):DataFrame.Slice;
        /**
         * Returns a selection of rows that satisfy a predicate.
         */
        filter(isIncluded: Bool):DataFrame.Slice;
        /**
         * Returns a selection of rows that satisfy a predicate in the columns you select by name.
         */
        filter<T>(columnName: string, type: T.Type, isIncluded: Bool):DataFrame.Slice;
    }
    /**
     * the same name namespace of class DataFrame
     */
    export namespace DataFrame {
        export class Slice {
            /**
             * A Boolean that indicates whether the data frame type is empty.
             */
            isEmpty: boolean;
        }
        export class Row {
            /**
             * A text representation of the row suitable for debugging.
             */
            debugDescription: string;
            /**
             * A mirror that reflects the row.
             */
            customMirror: Mirror;
            /**
             * A text representation of the row.
             */
            description: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The index of the final column in the row.
             */
            endIndex: number;
            /**
             * The index of the initial column in the row.
             */
            startIndex: number;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            publisher: any;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            /**
             * Hashes the essential components of the row by feeding them into a hasher.
             */
            hash(hasher: Hasher):void;
            /**
             * Reorders the elements of the collection such that all the elements
             *  
             * that match the given predicate are after all the elements that don’t
             *  
             * match.
             */
            partition(belongsInSecondPartition: Bool):Self.Index;
            /**
             * Reverses the elements of the collection in place.
             */
            reverse():void;
            /**
             * Shuffles the collection in place.
             */
            shuffle():void;
            /**
             * Shuffles the collection in place, using the given generator as a source
             *  
             * for randomness.
             */
            shuffle<T>(generator: T):void;
            /**
             * Sorts the collection in place, using the given predicate as the
             *  
             * comparison between elements.
             */
            sort(areInIncreasingOrder: Bool):void;
            /**
             * Sorts the collection using the given comparator to compare elements.
             */
            sort<Comparator>(comparator: Comparator):void;
            /**
             * Sorts the collection using the given array of 
             * s to
             *  
             * compare elements.
             */
            sort<S, Comparator>(comparators: S):void;
            /**
             * Exchanges the values at the specified indices of the collection.
             */
            swapAt(i: Self.Index, j: Self.Index):void;
            /**
             * Executes a closure on the collection’s contiguous storage.
             */
            withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
            /**
             * Returns an index that is the specified distance from the given index,
             *  
             * unless that distance is beyond a given limiting index.
             */
            index(i: Self.Index, distance: number, limit: Self.Index):Self.Index | null;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the given
             *  
             * predicate to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns the maximum element in the sequence, using the given predicate
             *  
             * as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the minimum element in the sequence, using the given predicate as
             *  
             * the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as
             *  
             * the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
            /**
             * Returns the longest possible subsequences of the sequence, in order,
             *  
             * around elements equal to the given element.
             */
            split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):ArraySlice<Self.Element>[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
        }
        export class Rows {
            /**
             * The number of rows in the collection.
             */
            count: number;
            /**
             * A value less than or equal to the number of elements in the sequence,
             *  
             * calculated nondestructively.
             */
            underestimatedCount: number;
            publisher: any;
            /**
             * A sequence containing the same elements as this sequence,
             *  
             * but on which some operations, such as 
             *  and 
             * , are
             *  
             * implemented lazily.
             */
            lazy: LazySequence<Self>;
            /**
             * A Boolean value indicating whether the collection is empty.
             */
            isEmpty: boolean;
            /**
             * The last element of the collection.
             */
            last: Self.Element | null;
            /**
             * The index of the initial row in the collection.
             */
            startIndex: number;
            /**
             * The index of the final row in the collection.
             */
            endIndex: number;
            /**
             * The indices that are valid for subscripting the collection, in ascending
             *  
             * order.
             */
            indices: DefaultIndices<Self>;
            /**
             * Returns a Boolean value indicating whether the sequence contains the
             *  
             * given element.
             */
            contains(element: Self.Element):boolean;
            /**
             * Returns a Boolean value indicating whether every element of a sequence
             *  
             * satisfies a given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the minimum element in the sequence, using the given predicate as
             *  
             * the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the maximum element in the sequence, using the given predicate
             *  
             * as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Self.Element | null;
            /**
             * Returns the first element of the sequence that satisfies the given
             *  
             * predicate.
             */
            first(predicate: Bool):Self.Element | null;
            /**
             * Returns a sequence of pairs (
             * , 
             * ), where 
             *  represents a
             *  
             * consecutive integer starting at zero and 
             *  represents an element of
             *  
             * the sequence.
             */
            enumerated():EnumeratedSequence<Self>;
            /**
             * Calls the given closure on each element in the sequence in the same order
             *  
             * as a 
             * -
             *  loop.
             */
            forEach(body: Void):void;
            /**
             * Returns a view presenting the elements of the collection in reverse
             *  
             * order.
             */
            reversed():ReversedCollection<Self>;
            /**
             * Returns the elements of the sequence, sorted using the given predicate as
             *  
             * the comparison between elements.
             */
            sorted(areInIncreasingOrder: Bool):Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled.
             */
            shuffled():Self.Element[];
            /**
             * Returns the elements of the sequence, shuffled using the given generator
             *  
             * as a source for randomness.
             */
            shuffled<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns an array containing, in order, the elements of the sequence
             *  
             * that satisfy the given predicate.
             */
            filter(isIncluded: Bool):Self.Element[];
            /**
             * Returns an array containing the non-
             *  results of calling the given
             *  
             * transformation with each element of this sequence.
             */
            compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns an array containing the concatenated results of calling the
             *  
             * given transformation with each element of this sequence.
             */
            flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
            flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
            /**
             * Returns the result of combining the elements of the sequence using the
             *  
             * given closure.
             */
            reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
            /**
             * Returns the longest possible subsequences of the collection, in order,
             *  
             * around elements equal to the given element.
             */
            split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):Self.SubSequence[];
            /**
             * Returns a Boolean value indicating whether the initial elements of the
             *  
             * sequence are the same as the elements in another sequence.
             */
            starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
            /**
             * Returns a Boolean value indicating whether this sequence and another
             *  
             * sequence contain the same elements in the same order.
             */
            elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
            /**
             * Returns a Boolean value indicating whether the sequence precedes another
             *  
             * sequence in a lexicographical (dictionary) ordering, using the given
             *  
             * predicate to compare elements.
             */
            lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
            /**
             * Executes a closure on the sequence’s contiguous storage.
             */
            withContiguousStorageIfAvailable<R>(body: R):R | null;
            /**
             * Executes a closure on the collection’s contiguous storage.
             */
            withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
            formatted<S>(style: S):FormatStyle;
            /**
             * Returns an iterator over the elements of the collection.
             */
            makeIterator():IndexingIterator<Self>;
            /**
             * Returns a random element of the collection.
             */
            randomElement():Self.Element | null;
            /**
             * Returns a random element of the collection, using the given generator as
             *  
             * a source for randomness.
             */
            randomElement<T>(generator: T):RandomNumberGenerator;
            /**
             * Returns the first index where the specified value appears in the
             *  
             * collection.
             */
            firstIndex(element: Self.Element):Self.Index | null;
            index(i: Self.Index, distance: number):Self.Index;
            /**
             * Offsets the given index by the specified distance.
             */
            formIndex(i: Self.Index, distance: number):void;
            /**
             * Removes and returns the first element of the collection.
             */
            popFirst():Self.Element | null;
            /**
             * Removes and returns the last element of the collection.
             */
            popLast():Self.Element | null;
            /**
             * Removes and returns the first element of the collection.
             */
            removeFirst():Self.Element;
            /**
             * Removes and returns the last element of the collection.
             */
            removeLast():Self.Element;
            /**
             * Exchanges the values at the specified indices of the collection.
             */
            swapAt(i: Self.Index, j: Self.Index):void;
            /**
             * Reorders the elements of the collection such that all the elements
             *  
             * that match the given predicate are after all the elements that don’t
             *  
             * match.
             */
            partition(belongsInSecondPartition: Bool):Self.Index;
            /**
             * Returns an array containing the results of mapping the given closure
             *  
             * over the sequence’s elements.
             */
            map<T>(transform: T):T[];
            /**
             * Returns a subsequence by skipping elements while 
             *  returns
             *  
             *  and returning the remaining elements.
             */
            drop(predicate: Bool):Self.SubSequence;
            /**
             * Returns a subsequence containing all but the given number of initial
             *  
             * elements.
             */
            dropFirst(k: number):Self.SubSequence;
            /**
             * Returns a subsequence, up to the specified maximum length, containing
             *  
             * the initial elements of the collection.
             */
            prefix(maxLength: number):Self.SubSequence;
            /**
             * Returns a subsequence, up to the given maximum length, containing the
             *  
             * final elements of the collection.
             */
            suffix(maxLength: number):Self.SubSequence;
            /**
             * Returns the elements of this sequence of sequences, concatenated.
             */
            joined():FlattenSequence<Self>;
            /**
             * Returns the concatenated elements of this sequence of sequences,
             *  
             * inserting the given separator between each element.
             */
            joined<Separator>(separator: Separator):Self.Element.Element;
            /**
             * Returns the last index where the specified value appears in the
             *  
             * collection.
             */
            lastIndex(element: Self.Element):Self.Index | null;
            distance(start: Self.Index, end: Self.Index):number;
            /**
             * Returns a subsequence containing all but the specified number of final
             *  
             * elements.
             */
            dropLast(k: number):Self.SubSequence;
            /**
             * Reverses the elements of the collection in place.
             */
            reverse():void;
            /**
             * Returns the difference needed to produce this collection’s ordered
             *  
             * elements from the given collection.
             */
            difference<C>(other: C):C.Element;
            /**
             * Finds and returns the range of the first occurrence of a given collection
             *  
             * within this collection.
             */
            firstRange<C>(other: C):C.Element;
            /**
             * Finds and returns the ranges of the all occurrences of a given sequence
             *  
             * within the collection.
             */
            ranges<C>(other: C):C.Element;
            /**
             * Removes the initial elements that satisfy the given predicate from the
             *  
             * start of the sequence.
             */
            trimPrefix<Prefix>(prefix: Prefix):void;
            trimPrefix(predicate: Bool):void;
            /**
             * Returns a new collection of the same type by removing initial elements
             *  
             * that satisfy the given predicate from the start.
             */
            trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
            trimmingPrefix(predicate: Bool):Self.SubSequence;
            /**
             * If 
             *  is ordered before 
             *  in the ordering described by the given
             *  
             * sequence of 
             * s
             */
            compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
            /**
             * Returns the elements of the sequence, sorted using the given comparator
             *  
             * to compare elements.
             */
            sorted<Comparator>(comparator: Comparator):Comparator.Compared;
            /**
             * Returns the elements of the sequence, sorted using the given array of
             *  
             * s to compare elements.
             */
            sorted<S, Comparator>(comparators: S):Comparator.Compared;
        }
    }
    export class RowGrouping {
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * A value less than or equal to the number of elements in the collection.
         */
        underestimatedCount: number;
        /**
         * The first element of the collection.
         */
        first: Self.Element | null;
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
    }
    export enum SummaryColumnIDs {}
    export class CSVWritingOptions {
        /**
         * The format the CSV file generator uses to create date strings.
         */
        dateFormat: string;
        /**
         * A closure that maps dates to their string representations.
         */
        dateFormatter: ()=>any;
        /**
         * The character the CSV file generator uses to separate data fields in a CSV file.
         */
        delimiter: Character;
        /**
         * The string the CSV file generator uses to represent false Boolean values.
         */
        falseEncoding: string;
        /**
         * A Boolean value that indicates whether to write a header with the column names.
         */
        includesHeader: boolean;
        /**
         * The string the CSV file generator uses to represent a newline sequence.
         */
        newline: string;
        /**
         * The string the CSV file generator uses to represent nil values.
         */
        nilEncoding: string;
        /**
         * The string the CSV file generator uses to represent true Boolean values.
         */
        trueEncoding: string;
        /**
         * Creates the default set of options for writing a CSV file.
         */
        constructor ();
        /**
         * Creates a set of options for writing a CSV file.
         */
        constructor (includesHeader: boolean, dateFormat: string, nilEncoding: string, trueEncoding: string, falseEncoding: string, newline: string, delimiter: Character);
        /**
         * Creates a set of options for writing a CSV file.
         */
        constructor (includesHeader: boolean, nilEncoding: string, trueEncoding: string, falseEncoding: string, newline: string, delimiter: Character);
    }
    export enum JoinKind {}
    export class Column {
        /**
         * A prototype that creates type-erased columns with the same underlying type as the column slice.
         */
        prototype: AnyColumnPrototype;
        /**
         * The name of the column.
         */
        name: string;
        /**
         * The number of elements in the column.
         */
        count: number;
        /**
         * The underlying type of the column’s elements.
         */
        wrappedElementType: Any.Type;
        /**
         * A text representation of the column.
         */
        description: string;
        /**
         * A text representation of the column suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the column.
         */
        customMirror: Mirror;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        publisher: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The index of the initial element in the column.
         */
        startIndex: number;
        /**
         * The index of the final element in the column.
         */
        endIndex: number;
        /**
         * The number of missing elements in the column.
         */
        missingCount: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a column with a name and a capacity.
         */
        constructor (name: string, capacity: number);
        /**
         * Creates a column with a column identifier and a capacity.
         */
        constructor (id: ColumnID<WrappedElement>, capacity: number);
        /**
         * Creates a column with a name and a sequence of nonoptional values.
         */
        constructor (name: string, contents: S);
        /**
         * Creates a column with an identifier and a sequence of nonoptional values.
         */
        constructor (id: ColumnID<S.Element>, contents: S);
        /**
         * Creates a column from a column slice.
         */
        constructor (slice: ColumnSlice<WrappedElement>);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Generates a type-erased copy of the column.
         */
        eraseToAnyColumn():AnyColumn;
        /**
         * Creates a new column by applying a transformation to every element.
         */
        map<T>(transform: T | null):Column<T>;
        /**
         * Creates a new column by applying the transformation to every element that isn’t missing.
         */
        mapNonNil<T>(transform: T | null):Column<T>;
        /**
         * Generates a filled column by replacing missing elements with a value.
         */
        filled(value: Self.WrappedElement):FilledColumn<Self>;
        /**
         * Applies a transformation to every element that isn’t missing.
         */
        transform(transform: WrappedElement):void;
        /**
         * Appends a nonoptional value to the column.
         */
        append(element: WrappedElement):void;
        /**
         * Appends a sequence of nonoptional values to the column.
         */
        append<S>(sequence: S):void;
        /**
         * Returns the index of the element with the lowest value, ignoring missing elements.
         */
        argmin():number;
        /**
         * Returns the index of the element with the highest value, ignoring missing elements.
         */
        argmax():number;
        /**
         * Removes an element from the column.
         */
        remove(index: number):void;
        /**
         * Generates a discontiguous slice that contains unique elements.
         */
        distinct():DiscontiguousColumnSlice<WrappedElement>;
        /**
         * Generates a column by encoding each element’s value.
         */
        encoded<Encoder>(encoder: Encoder):TopLevelEncoder;
        /**
         * Generates a column by decoding each element’s data.
         */
        decoded<T, Decoder>(type: T.Type, decoder: Decoder):TopLevelDecoder;
        /**
         * Generates a categorical summary of the column’s elements.
         */
        summary():CategoricalSummary<WrappedElement>;
        /**
         * Generates a numeric summary of the integer column’s elements.
         */
        numericSummary():NumericSummary<Double>;
        /**
         * Returns the sum of the column’s elements, ignoring missing elements.
         */
        sum():WrappedElement;
        /**
         * Returns the element with the lowest value, ignoring missing elements.
         */
        min():any;
        /**
         * Returns the element with the highest value, ignoring missing elements.
         */
        max():any;
        /**
         * Returns the mean average of the integer column’s elements, ignoring missing elements.
         */
        mean():number;
        /**
         * Returns the standard deviation of the integer column’s elements, ignoring missing elements.
         */
        standardDeviation(deltaDegreesOfFreedom: number):number;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Generates a slice that contains the elements that satisfy a predicate.
         */
        filter(isIncluded: Bool):DiscontiguousColumnSlice<WrappedElement>;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns the index immediately before an element index.
         */
        index(i: number):number;
        /**
         * Sorts the collection in place, using the given predicate as the
         *  
         * comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Call 
         * , where 
         *  provides access to the non-optional contiguous mutable storage of the
         *  
         * entire column. If the column contains missing values, 
         *  is not called and 
         *  is returned.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        /**
         * Call 
         * , where 
         *  provides access to the non-optional contiguous storage of the entire
         *  
         * column. If the column contains missing values, 
         *  is not called and 
         *  is returned.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Sorts the collection using the given array of 
         * s to
         *  
         * compare elements.
         */
        sort<S, Comparator>(comparators: S):void;
        /**
         * Sorts the collection using the given comparator to compare elements.
         */
        sort<Comparator>(comparator: Comparator):void;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
    }
    export class ColumnSlice {
        /**
         * A prototype that creates type-erased columns with the same underlying type as the column slice.
         */
        prototype: AnyColumnPrototype;
        /**
         * The name of the slice’s parent column.
         */
        name: string;
        /**
         * The number of elements in the column slice.
         */
        count: number;
        /**
         * The underlying type of the column’s elements.
         */
        wrappedElementType: Any.Type;
        /**
         * A text representation of the column slice.
         */
        description: string;
        /**
         * A text representation of the column slice suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the column slice.
         */
        customMirror: Mirror;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        publisher: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The index of the initial element in the column slice.
         */
        startIndex: number;
        /**
         * The index of the final element in the column slice.
         */
        endIndex: number;
        /**
         * The number of missing elements in the column slice.
         */
        missingCount: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a slice with the contents of a column.
         */
        constructor (column: Column<WrappedElement>);
        /**
         * Generates a discontiguous slice that contains unique elements.
         */
        distinct():DiscontiguousColumnSlice<WrappedElement>;
        /**
         * Returns a type-erased column slice.
         */
        eraseToAnyColumn():AnyColumnSlice;
        /**
         * Creates a new column by applying a transformation to every element.
         */
        map<T>(transform: T | null):Column<T>;
        /**
         * Generates a filled column by replacing missing elements with a value.
         */
        filled(value: Self.WrappedElement):FilledColumn<Self>;
        /**
         * Returns the index of the element with the lowest value, ignoring missing elements.
         */
        argmin():number;
        /**
         * Returns the index of the element with the highest value, ignoring missing elements.
         */
        argmax():number;
        /**
         * Returns a Boolean that indicates whether the element at an index is missing.
         */
        isNil(index: number):boolean;
        /**
         * Generates a categorical summary of the column slice’s elements.
         */
        summary():CategoricalSummary<WrappedElement>;
        /**
         * Generates a numeric summary of the integer column slice’s elements.
         */
        numericSummary():NumericSummary<Double>;
        /**
         * Returns the sum of the column slice’s elements, ignoring missing elements.
         */
        sum():WrappedElement;
        /**
         * Returns the element with the lowest value, ignoring missing elements.
         */
        min():any;
        /**
         * Returns the element with the highest value, ignoring missing elements.
         */
        max():any;
        /**
         * Returns the mean average of the integer slice’s elements, ignoring missing elements.
         */
        mean():number;
        /**
         * Returns the standard deviation of the integer column slice’s elements, ignoring missing elements.
         */
        standardDeviation(deltaDegreesOfFreedom: number):number;
        /**
         * Hashes the essential components of the column slice by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Generates a slice that contains the elements that satisfy the predicate.
         */
        filter(isIncluded: Bool):DiscontiguousColumnSlice<WrappedElement>;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns the index immediately before an element index.
         */
        index(i: number):number;
        /**
         * Sorts the collection in place, using the given predicate as the
         *  
         * comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Removes the initial elements that satisfy the given predicate from the
         *  
         * start of the sequence.
         */
        trimPrefix<Prefix>(prefix: Prefix):void;
        trimPrefix(predicate: Bool):void;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Sorts the collection using the given array of 
         * s to
         *  
         * compare elements.
         */
        sort<S, Comparator>(comparators: S):void;
        /**
         * Sorts the collection using the given comparator to compare elements.
         */
        sort<Comparator>(comparator: Comparator):void;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
    }
    export class FilledColumn {
        /**
         * The name of the column.
         */
        name: string;
        /**
         * A mirror that reflects the filled column.
         */
        description: string;
        /**
         * A text representation of the filled column suitable for debugging.
         */
        debugDescription: string;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        publisher: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The number of elements in the collection.
         */
        count: number;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The index of the initial element in the column.
         */
        startIndex: Base.Index;
        /**
         * The index of the final element in the column.
         */
        endIndex: Base.Index;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * Returns the index of the element with the lowest value.
         */
        argmin():any;
        /**
         * Returns the index of the element with the highest value.
         */
        argmax():any;
        /**
         * Generates a categorical summary of the filled column’s elements, including default values.
         */
        summary():any;
        /**
         * Generates a numeric summary of the integer column’s elements.
         */
        numericSummary():NumericSummary<Double>;
        /**
         * Returns the sum of the integer column’s elements.
         */
        sum():any;
        /**
         * Returns the element with the lowest value.
         */
        min():any;
        /**
         * Returns the element with the highest value.
         */
        max():any;
        /**
         * Returns the mean average of the integer column’s elements.
         */
        mean():number;
        /**
         * Returns the standard deviation of the integer column’s elements.
         */
        standardDeviation(deltaDegreesOfFreedom: number):number;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, sorted.
         */
        sorted():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the longest possible subsequences of the sequence, in order,
         *  
         * around elements equal to the given element.
         */
        split(separator: Self.Element, maxSplits: number, omittingEmptySubsequences: boolean):ArraySlice<Self.Element>[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are the same as the elements in another sequence.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix):PossiblePrefix.Element;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain the same elements in the same order.
         */
        elementsEqual<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the
         *  
         * less-than operator (
         * ) to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence):OtherSequence.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        formatted():string;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the first index where the specified value appears in the
         *  
         * collection.
         */
        firstIndex(element: Self.Element):Self.Index | null;
        index(i: Self.Index, distance: number):Self.Index;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the elements of this sequence of sequences, concatenated.
         */
        joined():FlattenSequence<Self>;
        /**
         * Returns the concatenated elements of this sequence of sequences,
         *  
         * inserting the given separator between each element.
         */
        joined<Separator>(separator: Separator):Self.Element.Element;
        /**
         * Returns the last index where the specified value appears in the
         *  
         * collection.
         */
        lastIndex(element: Self.Element):Self.Index | null;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection.
         */
        difference<C>(other: C):C.Element;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
    }
    export class DiscontiguousColumnSlice {
        /**
         * A prototype that creates type-erased columns with the same underlying type as the column slice.
         */
        prototype: AnyColumnPrototype;
        /**
         * The name of the slice’s parent column.
         */
        name: string;
        /**
         * The number of elements in the column slice.
         */
        count: number;
        /**
         * The underlying type of the column’s elements.
         */
        wrappedElementType: Any.Type;
        /**
         * A text representation of the column slice.
         */
        description: string;
        /**
         * A text representation of the column slice suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the column slice.
         */
        customMirror: Mirror;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        publisher: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The index of the initial element in the column slice.
         */
        startIndex: number;
        /**
         * The index of the final element in the column slice.
         */
        endIndex: number;
        /**
         * The number of missing elements in the column slice.
         */
        missingCount: number;
        /**
         * The indices that are valid for subscripting the collection, in ascending
         *  
         * order.
         */
        indices: DefaultIndices<Self>;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a slice with the contents of a column.
         */
        constructor (column: Column<WrappedElement>);
        /**
         * Creates a slice with the contents of a column.
         */
        constructor (column: Column<WrappedElement>, ranges: Range<Int>[]);
        /**
         * Generates a discontiguous slice that contains unique elements.
         */
        distinct():DiscontiguousColumnSlice<WrappedElement>;
        /**
         * Generates a type-erased copy of the column slice.
         */
        eraseToAnyColumn():AnyColumnSlice;
        /**
         * Creates a new column by applying a transformation to each element.
         */
        map<T>(transform: T | null):Column<T>;
        /**
         * Generates a filled column by replacing missing elements with a value.
         */
        filled(value: Self.WrappedElement):FilledColumn<Self>;
        /**
         * Returns the index of the element with the lowest value, ignoring missing elements.
         */
        argmin():number;
        /**
         * Returns the index of the element with the highest value, ignoring missing elements.
         */
        argmax():number;
        /**
         * Returns a Boolean that indicates whether the element at the index is missing.
         */
        isNil(index: number):boolean;
        /**
         * Generates a categorical summary of the column slice’s elements.
         */
        summary():CategoricalSummary<WrappedElement>;
        /**
         * Generates a numeric summary of the integer column slice’s elements.
         */
        numericSummary():NumericSummary<Double>;
        /**
         * Returns the sum of the column slice’s elements, ignoring missing elements.
         */
        sum():WrappedElement;
        /**
         * Returns the element with the lowest value, ignoring missing elements.
         */
        min():any;
        /**
         * Returns the element with the highest value, ignoring missing elements.
         */
        max():any;
        /**
         * Returns the mean average of the floating-point slice’s elements, ignoring missing elements.
         */
        mean():any;
        /**
         * Returns the standard deviation of the integer column slice’s elements, ignoring missing elements.
         */
        standardDeviation(deltaDegreesOfFreedom: number):number;
        /**
         * Hashes the essential components of the column slice by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Generates a slice that contains the elements that satisfy the predicate.
         */
        filter(isIncluded: Bool):DiscontiguousColumnSlice<WrappedElement>;
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        distance(start: Self.Index, end: Self.Index):number;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns the index immediately before an element index.
         */
        index(i: number):number;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Removes the initial elements that satisfy the given predicate from the
         *  
         * start of the sequence.
         */
        trimPrefix<Prefix>(prefix: Prefix):void;
        trimPrefix(predicate: Bool):void;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
    }
    export class AnyColumn {
        /**
         * The name of the column.
         */
        name: string;
        /**
         * The number of elements in the column.
         */
        count: number;
        /**
         * The underlying type of the column’s elements.
         */
        wrappedElementType: Any.Type;
        /**
         * A prototype that creates type-erased columns with the same underlying type as the column slice.
         */
        prototype: AnyColumnPrototype;
        /**
         * A text representation of the column.
         */
        description: string;
        /**
         * A text representation of the column suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the column.
         */
        customMirror: Mirror;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        publisher: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The index of the initial element in the column.
         */
        startIndex: number;
        /**
         * The index of the final element in the column.
         */
        endIndex: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The number of missing elements in the column.
         */
        missingCount: number;
        /**
         * Returns a Boolean that indicates whether the element at the index is missing.
         */
        isNil(index: number):boolean;
        /**
         * Returns the underlying typed column.
         */
        assumingType<T>(type: T.Type):Column<T>;
        /**
         * Appends an optional element to the column.
         */
        append(element: any):void;
        /**
         * Removes an element from the column.
         */
        remove(index: number):void;
        /**
         * Generates a column slice that contains unique elements.
         */
        distinct():AnyColumnSlice;
        /**
         * Encodes each element of the column.
         */
        encode<T, Encoder>(type: T.Type, encoder: Encoder):void;
        /**
         * Generates a column by encoding each element’s value.
         */
        encoded<T, Encoder>(type: T.Type, encoder: Encoder):TopLevelEncoder;
        /**
         * Decodes the data in each element of the column.
         */
        decode<T, Decoder>(type: T.Type, decoder: Decoder):void;
        /**
         * Decodes data for each element of the column.
         */
        decoded<T, Decoder>(type: T.Type, decoder: Decoder):TopLevelDecoder;
        /**
         * Hashes the essential components of the column by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns the index immediately before an element index.
         */
        index(i: number):number;
        /**
         * Sorts the collection in place, using the given predicate as the
         *  
         * comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Sorts the collection using the given comparator to compare elements.
         */
        sort<Comparator>(comparator: Comparator):void;
        /**
         * Sorts the collection using the given array of 
         * s to
         *  
         * compare elements.
         */
        sort<S, Comparator>(comparators: S):void;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
    }
    export class AnyColumnSlice {
        /**
         * The name of the slice’s parent column.
         */
        name: string;
        /**
         * The number of elements in the column slice.
         */
        count: number;
        /**
         * The underlying type of the column’s elements.
         */
        wrappedElementType: Any.Type;
        /**
         * A text representation of the column slice.
         */
        description: string;
        /**
         * A text representation of the column slice suitable for debugging.
         */
        debugDescription: string;
        /**
         * A mirror that reflects the column slice.
         */
        customMirror: Mirror;
        /**
         * A value less than or equal to the number of elements in the sequence,
         *  
         * calculated nondestructively.
         */
        underestimatedCount: number;
        publisher: any;
        /**
         * A sequence containing the same elements as this sequence,
         *  
         * but on which some operations, such as 
         *  and 
         * , are
         *  
         * implemented lazily.
         */
        lazy: LazySequence<Self>;
        /**
         * A Boolean value indicating whether the collection is empty.
         */
        isEmpty: boolean;
        /**
         * The last element of the collection.
         */
        last: Self.Element | null;
        /**
         * The index of the initial element in the column slice.
         */
        startIndex: number;
        /**
         * The index of the final element in the column slice.
         */
        endIndex: number;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The number of missing elements in the column slice.
         */
        missingCount: number;
        /**
         * Returns a Boolean that indicates whether the element at the index is missing.
         */
        isNil(index: number):boolean;
        /**
         * Returns a slice of the underlying typed column.
         */
        assumingType<T>(type: T.Type):DiscontiguousColumnSlice<T>;
        /**
         * Generates a column slice that contains unique elements.
         */
        distinct():AnyColumnSlice;
        /**
         * Generates a categorical summary of the column slice’s elements.
         */
        summary():AnyCategoricalSummary;
        /**
         * Hashes the essential components of the column slice by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Returns a Boolean value indicating whether the sequence contains an
         *  
         * element that satisfies the given predicate.
         */
        contains(predicate: Bool):boolean;
        /**
         * Returns a Boolean value indicating whether every element of a sequence
         *  
         * satisfies a given predicate.
         */
        allSatisfy(predicate: Bool):boolean;
        /**
         * Returns the minimum element in the sequence, using the given predicate as
         *  
         * the comparison between elements.
         */
        min(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the maximum element in the sequence, using the given predicate
         *  
         * as the comparison between elements.
         */
        max(areInIncreasingOrder: Bool):Self.Element | null;
        /**
         * Returns the first element of the sequence that satisfies the given
         *  
         * predicate.
         */
        first(predicate: Bool):Self.Element | null;
        /**
         * Returns a sequence of pairs (
         * , 
         * ), where 
         *  represents a
         *  
         * consecutive integer starting at zero and 
         *  represents an element of
         *  
         * the sequence.
         */
        enumerated():EnumeratedSequence<Self>;
        /**
         * Calls the given closure on each element in the sequence in the same order
         *  
         * as a 
         * -
         *  loop.
         */
        forEach(body: Void):void;
        /**
         * Returns a view presenting the elements of the collection in reverse
         *  
         * order.
         */
        reversed():ReversedCollection<Self>;
        /**
         * Returns the elements of the sequence, sorted using the given predicate as
         *  
         * the comparison between elements.
         */
        sorted(areInIncreasingOrder: Bool):Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled.
         */
        shuffled():Self.Element[];
        /**
         * Returns the elements of the sequence, shuffled using the given generator
         *  
         * as a source for randomness.
         */
        shuffled<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns an array containing, in order, the elements of the sequence
         *  
         * that satisfy the given predicate.
         */
        filter(isIncluded: Bool):Self.Element[];
        /**
         * Returns an array containing the non-
         *  results of calling the given
         *  
         * transformation with each element of this sequence.
         */
        compactMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns an array containing the concatenated results of calling the
         *  
         * given transformation with each element of this sequence.
         */
        flatMap<SegmentOfResult>(transform: SegmentOfResult):Sequence;
        flatMap<ElementOfResult>(transform: ElementOfResult | null):ElementOfResult[];
        /**
         * Returns the result of combining the elements of the sequence using the
         *  
         * given closure.
         */
        reduce<Result>(initialResult: Result, nextPartialResult: Result):Result;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * that don’t contain elements satisfying the given predicate.
         */
        split(maxSplits: number, omittingEmptySubsequences: boolean, isSeparator: Bool):Self.SubSequence[];
        /**
         * Returns a Boolean value indicating whether the initial elements of the
         *  
         * sequence are equivalent to the elements in another sequence, using
         *  
         * the given predicate as the equivalence test.
         */
        starts<PossiblePrefix>(possiblePrefix: PossiblePrefix, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether this sequence and another
         *  
         * sequence contain equivalent elements in the same order, using the given
         *  
         * predicate as the equivalence test.
         */
        elementsEqual<OtherSequence>(other: OtherSequence, areEquivalent: Bool):Sequence;
        /**
         * Returns a Boolean value indicating whether the sequence precedes another
         *  
         * sequence in a lexicographical (dictionary) ordering, using the given
         *  
         * predicate to compare elements.
         */
        lexicographicallyPrecedes<OtherSequence>(other: OtherSequence, areInIncreasingOrder: Bool):OtherSequence.Element;
        /**
         * Executes a closure on the sequence’s contiguous storage.
         */
        withContiguousStorageIfAvailable<R>(body: R):R | null;
        /**
         * Executes a closure on the collection’s contiguous storage.
         */
        withContiguousMutableStorageIfAvailable<R>(body: R):R | null;
        formatted<S>(style: S):FormatStyle;
        /**
         * Returns an iterator over the elements of the collection.
         */
        makeIterator():IndexingIterator<Self>;
        /**
         * Returns a random element of the collection.
         */
        randomElement():Self.Element | null;
        /**
         * Returns a random element of the collection, using the given generator as
         *  
         * a source for randomness.
         */
        randomElement<T>(generator: T):RandomNumberGenerator;
        /**
         * Returns the first index in which an element of the collection satisfies
         *  
         * the given predicate.
         */
        firstIndex(predicate: Bool):Self.Index | null;
        /**
         * Offsets the given index by the specified distance.
         */
        formIndex(i: Self.Index, distance: number):void;
        /**
         * Removes and returns the first element of the collection.
         */
        popFirst():Self.Element | null;
        /**
         * Removes and returns the last element of the collection.
         */
        popLast():Self.Element | null;
        /**
         * Removes and returns the first element of the collection.
         */
        removeFirst():Self.Element;
        /**
         * Removes and returns the last element of the collection.
         */
        removeLast():Self.Element;
        /**
         * Exchanges the values at the specified indices of the collection.
         */
        swapAt(i: Self.Index, j: Self.Index):void;
        /**
         * Reorders the elements of the collection such that all the elements
         *  
         * that match the given predicate are after all the elements that don’t
         *  
         * match.
         */
        partition(belongsInSecondPartition: Bool):Self.Index;
        /**
         * Returns an array containing the results of mapping the given closure
         *  
         * over the sequence’s elements.
         */
        map<T>(transform: T):T[];
        /**
         * Returns a subsequence by skipping elements while 
         *  returns
         *  
         *  and returning the remaining elements.
         */
        drop(predicate: Bool):Self.SubSequence;
        /**
         * Returns a subsequence containing all but the given number of initial
         *  
         * elements.
         */
        dropFirst(k: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the specified maximum length, containing
         *  
         * the initial elements of the collection.
         */
        prefix(maxLength: number):Self.SubSequence;
        /**
         * Returns a subsequence, up to the given maximum length, containing the
         *  
         * final elements of the collection.
         */
        suffix(maxLength: number):Self.SubSequence;
        /**
         * Returns the index of the last element in the collection that matches the
         *  
         * given predicate.
         */
        lastIndex(predicate: Bool):Self.Index | null;
        /**
         * Returns a subsequence containing all but the specified number of final
         *  
         * elements.
         */
        dropLast(k: number):Self.SubSequence;
        /**
         * Reverses the elements of the collection in place.
         */
        reverse():void;
        /**
         * Returns the difference needed to produce this collection’s ordered
         *  
         * elements from the given collection, using the given predicate as an
         *  
         * equivalence test.
         */
        difference<C>(other: C, areEquivalent: ()=>any):C.Element;
        /**
         * Returns the index immediately before an element index.
         */
        index(i: number):number;
        /**
         * Sorts the collection in place, using the given predicate as the
         *  
         * comparison between elements.
         */
        sort(areInIncreasingOrder: Bool):void;
        /**
         * Shuffles the collection in place.
         */
        shuffle():void;
        /**
         * Shuffles the collection in place, using the given generator as a source
         *  
         * for randomness.
         */
        shuffle<T>(generator: T):void;
        /**
         * Returns a Boolean value indicating whether the collection contains the
         *  
         * given sequence.
         */
        contains<C>(other: C):C.Element;
        /**
         * Finds and returns the range of the first occurrence of a given collection
         *  
         * within this collection.
         */
        firstRange<C>(other: C):C.Element;
        /**
         * Finds and returns the ranges of the all occurrences of a given sequence
         *  
         * within the collection.
         */
        ranges<C>(other: C):C.Element;
        /**
         * Returns the longest possible subsequences of the collection, in order,
         *  
         * around elements equal to the given separator.
         */
        split<C>(separator: C, maxSplits: number, omittingEmptySubsequences: boolean):C.Element;
        /**
         * Removes the initial elements that satisfy the given predicate from the
         *  
         * start of the sequence.
         */
        trimPrefix<Prefix>(prefix: Prefix):void;
        trimPrefix(predicate: Bool):void;
        /**
         * Returns a new collection of the same type by removing initial elements
         *  
         * that satisfy the given predicate from the start.
         */
        trimmingPrefix<Prefix>(prefix: Prefix):Prefix.Element;
        trimmingPrefix(predicate: Bool):Self.SubSequence;
        /**
         * Sorts the collection using the given comparator to compare elements.
         */
        sort<Comparator>(comparator: Comparator):void;
        /**
         * Sorts the collection using the given array of 
         * s to
         *  
         * compare elements.
         */
        sort<S, Comparator>(comparators: S):void;
        /**
         * If 
         *  is ordered before 
         *  in the ordering described by the given
         *  
         * sequence of 
         * s
         */
        compare<Comparator>(lhs: Comparator.Compared, rhs: Comparator.Compared):Self.Element;
        /**
         * Returns the elements of the sequence, sorted using the given comparator
         *  
         * to compare elements.
         */
        sorted<Comparator>(comparator: Comparator):Comparator.Compared;
        /**
         * Returns the elements of the sequence, sorted using the given array of
         *  
         * s to compare elements.
         */
        sorted<S, Comparator>(comparators: S):Comparator.Compared;
    }
    export class NumericSummary {
        /**
         * A text representation of the summary’s statistics suitable for debugging.
         */
        debugDescription: string;
        /**
         * The value that’s above 25% of the non-missing elements’ values.
         */
        firstQuartile: Element;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The largest value, excluding missing elements.
         */
        max: Element;
        /**
         * The arithmetic mean of a column’s values that excludes missing elements.
         */
        mean: Element;
        /**
         * The midpoint value that’s above half of the non-missing elements’ values and below the other half’s values.
         */
        median: Element;
        /**
         * The smallest value, excluding missing elements.
         */
        min: Element;
        /**
         * The number of missing elements in the column.
         */
        noneCount: number;
        /**
         * The number of non-missing elements in the column.
         */
        someCount: number;
        /**
         * The standard deviation of a column’s values that excludes missing elements.
         */
        standardDeviation: Element;
        /**
         * The value that’s above 75% of the non-missing elements’ values.
         */
        thirdQuartile: Element;
        /**
         * The total number of elements in the column.
         */
        totalCount: number;
        /**
         * Creates an empty numeric summary with default values.
         */
        constructor ();
        /**
         * Creates an empty numeric summary.
         */
        constructor (someCount: number, noneCount: number, mean: Element, standardDeviation: Element, min: Element, max: Element, median: Element, firstQuartile: Element, thirdQuartile: Element);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class CategoricalSummary {
        /**
         * A text representation of the summary’s statistics suitable for debugging.
         */
        debugDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The most common values in a column, ignoring missing elements.
         */
        mode: Element[];
        /**
         * The number of missing elements in the column.
         */
        noneCount: number;
        /**
         * The number of non-missing elements in the column.
         */
        someCount: number;
        /**
         * The total number of elements in the column.
         */
        totalCount: number;
        /**
         * The number of elements with distinct values in a column that excludes missing elements.
         */
        uniqueCount: number;
        /**
         * Creates a categorical summary with default values.
         */
        constructor ();
        /**
         * Creates a categorical summary.
         */
        constructor (someCount: number, noneCount: number, uniqueCount: number, mode: Element[]);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class AnyCategoricalSummary {
        /**
         * The most common values in a column.
         */
        mode: any[];
        /**
         * The underlying type of 
         * .
         */
        modeType: Any.Type;
        /**
         * The number of missing elements in the column.
         */
        noneCount: number;
        /**
         * The number of non-missing elements in the column.
         */
        someCount: number;
        /**
         * The total number of elements in the column.
         */
        totalCount: number;
        /**
         * The number of unique elements.
         */
        uniqueCount: number;
        /**
         * Creates a type-erased categorical summary from a typed categorical summary.
         */
        constructor (summary: CategoricalSummary<AnyHashable>);
    }
    export enum JSONReadingError {}
    export enum CSVReadingError {}
    export enum CSVWritingError {}
    export class ColumnDecodingError {
        /**
         * The name of the column with the error.
         */
        columnName: string;
        /**
         * A text representation of the column decoding error suitable for debugging.
         */
        debugDescription: string;
        /**
         * The underlying decoding error.
         */
        decodingError: DecodingError;
        /**
         * The index of the column’s element with the error.
         */
        rowIndex: number;
        /**
         * A localized text representation of the error.
         */
        localizedDescription: string;
        /**
         * A localized message that describes the error.
         */
        errorDescription: string;
        /**
         * A localized message that describes the reason for the failure.
         */
        failureReason: string;
        /**
         * A localized message that provides information if the user requests help.
         */
        helpAnchor: string;
        /**
         * A localized message that describes how to recover from the failure.
         */
        recoverySuggestion: string;
        /**
         * Creates a column decoding error.
         */
        constructor (columnName: string, rowIndex: number, decodingError: DecodingError);
    }
    export class ColumnEncodingError {
        /**
         * The name of the column with the error.
         */
        columnName: string;
        /**
         * A text representation of the column encoding error suitable for debugging.
         */
        debugDescription: string;
        /**
         * The underlying encoding error.
         */
        encodingError: EncodingError;
        /**
         * The index of the column’s element with the error.
         */
        rowIndex: number;
        /**
         * A localized text representation of the error.
         */
        localizedDescription: string;
        /**
         * A localized message that describes the error.
         */
        errorDescription: string;
        /**
         * A localized message that describes the reason for the failure.
         */
        failureReason: string;
        /**
         * A localized message that provides information if the user requests help.
         */
        helpAnchor: string;
        /**
         * A localized message that describes how to recover from the failure.
         */
        recoverySuggestion: string;
        /**
         * Creates a column encoding error.
         */
        constructor (columnName: string, rowIndex: number, encodingError: EncodingError);
    }
    export enum SFrameReadingError {}
    export enum Order {}
    export enum JSONType {}
    export class ColumnID {
        /**
         * The name of the column the identifier represents.
         */
        name: string;
        /**
         * A text representation of the column identifier.
         */
        description: string;
        /**
         * Creates a column identifier.
         */
        constructor (name: string, type: T.Type);
    }
    export class FormattingOptions {
        /**
         * The date format style.
         */
        dateFormatStyle: Date.FormatStyle;
        /**
         * The floating point format style.
         */
        floatingPointFormatStyle: FloatingPointFormatStyle<Double>;
        /**
         * A Boolean that indicates whether the description prints a column’s type.
         */
        includesColumnTypes: boolean;
        /**
         * The integer format style.
         */
        integerFormatStyle: IntegerFormatStyle<Int>;
        /**
         * The locale.
         */
        locale: Locale;
        /**
         * The largest number of characters a description can generate per cell.
         */
        maximumCellWidth: number;
        /**
         * The largest number of characters a description can generate per line.
         */
        maximumLineWidth: number;
        /**
         * The largest number of rows a description can generate.
         */
        maximumRowCount: number;
        /**
         * Creates a formatting options instance with default parameters.
         */
        constructor ();
        /**
         * Creates a formatting options instance with a locale.
         */
        constructor (locale: Locale);
        /**
         * Creates a formatting options instance.
         */
        constructor (maximumLineWidth: number, maximumCellWidth: number, maximumRowCount: number, includesColumnTypes: boolean);
    }
    export class JSONWritingOptions {
        /**
         * A closure that maps dates to their string representations.
         */
        dateFormatter: ()=>any;
        /**
         * A Boolean value that indicates whether to split lines and indent the generated JSON.
         */
        prettyPrint: boolean;
        /**
         * A Boolean value that indicates whether to sort the keys.
         */
        sortKeys: boolean;
        /**
         * Creates a set of options for writing a JSON file.
         */
        constructor ();
    }
    export class JSONReadingOptions {
        /**
         * An array of closures that parse a date from a string.
         */
        dateParsers: ()=>any;
        /**
         * Creates a set of options for reading a JSON file.
         */
        constructor ();
        /**
         * Adds a date parsing strategy.
         */
        addDateParseStrategy<T>(strategy: T):void;
    }
    export enum CSVType {}
    export class CSVReadingOptions {
        /**
         * An array of closures that parse a date from a string.
         */
        dateParsers: ()=>any;
        /**
         * The character that separates data fields in a CSV file, typically a comma.
         */
        delimiter: Character;
        /**
         * The character that precedes other characters, such as quotation marks,
         *  
         * so that the parser interprets them as literal characters instead of special ones.
         */
        escapeCharacter: Character;
        /**
         * The set of strings that stores acceptable spellings for false Boolean values.
         */
        falseEncodings: Set<String>;
        /**
         * The type to use for floating-point numeric values.
         */
        floatingPointType: CSVType;
        /**
         * A Boolean value that indicates whether the CSV file has a header row.
         */
        hasHeaderRow: boolean;
        /**
         * A Boolean value that indicates whether to ignore empty lines.
         */
        ignoresEmptyLines: boolean;
        /**
         * The set of strings that stores acceptable spellings for empty values.
         */
        nilEncodings: Set<String>;
        /**
         * The set of strings that stores acceptable spellings for true Boolean values.
         */
        trueEncodings: Set<String>;
        /**
         * A Boolean value that indicates whether to enable escaping.
         */
        usesEscaping: boolean;
        /**
         * A Boolean value that indicates whether to enable quoting.
         */
        usesQuoting: boolean;
        /**
         * Creates a set of options for reading a CSV file.
         */
        constructor (hasHeaderRow: boolean, nilEncodings: Set<String>, trueEncodings: Set<String>, falseEncodings: Set<String>, floatingPointType: CSVType, ignoresEmptyLines: boolean, usesQuoting: boolean, usesEscaping: boolean, delimiter: Character, escapeCharacter: Character);
        /**
         * Adds a date parsing strategy.
         */
        addDateParseStrategy<T>(strategy: T):void;
    }
    export class ShapedData {
        /**
         * A linear array that stores the elements of the multidimensional array.
         */
        contents: Element[];
        /**
         * An integer array that stores the size of each dimension in the corresponding element.
         */
        shape: number[];
        /**
         * An integer array that stores the number of memory locations
         *  
         * that span the length of each dimension in the corresponding element.
         */
        strides: number[];
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates a multidimensional shaped array from a one-dimensional array.
         */
        constructor (shape: number[], strides: number[], contents: Element[]);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
}

/**
 * Show relevant, glanceable content from your app as widgets in iOS and macOS, and as watch complications.
 */
declare module WidgetKit {
    export class IntentConfiguration {
        /**
         * The content and behavior of this widget.
         */
        body: WidgetConfiguration;
        /**
         * Creates a configuration for a widget by using a custom intent
         *  
         * definition to provide user-configurable options.
         */
        constructor (kind: string, intent: Intent.Type, provider: Provider, content: ()=>any);
        /**
         * Sets the localized name shown for a widget when a user adds or edits
         *  
         * the widget.
         */
        configurationDisplayName(displayNameKey: LocalizedStringKey):WidgetConfiguration;
        /**
         * Sets the name shown for a widget when a user adds or edits it using the
         *  
         * specified string.
         */
        configurationDisplayName<S>(displayName: S):StringProtocol;
        /**
         * Sets the localized description shown for a widget when a user adds or
         *  
         * edits the widget.
         */
        description(descriptionKey: LocalizedStringKey):WidgetConfiguration;
        /**
         * Sets the description shown for a widget when a user adds or edits it using the
         *  
         * specified string.
         */
        description<S>(description: S):StringProtocol;
        /**
         * Sets the sizes that a widget supports.
         */
        supportedFamilies(families: WidgetFamily[]):WidgetConfiguration;
        /**
         * Adds an action to perform when events related to a URL session identified by a
         *  
         * closure are waiting to be processed.
         */
        onBackgroundURLSessionEvents(matchingBlock: ()=>any | null, urlSessionEvent: ()=>any):WidgetConfiguration;
        /**
         * Runs the given action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
    }
    export class WidgetInfo {
        /**
         * The string specified during creation of the widget’s configuration.
         */
        kind: string;
        /**
         * The size of the widget: small, medium, or large.
         */
        family: WidgetFamily;
        /**
         * A SiriKit intent that contains user-edited values.
         */
        configuration: INIntent | null;
        /**
         * The stable identity of the widget.
         */
        id: WidgetInfo;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A textual representation of this instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class IntentRecommendation {
        /**
         * Creates a recommended configuration for a widget on platforms that
         *  
         * don’t offer a dedicated user interface to customize widgets with a localized description.
         */
        constructor (intent: T, description: LocalizedStringKey);
    }
    export class TimelineProviderContext {
        /**
         * A Boolean value that indicates when the widget appears in the widget gallery.
         */
        isPreview: boolean;
        /**
         * The user-configured family of the widget: small, medium, or large.
         */
        family: WidgetFamily;
        /**
         * The size, in points, of the widget.
         */
        displaySize: CGSize;
        /**
         * All environment values that might be set when a widget appears.
         */
        environmentVariants: TimelineProviderContext.EnvironmentVariants;
    }
    /**
     * the same name namespace of class TimelineProviderContext
     */
    export namespace TimelineProviderContext {
        export class EnvironmentVariants {}
    }
    export class Timeline {
        /**
         * An array of timeline entries.
         */
        entries: EntryType[];
        /**
         * The policy that determines the earliest date and time WidgetKit
         *  
         * requests a new timeline from a timeline provider.
         */
        policy: TimelineReloadPolicy;
        /**
         * Creates a timeline for when you want WidgetKit to update a widget’s
         *  
         * view.
         */
        constructor (entries: EntryType[], policy: TimelineReloadPolicy);
    }
    export class TimelineReloadPolicy {
        /**
         * A policy that specifies that WidgetKit requests a new timeline after
         *  
         * the last date in a timeline passes.
         */
        static atEnd: TimelineReloadPolicy;
        /**
         * A policy that specifies that the app prompts WidgetKit when a new
         *  
         * timeline is available.
         */
        static never: TimelineReloadPolicy;
        /**
         * A policy that specifies a future date for WidgetKit to request a new
         *  
         * timeline.
         */
        static after(date: Date):TimelineReloadPolicy;
    }
    export class WidgetCenter {
        /**
         * The shared widget center.
         */
        static shared: WidgetCenter;
        /**
         * Retrieves information about user-configured widgets.
         */
        getCurrentConfigurations(completion: ()=>any):void;
        /**
         * Reloads the timelines for all widgets of a particular kind.
         */
        reloadTimelines(kind: string):void;
        /**
         * Reloads the timelines for all configured widgets belonging to the
         *  
         * containing app.
         */
        reloadAllTimelines():void;
        /**
         * Invalidates and refreshes the preconfigured intent configurations for
         *  
         * user-customizable widgets.
         */
        invalidateConfigurationRecommendations():void;
    }
    /**
     * the same name namespace of class WidgetCenter
     */
    export namespace WidgetCenter {
        export class UserInfoKey {
            /**
             * A key you use to access the widget’s family.
             */
            static family: string;
            /**
             * A key you use to access the widget’s kind. The value matches the 
             *  
             * property specified in the widget’s configuration.
             */
            static kind: string;
        }
    }
    export class AccessoryWidgetBackground {
        /**
         * The content and behavior of the view.
         */
        body: View;
        /**
         * Creates an instance of an accessory widget background.
         */
        constructor ();
        /**
         * Sets the accent color for this view and the views it contains.
         */
        accentColor(accentColor: Color | null):View;
        /**
         * Specifies the point where activations occur in the view.
         */
        accessibility(activationPoint: CGPoint):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction(actionKind: AccessibilityActionKind, handler: ()=>any):any;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<Label>(action: ()=>any, label: ()=>any):View;
        /**
         * Adds an accessibility action to the view. Actions allow assistive technologies,
         *  
         * such as the VoiceOver, to interact with the view by invoking the action.
         */
        accessibilityAction<S>(name: S, handler: ()=>any):StringProtocol;
        /**
         * Adds multiple accessibility actions to the view.
         */
        accessibilityActions<Content>(content: ()=>any):View;
        /**
         * The activation point for an element is the location
         *  
         * assistive technologies use to initiate gestures.
         */
        accessibilityActivationPoint(activationPoint: CGPoint):any;
        /**
         * Adds the given traits to the view.
         */
        accessibilityAddTraits(traits: AccessibilityTraits):any;
        /**
         * Adds an accessibility adjustable action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityAdjustableAction(handler: ()=>any):any;
        /**
         * Adds a descriptor to a View that represents a chart to make
         *  
         * the chart’s contents accessible to all users.
         */
        accessibilityChartDescriptor<R>(representable: R):AXChartDescriptorRepresentable;
        /**
         * Replaces the existing accessibility element’s children with one or
         *  
         * more new synthetic accessibility elements.
         */
        accessibilityChildren<V>(children: ()=>any):View;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent(key: AccessibilityCustomContentKey, value: Text | null, importance: AXCustomContent.Importance):any;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<L, V>(label: L, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Add additional accessibility information to the view.
         */
        accessibilityCustomContent<V>(key: AccessibilityCustomContentKey, value: V, importance: AXCustomContent.Importance):StringProtocol;
        /**
         * Creates a new accessibility element, or modifies the
         *  
         *  of the existing accessibility element.
         */
        accessibilityElement(children: AccessibilityChildBehavior):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state
         *  
         * to the given boolean state value.
         */
        accessibilityFocused(condition: any):View;
        /**
         * Modifies this view by binding its accessibility element’s focus state to
         *  
         * the given state value.
         */
        accessibilityFocused<Value>(binding: any, value: Value):Hashable;
        /**
         * Sets the accessibility level of this heading.
         */
        accessibilityHeading(level: AccessibilityHeadingLevel):any;
        /**
         * Specifies whether to hide this view from system accessibility features.
         */
        accessibilityHidden(hidden: boolean):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint(hintKey: LocalizedStringKey):any;
        /**
         * Communicates to the user what happens after performing the view’s
         *  
         * action.
         */
        accessibilityHint<S>(hint: S):StringProtocol;
        /**
         * Uses the string you specify to identify the view.
         */
        accessibilityIdentifier(identifier: string):any;
        /**
         * Sets whether this view should ignore the system Smart Invert setting.
         */
        accessibilityIgnoresInvertColors(active: boolean):View;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels(inputLabels: Text[]):any;
        /**
         * Sets alternate input labels with which users identify a view.
         */
        accessibilityInputLabels<S>(inputLabels: S[]):StringProtocol;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel(label: Text):any;
        /**
         * Adds a label to the view that describes its contents.
         */
        accessibilityLabel<S>(label: S):StringProtocol;
        /**
         * Pairs an accessibility element representing a label with the element
         *  
         * for the matching content.
         */
        accessibilityLabeledPair<ID>(role: AccessibilityLabeledPairRole, id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Links multiple accessibility elements so that the user can quickly
         *  
         * navigate from one element to another, even when the elements are not near
         *  
         * each other in the accessibility hierarchy.
         */
        accessibilityLinkedGroup<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds a quick action to be shown by the system when active.
         */
        accessibilityQuickAction<Style, Content>(style: Style, content: ()=>any):View;
        /**
         * Removes the given traits from this view.
         */
        accessibilityRemoveTraits(traits: AccessibilityTraits):any;
        /**
         * Replaces one or more accessibility elements for this view with new
         *  
         * accessibility elements.
         */
        accessibilityRepresentation<V>(representation: ()=>any):View;
        /**
         * Explicitly set whether this Accessibility element responds to user
         *  
         * interaction and would thus be interacted with by technologies such as
         *  
         * Switch Control, Voice Control or Full Keyboard Access.
         */
        accessibilityRespondsToUserInteraction(respondsToUserInteraction: boolean):any;
        /**
         * Create an Accessibility Rotor with the specified user-visible label,
         *  
         * and entries generated from the content closure.
         */
        accessibilityRotor<L, Content>(label: L, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<Content>(systemRotor: AccessibilitySystemRotor, entries: ()=>any):AccessibilityRotorContent;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel, ID>(rotorLabel: L, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel, ID>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryID: any, entryLabel: any):Hashable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries.
         */
        accessibilityRotor<L, EntryModel>(rotorLabel: L, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor replacing the specified system-provided
         *  
         * Rotor.
         */
        accessibilityRotor<EntryModel>(systemRotor: AccessibilitySystemRotor, entries: EntryModel[], entryLabel: any):Identifiable;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor(labelKey: LocalizedStringKey, textRanges: Range<String.Index>[]):View;
        /**
         * Create an Accessibility Rotor with the specified user-visible label
         *  
         * and entries for each of the specified ranges. The Rotor will be attached
         *  
         * to the current Accessibility element, and each entry will go the
         *  
         * specified range of that element.
         */
        accessibilityRotor<L>(label: L, textRanges: Range<String.Index>[]):StringProtocol;
        /**
         * Defines an explicit identifier tying an Accessibility element for this
         *  
         * view to an entry in an Accessibility Rotor.
         */
        accessibilityRotorEntry<ID>(id: ID, _namespace: Namespace.ID):Hashable;
        /**
         * Adds an accessibility scroll action to the view. Actions allow
         *  
         * assistive technologies, such as the VoiceOver, to interact with the
         *  
         * view by invoking the action.
         */
        accessibilityScrollAction(handler: ()=>any):any;
        /**
         * Adds a default large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer():View;
        /**
         * Adds a custom large content view to be shown by
         *  
         * the large content viewer.
         */
        accessibilityShowsLargeContentViewer<V>(largeContentView: ()=>any):View;
        /**
         * Sets the sort priority order for this view’s accessibility element,
         *  
         * relative to other elements at the same level.
         */
        accessibilitySortPriority(sortPriority: number):any;
        /**
         * Sets an accessibility text content type.
         */
        accessibilityTextContentType(value: AccessibilityTextContentType):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue(valueKey: LocalizedStringKey):any;
        /**
         * Adds a textual description of the value that the view contains.
         */
        accessibilityValue<S>(value: S):StringProtocol;
        /**
         * Presents an action sheet when a given condition is true.
         */
        actionSheet(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an action sheet using the given item as a data source for the
         *  
         * sheet’s content.
         */
        actionSheet<T>(item: Binding<T?>, content: ()=>any):Identifiable;
        /**
         * Sets the tint color for the background of a Live Activity that appears on the Lock Screen.
         */
        activityBackgroundTint(color: Color | null):View;
        /**
         * The text color for the auxiliary action button that the system shows next to a Live Activity on the
         *  
         * Lock Screen.
         */
        activitySystemActionForegroundColor(color: Color | null):View;
        /**
         * Presents an alert when a given condition is true, using a localized
         *  
         * string key for the title.
         */
        alert<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert when a given condition is true, using a string
         *  
         * variable as a title.
         */
        alert<S, A>(title: S, isPresented: Binding<Bool>, actions: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true, using
         *  
         * a localized string key for a title.
         */
        alert<A, M>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message when a given condition is true using
         *  
         * a string variable as a title.
         */
        alert<S, A, M>(title: S, isPresented: Binding<Bool>, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a string variable as a title.
         */
        alert<S, A, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert using the given data to produce the alert’s content
         *  
         * and a text view as a title.
         */
        alert<A, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a string variable as a title.
         */
        alert<S, A, M, T>(title: S, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert with a message using the given data to produce the
         *  
         * alert’s content and a text view for a title.
         */
        alert<A, M, T>(title: Text, isPresented: Binding<Bool>, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert(isPresented: Binding<Bool>, content: ()=>any):View;
        /**
         * Presents an alert when an error is present.
         */
        alert<E, A>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any):View;
        /**
         * Presents an alert with a message when an error is present.
         */
        alert<E, A, M>(isPresented: Binding<Bool>, error: E | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents an alert to the user.
         */
        alert<Item>(item: Binding<Item?>, content: ()=>any):Identifiable;
        /**
         * Sets the view’s vertical alignment.
         */
        alignmentGuide(g: VerticalAlignment, computeValue: ()=>any):View;
        /**
         * Configures whether this view participates in hit test operations.
         */
        allowsHitTesting(enabled: boolean):View;
        /**
         * Sets whether text in this view can compress the space between characters
         *  
         * when necessary to fit text in a line.
         */
        allowsTightening(flag: boolean):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of a geometry value tied to the current coordinate
         *  
         * space, allowing readers of the value to convert the geometry to
         *  
         * their local coordinates.
         */
        anchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies the given animation to all animatable values within this view.
         */
        animation(animation: Animation | null):View;
        /**
         * Applies the given animation to this view when the specified value
         *  
         * changes.
         */
        animation<V>(animation: Animation | null, value: V):Equatable;
        /**
         * Constrains this view’s dimensions to the specified aspect ratio.
         */
        aspectRatio(aspectRatio: CGFloat | null, contentMode: ContentMode):View;
        /**
         * Sets whether to apply auto-capitalization to this view.
         */
        autocapitalization(style: UITextAutocapitalizationType):View;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        autocorrectionDisabled(disable: boolean):View;
        /**
         * Layers the given view behind this view.
         */
        background<Background>(background: Background, alignment: Alignment):View;
        /**
         * Sets the view’s background to a style.
         */
        background<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Sets the view’s background to an insettable shape filled with a style.
         */
        background<S, T>(style: S, shape: T, fillStyle: FillStyle):InsettableShape;
        /**
         * Layers the views that you specify behind this view.
         */
        background<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Sets the view’s background to the default background style.
         */
        background(edges: Edge.Set):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as the background of the
         *  
         * original view.
         */
        backgroundPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Sets the specified style to render backgrounds within the view.
         */
        backgroundStyle<S>(style: S):ShapeStyle;
        /**
         * Generates a badge for the view from a text view.
         */
        badge(label: Text | null):View;
        /**
         * Generates a badge for the view from a string.
         */
        badge<S>(label: S | null):StringProtocol;
        /**
         * Sets the vertical offset for the text relative to its baseline
         *  
         * in this view.
         */
        baselineOffset(baselineOffset: CGFloat):View;
        /**
         * Sets the blend mode for compositing this view with overlapping views.
         */
        blendMode(blendMode: BlendMode):View;
        /**
         * Applies a Gaussian blur to this view.
         */
        blur(radius: CGFloat, opaque: boolean):View;
        /**
         * Applies a bold font weight to the text in this view.
         */
        bold(isActive: boolean):View;
        /**
         * Adds a border to this view with the specified style and width.
         */
        border<S>(content: S, width: CGFloat):ShapeStyle;
        /**
         * Brightens this view by the specified amount.
         */
        brightness(amount: number):View;
        /**
         * Sets the border shape for buttons in this view.
         */
        buttonBorderShape(shape: ButtonBorderShape):View;
        /**
         * Sets the style for buttons within this view to a button style with a
         *  
         * custom appearance and standard interaction behavior.
         */
        buttonStyle<S>(style: S):ButtonStyle;
        /**
         * Sets a clipping shape for this view.
         */
        clipShape<S>(shape: S, style: FillStyle):Shape;
        /**
         * Clips this view to its bounding rectangular frame.
         */
        clipped(antialiased: boolean):View;
        /**
         * Inverts the colors in this view.
         */
        colorInvert():View;
        /**
         * Adds a color multiplication effect to this view.
         */
        colorMultiply(color: Color):View;
        /**
         * Sets this view’s color scheme.
         */
        colorScheme(colorScheme: ColorScheme):View;
        /**
         * Wraps this view in a compositing group.
         */
        compositingGroup():View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * localized string key for the title.
         */
        confirmationDialog<A>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog when a given condition is true, using a
         *  
         * string variable as a title.
         */
        confirmationDialog<S, A>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a string variable for the title.
         */
        confirmationDialog<S, A, M>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message when a given condition is
         *  
         * true, using a text view for the title.
         */
        confirmationDialog<A, M>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a text view for the title.
         */
        confirmationDialog<A, T>(title: Text, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog using data to produce the dialog’s
         *  
         * content and a string variable for the title.
         */
        confirmationDialog<S, A, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a localized string key for the title.
         */
        confirmationDialog<A, M, T>(titleKey: LocalizedStringKey, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Presents a confirmation dialog with a message using data to produce the
         *  
         * dialog’s content and a string variable for the title.
         */
        confirmationDialog<S, A, M, T>(title: S, isPresented: Binding<Bool>, titleVisibility: Visibility, data: T | null, actions: ()=>any, message: ()=>any):View;
        /**
         * Sets the container shape to use for any container relative shape
         *  
         * within this view.
         */
        containerShape<T>(shape: T):InsettableShape;
        /**
         * Sets the content shape for this view.
         */
        contentShape<S>(kind: ContentShapeKinds, shape: S, eoFill: boolean):Shape;
        /**
         * Modifies the view to use a given transition as its method of animating
         *  
         * changes to the contents of its views.
         */
        contentTransition(transition: ContentTransition):View;
        /**
         * Adds a context menu to the view.
         */
        contextMenu<MenuItems>(contextMenu: ContextMenu<MenuItems> | null):View;
        /**
         * Adds an item-based context menu to the view.
         */
        contextMenu<I, M>(itemType: I.Type, menu: ()=>any, primaryAction: ()=>any | null):View;
        /**
         * Adds a context menu with a preview to a view.
         */
        contextMenu<M, P>(menuItems: ()=>any, preview: ()=>any):View;
        /**
         * Sets the contrast and separation between similar colors in this view.
         */
        contrast(amount: number):View;
        /**
         * Sets the style for control groups within this view.
         */
        controlGroupStyle<S>(style: S):ControlGroupStyle;
        /**
         * Sets the size for controls within this view.
         */
        controlSize(controlSize: ControlSize):View;
        /**
         * Assigns a name to the view’s coordinate space, so other code can operate
         *  
         * on dimensions like points and sizes relative to the named space.
         */
        coordinateSpace<T>(name: T):Hashable;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        copyable<T>(payload: ()=>any):Transferable;
        /**
         * Clips this view to its bounding frame, with the specified corner radius.
         */
        cornerRadius(radius: CGFloat, antialiased: boolean):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        cuttable<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Sets the style for date pickers within this view.
         */
        datePickerStyle<S>(style: S):DatePickerStyle;
        /**
         * The default store used by 
         *  contained within the view.
         */
        defaultAppStorage(store: UserDefaults):View;
        /**
         * Defines a region of the window in which default focus is evaluated by
         *  
         * assigning a value to a given focus state binding.
         */
        defaultFocus<V>(binding: any, value: V, priority: DefaultFocusEvaluationPriority):Hashable;
        /**
         * Sets the default wheel-style picker item height.
         */
        defaultWheelPickerItemHeight(height: CGFloat):View;
        /**
         * Sets the screen edge from which you want your gesture to take
         *  
         * precedence over the system gesture.
         */
        defersSystemGestures(edges: Edge.Set):View;
        /**
         * Adds a condition for whether the view’s view hierarchy is deletable.
         */
        deleteDisabled(isDisabled: boolean):View;
        /**
         * Specifies the visibility of Digital Crown accessory Views on Apple Watch.
         */
        digitalCrownAccessory(visibility: Visibility):View;
        /**
         * Places an accessory View next to the Digital Crown on Apple Watch.
         */
        digitalCrownAccessory<Content>(content: ()=>any):View;
        /**
         * Tracks Digital Crown rotations by updating the specified binding.
         */
        digitalCrownRotation<V>(binding: Binding<V>):BinaryFloatingPoint;
        /**
         * Sets whether to disable autocorrection for this view.
         */
        disableAutocorrection(disable: boolean):View;
        /**
         * Adds a condition that controls whether users can interact with this
         *  
         * view.
         */
        disabled(disabled: boolean):View;
        /**
         * Sets the style for disclosure groups within this view.
         */
        disclosureGroupStyle<S>(style: S):DisclosureGroupStyle;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<T>(payload: ()=>any):Transferable;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        draggable<V, T>(payload: ()=>any, preview: ()=>any):Transferable;
        /**
         * Composites this view’s contents into an offscreen image before final
         *  
         * display.
         */
        drawingGroup(opaque: boolean, colorMode: ColorRenderingMode):View;
        /**
         * Defines the destination of a drag and drop operation that handles the
         *  
         * dropped content with a closure that you specify.
         */
        dropDestination<T>(payloadType: T.Type, action: ()=>any, isTargeted: ()=>any):Transferable;
        /**
         * Specifies the vertical placement for a view of an expanded Live Activity that appears in the Dynamic
         *  
         * Island.
         */
        dynamicIsland(verticalPlacement: DynamicIslandExpandedRegionVerticalPlacement):View;
        /**
         * Sets the Dynamic Type size within the view to the given value.
         */
        dynamicTypeSize(size: DynamicTypeSize):View;
        /**
         * Changes the view’s proposed area to extend outside the screen’s safe
         *  
         * areas.
         */
        edgesIgnoringSafeArea(edges: Edge.Set):View;
        /**
         * Sets the environment value of the specified key path to the given value.
         */
        environment<V>(keyPath: any, value: V):View;
        /**
         * Supplies an 
         *  to a view subhierarchy.
         */
        environmentObject<T>(object: T):ObservableObject;
        /**
         * Exports items for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportableToServices<T>(payload: ()=>any):Transferable;
        /**
         * Exports a read-only item provider for consumption by shortcuts,
         *  
         * quick actions, and services.
         */
        exportsItemProviders(contentTypes: UTType[], onExport: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to export an in-memory
         *  
         * document to a file on disk.
         */
        fileExporter<D>(isPresented: Binding<Bool>, document: D | null, contentType: UTType, defaultFilename: string, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to export a collection
         *  
         * of in-memory documents to files on disk.
         */
        fileExporter<C>(isPresented: Binding<Bool>, documents: C, contentType: UTType, onCompletion: ()=>any):ReferenceFileDocument;
        /**
         * Presents a system interface for allowing the user to import multiple
         *  
         * files.
         */
        fileImporter(isPresented: Binding<Bool>, allowedContentTypes: UTType[], allowsMultipleSelection: boolean, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move an existing
         *  
         * file to a new location.
         */
        fileMover(isPresented: Binding<Bool>, file: URL | null, onCompletion: ()=>any):View;
        /**
         * Presents a system interface for allowing the user to move a collection
         *  
         * of existing files to a new location.
         */
        fileMover<C>(isPresented: Binding<Bool>, files: C, onCompletion: ()=>any):URL;
        /**
         * Prevents find and replace operations in a text editor.
         */
        findDisabled(isDisabled: boolean):View;
        /**
         * Programmatically presents the find and replace interface for text
         *  
         * editor views.
         */
        findNavigator(isPresented: Binding<Bool>):View;
        /**
         * Fixes this view at its ideal size.
         */
        fixedSize():View;
        /**
         * Sets whether this view mirrors its contents horizontally when the layout
         *  
         * direction is right-to-left.
         */
        flipsForRightToLeftLayoutDirection(enabled: boolean):View;
        /**
         * Creates a focus scope that SwiftUI uses to limit default focus
         *  
         * preferences.
         */
        focusScope(_namespace: Namespace.ID):View;
        /**
         * Indicates that the view’s frame and cohort of focusable descendants
         *  
         * should be used to guide focus movement.
         */
        focusSection():View;
        /**
         * Specifies if the view is focusable.
         */
        focusable(isFocusable: boolean):View;
        /**
         * Modifies this view by binding its focus state to the given Boolean state
         *  
         * value.
         */
        focused(condition: any):View;
        /**
         * Modifies this view by binding its focus state to the given state value.
         */
        focused<Value>(binding: any, value: Value):Hashable;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedObject<T>(object: T | null):ObservableObject;
        /**
         * Creates a new view that exposes the provided object to other views whose
         *  
         * whose state depends on the active scene.
         */
        focusedSceneObject<T>(object: T):ObservableObject;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the active scene.
         */
        focusedSceneValue<T>(keyPath: any, value: T | null):View;
        /**
         * Creates a new view that exposes the provided value to other views whose
         *  
         * state depends on the focused view hierarchy.
         */
        focusedValue<Value>(keyPath: any, value: Value | null):View;
        /**
         * Sets the default font for text in this view.
         */
        font(font: Font | null):View;
        /**
         * Sets the font design of the text in this view.
         */
        fontDesign(design: Font.Design | null):View;
        /**
         * Sets the font weight of the text in this view.
         */
        fontWeight(weight: Font.Weight | null):View;
        /**
         * Sets the color of the foreground elements displayed by this view.
         */
        foregroundColor(color: Color | null):View;
        /**
         * Sets a view’s foreground elements to use a given style.
         */
        foregroundStyle<S>(style: S):ShapeStyle;
        /**
         * Sets the primary and secondary levels of the foreground
         *  
         * style in the child view.
         */
        foregroundStyle<S1, S2>(primary: S1, secondary: S2):ShapeStyle;
        /**
         * Sets the primary, secondary, and tertiary levels of
         *  
         * the foreground style.
         */
        foregroundStyle<S1, S2, S3>(primary: S1, secondary: S2, tertiary: S3):ShapeStyle;
        /**
         * Sets the style for forms in a view hierarchy.
         */
        formStyle<S>(style: S):FormStyle;
        /**
         * Positions this view within an invisible frame.
         */
        frame():View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible when binding to a Boolean value you provide is true.
         */
        fullScreenCover<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a modal view that covers as much of the screen as
         *  
         * possible using the binding you provide as a data source for the
         *  
         * sheet’s content.
         */
        fullScreenCover<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Sets the style for gauges within this view.
         */
        gaugeStyle<S>(style: S):GaugeStyle;
        /**
         * Attaches a gesture to the view with a lower precedence than gestures
         *  
         * defined by the view.
         */
        gesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Adds a grayscale effect to this view.
         */
        grayscale(amount: number):View;
        /**
         * Specifies a custom alignment anchor for a view that acts as a grid cell.
         */
        gridCellAnchor(anchor: UnitPoint):View;
        /**
         * Tells a view that acts as a cell in a grid to span the specified
         *  
         * number of rows.
         */
        gridCellColumns(count: number):View;
        /**
         * Asks grid layouts not to offer the view extra size in the specified
         *  
         * axes.
         */
        gridCellUnsizedAxes(axes: Axis.Set):View;
        /**
         * Overrides the default horizontal alignment of the grid column that
         *  
         * the view appears in.
         */
        gridColumnAlignment(guide: HorizontalAlignment):View;
        /**
         * Sets the style for group boxes within this view.
         */
        groupBoxStyle<S>(style: S):GroupBoxStyle;
        /**
         * Specifies a modifier indicating the Scene this View
         *  
         * is in can handle matching incoming External Events.
         */
        handlesExternalEvents(preferring: Set<String>, allowing: Set<String>):View;
        /**
         * Sets the header prominence for this view.
         */
        headerProminence(prominence: Prominence):View;
        /**
         * Adds help text to a view using a text view that you provide.
         */
        help(text: Text):View;
        /**
         * Adds help text to a view using a string that you provide.
         */
        help<S>(text: S):StringProtocol;
        /**
         * Hides this view unconditionally.
         */
        hidden():View;
        /**
         * Attaches a gesture to the view with a higher precedence than gestures
         *  
         * defined by the view.
         */
        highPriorityGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Sets the style for radio group style pickers within this view to be
         *  
         * horizontally positioned with the radio buttons inside the layout.
         */
        horizontalRadioGroupLayout():View;
        /**
         * Applies a pointer hover effect to the view.
         */
        hoverEffect(effect: HoverEffect):View;
        /**
         * Applies a hue rotation effect to this view.
         */
        hueRotation(angle: Angle):View;
        /**
         * Binds a view’s identity to the given proxy value.
         */
        id<ID>(id: ID):Hashable;
        /**
         * Expands the view out of its safe area.
         */
        ignoresSafeArea(regions: SafeAreaRegions, edges: Edge.Set):View;
        /**
         * Scales images within the view according to one of the relative sizes
         *  
         * available including small, medium, and large images sizes.
         */
        imageScale(scale: Image.Scale):View;
        /**
         * Enables importing items from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importableFromServices<T>(payloadType: T.Type, action: ()=>any):Transferable;
        /**
         * Enables importing item providers from services, such as Continuity Camera
         *  
         * on macOS.
         */
        importsItemProviders(contentTypes: UTType[], onImport: ()=>any):View;
        /**
         * Sets the style for the index view within the current environment.
         */
        indexViewStyle<S>(style: S):IndexViewStyle;
        /**
         * Sets a tag that you use for tracking interactivity.
         */
        interactionActivityTrackingTag(tag: string):View;
        /**
         * Conditionally prevents interactive dismissal of a popover or a sheet.
         */
        interactiveDismissDisabled(isDisabled: boolean):View;
        /**
         * Applies italics to the text in this view.
         */
        italic(isActive: boolean):View;
        /**
         * Provides a closure that vends the drag representation to be used for a
         *  
         * particular data element.
         */
        itemProvider(action: ()=>any):View;
        /**
         * Sets the spacing, or kerning, between characters for the text in this view.
         */
        kerning(kerning: CGFloat):View;
        /**
         * Assigns a keyboard shortcut to the modified control.
         */
        keyboardShortcut(shortcut: KeyboardShortcut):View;
        /**
         * Sets the keyboard type for this view.
         */
        keyboardType(type: UIKeyboardType):View;
        /**
         * Sets the style for labels within this view.
         */
        labelStyle<S>(style: S):LabelStyle;
        /**
         * Sets a style for labeled content.
         */
        labeledContentStyle<S>(style: S):LabeledContentStyle;
        /**
         * Hides the labels of any controls contained within this view.
         */
        labelsHidden():View;
        /**
         * Sets the priority by which a parent layout should apportion space to
         *  
         * this child.
         */
        layoutPriority(value: number):View;
        /**
         * Associates a value with a custom layout property.
         */
        layoutValue<K>(key: K.Type, value: K.Value):LayoutValueKey;
        /**
         * Sets to a partial range the number of lines that text can occupy in
         *  
         * this view.
         */
        lineLimit(limit: PartialRangeFrom<Int>):View;
        /**
         * Sets the amount of space between lines of text in this view.
         */
        lineSpacing(lineSpacing: CGFloat):View;
        /**
         * Sets the tint effect associated with specific content in a list.
         */
        listItemTint(tint: ListItemTint | null):View;
        /**
         * Places a custom background view behind a list row item.
         */
        listRowBackground<V>(view: V | null):View;
        /**
         * Applies an inset to the rows in a list.
         */
        listRowInsets(insets: EdgeInsets | null):View;
        /**
         * Sets the color that the system applies to the row background when this
         *  
         * view is placed in a list.
         */
        listRowPlatterColor(color: Color | null):View;
        /**
         * Sets the display mode for the separator associated with this specific row.
         */
        listRowSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a row.
         */
        listRowSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets whether to hide the separator associated with a list section.
         */
        listSectionSeparator(visibility: Visibility, edges: VerticalEdge.Set):View;
        /**
         * Sets the tint color associated with a section.
         */
        listSectionSeparatorTint(color: Color | null, edges: VerticalEdge.Set):View;
        /**
         * Sets the style for lists within this view.
         */
        listStyle<S>(style: S):ListStyle;
        /**
         * Adds a luminance to alpha effect to this view.
         */
        luminanceToAlpha():View;
        /**
         * Masks this view using the alpha channel of the given view.
         */
        mask<Mask>(mask: Mask):View;
        /**
         * Defines a group of views with synchronized geometry using an
         *  
         * identifier and namespace that you provide.
         */
        matchedGeometryEffect<ID>(id: ID, _namespace: Namespace.ID, properties: MatchedGeometryProperties, anchor: UnitPoint, isSource: boolean):Hashable;
        /**
         * Sets the style for menu buttons within this view.
         */
        menuButtonStyle<S>(style: S):MenuButtonStyle;
        /**
         * Sets the menu indicator visibility for controls within this view.
         */
        menuIndicator(visibility: Visibility):View;
        /**
         * Sets the preferred order of items for menus presented from this view.
         */
        menuOrder(order: MenuOrder):View;
        /**
         * Sets the style for menus within this view.
         */
        menuStyle<S>(style: S):MenuStyle;
        /**
         * Sets the minimum amount that text in this view scales down to fit in the
         *  
         * available space.
         */
        minimumScaleFactor(factor: CGFloat):View;
        /**
         * Applies a modifier to a view and returns a new view.
         */
        modifier<T>(modifier: T):any;
        /**
         * Modifies the fonts of all child views to use the fixed-width variant of
         *  
         * the current font, if possible.
         */
        monospaced(isActive: boolean):View;
        /**
         * Modifies the fonts of all child views to use fixed-width digits, if
         *  
         * possible, while leaving other characters proportionally spaced.
         */
        monospacedDigit():View;
        /**
         * Adds a condition for whether the view’s view hierarchy is movable.
         */
        moveDisabled(isDisabled: boolean):View;
        /**
         * Sets the alignment of multiline text in this view.
         */
        multilineTextAlignment(alignment: TextAlignment):View;
        /**
         * Hides the navigation bar back button for the view.
         */
        navigationBarBackButtonHidden(hidesBackButton: boolean):View;
        /**
         * Hides the navigation bar for this view.
         */
        navigationBarHidden(hidden: boolean):View;
        navigationBarItems<L>(leading: L):View;
        navigationBarItems<L, T>(leading: L, trailing: T):View;
        navigationBarItems<T>(trailing: T):View;
        /**
         * Sets the title of this view’s navigation bar with a localized string.
         */
        navigationBarTitle(titleKey: LocalizedStringKey):View;
        /**
         * Sets the title of this view’s navigation bar with a string.
         */
        navigationBarTitle<S>(title: S):StringProtocol;
        /**
         * Configures the title display mode for this view.
         */
        navigationBarTitleDisplayMode(displayMode: NavigationBarItem.TitleDisplayMode):View;
        /**
         * Associates a destination view with a presented data type for use within
         *  
         * a navigation stack.
         */
        navigationDestination<D, C>(data: D.Type, destination: ()=>any):View;
        /**
         * Associates a destination view with a binding that can be used to push
         *  
         * the view onto a 
         * .
         */
        navigationDestination<V>(isPresented: Binding<Bool>, destination: ()=>any):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument(url: URL):View;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I>(document: D, preview: any):Transferable;
        /**
         * Configures the view’s document for purposes of navigation.
         */
        navigationDocument<D, I1, I2>(document: D, preview: any):Transferable;
        /**
         * Sets a fixed, preferred width for the column containing this view.
         */
        navigationSplitViewColumnWidth(width: CGFloat):View;
        /**
         * Sets the style for navigation split views within this view.
         */
        navigationSplitViewStyle<S>(style: S):NavigationSplitViewStyle;
        /**
         * Configures the view’s subtitle for purposes of navigation.
         */
        navigationSubtitle(subtitle: Text):View;
        /**
         * Configures the view’s subtitle for purposes of navigation,
         *  
         * using a string.
         */
        navigationSubtitle<S>(subtitle: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation, using a string
         *  
         * binding.
         */
        navigationTitle(title: Binding<String>):View;
        /**
         * Configures the view’s title for purposes of navigation, using a string.
         */
        navigationTitle<S>(title: S):StringProtocol;
        /**
         * Configures the view’s title for purposes of navigation,
         *  
         * using a custom view.
         */
        navigationTitle<V>(title: ()=>any):View;
        /**
         * Sets the style for navigation views within this view.
         */
        navigationViewStyle<S>(style: S):NavigationViewStyle;
        /**
         * Offset this view by the horizontal and vertical amount specified in the
         *  
         * offset parameter.
         */
        offset(offset: CGSize):View;
        /**
         * Adds an action to perform before this view appears.
         */
        onAppear(action: ()=>any | null):View;
        /**
         * Adds a modifier for this view that fires an action when a specific
         *  
         * value changes.
         */
        onChange<V>(value: V, action: ()=>any):Equatable;
        /**
         * Adds an action to perform in response to the given selector.
         */
        onCommand(selector: Selector, action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives the specified
         *  
         * activity type for the scene or window the view is in.
         */
        onContinueUserActivity(activityType: string, action: ()=>any):View;
        /**
         * Adds an action to perform when the pointer enters, moves within, and
         *  
         * exits the view’s bounds.
         */
        onContinuousHover(coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Copy command.
         */
        onCopyCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Cut command.
         */
        onCutCommand(payloadAction: ()=>any | null):View;
        /**
         * Adds an action to perform in response to the system’s Delete command,
         *  
         * or pressing either the ⌫ (backspace) or ⌦ (forward delete) keys while the view has focus.
         */
        onDeleteCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform after this view disappears.
         */
        onDisappear(action: ()=>any | null):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag(data: ()=>any):View;
        /**
         * Activates this view as the source of a drag and drop operation.
         */
        onDrag<V>(data: ()=>any, preview: ()=>any):View;
        /**
         * Defines the destination of a drag and drop operation using behavior
         *  
         * controlled by the delegate that you provide.
         */
        onDrop(supportedContentTypes: UTType[], delegate: DropDelegate):View;
        /**
         * Sets up an action that triggers in response to receiving the exit
         *  
         * command while the view has focus.
         */
        onExitCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the user moves the pointer over or away
         *  
         * from the view’s frame.
         */
        onHover(action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a long press
         *  
         * gesture.
         */
        onLongPressGesture(minimumDuration: number, maximumDistance: CGFloat, action: ()=>any, onPressingChanged: ()=>any | null):View;
        /**
         * Adds an action to perform in response to a move command, like when the
         *  
         * user presses an arrow key on a Mac keyboard, or taps the edge of the
         *  
         * Siri Remote when controlling an Apple TV.
         */
        onMoveCommand(action: ()=>any | null):View;
        /**
         * Registers a handler to invoke when the view receives a url for the
         *  
         * scene or window the view is in.
         */
        onOpenURL(action: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command.
         */
        onPasteCommand(supportedContentTypes: UTType[], payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Paste command with
         *  
         * items that you validate.
         */
        onPasteCommand<Payload>(supportedContentTypes: UTType[], validator: ()=>any | null, payloadAction: ()=>any):View;
        /**
         * Adds an action to perform in response to the system’s Play/Pause
         *  
         * command.
         */
        onPlayPauseCommand(action: ()=>any | null):View;
        /**
         * Adds an action to perform when the specified preference key’s value
         *  
         * changes.
         */
        onPreferenceChange<K>(key: K.Type, action: ()=>any):Equatable;
        /**
         * Adds an action to perform when this view detects data emitted by the
         *  
         * given publisher.
         */
        onReceive<P>(publisher: P, action: ()=>any):Never;
        /**
         * Adds an action to perform when the user submits a value to this view.
         */
        onSubmit(triggers: SubmitTriggers, action: ()=>any):View;
        /**
         * Adds an action to perform when this view recognizes a tap gesture,
         *  
         * and provides the action with the location of the interaction.
         */
        onTapGesture(count: number, coordinateSpace: CoordinateSpace, action: ()=>any):View;
        /**
         * Sets the transparency of this view.
         */
        opacity(opacity: number):View;
        /**
         * Layers a secondary view in front of this view.
         */
        overlay<Overlay>(overlay: Overlay, alignment: Alignment):View;
        /**
         * Layers the specified style in front of this view.
         */
        overlay<S>(style: S, edges: Edge.Set):ShapeStyle;
        /**
         * Layers a shape that you specify in front of this view.
         */
        overlay<S, T>(style: S, shape: T, fillStyle: FillStyle):Shape;
        /**
         * Layers the views that you specify in front of this view.
         */
        overlay<V>(alignment: Alignment, content: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<Key, T>(key: Key.Type, transform: ()=>any):View;
        /**
         * Reads the specified preference value from the view, using it to
         *  
         * produce a second view that is applied as an overlay to the
         *  
         * original view.
         */
        overlayPreferenceValue<K, V>(key: K.Type, alignment: Alignment, transform: ()=>any):View;
        /**
         * Adds a specific padding amount to each edge of this view.
         */
        padding(length: CGFloat):View;
        /**
         * Steps a value through a range in response to page up or page down
         *  
         * commands.
         */
        pageCommand<V>(value: Binding<V>, bounds: ClosedRange<V>, step: V):BinaryInteger;
        /**
         * Adds an action to perform in response to the system’s
         *  
         * Paste command with items that you validate.
         */
        pasteDestination<T>(payloadType: T.Type, action: ()=>any, validator: ()=>any):Transferable;
        /**
         * Sets the preferred visibility of the non-transient system views
         *  
         * overlaying the app.
         */
        persistentSystemOverlays(visibility: Visibility):View;
        /**
         * Sets the style for pickers within this view.
         */
        pickerStyle<S>(style: S):PickerStyle;
        /**
         * Presents a popover when a given condition is true.
         */
        popover<Content>(isPresented: Binding<Bool>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Presents a popover using the given item as a data source for the
         *  
         * popover’s content.
         */
        popover<Item, Content>(item: Binding<Item?>, attachmentAnchor: PopoverAttachmentAnchor, arrowEdge: Edge, content: ()=>any):View;
        /**
         * Positions the center of this view at the specified point in its parent’s
         *  
         * coordinate space.
         */
        position(position: CGPoint):View;
        /**
         * Sets a value for the given preference.
         */
        preference<K>(key: K.Type, value: K.Value):PreferenceKey;
        /**
         * Sets the preferred color scheme for this presentation.
         */
        preferredColorScheme(colorScheme: ColorScheme | null):View;
        /**
         * Indicates that the view should receive focus by default for a given
         *  
         * namespace.
         */
        prefersDefaultFocus(prefersDefaultFocus: boolean, _namespace: Namespace.ID):View;
        /**
         * Sets the available detents for the enclosing sheet.
         */
        presentationDetents(detents: Set<PresentationDetent>):View;
        /**
         * Sets the visibility of the drag indicator on top of a sheet.
         */
        presentationDragIndicator(visibility: Visibility):View;
        /**
         * Sets the style for windows created by interacting with this view.
         */
        presentedWindowStyle<S>(style: S):WindowStyle;
        /**
         * Sets the style for the toolbar in windows created by
         *  
         * interacting with this view.
         */
        presentedWindowToolbarStyle<S>(style: S):WindowToolbarStyle;
        /**
         * Declares a context for the preview.
         */
        previewContext<C>(value: C):PreviewContext;
        /**
         * Overrides the device for a preview.
         */
        previewDevice(value: PreviewDevice | null):View;
        /**
         * Sets a user visible name to show in the canvas for a preview.
         */
        previewDisplayName(value: string):View;
        /**
         * Overrides the orientation of the preview.
         */
        previewInterfaceOrientation(value: InterfaceOrientation):View;
        /**
         * Overrides the size of the container for the preview.
         */
        previewLayout(value: PreviewLayout):View;
        /**
         * Marks the view as containing sensitive, private user data.
         */
        privacySensitive(sensitive: boolean):View;
        /**
         * Sets the style for progress views in this view.
         */
        progressViewStyle<S>(style: S):ProgressViewStyle;
        /**
         * Applies a projection transformation to this view’s rendered output.
         */
        projectionEffect(transform: ProjectionTransform):View;
        /**
         * Adds a reason to apply a redaction to this view hierarchy.
         */
        redacted(reason: RedactionReasons):View;
        /**
         * Marks this view as refreshable.
         */
        refreshable(action: Void):View;
        /**
         * Sets a closure to run for the rename action.
         */
        renameAction(action: ()=>any):View;
        /**
         * Prevents replace operations in a text editor.
         */
        replaceDisabled(isDisabled: boolean):View;
        /**
         * Rotates this view’s rendered output in three dimensions around the given
         *  
         * axis of rotation.
         */
        rotation3DEffect(angle: Angle, axis: any, anchor: UnitPoint, anchorZ: CGFloat, perspective: CGFloat):View;
        /**
         * Rotates this view’s rendered output around the specified point.
         */
        rotationEffect(angle: Angle, anchor: UnitPoint):View;
        /**
         * Shows the specified content beside the modified view.
         */
        safeAreaInset<V>(edge: HorizontalEdge, alignment: VerticalAlignment, spacing: CGFloat | null, content: ()=>any):View;
        /**
         * Adjusts the color saturation of this view.
         */
        saturation(amount: number):View;
        /**
         * Scales this view’s rendered output by the given vertical and horizontal
         *  
         * size amounts, relative to an anchor point.
         */
        scaleEffect(scale: CGSize, anchor: UnitPoint):View;
        /**
         * Scales this view to fill its parent.
         */
        scaledToFill():View;
        /**
         * Scales this view to fit its parent.
         */
        scaledToFit():View;
        /**
         * Adds padding to the specified edges of this view using an amount that’s
         *  
         * appropriate for the current scene.
         */
        scenePadding(edges: Edge.Set):View;
        /**
         * Specifies the visibility of the background for scrollable views within
         *  
         * this view.
         */
        scrollContentBackground(visibility: Visibility):View;
        /**
         * Disables or enables scrolling in scrollable views.
         */
        scrollDisabled(disabled: boolean):View;
        /**
         * Configures the behavior in which scrollable content interacts with
         *  
         * the software keyboard.
         */
        scrollDismissesKeyboard(mode: ScrollDismissesKeyboardMode):View;
        /**
         * Sets the visibility of scroll indicators within this view.
         */
        scrollIndicators(visibility: ScrollIndicatorVisibility, axes: Axis.Set):View;
        /**
         * Associates a fully formed string with the value of this view.
         */
        searchCompletion(completion: string):View;
        /**
         * Configures the search scopes for this view.
         */
        searchScopes<V, S>(scope: Binding<V>, scopes: ()=>any):View;
        /**
         * Configures the search suggestions for this view.
         */
        searchSuggestions<S>(suggestions: ()=>any):View;
        /**
         * Configures how to display search suggestions within this view.
         */
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable(text: Binding<String>, placement: SearchFieldPlacement, prompt: Text | null):View;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<V, S>(text: Binding<String>, placement: SearchFieldPlacement, prompt: S, suggestions: ()=>any):StringProtocol;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: Text | null, token: ()=>any):Identifiable;
        /**
         * Marks this view as searchable, which configures the display of a
         *  
         * search field.
         */
        searchable<C, T, S>(text: Binding<String>, tokens: Binding<C>, placement: SearchFieldPlacement, prompt: S, token: ()=>any):Identifiable;
        /**
         * Adds a shadow to this view.
         */
        shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat):View;
        /**
         * Presents a sheet when a binding to a Boolean value that you
         *  
         * provide is true.
         */
        sheet<Content>(isPresented: Binding<Bool>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Presents a sheet using the given item as a data source
         *  
         * for the sheet’s content.
         */
        sheet<Item, Content>(item: Binding<Item?>, onDismiss: ()=>any | null, content: ()=>any):View;
        /**
         * Attaches a gesture to the view to process simultaneously with gestures
         *  
         * defined by the view.
         */
        simultaneousGesture<T>(gesture: T, mask: GestureMask):Gesture;
        /**
         * Raises or lowers the pitch of spoken text.
         */
        speechAdjustedPitch(value: number):View;
        /**
         * Sets whether VoiceOver should always speak all punctuation in the text view.
         */
        speechAlwaysIncludesPunctuation(value: boolean):View;
        /**
         * Controls whether to queue pending announcements behind existing speech rather than
         *  
         * interrupting speech in progress.
         */
        speechAnnouncementsQueued(value: boolean):View;
        /**
         * Sets whether VoiceOver should speak the contents of the text view character by character.
         */
        speechSpellsOutCharacters(value: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBar(hidden: boolean):View;
        /**
         * Sets the visibility of the status bar.
         */
        statusBarHidden(hidden: boolean):View;
        /**
         * Applies a strikethrough to the text in this view.
         */
        strikethrough(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Sets the submit label for this view.
         */
        submitLabel(submitLabel: SubmitLabel):View;
        /**
         * Prevents submission triggers originating from this view to invoke
         *  
         * a submission action configured by a submission modifier higher up
         *  
         * in the view hierarchy.
         */
        submitScope(isBlocking: boolean):View;
        /**
         * Adds custom swipe actions to a row in a list.
         */
        swipeActions<T>(edge: HorizontalEdge, allowsFullSwipe: boolean, content: ()=>any):View;
        /**
         * Sets the rendering mode for symbol images within this view.
         */
        symbolRenderingMode(mode: SymbolRenderingMode | null):View;
        /**
         * Makes symbols within the view show a particular variant.
         */
        symbolVariant(variant: SymbolVariants):View;
        /**
         * Sets the tab bar item associated with this view.
         */
        tabItem<V>(label: ()=>any):View;
        /**
         * Sets the style for the tab view within the current environment.
         */
        tabViewStyle<S>(style: S):TabViewStyle;
        /**
         * Sets the style for tables within this view.
         */
        tableStyle<S>(style: S):TableStyle;
        /**
         * Sets the unique tag value of this view.
         */
        tag<V>(tag: V):Hashable;
        /**
         * Adds a task to perform before this view appears or when a specified
         *  
         * value changes.
         */
        task<T>(value: T, priority: TaskPriority, action: Void):Equatable;
        /**
         * Adds an asynchronous task to perform before this view appears.
         */
        task(priority: TaskPriority, action: Void):View;
        /**
         * Sets a transform for the case of the text contained in this view when
         *  
         * displayed.
         */
        textCase(textCase: Text.Case | null):View;
        /**
         * Sets the text content type for this view, which the system uses to
         *  
         * offer suggestions while the user enters text on macOS.
         */
        textContentType(textContentType: NSTextContentType | null):View;
        /**
         * Sets the style for text fields within this view.
         */
        textFieldStyle<S>(style: S):TextFieldStyle;
        /**
         * Sets how often the shift key in the keyboard is automatically enabled.
         */
        textInputAutocapitalization(autocapitalization: TextInputAutocapitalization | null):View;
        /**
         * Controls whether people can select text within this view.
         */
        textSelection<S>(selectability: S):TextSelectability;
        /**
         * Sets the tint color within this view.
         */
        tint(tint: Color | null):View;
        /**
         * Sets the style for toggles in a view hierarchy.
         */
        toggleStyle<S>(style: S):ToggleStyle;
        /**
         * Specifies the visibility of a bar managed by SwiftUI.
         */
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Populates the toolbar or navigation bar with the views you provide.
         */
        toolbar<Content>(content: ()=>any):View;
        /**
         * Specifies the preferred visibility of backgrounds on a bar managed by
         *  
         * SwiftUI.
         */
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        /**
         * Specifies the preferred color scheme of a bar managed by SwiftUI.
         */
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
        /**
         * Configures the semantic role for the content populating the toolbar.
         */
        toolbarRole(role: ToolbarRole):View;
        /**
         * Configure the title menu of a toolbar.
         */
        toolbarTitleMenu<C>(content: ()=>any):View;
        /**
         * Sets the Touch Bar content to be shown in the Touch Bar when applicable.
         */
        touchBar<Content>(touchBar: TouchBar<Content>):View;
        /**
         * Sets a user-visible string that identifies the view’s functionality.
         */
        touchBarCustomizationLabel(label: Text):View;
        /**
         * Sets the behavior of the user-customized view.
         */
        touchBarItemPresence(presence: TouchBarItemPresence):View;
        /**
         * Sets principal views that have special significance to this Touch Bar.
         */
        touchBarItemPrincipal(principal: boolean):View;
        /**
         * Sets the tracking for the text in this view.
         */
        tracking(tracking: CGFloat):View;
        /**
         * Applies the given transaction mutation function to all animations used
         *  
         * within the view.
         */
        transaction(transform: ()=>any):View;
        /**
         * Sets a value for the specified preference key, the value is a
         *  
         * function of the key’s current value and a geometry value tied
         *  
         * to the current coordinate space, allowing readers of the value
         *  
         * to convert the geometry to their local coordinates.
         */
        transformAnchorPreference<A, K>(_: K.Type, value: any, transform: ()=>any):PreferenceKey;
        /**
         * Applies an affine transformation to this view’s rendered output.
         */
        transformEffect(transform: CGAffineTransform):View;
        /**
         * Transforms the environment value of the specified key path with the
         *  
         * given function.
         */
        transformEnvironment<V>(keyPath: any, transform: ()=>any):View;
        /**
         * Applies a transformation to a preference value.
         */
        transformPreference<K>(key: K.Type, callback: ()=>any):PreferenceKey;
        /**
         * Associates a transition with the view.
         */
        transition(t: AnyTransition):View;
        /**
         * Sets the truncation mode for lines of text that are too long to fit in
         *  
         * the available space.
         */
        truncationMode(mode: Text.TruncationMode):View;
        /**
         * Applies an underline to the text in this view.
         */
        underline(isActive: boolean, pattern: Text.LineStyle.Pattern, color: Color | null):View;
        /**
         * Removes any reason to apply a redaction to this view hierarchy.
         */
        unredacted():View;
        /**
         * Advertises a user activity type.
         */
        userActivity<P>(activityType: string, element: P | null, update: ()=>any):View;
        /**
         * Advertises a user activity type.
         */
        userActivity(activityType: string, isActive: boolean, update: ()=>any):View;
        /**
         * Adds the view and all of its subviews to the accented group.
         */
        widgetAccentable(accentable: boolean):View;
        /**
         * Returns a localized text label that displays additional content outside
         *  
         * the accessory family widget’s main SwiftUI view.
         */
        widgetLabel(labelKey: LocalizedStringKey):View;
        /**
         * Creates a label for displaying additional content outside an accessory
         *  
         * family widget’s main SwiftUI view.
         */
        widgetLabel<Label>(label: ()=>any):View;
        /**
         * Sets the URL to open in the containing app when the user clicks the widget.
         */
        widgetURL(url: URL | null):View;
        /**
         * Controls the display order of overlapping views.
         */
        zIndex(value: number):View;
    }
    export class TimelineEntryRelevance {
        /**
         * The number of seconds, following an entry’s date, that WidgetKit considers
         *  
         * the widget for rotation to the top of the stack.
         */
        duration: TimeInterval;
        /**
         * A value that indicates the relevance of an entry compared to other
         *  
         * entries in the current and past timelines.
         */
        score: Float;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Creates an object that represents the importance of a widget and the
         *  
         * length of time for WidgetKit to consider it for rotation to the top of
         *  
         * the stack.
         */
        constructor (score: Float, duration: TimeInterval);
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
    }
    export class WidgetPreviewContext {
        /**
         * Creates a context for previewing a widget or a widget’s view.
         */
        constructor (family: WidgetFamily);
    }
    export class ActivityConfiguration {
        /**
         * The content and behavior of this widget.
         */
        body: WidgetConfiguration;
        /**
         * Creates a configuration object for a Live Activity.
         */
        constructor (attributesType: Attributes.Type, content: ()=>any, dynamicIsland: ()=>any);
        /**
         * Runs the given action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
        /**
         * Sets the localized name shown for a widget when a user adds or edits
         *  
         * the widget.
         */
        configurationDisplayName(displayNameKey: LocalizedStringKey):WidgetConfiguration;
        /**
         * Sets the name shown for a widget when a user adds or edits it using the
         *  
         * specified string.
         */
        configurationDisplayName<S>(displayName: S):StringProtocol;
        /**
         * Sets the description shown for a widget when a user adds or edits it using the
         *  
         * contents of a text view.
         */
        description(description: Text):WidgetConfiguration;
        /**
         * Sets the description shown for a widget when a user adds or edits it using the
         *  
         * specified string.
         */
        description<S>(description: S):StringProtocol;
        /**
         * Adds an action to perform when events related to a URL session identified by a
         *  
         * closure are waiting to be processed.
         */
        onBackgroundURLSessionEvents(matchingBlock: ()=>any | null, urlSessionEvent: ()=>any):WidgetConfiguration;
        /**
         * Sets the sizes that a widget supports.
         */
        supportedFamilies(families: WidgetFamily[]):WidgetConfiguration;
    }
    export class ActivityViewContext {
        /**
         * A set of attributes that describe a Live Activity and its content at the time of its creation.
         */
        attributes: Attributes;
        /**
         * The dynamic content of a Live Activity at the time of its creation.
         */
        state: Attributes.ContentState;
        /**
         * A unique identifier for the Live Activity.
         */
        activityID: string;
    }
    export class DynamicIsland {
        /**
         * Creates a configuration object with views that appear in various positions of the Dynamic Island.
         */
        constructor (expanded: ()=>any, compactLeading: ()=>any, compactTrailing: ()=>any, minimal: ()=>any);
        /**
         * Sets the URL that opens the corresponding app of a Live Activity when a user taps on the Live Activity.
         */
        widgetURL(url: URL | null):DynamicIsland;
        /**
         * Sets the keyline tint color of a Live Activity that appears in the Dynamic Island.
         */
        keylineTint(color: Color | null):DynamicIsland;
    }
    export class DynamicIslandExpandedRegion {
        /**
         * A result builder that constructs the content of an expanded Live Activity in the Dynamic Island.
         */
        body: Never;
        /**
         * Creates the object that defines and positions the content of an expanded Live Activity in the
         *  
         * Dynamic Island.
         */
        constructor (position: DynamicIslandExpandedRegionPosition, priority: number, content: ()=>any);
    }
    export class DynamicIslandExpandedRegionPosition {
        /**
         * The center position in the Dynamic Island for views of an expanded Live Activity.
         */
        static center: DynamicIslandExpandedRegionPosition;
        /**
         * The leading position in the Dynamic Island for views of an expanded Live Activity.
         */
        static leading: DynamicIslandExpandedRegionPosition;
        /**
         * The trailing position in the Dynamic Island for views of an expanded Live Activity.
         */
        static trailing: DynamicIslandExpandedRegionPosition;
        /**
         * The bottom position in the Dynamic Island for views of an expanded Live Activity.
         */
        static bottom: DynamicIslandExpandedRegionPosition;
    }
    export class DynamicIslandExpandedRegionVerticalPlacement {
        /**
         * The system’s default vertical placement.
         */
        static default: DynamicIslandExpandedRegionVerticalPlacement;
        /**
         * Push content below its default position if it’s too wide to fit next to the TrueDepth camera.
         */
        static belowIfTooWide: DynamicIslandExpandedRegionVerticalPlacement;
    }
    export class DynamicIslandExpandedContentBuilder {
        static buildPartialBlock<C>(first: C):DynamicIslandExpandedContent;
        static buildPartialBlock<C0, C1>(accumulated: C0, next: C1):DynamicIslandExpandedContent;
    }
    export class StaticConfiguration {
        /**
         * The content and behavior of this widget.
         */
        body: WidgetConfiguration;
        /**
         * Creates a configuration for a widget, with no user-configurable
         *  
         * options.
         */
        constructor (kind: string, provider: Provider, content: ()=>any);
        /**
         * Sets the localized name shown for a widget when a user adds or edits
         *  
         * the widget.
         */
        configurationDisplayName(displayNameKey: LocalizedStringKey):WidgetConfiguration;
        /**
         * Sets the name shown for a widget when a user adds or edits it using the
         *  
         * specified string.
         */
        configurationDisplayName<S>(displayName: S):StringProtocol;
        /**
         * Sets the localized description shown for a widget when a user adds or
         *  
         * edits the widget.
         */
        description(descriptionKey: LocalizedStringKey):WidgetConfiguration;
        /**
         * Sets the description shown for a widget when a user adds or edits it using the
         *  
         * specified string.
         */
        description<S>(description: S):StringProtocol;
        /**
         * Sets the sizes that a widget supports.
         */
        supportedFamilies(families: WidgetFamily[]):WidgetConfiguration;
        /**
         * Adds an action to perform when events related to a URL session identified by a
         *  
         * closure are waiting to be processed.
         */
        onBackgroundURLSessionEvents(matchingBlock: ()=>any | null, urlSessionEvent: ()=>any):WidgetConfiguration;
        /**
         * Runs the given action when the system provides a background task.
         */
        backgroundTask<D, R>(task: any, action: R):Sendable;
    }
    export enum WidgetFamily {}
    export class WidgetRenderingMode {
        /**
         * The system renders the widget in full color.
         */
        static fullColor: WidgetRenderingMode;
        /**
         * The system divides the widget’s view hierarchy into an accent group and
         *  
         * a default group, applying a different color to each group.
         */
        static accented: WidgetRenderingMode;
        /**
         * The system desaturates the widget, making a monochrome version that it
         *  
         * uses to create an adaptive, vibrant effect.
         */
        static vibrant: WidgetRenderingMode;
        /**
         * A textual representation of this instance.
         */
        description: string;
    }
}

/**
 * Enable web views and services in your app.
 */
declare module SafariServices {
    export class SFContentBlockerManager extends NSObject {
        /**
         * Determines the state of your content blocker.
         */
        static getStateOfContentBlocker(identifier: string, completionHandler: ()=>any):void;
        /**
         * Tells Safari to reload the specified extension’s content-blocking rules.
         */
        static reloadContentBlocker(identifier: string, completionHandler: ()=>any | null):void;
    }
    export class SFContentBlockerState extends NSObject {
        /**
         * A Boolean value that indicates whether the content blocker is enabled.
         */
        isEnabled: boolean;
    }
    export class SFSafariExtensionHandler extends NSObject {}
    export class SFSafariExtensionManager extends NSObject {
        /**
         * Gets the current state of the Safari app extension.
         */
        static getStateOfSafariExtension(identifier: string, completionHandler: ()=>any):void;
    }
    export class SFSafariExtensionState extends NSObject {
        /**
         * A Boolean value that indicates whether the user has enabled the app extension.
         */
        isEnabled: boolean;
    }
    export class SFSafariPageProperties extends NSObject {
        /**
         * A Boolean value that indicates whether the page is currently active.
         */
        isActive: boolean;
        /**
         * The title of the page.
         */
        title: string;
        /**
         * Indicates the URL of the page.
         */
        url: URL | null;
        /**
         * A Boolean value that indicates whether the page is using Safari Private Browsing.
         */
        usesPrivateBrowsing: boolean;
    }
    export interface SFSafariExtensionHandling extends NSObjectProtocol {
        /**
         * A method the system calls when the extension receives a message from an injected script.
         */
        messageReceived(messageName: string, page: SFSafariPage, userInfo: Record<string, any> | null):void;
        /**
         * A method the system calls when the extension receives a message from the extension’s containing app.
         */
        messageReceivedFromContainingApp(messageName: string, userInfo: Record<string, any> | null):void;
        /**
         * A method the system calls when a user selects one of the app extension’s context menu items.
         */
        contextMenuItemSelected(command: string, page: SFSafariPage, userInfo: Record<string, any> | null):void;
        /**
         * Validates whether a particular contextual menu item should be displayed.
         */
        validateContextMenuItem(command: string, page: SFSafariPage, userInfo: Record<string, any> | null, validationHandler: ()=>any):void;
        /**
         * A method the system calls when a user clicks a toolbar item associated with the app extension. 
         */
        toolbarItemClicked(window: SFSafariWindow):void;
        /**
         * Determines if a toolbar menu item should be enabled or have badge text when browser state changes.
         */
        validateToolbarItem(window: SFSafariWindow, validationHandler: ()=>any):void;
        /**
         * Asks the handler to provide a popover view controller for display.
         */
        popoverViewController():SFSafariExtensionViewController;
        /**
         * Tells the handler that the app extension's popover is about to be opened.
         */
        popoverWillShow(window: SFSafariWindow):void;
        /**
         * Tells the handler that the app extension's popover was closed.
         */
        popoverDidClose(window: SFSafariWindow):void;
        /**
         * Tells the handler which resources a content blocker blocked on a webpage.
         */
        contentBlocker(contentBlockerIdentifier: string, urls: URL[], page: SFSafariPage):void;
        /**
         * A method the system calls when a webpage is about to navigate to a new URL.
         */
        page(page: SFSafariPage, url: URL | null):void;
        additionalRequestHeaders(url: URL, completionHandler: ()=>any):void;
    }
    export class SFSafariToolbarItem extends NSObject {
        /**
         * Sets the enabled state and the badge text for the toolbar item.
         */
        setEnabled(enabled: boolean, badgeText: string):void;
        /**
         * Sets the badge text for the toolbar item.
         */
        setBadgeText(badgeText: string):void;
        /**
         * Sets the image displayed in the toolbar button.
         */
        setImage(image: NSImage | null):void;
        setLabel(label: string):void;
        showPopover():void;
    }
    export class SFSafariExtensionViewController extends NSViewController {
        dismissPopover():void;
    }
    export class SFSafariExtension extends NSObject {
        static getBaseURI(completionHandler: ()=>any):void;
    }
    export class SFSafariApplication extends NSObject {
        /**
         * Sends a message to a Safari app extension, launching Safari if necessary.
         */
        static dispatchMessage(messageName: string, identifier: string, userInfo: Record<string, any> | null, completionHandler: ()=>any | null):void;
        /**
         * Calls the completion handler with the active browser window.
         */
        static getActiveWindow(completionHandler: ()=>any):void;
        /**
         * Opens a new window with the desired webpage.
         */
        static openWindow(url: URL, completionHandler: ()=>any | null):void;
        /**
         * Launches Safari and opens the preferences panel for a Safari app extension. 
         */
        static showPreferencesForExtension(identifier: string, completionHandler: ()=>any | null):void;
        /**
         * Updates the enabled states and badges of toolbar items.
         */
        static setToolbarItemsNeedUpdate():void;
        static getAllWindows(completionHandler: ()=>any):void;
        static getHostApplication(completionHandler: ()=>any):void;
    }
    export class SFSafariWindow extends NSObject {
        /**
         * Calls the completion handler with the active tab in the target window.
         */
        getActiveTab(completionHandler: ()=>any):void;
        /**
         * Opens a tab at the end of the tab bar.
         */
        openTab(url: URL, activateTab: boolean, completionHandler: ()=>any | null):void;
        /**
         * Gets the extension’s toolbar item from the target window.
         */
        getToolbarItem(completionHandler: ()=>any):void;
        close():void;
        getAllTabs(completionHandler: ()=>any):void;
    }
    export class SFSafariPage extends NSObject {
        /**
         * Dispatches a message from the app extension to the content script injected in this page.
         */
        dispatchMessageToScript(messageName: string, userInfo: Record<string, any> | null):void;
        /**
         * Retrieves the properties of the webpage.
         */
        getPropertiesWithCompletionHandler(completionHandler: ()=>any):void;
        /**
         * Tells Safari to reload the webpage.
         */
        reload():void;
        getContainingTab(completionHandler: ()=>any):void;
        getScreenshotOfVisibleArea(completionHandler: ()=>any):void;
    }
    export class SFSafariTab extends NSObject {
        /**
         * Calls the completion handler passing the active page in the tab.
         */
        getActivePage(completionHandler: ()=>any):void;
        /**
         * Calls the completion handler with all of the tab’s active and preloading pages.
         */
        getPagesWithCompletionHandler(completionHandler: ()=>any):void;
        /**
         * Activates the tab.
         */
        activate(completionHandler: ()=>any | null):void;
        close():void;
        getContainingWindow(completionHandler: ()=>any):void;
        navigate(url: URL):void;
    }
    export class SFSafariViewController extends UIViewController {
        /**
         * An object that provides behavior for the Safari view controller's Done and Action buttons.
         */
        delegate: SFSafariViewControllerDelegate | null;
        /**
         * A copy of the Safari view controller’s initialized configuration.
         */
        configuration: SFSafariViewController.Configuration;
        dismissButtonStyle: SFSafariViewController.DismissButtonStyle;
        /**
         * The color to tint the background of the navigation bar and the toolbar.
         */
        preferredBarTintColor: UIColor | null;
        /**
         * The color to tint the control buttons on the navigation bar and the toolbar.
         */
        preferredControlTintColor: UIColor | null;
        /**
         * Initializes and configures a Safari view controller that loads the specified URL.
         */
        constructor (URL: URL, configuration: SFSafariViewController.Configuration);
        /**
         * Initializes a Safari view controller that loads the specified URL.
         */
        constructor (URL: URL);
        /**
         * Initializes a Safari view controller that will load the specified URL, entering Reader mode if Reader mode is requested and available.
         */
        constructor (URL: URL, entersReaderIfAvailable: boolean);
        static prewarmConnections(URLs: URL[]):SFSafariViewController.PrewarmingToken;
    }
    /**
     * the same name namespace of class SFSafariViewController
     */
    export namespace SFSafariViewController {
        export class Configuration extends NSObject {
            /**
             * A value that specifies whether Safari should enter Reader mode, if it is available.
             */
            entersReaderIfAvailable: boolean;
            barCollapsingEnabled: boolean;
            /**
             * An object you use to send tap event attribution data to the browser for Private Click Measurement.
             */
            eventAttribution: UIEventAttribution | null;
            activityButton: SFSafariViewController.ActivityButton | null;
        }
        export enum DismissButtonStyle {
            done = 0,
            close = 1,
            cancel = 2,
        }
        export class ActivityButton extends NSObject {
            extensionIdentifier: string;
            templateImage: UIImage | null;
            constructor (templateImage: UIImage, extensionIdentifier: string);
        }
        export class DataStore extends NSObject {
            static default: SFSafariViewController.DataStore;
            clearWebsiteData(completion: ()=>any | null):void;
        }
        export class PrewarmingToken extends NSObject {
            invalidate():void;
        }
    }
    export interface SFSafariViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the initial URL load completed.
         */
        safariViewController(controller: SFSafariViewController, didLoadSuccessfully: boolean):void;
        /**
         * Tells the delegate that the user dismissed the view.
         */
        safariViewControllerDidFinish(controller: SFSafariViewController):void;
        safariViewControllerWillOpenInBrowser(controller: SFSafariViewController):void;
    }
    export class SFUniversalLink extends NSObject {
        /**
         * The URL to the app that can open this universal link.
         */
        applicationURL: URL;
        /**
         * A flag that indicates whether the universal link is enabled.
         */
        isEnabled: boolean;
        /**
         * The URL specified when initializing the receiver.
         */
        webpageURL: URL;
        /**
         * Creates a universal link object with the URL.
         */
        constructor (url: URL);
    }
    export enum SFSafariServicesVersion {
        version10_0 = 0,
        version10_1 = 1,
        version11_0 = 2,
        version12_0 = 3,
        version12_1 = 4,
        version13_0 = 5,
    }
    export class SSReadingList extends NSObject {
        /**
         * Returns the Safari Reading List singleton object.
         */
        static default():SSReadingList | null;
        /**
         * Determines whether a URL can be added to the Reading List.
         */
        static supportsURL(URL: URL):boolean;
        /**
         * Adds an item to the Reading List.
         */
        addItem(URL: URL, title: string, previewText: string):void;
    }
    export enum SSReadingListErrorCode {
        urlSchemeNotAllowed = 1,
    }
    export class SSReadingListError {
        static errorDomain: string;
        static urlSchemeNotAllowed: SSReadingListError.Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    export class SFError {
        static loadingInterrupted: SFError.Code;
        static noAttachmentFound: SFError.Code;
        static noExtensionFound: SFError.Code;
        static errorDomain: string;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    export enum SFErrorCode {
        loadingInterrupted = 3,
        noAttachmentFound = 2,
        noExtensionFound = 1,
    }
    export enum SFContentBlockerErrorCode {
        noExtensionFound = 1,
        noAttachmentFound = 2,
        loadingInterrupted = 3,
    }
    export class SFAuthenticationSession extends NSObject {
        /**
         * Initializes the SFAuthenticationSession in an application.
         */
        constructor (URL: URL, callbackURLScheme: string, completionHandler: SFAuthenticationSession.CompletionHandler);
        /**
         * Cancels the currently running session when the consent dialog is up or when the webpage is up. This is how applications stop the login process.
         */
        cancel():void;
        /**
         * Starts the session after initializing an instance of SFAuthenticationSession. This will trigger the consent dialog. 
         */
        start():boolean;
    }
    export class SFAuthenticationError {
        static canceledLogin: SFAuthenticationError.Code;
        static errorDomain: string;
        code: Code;
        errorCode: number;
        errorUserInfo: Record<string, any>;
        hashValue: number;
        localizedDescription: string;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class SFAuthenticationError
     */
    export namespace SFAuthenticationError {
        export enum SFAuthenticationError {}
    }
}

/**
 * Share and manage web-usage data, and observe changes made by a parent or guardian.
 */
declare module ScreenTime {
    export class STWebpageController extends NSViewController,UIViewController {
        /**
         * A Boolean that indicates whether the webpage controller is not recording web usage.
         */
        suppressUsageRecording: boolean;
        /**
         * The URL for the webpage.
         */
        url: URL | null;
        /**
         * A Boolean that indicates whether a parent or guardian has blocked the URL.
         */
        urlIsBlocked: boolean;
        /**
         * A Boolean that indicates whether the webpage is currently displaying a floating picture in picture window.
         */
        urlIsPictureInPicture: boolean;
        /**
         * A Boolean that indicates whether there are one or more videos currently playing in the webpage.
         */
        urlIsPlayingVideo: boolean;
        setBundleIdentifier(bundleIdentifier: string):void;
    }
    export class STScreenTimeConfigurationObserver extends NSObject {
        /**
         * The configuration being observed.
         */
        configuration: STScreenTimeConfiguration | null;
        /**
         * Starts observing changes to the current configuration.
         */
        startObserving():void;
        /**
         * Stops observing changes to the current configuration.
         */
        stopObserving():void;
    }
    export class STScreenTimeConfiguration extends NSObject {
        /**
         * A Boolean that indicates whether the device is currently enforcing child restrictions.
         */
        enforcesChildRestrictions: boolean;
    }
    export class STWebHistory extends NSObject {
        /**
         * Creates a web history instance to delete web-usage data associated to the bundle identifier you specify.
         */
        constructor (bundleIdentifier: string);
        /**
         * Deletes all web history associated with the bundle identifier you specified during initialization.
         */
        deleteAllHistory():void;
        /**
         * Deletes web history that occurred during the date interval you specify.
         */
        deleteHistory(interval: DateInterval):void;
    }
}

/**
 * Retrieve data and derived metrics from an iPhone’s sensors, or from a paired Apple Watch.
 */
declare module SensorKit {
    export class SRSensorReader extends NSObject {
        /**
         * The status of the user’s agreement to let the app access this reader’s sensor.
         */
        authorizationStatus: SRAuthorizationStatus;
        /**
         * The particular sensor that this object reads.
         */
        sensor: SRSensor;
        /**
         * An object that responds to sensor-related events.
         */
        delegate: SRSensorReaderDelegate | null;
        /**
         * Initializes a new sensor reader object.
         */
        constructor (sensor: SRSensor);
        /**
         * Requests user permission to read one or more sensors.
         */
        static requestAuthorization(sensors: Set<SRSensor>, completion: ()=>any):void;
        /**
         * Starts recording sensor data.
         */
        startRecording():void;
        /**
         * Stops recording sensor data.
         */
        stopRecording():void;
        /**
         * Fetches the samples that a fetch request specifies.
         */
        fetch(request: SRFetchRequest):void;
        /**
         * Acquires device information for all devices that store data for this reader’s sensor.
         */
        fetchDevices():void;
    }
    export class SRSensor {
        /**
         * A sensor that provides acceleration motion data.
         */
        static accelerometer: SRSensor;
        /**
         * A sensor that provides rotation motion data.
         */
        static rotationRate: SRSensor;
        /**
         * A sensor that provides ambient light information.
         */
        static ambientLightSensor: SRSensor;
        /**
         * A sensor that provides pressure and temperature metrics.
         */
        static ambientPressure: SRSensor;
        /**
         * A sensor that describes the watch’s position on the wrist.
         */
        static onWristState: SRSensor;
        /**
         * A sensor that provides information about the user's steps.
         */
        static pedometerData: SRSensor;
        /**
         * A sensor that provides information about the user’s frequently visited locations.
         */
        static visits: SRSensor;
        /**
         * A sensor that provides information about the user’s keyboard usage.
         */
        static keyboardMetrics: SRSensor;
        /**
         * A sensor that provides information about the user’s device usage.
         */
        static deviceUsageReport: SRSensor;
        /**
         * A sensor that provides information about the user’s use of the Messages app.
         */
        static messagesUsageReport: SRSensor;
        /**
         * A sensor that reports the amount of time that the user is on phone calls.
         */
        static phoneUsageReport: SRSensor;
        /**
         * A sensor that provides data describing a user's speech to Siri.
         */
        static siriSpeechMetrics: SRSensor;
        /**
         * A sensor that provides data describing a user’s speech during phone calls.
         */
        static telephonySpeechMetrics: SRSensor;
        /**
         * Creates a sensor from raw value.
         */
        constructor (rawValue: string);
    }
    export class SRAbsoluteTime {
        /**
         * Provides an absolute time equivalent to the argument continuous time.
         */
        static fromContinuousTime(cont: UInt64):SRAbsoluteTime;
        /**
         * Provides the current absolute time.
         */
        static current():SRAbsoluteTime;
        /**
         * Provides an absolute time equivalent to the argument core-foundation absolute time.
         */
        static fromCFAbsoluteTime(cf: CFAbsoluteTime):SRAbsoluteTime;
        /**
         * Converts an absolute time to a core-foundation absolute time.
         */
        toCFAbsoluteTime():CFAbsoluteTime;
    }
    export class SRAmbientLightSample extends NSObject {
        /**
         * A coordinate pair that describes the sample’s light brightness and tint.
         */
        chromaticity: SRAmbientLightSample.Chromaticity;
        /**
         * An object that describes the sample’s luminous flux.
         */
        lux: Measurement<UnitIlluminance>;
        /**
         * The light’s location relative to the sensor.
         */
        placement: SRAmbientLightSample.SensorPlacement;
    }
    /**
     * the same name namespace of class SRAmbientLightSample
     */
    export namespace SRAmbientLightSample {
        export class Chromaticity {
            /**
             * The chromaticity x-value.
             */
            x: Float32;
            /**
             * The chromaticity y-value.
             */
            y: Float32;
            /**
             * Creates a chromaticity.
             */
            constructor ();
            /**
             * Creates a chromaticity from the argument coordinate pair.
             */
            constructor (x: Float32, y: Float32);
        }
        export enum SensorPlacement {
            frontBottom = 2,
            frontBottomLeft = 8,
            frontBottomRight = 7,
            frontLeft = 4,
            frontRight = 3,
            frontTop = 1,
            frontTopLeft = 6,
            frontTopRight = 5,
            unknown = 0,
        }
    }
    export class SRVisit extends NSObject {
        /**
         * A value that maps to a unique geographic location.
         */
        identifier: UUID;
        /**
         * A range of time within which the user arrives at a location of interest.
         */
        arrivalDateInterval: DateInterval;
        /**
         * A range of time within which the user departs from a location of interest.
         */
        departureDateInterval: DateInterval;
        /**
         * The location’s distance from the home-category location.
         */
        distanceFromHome: CLLocationDistance;
        /**
         * The location’s type.
         */
        locationCategory: SRVisit.LocationCategory;
    }
    /**
     * the same name namespace of class SRVisit
     */
    export namespace SRVisit {
        export enum LocationCategory {
            gym = 4,
            home = 1,
            school = 3,
            unknown = 0,
            work = 2,
        }
    }
    export class SRWristDetection extends NSObject {
        /**
         * A value that indicates the direction the Digital Crown faces with respect to the wearer.
         */
        crownOrientation: SRWristDetection.CrownOrientation;
        /**
         * A value that indicates whether the watch is on the user’s wrist.
         */
        onWrist: boolean;
        /**
         * A value that indicates the wrist where the user wears the watch.
         */
        wristLocation: SRWristDetection.WristLocation;
    }
    /**
     * the same name namespace of class SRWristDetection
     */
    export namespace SRWristDetection {
        export enum CrownOrientation {
            left = 0,
            right = 1,
        }
        export enum WristLocation {
            left = 0,
            right = 1,
        }
    }
    export class SRKeyboardMetrics extends NSObject {
        /**
         * The duration that the report spans.
         */
        duration: TimeInterval;
        /**
         * The identifier of the keyboard in the keyboard list.
         */
        keyboardIdentifier: string;
        /**
         * The version of keyboard metrics.
         */
        version: string;
        /**
         * The width, in millimeters, of the keyboard in the report.
         */
        width: Measurement<UnitLength>;
        /**
         * The height, in millimeters, of the keyboard in the report.
         */
        height: Measurement<UnitLength>;
        /**
         *  The active keyboard languages in the session.
         */
        inputModes: string[];
        /**
         * The total number of typed words for the keyboard.
         */
        totalWords: number;
        /**
         * The total number of altered words for the keyboard.
         */
        totalAlteredWords: number;
        /**
         * The total number of taps for the keyboard.
         */
        totalTaps: number;
        /**
         * The total number of drags for the keyboard.
         */
        totalDrags: number;
        /**
         * The total number of deletions for the keyboard.
         */
        totalDeletes: number;
        /**
         * The total number of emojis for the keyboard.
         */
        totalEmojis: number;
        /**
         * The total number of completed paths for the keyboard.
         */
        totalPaths: number;
        /**
         * The total time to complete paths for the keyboard.
         */
        totalPathTime: TimeInterval;
        /**
         * The total length of completed paths for the keyboard.
         */
        totalPathLength: Measurement<UnitLength>;
        /**
         * The total number of autocorrections for the keyboard.
         */
        totalAutoCorrections: number;
        /**
         * The total number of space corrections for the keyboard.
         */
        totalSpaceCorrections: number;
        /**
         * The total number of retro corrections for the keyboard.
         */
        totalRetroCorrections: number;
        /**
         * The total number of transposition corrections for the keyboard.
         */
        totalTranspositionCorrections: number;
        /**
         * The total number of Insert key corrections for the keyboard.
         */
        totalInsertKeyCorrections: number;
        /**
         * The total number of skip touch corrections for the keyboard.
         */
        totalSkipTouchCorrections: number;
        /**
         * The total number of near key corrections for the keyboard.
         */
        totalNearKeyCorrections: number;
        /**
         * The total number of substitution corrections for the keyboard.
         */
        totalSubstitutionCorrections: number;
        /**
         * The total number of hit test corrections for the keyboard.
         */
        totalHitTestCorrections: number;
        /**
         * The total amount of typing time for the keyboard.
         */
        totalTypingDuration: TimeInterval;
        /**
         * The total number of pauses while drawing a path for a word.
         */
        totalPathPauses: number;
        /**
         * The total number of pauses during the session.
         */
        totalPauses: number;
        /**
         * The total number of continuous typing episodes during the session.
         */
        totalTypingEpisodes: number;
        /**
         * The duration between touch down to touch up for any key.
         */
        touchDownUp: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch down and touch up of all Space bar events for the keyboard.
         */
        spaceTouchDownUp: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch down and touch up of all Delete key events for the keyboard.
         */
        deleteTouchDownUp: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch down and touch up of all character keys in short words for the keyboard. 
         */
        shortWordCharKeyTouchDownUp: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch down to touch down for any key.
         */
        touchDownDown: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up on a character key and touch down on a word in the prediction bar.
         */
        charKeyToPrediction: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up on a character key and touch down on any sequential character key in a short word.
         */
        shortWordCharKeyToCharKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up on a character key and touch down on the next sequential key.
         */
        charKeyToAnyTapKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of any key and touch down on a sequential character key.
         */
        anyTapToCharKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down of a sequential character key.
         */
        spaceToCharKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of a character key and touch down of a sequential Space bar.
         */
        charKeyToSpaceKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down of a sequential Delete key.
         */
        spaceToDeleteKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a sequential Space bar.
         */
        deleteToSpaceKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down of a sequential Space bar.
         */
        spaceToSpaceKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down of a sequential Shift key.
         */
        spaceToShiftKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down of a sequential plane change key.
         */
        spaceToPlaneChangeKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down of a sequential selection from the prediction bar.
         */
        spaceToPredictionKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a sequential character key.
         */
        deleteToCharKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of a character key and touch down of a sequential Delete key.
         */
        charKeyToDelete: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a sequential Delete key.
         */
        deleteToDelete: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a sequential Delete key for an entire word.
         */
        deleteToDeletes: ProbabilityMetric<UnitDuration>[];
        /**
         * The duration between touch up of the Delete key and touch down of a sequential Shift key.
         */
        deleteToShiftKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a sequential plane change key.
         */
        deleteToPlaneChangeKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of any key and touch down on a plane change key.
         */
        anyTapToPlaneChangeKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up on a plane change key and touch down on the next sequential key.
         */
        planeChangeToAnyTap: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of a character key and touch down of a sequential plane change key.
         */
        charKeyToPlaneChangeKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of a plane change key and touch down of any key.
         */
        planeChangeKeyToCharKey: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a sequential path.
         */
        deleteToPath: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Delete key and touch down of a continuous path.
         */
        pathToDelete: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of the Space bar and touch down to begin a sequential path.
         */
        spaceToPath: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of a path and touch down of a sequential Space bar.
         */
        pathToSpace: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch up of a path and touch down of a sequential path.
         */
        pathToPath: ProbabilityMetric<UnitDuration>;
        /**
         * The duration between touch down and touch up of the character keys of all the long words for the keyboard.
         */
        longWordTouchDownUp: ProbabilityMetric<UnitDuration>[];
        /**
         * The duration between touch down and touch down of the character keys of all the long words for the keyboard.
         */
        longWordTouchDownDown: ProbabilityMetric<UnitDuration>[];
        /**
         * The QuickType words per minute in the session.
         */
        pathTypingSpeed: number;
        /**
         * The user's typing rate in characters per second.
         */
        typingSpeed: number;
        /**
         * The distance from the touch up to the center of the intended key of the characters of a long word.
         */
        longWordUpErrorDistance: ProbabilityMetric<UnitLength>[];
        /**
         * The distance from the touch down to the center of the intended key of the characters of a long word.
         */
        longWordDownErrorDistance: ProbabilityMetric<UnitLength>[];
        /**
         * The distance from the touch up to the center of any key.
         */
        upErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch down to the center of any key.
         */
        downErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch up to the right centroid of the Space bar.
         */
        spaceUpErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch down to the right centroid of the Space bar.
         */
        spaceDownErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch up to the center of the Delete key.
         */
        deleteUpErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch down to the center of the Delete key.
         */
        deleteDownErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch up to the center of the intended key of a character in a short word.
         */
        shortWordCharKeyUpErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * The distance from the touch down to the center of the intended key of a character in a short word.
         */
        shortWordCharKeyDownErrorDistance: ProbabilityMetric<UnitLength>;
        /**
         * Sample values of the ratio of error distance between the intended and actual path.
         */
        pathErrorDistanceRatio: NSNumber[];
        /**
         * Provides the number of typed words for the specified sentiment in the report. 
         */
        wordCount(category: SRKeyboardMetrics.SentimentCategory):number;
        /**
         * Provides the number of typed emojis for the specified sentiment in the report.
         */
        emojiCount(category: SRKeyboardMetrics.SentimentCategory):number;
    }
    /**
     * the same name namespace of class SRKeyboardMetrics
     */
    export namespace SRKeyboardMetrics {
        export enum SentimentCategory {
            absolutist = 0,
            anger = 4,
            anxiety = 3,
            confused = 9,
            death = 2,
            down = 1,
            health = 5,
            lowEnergy = 8,
            positive = 6,
            sad = 7,
        }
    }
    export class SRDeviceUsageReport extends NSObject {
        /**
         * The duration that the report spans.
         */
        duration: TimeInterval;
        /**
         * The total number of screen wakes for the device.
         */
        totalScreenWakes: number;
        /**
         * The total number of unlocks for the device.
         */
        totalUnlocks: number;
        /**
         * The duration of time the device is in an unlocked state.
         */
        totalUnlockDuration: TimeInterval;
        /**
         * The usage time of apps per category.
         */
        applicationUsageByCategory: Record<SRDeviceUsageReport.CategoryKey, SRDeviceUsageReport.ApplicationUsage[]>;
        /**
         * The frequency of notifications per category.
         */
        notificationUsageByCategory: Record<SRDeviceUsageReport.CategoryKey, SRDeviceUsageReport.NotificationUsage[]>;
        /**
         * The amount of time the user accesses domains per category.
         */
        webUsageByCategory: Record<SRDeviceUsageReport.CategoryKey, SRDeviceUsageReport.WebUsage[]>;
    }
    /**
     * the same name namespace of class SRDeviceUsageReport
     */
    export namespace SRDeviceUsageReport {
        export class ApplicationUsage extends NSObject {
            /**
             * The bundle identifier of the app in use.
             */
            bundleIdentifier: string;
            /**
             * A pseudonymn for a real application identifier.
             */
            reportApplicationIdentifier: string;
            /**
             * The amount of time the user uses the app.
             */
            usageTime: TimeInterval;
            /**
             * The text input session types that occur during application usage.
             */
            textInputSessions: SRTextInputSession[];
        }
        export class CategoryKey {
            /**
             * An app category for reading books.
             */
            static books: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for doing business. 
             */
            static business: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for reading catalogs.
             */
            static catalogs: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for creating apps.
             */
            static developerTools: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for learning.
             */
            static education: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for entertainment.
             */
            static entertainment: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for finance.
             */
            static finance: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for dining.
             */
            static foodAndDrink: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for gaming.
             */
            static games: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for graphic design.
             */
            static graphicsAndDesign: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for health and fitness.
             */
            static healthAndFitness: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for children.
             */
            static kids: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for lifestyle.
             */
            static lifestyle: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for healthcare.
             */
            static medical: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for miscellaneous apps.
             */
            static miscellaneous: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for music.
             */
            static music: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for navigation.
             */
            static navigation: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for news.
             */
            static news: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for Apple News.
             */
            static newsstand: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for photography and film.
             */
            static photoAndVideo: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for productivity.
             */
            static productivity: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for reference.
             */
            static reference: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for shopping.
             */
            static shopping: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for social networking.
             */
            static socialNetworking: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for sports.
             */
            static sports: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for stickers.
             */
            static stickers: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for travel.
             */
            static travel: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for utilities.
             */
            static utilities: SRDeviceUsageReport.CategoryKey;
            /**
             * An app category for weather.
             */
            static weather: SRDeviceUsageReport.CategoryKey;
            /**
             * Creates a new category.
             */
            constructor (rawValue: string);
        }
        export class NotificationUsage extends NSObject {
            /**
             * The bundle identifier of the app that corresponds to the notification.
             */
            bundleIdentifier: string;
            /**
             * The way that the user interacts with the notification.
             */
            event: SRDeviceUsageReport.NotificationUsage.Event;
        }
        /**
         * the same name namespace of class NotificationUsage
         */
        export namespace NotificationUsage {
            export enum Event {
                appLaunch = 10,
                bannerPulldown = 12,
                clear = 4,
                deduped = 14,
                defaultAction = 2,
                deviceActivated = 15,
                deviceUnlocked = 16,
                expired = 11,
                hide = 7,
                longLook = 8,
                notificationCenterClearAll = 5,
                received = 1,
                removed = 6,
                silence = 9,
                supplementaryAction = 3,
                tapCoalesce = 13,
                unknown = 0,
            }
        }
        export class WebUsage extends NSObject {
            /**
             * The amount of web usage time that the report spans.
             */
            totalUsageTime: TimeInterval;
        }
    }
    export class SRTextInputSession extends NSObject {
        /**
         * The length of time, in seconds, that the session spans.
         */
        duration: TimeInterval;
        /**
         * The input source that generates the session's text.
         */
        sessionType: SRTextInputSession.SessionType;
    }
    /**
     * the same name namespace of class SRTextInputSession
     */
    export namespace SRTextInputSession {
        export enum SessionType {
            dictation = 4,
            keyboard = 1,
            pencil = 3,
            thirdPartyKeyboard = 2,
        }
    }
    export class SRDevice extends NSObject {
        /**
         * The device that runs the app.
         */
        static current: SRDevice;
        /**
         * The user-defined name of the device.
         */
        model: string;
        /**
         * The framework-defined name of the device.
         */
        name: string;
        /**
         * The device’s operating system.
         */
        systemName: string;
        /**
         * The device’s operating system version.
         */
        systemVersion: string;
    }
    export class SRMessagesUsageReport extends NSObject {
        /**
         * The duration that the report spans.
         */
        duration: TimeInterval;
        /**
         * The number of messages the user receives.
         */
        totalIncomingMessages: number;
        /**
         * The number of messages the user sends.
         */
        totalOutgoingMessages: number;
        /**
         * The user’s number of contacts.
         */
        totalUniqueContacts: number;
    }
    export class SRPhoneUsageReport extends NSObject {
        /**
         * The duration that the report spans.
         */
        duration: TimeInterval;
        /**
         * The number of calls the user receives.
         */
        totalIncomingCalls: number;
        /**
         * The number of calls the user makes.
         */
        totalOutgoingCalls: number;
        /**
         * The total duration of all calls.
         */
        totalPhoneCallDuration: TimeInterval;
        /**
         * The user’s number of contacts.
         */
        totalUniqueContacts: number;
    }
    export class SRDeletionRecord extends NSObject {
        /**
         * The reason the framework deletes samples.
         */
        reason: SRDeletionReason;
        /**
         * The time the framework begins deleting samples.
         */
        startTime: SRAbsoluteTime;
        /**
         * The time the framework finishes deleting samples.
         */
        endTime: SRAbsoluteTime;
    }
    export enum SRDeletionReason {
        ageLimit = 2,
        lowDiskSpace = 1,
        noInterestedClients = 3,
        systemInitiated = 4,
        userInitiated = 0,
    }
    export interface SRSensorReaderDelegate extends NSObjectProtocol {
        /**
         * Notifies the delegate of the reader’s new authorization status.
         */
        sensorReader(reader: SRSensorReader, authorizationStatus: SRAuthorizationStatus):void;
        /**
         * Notifies the delegate when a reader starts recording.
         */
        sensorReaderWillStartRecording(reader: SRSensorReader):void;
        /**
         * Notifies the delegate when a reader stops recording.
         */
        sensorReaderDidStopRecording(reader: SRSensorReader):void;
    }
    export enum SRAuthorizationStatus {
        notDetermined = 0,
        authorized = 1,
        denied = 2,
    }
    export class SRError {
        /**
         * A string that indicates the Core Foundation error domain.
         */
        static errorDomain: string;
        /**
         * Occurs when the user cancels the sensor approval workflow.
         */
        static promptDeclined: SRError.Code;
        /**
         * Occurs when the app can't access the sensor's data.
         */
        static dataInaccessible: SRError.Code;
        /**
         * Occurs when the app misconfigures a fetch request.
         */
        static fetchRequestInvalid: SRError.Code;
        /**
         * Occurs when the app lacks the required entitlement.
         */
        static invalidEntitlement: SRError.Code;
        /**
         * Occurs when the user declines sensor access in the Settings app.
         */
        static noAuthorization: SRError.Code;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The user info dictionary.
         */
        userInfo: Record<string, any>;
        /**
         * The error user info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that indicates the localized description of the error.
         */
        localizedDescription: string;
        /**
         * An integer value for an error.
         */
        errorCode: number;
        /**
         * A code that indicates the cause of the error.
         */
        code: Code;
        /**
         * Initializes an error.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the value by feeding them into the specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class SRError
     */
    export namespace SRError {
        export enum Code {
            promptDeclined = 4,
            dataInaccessible = 2,
            fetchRequestInvalid = 3,
            invalidEntitlement = 0,
            noAuthorization = 1,
        }
    }
    export class SRFetchRequest extends NSObject {
        /**
         * The device to query for sample data.
         */
        device: SRDevice;
        /**
         * Fetches sample information that occurs after this time.
         */
        from: SRAbsoluteTime;
        /**
         * Fetches sample information that occurs before this time. 
         */
        to: SRAbsoluteTime;
    }
}

/**
 * Manage startup items, launch agents, and launch daemons from within an app.
 */
declare module ServiceManagement {
    export class SMAppService extends NSObject {
        /**
         * An app service object that corresponds to the main application as a login item.
         */
        static mainApp: SMAppService;
        /**
         * A property that describes registration or authorization state of the service.
         */
        status: SMAppService.Status;
        /**
         * Check the authorization status of an earlier OS version login item.
         */
        static statusForLegacyPlist(url: NSURL):SMAppService.Status;
        /**
         * Initializes an app service object with a launch agent with the property list name you provide.
         */
        static agent(plistName: string):Self;
        /**
         * Initializes an app service object with a launch daemon with the property list name you provide.
         */
        static daemon(plistName: string):Self;
        /**
         * Initializes an app service object for a login item corresponding to the bundle with the identifier you provide.
         */
        static loginItem(identifier: string):Self;
        /**
         * Opens System Settings to the Login Items control panel.
         */
        static openSystemSettingsLoginItems():void;
        /**
         * Registers the service so it can begin launching subject to user approval.
         */
        register():void;
        /**
         * Unregisters the service so the system no longer launches it.
         */
        unregister():void;
    }
    /**
     * the same name namespace of class SMAppService
     */
    export namespace SMAppService {
        export enum Status {
            notRegistered = 0,
            enabled = 1,
            requiresApproval = 2,
            notFound = 3,
        }
    }
}

/**
 * Find information about a specific audio recording when a segment of that recording is part of captured sound.
 */
declare module ShazamKit {
    export class SHSession extends NSObject {
        /**
         * The object that the session calls with the result of a match request.
         */
        delegate: SHSessionDelegate | null;
        /**
         * The catalog object containing the reference signatures and their associated metadata that the session uses to perform matches.
         */
        catalog: SHCatalog;
        /**
         * The results as an asynchronous sequence of matches.
         */
        results: SHSession.Results;
        /**
         * Creates a new session object for matching songs in the Shazam Music catalog.
         */
        constructor ();
        /**
         * Creates a new session for matching audio in a custom catalog.
         */
        constructor (catalog: SHCatalog);
        /**
         * Performs an asynchronous match with a signature you specify.
         */
        result(signature: SHSignature):SHSession.Result;
        /**
         * Searches for the query signature in the reference signatures that the session catalog contains.
         */
        match(signature: SHSignature):void;
        /**
         * Converts the audio in the buffer to a signature, and searches the reference signatures in the session catalog.
         */
        matchStreamingBuffer(buffer: AVAudioPCMBuffer, time: AVAudioTime | null):void;
    }
    /**
     * the same name namespace of class SHSession
     */
    export namespace SHSession {
        export class Results {
            /**
             * Creates an asynchronous iterate that produces results from an asynchronous sequence.
             */
            makeAsyncIterator():SHSession.Results.Iterator;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):SHSession.Result | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):SHSession.Result | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):SHSession.Result | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<SHSession.Results>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<SHSession.Results>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<SHSession.Results>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<SHSession.Results>;
        }
        /**
         * the same name namespace of class Results
         */
        export namespace Results {
            export class Iterator {
                /**
                 * Asynchronously waits for the next element and returns it.
                 */
                next():SHSession.Results.Element | null;
            }
        }
        export enum Result {
            match,
            noMatch,
            error,
        }
    }
    export class SHCustomCatalog extends SHCatalog {
        /**
         * Saves the custom catalog to a local file.
         */
        write(destinationURL: URL):void;
    }
    export class SHCatalog extends NSObject {
        /**
         * The maximum duration of a query signature that you use to match reference signatures in the catalog.
         */
        maximumQuerySignatureDuration: TimeInterval;
        /**
         * The minimum duration of a query signature that you use to match reference signatures in the catalog.
         */
        minimumQuerySignatureDuration: TimeInterval;
    }
    export class SHMediaLibrary extends NSObject {
        /**
         * An instance of the user’s default Shazam library.
         */
        static default: SHMediaLibrary;
        /**
         * Adds an array of songs to the user’s Shazam library.
         */
        add(mediaItems: SHMediaItem[], completionHandler: ()=>any):void;
    }
    export class SHError {
        /**
         * The error domain for specific errors for ShazamKit.
         */
        static errorDomain: string;
        /**
         * The error code to indicate when a Shazam Music catalog server issue prevents finding a match.
         */
        static matchAttemptFailed: SHError.Code;
        /**
         * The error code to indicate that the system is unable to generate a signature from the audio.
         */
        static signatureInvalid: SHError.Code;
        /**
         * The error code to indicate that the length of the generated signature is too long or too short to make a match in the catalog.
         */
        static signatureDurationInvalid: SHError.Code;
        /**
         * The error code to indicate an unsupported audio format.
         */
        static invalidAudioFormat: SHError.Code;
        /**
         * The error code to indicate a generic framework error.
         */
        static internalError: SHError.Code;
        /**
         * The error code to indicate the use of noncontiguous audio to request a match.
         */
        static audioDiscontinuity: SHError.Code;
        /**
         * The error code to indicate that the format for the custom catalog URL is invalid.
         */
        static customCatalogInvalidURL: SHError.Code;
        /**
         * The error code to indicate when the custom catalog fails to load due to an invalid format.
         */
        static customCatalogInvalid: SHError.Code;
        /**
         * The error code to indicate when the system fails to add one or more media items to the user’s Shazam library.
         */
        static mediaLibrarySyncFailed: SHError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The error code for the instance.
         */
        errorCode: number;
        /**
         * Additional details about the error.
         */
        userInfo: Record<string, any>;
        /**
         * Additional details about an error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A user-facing, localized string that describes the error.
         */
        localizedDescription: string;
        /**
         * The hash value for the payment error.
         */
        hashValue: number;
        /**
         * Creates a ShazamKit error of the specified type with the specified user information.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the payment error object by feeding the item into a specified hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class SHError
     */
    export namespace SHError {
        export enum Code {
            matchAttemptFailed = 202,
            signatureInvalid = 200,
            signatureDurationInvalid = 201,
            invalidAudioFormat = 100,
            audioDiscontinuity = 101,
            customCatalogInvalidURL = 301,
            customCatalogInvalid = 300,
            mediaLibrarySyncFailed = 400,
            internalError = 500,
        }
    }
    export interface SHSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the query signature matches an item in the catalog.
         */
        session(session: SHSession, match: SHMatch):void;
    }
    export class SHMatch extends NSObject {
        /**
         * An array of the media items in the catalog that match the query signature, in order of the quality of the match.
         */
        mediaItems: SHMatchedMediaItem[];
        /**
         * The query signature for the match.
         */
        querySignature: SHSignature;
    }
    export class SHMatchedMediaItem extends SHMediaItem {
        /**
         * The timecode in the reference recording that matches the start of the query, in seconds.
         */
        matchOffset: TimeInterval;
        /**
         * The updated timecode in the reference recording that matches the current playback position of the query audio, in seconds.
         */
        predictedCurrentMatchOffset: TimeInterval;
        /**
         * A multiple for the difference in frequency between the matched audio and the query audio.
         */
        frequencySkew: Float;
    }
    export class SHMediaItem extends NSObject {
        /**
         * An array of ranges that indicate the offsets within the reference signature that this media item describes.
         */
        timeRanges: Range<TimeInterval>[];
        /**
         * An array of ranges that indicate the frequency skews in the reference signature that this media item describes.
         */
        frequencySkewRanges: Range<Float>[];
        /**
         * A title for the media item.
         */
        title: string;
        /**
         * A subtitle for the media item.
         */
        subtitle: string;
        /**
         * The name of the artist for the media item, such as the performer of a song.
         */
        artist: string;
        /**
         * The URL for artwork for the media item, such as an album cover.
         */
        artworkURL: URL | null;
        /**
         * The URL for a video for the media item, such as a music video.
         */
        videoURL: URL | null;
        /**
         * An array of genre names for the media item.
         */
        genres: string[];
        /**
         * A Boolean value that indicates whether the media item contains explicit content.
         */
        explicitContent: boolean;
        /**
         * The International Standard Recording Code (ISRC) for the media item.
         */
        isrc: string;
        /**
         * An array of MusicKit song objects that represent the song.
         */
        songs: Song[];
        /**
         * A link to the Apple Music page that contains the full information for the song.
         */
        appleMusicURL: URL | null;
        /**
         * The Apple Music ID for the song.
         */
        appleMusicID: string;
        /**
         * A link to the Shazam Music catalog page that contains the full information for the song.
         */
        webURL: URL | null;
        /**
         * The Shazam ID for the song.
         */
        shazamID: string;
        /**
         * Creates a media item object with a dictionary of properties and their associated values.
         */
        constructor (properties: Record<SHMediaItemProperty, any>);
        /**
         * Requests the media item for the song with the specified Shazam ID.
         */
        static fetch(shazamID: string, completionHandler: ()=>any):void;
    }
    export class SHMediaItemProperty {
        /**
         * The key to access the title property of a media item.
         */
        static title: SHMediaItemProperty;
        /**
         * The key to access the subtitle property of a media item.
         */
        static subtitle: SHMediaItemProperty;
        /**
         * The key to access the artist property of a media item.
         */
        static artist: SHMediaItemProperty;
        /**
         * The key to access the artwork URL property of a media item.
         */
        static artworkURL: SHMediaItemProperty;
        /**
         * The key to access the video URL property of a media item.
         */
        static videoURL: SHMediaItemProperty;
        /**
         * The key to access the genres property of a media item.
         */
        static genres: SHMediaItemProperty;
        /**
         * The key to access the explicit content property of a media item.
         */
        static explicitContent: SHMediaItemProperty;
        /**
         * The key to access the International Standard Recording Code (ISRC) property of a media item.
         */
        static ISRC: SHMediaItemProperty;
        /**
         * The key to access the frequency skew ranges property of a media item.
         */
        static frequencySkewRanges: SHMediaItemProperty;
        /**
         * The key to access the time ranges property of a media item.
         */
        static timeRanges: SHMediaItemProperty;
        /**
         * The key to access the Apple Music URL property of a media item.
         */
        static appleMusicURL: SHMediaItemProperty;
        /**
         * The key to access the Apple Music ID of a media item.
         */
        static appleMusicID: SHMediaItemProperty;
        /**
         * The key to access the web URL property of a media item.
         */
        static webURL: SHMediaItemProperty;
        /**
         * The key to access the Shazam ID property of a media item.
         */
        static shazamID: SHMediaItemProperty;
        /**
         * The key to access the match offset property of a matched media item.
         */
        static matchOffset: SHMediaItemProperty;
        /**
         * The key to access the frequency skew property of a matched media item.
         */
        static frequencySkew: SHMediaItemProperty;
        /**
         * Creates a property key for the specified property.
         */
        constructor (rawValue: string);
        /**
         * Creates a property key for the specified property.
         */
        constructor (rawValue: string);
    }
    export class SHSignature extends NSObject {
        /**
         * The raw data for the signature.
         */
        dataRepresentation: Data;
        /**
         * The duration of the audio you use to generate the signature.
         */
        duration: TimeInterval;
        /**
         * Creates a signature object from raw data.
         */
        constructor (dataRepresentation: Data);
    }
    export class SHSignatureGenerator extends NSObject {
        /**
         * Creates a signature with the asset you specify.
         */
        static generateSignature(asset: AVAsset, completionHandler: ()=>any):void;
        /**
         * Adds audio to the generator.
         */
        append(buffer: AVAudioPCMBuffer, time: AVAudioTime | null):void;
        /**
         * Converts the audio buffer into a signature.
         */
        signature():SHSignature;
    }
}

/**
 * Post content to supported social networking services, using standard system interfaces.
 */
declare module Social {
    export class SLComposeServiceViewController extends NSViewController,UIViewController {
        /**
         * A string that represents the text which the user entered into the compose view’s text view.
         */
        contentText: String!;
        /**
         * A string that’s displayed in the compose view’s text view when the text view is empty.
         */
        placeholder: String!;
        /**
         * The editable text view in the compose view.
         */
        textView: UITextView!;
        /**
         * The number of characters remaining in a custom character limit.
         */
        charactersRemaining: NSNumber!;
        /**
         * The view controller that manages an autocompletion view for suggesting common text completions while users type.
         */
        autoCompletionViewController: UIViewController!;
        /**
         * Reloads the list of configuration items.
         */
        reloadConfigurationItems():void;
        /**
         * Presents a configuration view controller that lets the user configure the post.
         */
        pushConfigurationViewController(viewController: UIViewController!):void;
        /**
         * Dismisses the current configuration view controller.
         */
        popConfigurationViewController():void;
        /**
         * Tells the compose view controller that the presentation animation is finished.
         */
        presentationAnimationDidFinish():void;
        /**
         * Sent to the compose view after the cancel animation finishes.
         */
        didSelectCancel():void;
        /**
         * Sent to the compose view after the post animation finishes.
         */
        didSelectPost():void;
        /**
         * Starts the animated dismissal of the compose view.
         */
        cancel():void;
        /**
         * Returns configuration items to display in the compose view.
         */
        configurationItems():[Any]!;
        /**
         * A Boolean value that indicates whether the current content and attachments are valid.
         */
        isContentValid():boolean;
        /**
         * Performs validation of the current content and updates the state of the Post button, if appropriate.
         */
        validateContent():void;
        /**
         * Loads a view that displays a preview of the attachments in the extension context.
         */
        loadPreviewView():UIView!;
    }
    export class SLComposeViewController extends UIViewController {
        /**
         * Specifies the social-networking service.
         */
        serviceType: String!;
        /**
         * The handler to call when the user is done composing a post.
         */
        completionHandler: SLComposeViewControllerCompletionHandler!;
        /**
         * Creates a new social compose view controller.
         */
        constructor (serviceType: String!);
        /**
         * Returns A Boolean value that indicates whether you can send a request for a particular service type.
         */
        static isAvailable(serviceType: String!):boolean;
        /**
         * Sets the initial text to be posted.
         */
        setInitialText(text: String!):boolean;
        /**
         * Adds an image to the post.
         */
        add(image: UIImage!):boolean;
        /**
         * Removes all images from the post.
         */
        removeAllImages():boolean;
        /**
         * Removes all URLs from the post.
         */
        removeAllURLs():boolean;
    }
    export class SLComposeSheetConfigurationItem extends NSObject {
        /**
         * A custom tap handler block that handles user interaction with a configuration item.
         */
        tapHandler: SLComposeSheetConfigurationItemTapHandler!;
        /**
         * The name of the configuration item stored as a localized string.
         */
        title: String!;
        /**
         * The current value or setting of the configuration item.
         */
        value: String!;
        /**
         * A Boolean value that indicates whether the configuration item’s value is ready for display.
         */
        valuePending: boolean;
        /**
         * Returns a configuration item.
         */
        constructor ();
    }
    export enum SLComposeViewControllerResult {
        cancelled = 0,
        done = 1,
    }
    export class SLRequest extends NSObject {
        /**
         * Account information used to authenticate the request.
         */
        account: ACAccount!;
        /**
         * The method to use for this request.
         */
        requestMethod: SLRequestMethod;
        /**
         * The destination URL for this request.
         */
        url: URL!;
        /**
         * The parameters for this request.
         */
        parameters: Record<AnyHashable, any>;
        /**
         * Initializes a newly created request object with the specified properties.
         */
        constructor (serviceType: String!, requestMethod: SLRequestMethod, url: URL!, parameters: Record<AnyHashable, any>);
        /**
         * Performs an asynchronous request and calls the specified handler when done.
         */
        perform(handler: SLRequestHandler!):void;
        /**
         * Returns an authorized URL request that can be sent using an 
         *  object.
         */
        preparedURLRequest():URLRequest!;
        /**
         * Specifies a named multipart POST body for this request.
         */
        addMultipartData(data: Data!, name: String!, type: String!, filename: String!):void;
    }
    export enum SLRequestMethod {
        GET = 0,
        POST = 1,
        DELETE = 2,
        PUT = 3,
    }
}

/**
 * Classify various sounds by analyzing audio files or streams.
 */
declare module SoundAnalysis {
    export class SNAudioFileAnalyzer extends NSObject {
        /**
         * Creates a new audio file analyzer.
         */
        constructor (url: URL);
        /**
         * Removes an existing request from the audio file analyzer.
         */
        remove(request: SNRequest):void;
        /**
         * Removes all the sound analysis requests from the audio file analyzer.
         */
        removeAllRequests():void;
        /**
         * Analyzes the audio file synchronously.
         */
        analyze():void;
        /**
         * Cancels all the asynchronous sound analysis requests the analyzer is currently processing.
         */
        cancelAnalysis():void;
        /**
         * Adds a new analysis request to the audio file analyzer.
         */
        add(request: SNRequest, observer: SNResultsObserving):void;
    }
    export class SNAudioStreamAnalyzer extends NSObject {
        /**
         * Creates a new audio stream analyzer.
         */
        constructor (format: AVAudioFormat);
        /**
         * Adds a new analysis request to the audio stream analyzer.
         */
        add(request: SNRequest, observer: SNResultsObserving):void;
        /**
         * Removes an existing request from the audio stream analyzer.
         */
        remove(request: SNRequest):void;
        /**
         * Removes all the sound analysis requests from the audio stream analyzer.
         */
        removeAllRequests():void;
        /**
         * Adds a new audio buffer to the analyzer’s larger stream buffer.
         */
        analyze(audioBuffer: AVAudioBuffer, audioFramePosition: AVAudioFramePosition):void;
        /**
         * Notifies the analyzer when it receives the final audio buffer.
         */
        completeAnalysis():void;
    }
    export interface SNRequest extends NSObjectProtocol {}
    export interface SNResultsObserving extends NSObjectProtocol {
        /**
         * Provides a new analysis result to your app with the specified time range.
         */
        request(request: SNRequest, result: SNResult):void;
        /**
         * Notifies your app when the analysis request completes normally.
         */
        requestDidComplete(request: SNRequest):void;
    }
    export interface SNResult extends NSObjectProtocol {}
    export class SNClassifySoundRequest extends NSObject {
        /**
         * The amount of overlap between successive analysis windows when the model operates on a fixed-size audio block.
         */
        overlapFactor: number;
        /**
         * The duration of the audio buffer the request sends to the underlying sound classifier for each prediction.
         */
        windowDuration: CMTime;
        /**
         * A string array that contains every prediction label in the request’s underlying sound classifier model.
         */
        knownClassifications: string[];
        /**
         * A range or list of sound duration times the request’s underlying sound classifier supports.
         */
        windowDurationConstraint: SNTimeDurationConstraint;
        /**
         * Creates a request that uses a custom sound classification model.
         */
        constructor (mlModel: MLModel);
        /**
         * Creates a request that uses the framework’s built-in sound classification model.
         */
        constructor (classifierIdentifier: SNClassifierIdentifier);
    }
    export class SNClassifierIdentifier {
        /**
         * Version 1 of the sound classifier.
         */
        static version1: SNClassifierIdentifier;
        /**
         * Creates an identifier for a sound classifier.
         */
        constructor (rawValue: string);
    }
    export enum SNTimeDurationConstraint {
        durationRange,
        enumeratedDurations,
    }
    export class SNClassificationResult extends NSObject {
        /**
         * The time span that corresponds to the result’s classifications.
         */
        timeRange: CMTimeRange;
        /**
         * A sorted array of the request’s top classification candidates.
         */
        classifications: SNClassification[];
        /**
         * Returns the classification for an identifier.
         */
        classification(identifier: string):SNClassification | null;
    }
    export class SNClassification extends NSObject {
        /**
         * A prediction label that’s one of the classifications a sound classifier’s underlying model defines.
         */
        identifier: string;
        /**
         * The confidence value the model has in its prediction.
         */
        confidence: number;
    }
    export class SNError {
        /**
         * An error that indicates the sound classifier’s underlying Core ML model is an invalid model type.
         */
        static invalidModel: SNError.Code;
        /**
         * An error that indicates the audio data’s format isn’t valid.
         */
        static invalidFormat: SNError.Code;
        /**
         * An error that indicates an audio file is invalid.
         */
        static invalidFile: SNError.Code;
        /**
         * An error that occurs when the framework fails to analyze audio.
         */
        static operationFailed: SNError.Code;
        /**
         * An error that represents a failure that no other error handles.
         */
        static unknownError: SNError.Code;
        /**
         * A statically accessible string that identifies the Sound Analysis error domain.
         */
        static errorDomain: string;
        /**
         * An integer value that represents the error code.
         */
        errorCode: number;
        /**
         * A dictionary that contains information about the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized message that describes the reason for the failure.
         */
        localizedDescription: string;
        /**
         * The hash value of the error.
         */
        hashValue: number;
        /**
         * An integer value that represents the error.
         */
        code: Code;
        /**
         * A dictionary that stores custom information.
         */
        userInfo: Record<string, any>;
        /**
         * Creates an error code with a user information dictionary.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of the error by feeding them into a hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class SNError
     */
    export namespace SNError {
        export enum Code {
            invalidModel = 4,
            invalidFormat = 3,
            invalidFile = 5,
            operationFailed = 2,
            unknownError = 1,
        }
    }
}

/**
 * Perform speech recognition on live or prerecorded audio, receive transcriptions, alternative interpretations, and confidence levels of the results.
 */
declare module Speech {
    export class SFSpeechRecognizer extends NSObject {
        /**
         * A hint that indicates the type of speech recognition being requested.
         */
        defaultTaskHint: SFSpeechRecognitionTaskHint;
        /**
         * The queue on which to execute recognition task handlers and delegate methods.
         */
        queue: OperationQueue;
        /**
         * The locale of the speech recognizer.
         */
        locale: Locale;
        /**
         * The delegate object that handles changes to the availability of speech recognition services.
         */
        delegate: SFSpeechRecognizerDelegate | null;
        /**
         * A Boolean value that indicates whether the speech recognizer is currently available.
         */
        isAvailable: boolean;
        /**
         * A Boolean value that indicates whether the speech recognizer can operate without network access.
         */
        supportsOnDeviceRecognition: boolean;
        /**
         * Creates a speech recognizer associated with the user's default language settings.
         */
        constructor ();
        /**
         * Creates a speech recognizer associated with the specified locale.
         */
        constructor (locale: Locale);
        /**
         * Returns your app's current authorization to perform speech recognition.
         */
        static authorizationStatus():SFSpeechRecognizerAuthorizationStatus;
        /**
         * Returns the set of locales that are supported by the speech recognizer.
         */
        static supportedLocales():Set<Locale>;
        /**
         * Asks the user to allow your app to perform speech recognition. 
         */
        static requestAuthorization(handler: ()=>any):void;
        /**
         * Executes the speech recognition request and delivers the results to the specified handler block.
         */
        recognitionTask(request: SFSpeechRecognitionRequest, resultHandler: ()=>any):SFSpeechRecognitionTask;
    }
    export enum SFSpeechRecognizerAuthorizationStatus {
        notDetermined = 0,
        denied = 1,
        restricted = 2,
        authorized = 3,
    }
    export interface SFSpeechRecognitionTaskDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate when the task first detects speech in the source audio.
         */
        speechRecognitionDidDetectSpeech(task: SFSpeechRecognitionTask):void;
        /**
         * Tells the delegate when the task is no longer accepting new audio input, even if final processing is in progress.
         */
        speechRecognitionTaskFinishedReadingAudio(task: SFSpeechRecognitionTask):void;
        /**
         * Tells the delegate that a hypothesized transcription is available.
         */
        speechRecognitionTask(task: SFSpeechRecognitionTask, transcription: SFTranscription):void;
        /**
         * Tells the delegate that the task has been canceled.
         */
        speechRecognitionTaskWasCancelled(task: SFSpeechRecognitionTask):void;
    }
    export class SFSpeechURLRecognitionRequest extends SFSpeechRecognitionRequest {
        /**
         * The URL of the audio file.
         */
        url: URL;
        /**
         * Creates a speech recognition request, initialized with the specified URL.
         */
        constructor (URL: URL);
    }
    export class SFSpeechAudioBufferRecognitionRequest extends SFSpeechRecognitionRequest {
        /**
         * The preferred audio format for optimal speech recognition.
         */
        nativeAudioFormat: AVAudioFormat;
        /**
         * Appends audio in the PCM format to the end of the recognition request.
         */
        append(audioPCMBuffer: AVAudioPCMBuffer):void;
        /**
         * Appends audio to the end of the recognition request.
         */
        appendAudioSampleBuffer(sampleBuffer: CMSampleBuffer):void;
        /**
         * Marks the end of audio input for the recognition request.
         */
        endAudio():void;
    }
    export class SFSpeechRecognitionRequest extends NSObject {
        /**
         * A Boolean value that determines whether a request must keep its audio data on the device.
         */
        requiresOnDeviceRecognition: boolean;
        /**
         * A Boolean value that indicates whether you want intermediate results returned for each utterance.
         */
        shouldReportPartialResults: boolean;
        /**
         * An array of phrases that should be recognized, even if they are not in the system vocabulary.
         */
        contextualStrings: string[];
        /**
         * A value that indicates the type of speech recognition being performed.
         */
        taskHint: SFSpeechRecognitionTaskHint;
        /**
         * A Boolean value that indicates whether to add punctuation to speech recognition results.
         */
        addsPunctuation: boolean;
        /**
         * An identifier string that you use to describe the type of interaction associated with the speech recognition request.
         */
        interactionIdentifier: string;
    }
    export enum SFSpeechRecognitionTaskHint {
        unspecified = 0,
        dictation = 1,
        search = 2,
        confirmation = 3,
    }
    export class SFSpeechRecognitionTask extends NSObject {
        /**
         * A Boolean value that indicates whether the speech recognition task was canceled.
         */
        isCancelled: boolean;
        /**
         * A Boolean value that indicates whether audio input has stopped.
         */
        isFinishing: boolean;
        /**
         * The current state of the speech recognition task.
         */
        state: SFSpeechRecognitionTaskState;
        /**
         * An error object that specifies the error that occurred during a speech recognition task.
         */
        error: Error | null;
        /**
         * Cancels the current speech recognition task.
         */
        cancel():void;
        /**
         * Stops accepting new audio and finishes processing on the audio input that has already been accepted.
         */
        finish():void;
    }
    export interface SFSpeechRecognizerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the availability of its associated speech recognizer changed.
         */
        speechRecognizer(speechRecognizer: SFSpeechRecognizer, available: boolean):void;
    }
    export enum SFSpeechRecognitionTaskState {
        canceling = 3,
        completed = 4,
        finishing = 2,
        running = 1,
        starting = 0,
    }
    export class SFSpeechRecognitionResult extends NSObject {
        /**
         * The transcription with the highest confidence level.
         */
        bestTranscription: SFTranscription;
        /**
         * An array of potential transcriptions, sorted in descending order of confidence.
         */
        transcriptions: SFTranscription[];
        /**
         * An object that contains the metadata results for a speech recognition request.
         */
        speechRecognitionMetadata: SFSpeechRecognitionMetadata | null;
        /**
         * A Boolean value that indicates whether speech recognition is complete and whether the transcriptions are final.
         */
        isFinal: boolean;
    }
    export class SFSpeechRecognitionMetadata extends NSObject {
        /**
         * The average pause duration between words, measured in seconds. 
         */
        averagePauseDuration: TimeInterval;
        /**
         * The number of words spoken per minute.
         */
        speakingRate: number;
        /**
         * The duration in seconds of speech in the audio.
         */
        speechDuration: TimeInterval;
        /**
         * The start timestamp of speech in the audio.
         */
        speechStartTimestamp: TimeInterval;
        /**
         * An analysis of the transcription segment’s vocal properties.
         */
        voiceAnalytics: SFVoiceAnalytics | null;
    }
    export class SFTranscription extends NSObject {
        /**
         * The entire transcription of utterances, formatted into a single, user-displayable string.
         */
        formattedString: string;
        /**
         * An array of transcription segments that represent the parts of the transcription, as identified by the speech recognizer.
         */
        segments: SFTranscriptionSegment[];
        /**
         * The average pause duration between words, measured in seconds.
         */
        averagePauseDuration: TimeInterval;
        /**
         * The number of words spoken per minute.
         */
        speakingRate: number;
    }
    export class SFTranscriptionSegment extends NSObject {
        /**
         * The string representation of the utterance in the transcription segment.
         */
        substring: string;
        /**
         * The range information for the transcription segment’s substring, relative to the overall transcription.
         */
        substringRange: NSRange;
        /**
         * An array of alternate interpretations of the utterance in the transcription segment.
         */
        alternativeSubstrings: string[];
        /**
         * The level of confidence the speech recognizer has in its recognition of the speech transcribed for the segment.
         */
        confidence: Float;
        /**
         * The start time of the segment in the processed audio stream.
         */
        timestamp: TimeInterval;
        /**
         * The number of seconds it took for the user to speak the utterance represented by the segment.
         */
        duration: TimeInterval;
        /**
         * An analysis of the transcription segment’s vocal properties.
         */
        voiceAnalytics: SFVoiceAnalytics | null;
    }
    export class SFAcousticFeature extends NSObject {
        /**
         * The duration of the audio frame.
         */
        frameDuration: TimeInterval;
        /**
         * An array of feature values, one value per audio frame, corresponding to a transcript segment of recorded audio.
         */
        acousticFeatureValuePerFrame: number[];
    }
    export class SFVoiceAnalytics extends NSObject {
        /**
         * The likelihood of a voice in each frame of a transcription segment, expressed as a probability in the range 
         * .
         */
        voicing: SFAcousticFeature;
        /**
         * The highness or lowness of the tone (fundamental frequency) in each frame of a transcription segment, expressed as a logarithm.
         */
        pitch: SFAcousticFeature;
        /**
         * The variation in pitch in each frame of a transcription segment, expressed as a percentage of the frame’s fundamental frequency.
         */
        jitter: SFAcousticFeature;
        /**
         * The variation in vocal volume stability (amplitude) in each frame of a transcription segment, expressed in decibels.
         */
        shimmer: SFAcousticFeature;
    }
}

/**
 * Add high-performance 2D content with smooth animations to your app, or create a game with a high-level set of 2D game-based tools. 
 */
declare module SpriteKit {
    export class SKScene extends SKEffectNode {
        /**
         * The camera node in the scene that determines what part of the scene’s coordinate space is visible in the view.
         */
        camera: SKCameraNode | null;
        /**
         * The point in the view’s frame that corresponds to the scene’s origin.
         */
        anchorPoint: CGPoint;
        /**
         * A delegate to be called during the animation loop. 
         */
        delegate: SKSceneDelegate | null;
        /**
         * The view that is currently presenting the scene.
         */
        view: SKView | null;
        /**
         * The background color of the scene.
         */
        backgroundColor: UIColor;
        /**
         * The dimensions of the scene, in points.
         */
        size: CGSize;
        /**
         * The physics simulation associated with the scene.
         */
        physicsWorld: SKPhysicsWorld;
        /**
         * A node used to determine the position of the listener for positional audio in the scene.
         */
        listener: SKNode | null;
        /**
         * The AVFoundation audio engine used to play audio from audio nodes contained in the scene.
         */
        audioEngine: AVAudioEngine;
        /**
         * A setting that defines how the scene is mapped to the view that presents it.
         */
        scaleMode: SKSceneScaleMode;
        /**
         * Initializes a new scene object.
         */
        constructor (size: CGSize);
        /**
         * Tells you when the scene is presented.
         */
        sceneDidLoad():void;
        /**
         * Tells you when the scene’s size has changed.
         */
        didChangeSize(oldSize: CGSize):void;
        /**
         * Tells you when the scene is about to be removed from a view.
         */
        willMove(view: SKView):void;
        /**
         * Tells you when the scene is presented by a view.
         */
        didMove(view: SKView):void;
        /**
         * Tells your app to perform any app-specific logic to update your scene. 
         */
        update(currentTime: TimeInterval):void;
        /**
         * Tells your app to peform any necessary logic after scene actions are evaluated.
         */
        didEvaluateActions():void;
        /**
         * Tells your app to peform any necessary logic after physics simulations are performed.
         */
        didSimulatePhysics():void;
        /**
         * Tells your app to peform any necessary logic after constraints are applied.
         */
        didApplyConstraints():void;
        /**
         * Tells your app to peform any necessary logic after the scene has finished all of the steps required to process animations.
         */
        didFinishUpdate():void;
        /**
         * Converts a point from view coordinates to scene coordinates.
         */
        convertPoint(point: CGPoint):CGPoint;
    }
    export class SKNode extends NSObject,NSResponder,UIResponder {
        /**
         * A toggle you implement to indicate to the system whether this user interface element should respond to user input. 
         */
        isAccessibilityEnabled: boolean;
        /**
         * The values of each attribute associated with the node's attached shader. 
         */
        attributeValues: Record<string, SKAttributeValue>;
        /**
         * Returns the frontmost user interface element in the element hierarchy. 
         */
        accessibilityHitTest(point: CGPoint):any;
        /**
         * Sets an attribute value for an attached shader
         */
        setValue(value: SKAttributeValue, key: string):void;
        /**
         * The value of a shader attribute.
         */
        value(key: string):SKAttributeValue | null;
    }
    export enum SKBlendMode {
        multiplyAlpha = 7,
    }
    export enum SKInterpolationMode {
        linear = 1,
        spline = 2,
        step = 3,
    }
    export enum SKLabelHorizontalAlignmentMode {
        center = 0,
        left = 1,
        right = 2,
    }
    export enum SKLabelVerticalAlignmentMode {
        baseline = 0,
        center = 1,
        top = 2,
        bottom = 3,
    }
    export enum SKParticleRenderOrder {
        oldestLast = 0,
        oldestFirst = 1,
        dontCare = 2,
    }
    export enum SKRepeatMode {
        clamp = 1,
        loop = 2,
    }
    export enum SKSceneScaleMode {
        fill = 0,
        aspectFill = 1,
        aspectFit = 2,
        resizeFill = 3,
    }
    export enum SKTextureFilteringMode {
        nearest = 0,
        linear = 1,
    }
    export enum SKTileDefinitionRotation {
        rotation0 = 0,
        rotation180 = 2,
        rotation270 = 3,
        rotation90 = 1,
    }
    export enum SKTileSetType {
        grid = 0,
        hexagonalFlat = 2,
        hexagonalPointy = 3,
        isometric = 1,
    }
    export enum SKTransitionDirection {
        up = 0,
        down = 1,
        right = 2,
        left = 3,
    }
    export enum SKUniformType {
        none = 0,
        float = 1,
        floatVector2 = 2,
        floatVector3 = 3,
        floatVector4 = 4,
        floatMatrix2 = 5,
        floatMatrix3 = 6,
        floatMatrix4 = 7,
        texture = 8,
    }
    export class SKCameraNode extends SKNode {
        /**
         * Finds nodes that are visible in the camera's viewport.
         */
        containedNodeSet():Set<SKNode>;
        /**
         * Checks to see if a node is visible in the camera’s viewport.
         */
        contains(node: SKNode):boolean;
    }
    export enum SKNodeFocusBehavior {
        none = 0,
        occluding = 1,
        focusable = 2,
    }
    export class SpriteView {
        constructor (scene: SKScene, transition: SKTransition | null, isPaused: boolean, preferredFramesPerSecond: number);
        constructor (scene: SKScene, transition: SKTransition | null, isPaused: boolean, preferredFramesPerSecond: number, options: SpriteView.Options, shouldRender: ()=>any);
        constructor (scene: SKScene, transition: SKTransition | null, isPaused: boolean, preferredFramesPerSecond: number, options: SpriteView.Options, debugOptions: SpriteView.DebugOptions, shouldRender: ()=>any);
        fontDesign(design: Font.Design | null):View;
        monospaced(isActive: boolean):View;
        scrollContentBackground(visibility: Visibility):View;
        searchSuggestions(visibility: Visibility, placements: SearchSuggestionsPlacement.Set):View;
        toolbar(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarBackground(visibility: Visibility, ...bars: ToolbarPlacement):View;
        toolbarColorScheme(colorScheme: ColorScheme | null, ...bars: ToolbarPlacement):View;
    }
    /**
     * the same name namespace of class SpriteView
     */
    export namespace SpriteView {
        export class Options {
            static allowsTransparency: SpriteView.Options;
            static ignoresSiblingOrder: SpriteView.Options;
            static shouldCullNonVisibleNodes: SpriteView.Options;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: number;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: SpriteView.Options);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: SpriteView.Options):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: SpriteView.Options):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: SpriteView.Options):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: SpriteView.Options):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: SpriteView.Options):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: SpriteView.Options):SpriteView.Options;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: SpriteView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: SpriteView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: SpriteView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: SpriteView.Options):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: SpriteView.Options):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: SpriteView.Options):SpriteView.Options | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: SpriteView.Options):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: SpriteView.Options):SpriteView.Options;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: SpriteView.Options):SpriteView.Options;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: SpriteView.Options):SpriteView.Options;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: SpriteView.Options):SpriteView.Options | null;
        }
        export class DebugOptions {
            static showsDrawCount: SpriteView.DebugOptions;
            static showsFPS: SpriteView.DebugOptions;
            static showsFields: SpriteView.DebugOptions;
            static showsNodeCount: SpriteView.DebugOptions;
            static showsPhysics: SpriteView.DebugOptions;
            static showsQuadCount: SpriteView.DebugOptions;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            rawValue: number;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: SpriteView.DebugOptions);
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: SpriteView.DebugOptions):boolean;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: SpriteView.DebugOptions):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: SpriteView.DebugOptions):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: SpriteView.DebugOptions):void;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: SpriteView.DebugOptions):any;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: SpriteView.DebugOptions):SpriteView.DebugOptions;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: SpriteView.DebugOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: SpriteView.DebugOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: SpriteView.DebugOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: SpriteView.DebugOptions):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: SpriteView.DebugOptions):boolean;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: SpriteView.DebugOptions):SpriteView.DebugOptions | null;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: SpriteView.DebugOptions):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: SpriteView.DebugOptions):SpriteView.DebugOptions;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: SpriteView.DebugOptions):SpriteView.DebugOptions;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: SpriteView.DebugOptions):SpriteView.DebugOptions;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: SpriteView.DebugOptions):SpriteView.DebugOptions | null;
        }
    }
    export class SKReferenceNode extends SKNode {
        /**
         * Creates a reference node from a URL.
         */
        constructor (referenceURL: URL);
        /**
         * Creates a reference node from a file in the app’s main bundle.
         */
        constructor (fileName: string);
        /**
         * A method that initializes a reference node from an archive.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Loads the reference node’s content and adds it as a new child node.
         */
        resolve():void;
        /**
         * A method called by SpriteKit after the reference node’s contents are loaded.
         */
        didLoad(node: SKNode | null):void;
    }
    export class SKSpriteNode extends SKNode {
        /**
         * The texture used to draw the sprite.
         */
        texture: SKTexture | null;
        /**
         * The dimensions of the sprite, in points.
         */
        size: CGSize;
        /**
         * Defines the point in the sprite that corresponds to the node’s position.
         */
        anchorPoint: CGPoint;
        /**
         * Enable nine-part stretching of the sprite's texture.
         */
        centerRect: CGRect;
        /**
         * The sprite’s color.
         */
        color: UIColor;
        /**
         * A floating-point value that describes how the color is blended with the sprite’s texture.
         */
        colorBlendFactor: CGFloat;
        /**
         * The blend mode used to draw the sprite into the parent’s framebuffer.
         */
        blendMode: SKBlendMode;
        /**
         * A mask that defines how this sprite is lit by light nodes in the scene.
         */
        lightingBitMask: UInt32;
        /**
         * A mask that defines which lights add shadows to the sprite.
         */
        shadowedBitMask: UInt32;
        /**
         * A mask that defines which lights are occluded by this sprite.
         */
        shadowCastBitMask: UInt32;
        /**
         * A texture that specifies the normal map for the sprite.
         */
        normalTexture: SKTexture | null;
        /**
         * A text file that defines code that does custom per-pixel drawing or colorization.
         */
        shader: SKShader | null;
        /**
         * The values of each attribute associated with the node's attached shader.
         */
        attributeValues: Record<string, SKAttributeValue>;
        /**
         * A custom playground quick look for this instance.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Initializes a textured sprite using an image file.
         */
        constructor (name: string);
        /**
         * Initializes a textured sprite using an image file, optionally adding a normal map to simulate 3D lighting.
         */
        constructor (name: string, generateNormalMap: boolean);
        /**
         * Initializes a textured sprite using an existing texture object.
         */
        constructor (texture: SKTexture | null);
        /**
         * Initializes a textured sprite in color using an existing texture object.
         */
        constructor (texture: SKTexture | null, color: UIColor, size: CGSize);
        /**
         * Initializes a textured sprite using an existing texture object but with a specified size.
         */
        constructor (texture: SKTexture | null, size: CGSize);
        /**
         * Initializes a textured sprite with a normal map to simulate 3D lighting.
         */
        constructor (texture: SKTexture | null, normalMap: SKTexture | null);
        /**
         * Initializes a single-color sprite node.
         */
        constructor (color: UIColor, size: CGSize);
        /**
         * Tells you when to initialize a sprite from an archive.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Scales the sprite node to a specified size. 
         */
        scale(size: CGSize):void;
        /**
         * Sets an attribute value for an attached shader.
         */
        setValue(value: SKAttributeValue, key: string):void;
        /**
         * Sets the value of a shader attribute.
         */
        value(key: string):SKAttributeValue | null;
    }
    export class SKShapeNode extends SKNode {
        /**
         * The path that defines the shape.
         */
        path: CGPath | null;
        /**
         * The color used to fill the shape.
         */
        fillColor: UIColor;
        /**
         * The texture used to fill the shape.
         */
        fillTexture: SKTexture | null;
        /**
         * The width used to stroke the path.
         */
        lineWidth: CGFloat;
        /**
         * The color used to stroke the shape.
         */
        strokeColor: UIColor;
        /**
         * The texture used to stroke the shape.
         */
        strokeTexture: SKTexture | null;
        /**
         * A glow that extends outward from the stroked line.
         */
        glowWidth: CGFloat;
        /**
         * The style used to render the endpoints of the stroked portion of the shape node.
         */
        lineCap: CGLineCap;
        /**
         * The junction type used when the stroked portion of the shape node is rendered.
         */
        lineJoin: CGLineJoin;
        /**
         * The miter limit to use when the line is stroked using a miter join style.
         */
        miterLimit: CGFloat;
        /**
         * A Boolean value that determines whether the stroked path is smoothed when drawn.
         */
        isAntialiased: boolean;
        /**
         * The blend mode used to blend the shape into the parent’s framebuffer.
         */
        blendMode: SKBlendMode;
        /**
         * The length of the line defined by the shape node.
         */
        lineLength: CGFloat;
        /**
         * A custom shader used to determine the color of the stroked portion of the shape node.
         */
        strokeShader: SKShader | null;
        /**
         * A custom shader used to determine the color of the filled portion of the shape node.
         */
        fillShader: SKShader | null;
        /**
         * The values of each attribute associated with the node's attached shader.
         */
        attributeValues: Record<string, SKAttributeValue>;
        /**
         * A custom playground quick look for this instance.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Creates a shape node from a Core Graphics path.
         */
        constructor (path: CGPath);
        /**
         * Creates a shape node from a Core Graphics path, centered around its position.
         */
        constructor (path: CGPath, centered: boolean);
        /**
         * Creates a shape node with a rectangular path.
         */
        constructor (rect: CGRect);
        /**
         * Creates a shape node with a rectangular path centered on the node’s origin.
         */
        constructor (size: CGSize);
        /**
         * Creates a shape with a rectangular path that has rounded corners.
         */
        constructor (rect: CGRect, cornerRadius: CGFloat);
        /**
         * Creates a shape with a rectangular path that has rounded corners centered on the node’s position.
         */
        constructor (size: CGSize, cornerRadius: CGFloat);
        /**
         * Creates a shape node with a circular path centered on the node’s origin.
         */
        constructor (radius: CGFloat);
        /**
         * Creates a shape node with an elliptical path centered on the node’s origin.
         */
        constructor (size: CGSize);
        /**
         * Creates a shape node with an elliptical path that fills the specified rectangle.
         */
        constructor (rect: CGRect);
        /**
         * Creates a shape node from a series of points.
         */
        constructor (points: UnsafeMutablePointer<CGPoint>, numPoints: number);
        /**
         * Creates a shape node from a series of spline points.
         */
        constructor (points: UnsafeMutablePointer<CGPoint>, numPoints: number);
        /**
         * Sets an attribute value for an attached shader.
         */
        setValue(value: SKAttributeValue, key: string):void;
        /**
         * The value of a shader attribute.
         */
        value(key: string):SKAttributeValue | null;
    }
    export class SKEmitterNode extends SKNode {
        /**
         * The target node that renders the emitter’s particles.
         */
        targetNode: SKNode | null;
        /**
         * The rate at which new particles are created.
         */
        particleBirthRate: CGFloat;
        /**
         * The number of particles the emitter should emit before stopping.
         */
        numParticlesToEmit: number;
        /**
         * The order in which the emitter’s particles are rendered.
         */
        particleRenderOrder: SKParticleRenderOrder;
        /**
         * The average lifetime of a particle, in seconds.
         */
        particleLifetime: CGFloat;
        /**
         * The range of allowed random values for a particle’s lifetime.
         */
        particleLifetimeRange: CGFloat;
        /**
         * The average starting position for a particle.
         */
        particlePosition: CGPoint;
        /**
         * The range of allowed random values for a particle’s position.
         */
        particlePositionRange: CGVector;
        /**
         * The average starting depth of a particle.
         */
        particleZPosition: CGFloat;
        /**
         * The range of allowed random values for a particle’s depth.
         */
        particleZPositionRange: CGFloat;
        /**
         * The average initial speed of a new particle, in points per second.
         */
        particleSpeed: CGFloat;
        /**
         * The range of allowed random values for a particle’s initial speed.
         */
        particleSpeedRange: CGFloat;
        /**
         * The average initial direction of a particle, expressed as an angle in radians.
         */
        emissionAngle: CGFloat;
        /**
         * The range of allowed random values for a particle’s initial direction, expressed as an angle in radians.
         */
        emissionAngleRange: CGFloat;
        /**
         * The acceleration to apply to a particle’s horizontal velocity.
         */
        xAcceleration: CGFloat;
        /**
         * The acceleration to apply to a particle’s vertical velocity.
         */
        yAcceleration: CGFloat;
        /**
         * The speed at which the particle’s depth changes.
         */
        particleZPositionSpeed: CGFloat;
        /**
         * The average initial rotation of a particle, expressed as an angle in radians.
         */
        particleRotation: CGFloat;
        /**
         * The range of allowed random values for a particle’s initial rotation, expressed as an angle in radians.
         */
        particleRotationRange: CGFloat;
        /**
         * The speed at which a particle rotates, expressed in radians per second.
         */
        particleRotationSpeed: CGFloat;
        /**
         * The average initial scale factor of a particle.
         */
        particleScale: CGFloat;
        /**
         * The range of allowed random values for a particle’s initial scale.
         */
        particleScaleRange: CGFloat;
        /**
         * The rate at which a particle’s scale factor changes per second.
         */
        particleScaleSpeed: CGFloat;
        /**
         * The sequence used to specify the scale factor of a particle over its lifetime.
         */
        particleScaleSequence: SKKeyframeSequence | null;
        /**
         * The texture to use to render a particle.
         */
        particleTexture: SKTexture | null;
        /**
         * The starting size of each particle.
         */
        particleSize: CGSize;
        /**
         * The sequence used to specify the color components of a particle over its lifetime.
         */
        particleColorSequence: SKKeyframeSequence | null;
        /**
         * The average initial color for a particle.
         */
        particleColor: UIColor;
        /**
         * The range of allowed random values for the alpha component of a particle’s initial color.
         */
        particleColorAlphaRange: CGFloat;
        /**
         * The range of allowed random values for the blue component of a particle’s initial color.
         */
        particleColorBlueRange: CGFloat;
        /**
         * The range of allowed random values for the green component of a particle’s initial color.
         */
        particleColorGreenRange: CGFloat;
        /**
         * The range of allowed random values for the red component of a particle’s initial color.
         */
        particleColorRedRange: CGFloat;
        /**
         * The rate at which the alpha component of a particle’s color changes per second.
         */
        particleColorAlphaSpeed: CGFloat;
        /**
         * The rate at which the blue component of a particle’s color changes per second.
         */
        particleColorBlueSpeed: CGFloat;
        /**
         * The rate at which the green component of a particle’s color changes per second.
         */
        particleColorGreenSpeed: CGFloat;
        /**
         * The rate at which the red component of a particle’s color changes per second.
         */
        particleColorRedSpeed: CGFloat;
        /**
         * The sequence used to specify the color blend factor of a particle over its lifetime.
         */
        particleColorBlendFactorSequence: SKKeyframeSequence | null;
        /**
         * The average starting value for the color blend factor.
         */
        particleColorBlendFactor: CGFloat;
        /**
         * The range of allowed random values for a particle’s starting color blend factor.
         */
        particleColorBlendFactorRange: CGFloat;
        /**
         * The rate at which the color blend factor changes per second.
         */
        particleColorBlendFactorSpeed: CGFloat;
        /**
         * The blending mode used to blend particles into the framebuffer.
         */
        particleBlendMode: SKBlendMode;
        /**
         * The sequence used to specify the alpha value of a particle over its lifetime.
         */
        particleAlphaSequence: SKKeyframeSequence | null;
        /**
         * The average starting alpha value for a particle.
         */
        particleAlpha: CGFloat;
        /**
         * The range of allowed random values for a particle’s starting alpha value.
         */
        particleAlphaRange: CGFloat;
        /**
         * The rate at which the alpha value of a particle changes per second.
         */
        particleAlphaSpeed: CGFloat;
        /**
         * An action executed by new particles.
         */
        particleAction: SKAction | null;
        /**
         * A mask that defines which categories of physics fields can exert forces on the particles.
         */
        fieldBitMask: UInt32;
        /**
         * A custom shader used to determine how particles are rendered.
         */
        shader: SKShader | null;
        /**
         * The values of each attribute associated with the node's attached shader.
         */
        attributeValues: Record<string, SKAttributeValue>;
        /**
         * Advances the emitter particle simulation.
         */
        advanceSimulationTime(sec: TimeInterval):void;
        /**
         * Removes all existing particles and restarts the simulation.
         */
        resetSimulation():void;
        /**
         * Sets an attribute value for an attached shader.
         */
        setValue(value: SKAttributeValue, key: string):void;
        /**
         * Gets the value of a shader attribute.
         */
        value(key: string):SKAttributeValue | null;
    }
    export interface SKSceneDelegate extends NSObjectProtocol {
        /**
         * Tells you to perform any app specific logic to update your scene. 
         */
        update(currentTime: TimeInterval, scene: SKScene):void;
        /**
         * Tells you to peform any necessary logic after scene actions are evaluated.
         */
        didEvaluateActions(scene: SKScene):void;
        /**
         * Tells you to peform any necessary logic after physics simulations are performed.
         */
        didSimulatePhysics(scene: SKScene):void;
        /**
         * Tells you to peform any necessary logic after constraints are applied.
         */
        didApplyConstraints(scene: SKScene):void;
        /**
         * Tells you to peform any necessary logic after the scene has finished all of the steps required to process animations.
         */
        didFinishUpdate(scene: SKScene):void;
    }
    export class SKLabelNode extends SKNode {
        /**
         * The string that the label node displays.
         */
        text: string;
        /**
         * The attributed string displayed by the label. 
         */
        attributedText: NSAttributedString | null;
        /**
         * The color of the label.
         */
        fontColor: UIColor | null;
        /**
         * The font used for the text in the label.
         */
        fontName: string;
        /**
         * The size of the font used in the label.
         */
        fontSize: CGFloat;
        /**
         * The vertical position of the text within the node.
         */
        verticalAlignmentMode: SKLabelVerticalAlignmentMode;
        /**
         * The horizontal position of the text within the node.
         */
        horizontalAlignmentMode: SKLabelHorizontalAlignmentMode;
        /**
         * The width, in screen points, after which line-break mode should be applied.
         */
        preferredMaxLayoutWidth: CGFloat;
        /**
         * Determines the line-break mode for multiple lines. 
         */
        lineBreakMode: NSLineBreakMode;
        /**
         * Determines the number of lines to draw. 
         */
        numberOfLines: number;
        /**
         * An alternative to the font color that can be used for animations. 
         */
        color: UIColor | null;
        /**
         * A floating-point value that describes how the color is blended with the font color.
         */
        colorBlendFactor: CGFloat;
        /**
         * The blend mode used to draw the label into the parent’s framebuffer.
         */
        blendMode: SKBlendMode;
        /**
         * Initializes a new label object with a specified font.
         */
        constructor (fontName: string);
        /**
         * Initializes a new label object with a text string.
         */
        constructor (text: string);
        /**
         * Initializes a new label object with an attributed text string.
         */
        constructor (attributedText: NSAttributedString | null);
    }
    export class SKVideoNode extends SKNode {
        /**
         * The point in the sprite that corresponds to the node’s position.
         */
        anchorPoint: CGPoint;
        /**
         * The dimensions of the video node, in points.
         */
        size: CGSize;
        /**
         * Initializes a video node using an existing 
         *  object.
         */
        constructor (player: AVPlayer);
        /**
         * Initializes a video node using a video file stored in the app bundle.
         */
        constructor (videoFile: string);
        /**
         * Initializes a video node using a URL.
         */
        constructor (url: URL);
        /**
         * Tells you when to initialize a video node that was created from an archive.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Initializes a video node using a video file stored in the app bundle.
         */
        constructor (videoFile: string);
        /**
         * Initializes a video node using a URL that points to a video file.
         */
        constructor (url: URL);
        /**
         * Starts video playback.
         */
        play():void;
        /**
         * Pauses video playback.
         */
        pause():void;
    }
    export class SKTileMapNode extends SKNode {
        /**
         * When creating a tile map node programmatically, specifies whether the tile map uses automapping behavior like the scene editor. 
         */
        enableAutomapping: boolean;
        /**
         * Defines the point in the tile map that corresponds to its 
         * .
         */
        anchorPoint: CGPoint;
        /**
         * The size of each tile in points.
         */
        tileSize: CGSize;
        /**
         * The tile set being used by this tile map. The tile map object can only display tiles that exist in this set.
         */
        tileSet: SKTileSet;
        /**
         * The number of columns in the tile map
         */
        numberOfColumns: number;
        /**
         * The number of rows in the tile map.
         */
        numberOfRows: number;
        /**
         * The overall size of the tile map. 
         */
        mapSize: CGSize;
        /**
         * The base color for the tile map. The influence of the color over the tile map node’s textures is controlled by 
         * . 
         */
        color: UIColor;
        /**
         * Controls the blending between the texture and the tile map object’s 
         * . Values are clamped between zero and one where zero has no color blending and one has the maximum color blending.
         */
        colorBlendFactor: CGFloat;
        /**
         * A mask that defines how the tile map is lit by light nodes in the scene.
         */
        lightingBitMask: UInt32;
        /**
         * Defines the blend mode to use when compositing the tile map over other nodes.
         */
        blendMode: SKBlendMode;
        /**
         * Defines a shader which is applied to each tile of the tile map.
         */
        shader: SKShader | null;
        /**
         * The values of each attribute associated with the node's attached shader.
         */
        attributeValues: Record<string, SKAttributeValue>;
        /**
         * Creates and initializes a tile map node using the provided tile set with a specified number of columns and rows. 
         */
        constructor (tileSet: SKTileSet, columns: number, rows: number, tileSize: CGSize);
        /**
         * Creates and initializes a tile map node using the provided tile set with a specified number of columns and rows. 
         */
        constructor (tileSet: SKTileSet, columns: number, rows: number, tileSize: CGSize, tileGroup: SKTileGroup);
        /**
         * Creates and initializes a tile map node using the provided tile set with a specified number of columns and rows. For a grid set type, the overall size, in points, of the node will be 
         * wide and
         *  high. 
         */
        constructor (tileSet: SKTileSet, columns: number, rows: number, tileSize: CGSize, tileGroupLayout: SKTileGroup[]);
        /**
         * Creates a tile map node by allowing a 
         *  to choose its tiles.
         */
        static tileMapNodes(tileSet: SKTileSet, columns: number, rows: number, tileSize: CGSize, noiseMap: GKNoiseMap, thresholds: NSNumber[]):SKTileMapNode[];
        /**
         * When creating a tile map node programmatically, this function performs a fill operation with the specified tile group.
         */
        fill(tileGroup: SKTileGroup | null):void;
        /**
         * Set the tile group and tile definition at the specified tile index.
         */
        setTileGroup(tileGroup: SKTileGroup, tileDefinition: SKTileDefinition, column: number, row: number):void;
        centerOfTile(column: number, row: number):CGPoint;
        tileColumnIndex(position: CGPoint):number;
        tileDefinition(column: number, row: number):SKTileDefinition | null;
        tileGroup(column: number, row: number):SKTileGroup | null;
        /**
         * Returns the tile map node object’s tile row index for the specified position in points.
         */
        tileRowIndex(position: CGPoint):number;
        /**
         * Sets an attribute value for an attached shader.
         */
        setValue(value: SKAttributeValue, key: string):void;
        /**
         * The value of a shader attribute.
         */
        value(key: string):SKAttributeValue | null;
    }
    export class SK3DNode extends SKNode {
        /**
         * The size of the image rendered by the node.
         */
        viewportSize: CGSize;
        /**
         * The SceneKit scene to render.
         */
        scnScene: SCNScene | null;
        /**
         * The Scene Kit node from which the scene’s contents are viewed when rendered.
         */
        pointOfView: SCNNode | null;
        /**
         * A Boolean value that determines whether Scene Kit automatically adds lights to a scene.
         */
        autoenablesDefaultLighting: boolean;
        /**
         * A Boolean value that determines whether the scene is playing.
         */
        isPlaying: boolean;
        /**
         * A Boolean value that determines whether Scene Kit restarts the scene time after all animations in the scene have played.
         */
        loops: boolean;
        /**
         * The current scene time.
         */
        sceneTime: TimeInterval;
        /**
         * Initializes a new 3D node.
         */
        constructor (viewportSize: CGSize);
        /**
         * Tells you when to initialize a 3D node that has been unarchived.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Searches the Scene Kit scene for objects corresponding to a point in the rendered image.
         */
        hitTest(point: CGPoint, options: Record<string, any> | null):SCNHitTestResult[];
        /**
         * Projects a point from the 3D world coordinate system of the SceneKit scene to the 2D viewport coordinate system of the SpriteKit node.
         */
        projectPoint(point: vector_float3):vector_float3;
        /**
         * Unprojects a point from the SpriteKit node’s 2D viewport coordinate system to the 3D world coordinate system of the SceneKit scene.
         */
        unprojectPoint(point: vector_float3):vector_float3;
    }
    export class SKAudioNode extends SKNode {
        /**
         * The audio node’s current audio asset.
         */
        avAudioNode: AVAudioNode | null;
        /**
         * A Boolean property that indicates whether the node’s audio is altered based on the position of the node.
         */
        isPositional: boolean;
        /**
         * A Boolean value that indicates whether the audio should play in a loop when the node is added to the scene.
         */
        autoplayLooped: boolean;
        /**
         * Initializes an audio node from an AVFoundation audio node.
         */
        constructor (node: AVAudioNode | null);
        /**
         * Initializes an audio node from an audio asset with the specified filename.
         */
        constructor (name: string);
        /**
         * Initializes an audio node from an audio asset with the specified URL.
         */
        constructor (url: URL);
        /**
         * Tells you when to initialize an audio node that has been unarchived.
         */
        constructor (aDecoder: NSCoder);
    }
    export class SKLightNode extends SKNode {
        /**
         * A Boolean value that indicates whether the node is casting light.
         */
        isEnabled: boolean;
        /**
         * A mask that defines which categories this light belongs to.
         */
        categoryBitMask: UInt32;
        /**
         * The ambient color of the light.
         */
        ambientColor: UIColor;
        /**
         * The diffuse and specular color of the light source.
         */
        lightColor: UIColor;
        /**
         * The color of any shadow cast by a sprite.
         */
        shadowColor: UIColor;
        /**
         * The exponent for the rate of decay of the light source.
         */
        falloff: CGFloat;
    }
    export class SKFieldNode extends SKNode {
        /**
         * A Boolean value that indicates whether the field is active.
         */
        isEnabled: boolean;
        /**
         * A Boolean value that indicates whether the field node should override all other field nodes that might otherwise affect physics bodies.
         */
        isExclusive: boolean;
        /**
         * The area (relative to the node’s origin) that the field affects.
         */
        region: SKRegion | null;
        /**
         * The minimum value for distance-based effects.
         */
        minimumRadius: Float;
        /**
         * A mask that defines which categories this field belongs to.
         */
        categoryBitMask: UInt32;
        /**
         * The strength of the field.
         */
        strength: Float;
        /**
         * The exponent that defines the rate of decay for the strength of the field as the distance increases between the node and the physics body being affected. 
         */
        falloff: Float;
        /**
         * The rate at which a noise or turbulence field node changes.
         */
        animationSpeed: Float;
        /**
         * The smoothness of the noise used to generate the forces.
         */
        smoothness: Float;
        /**
         * The direction of a velocity field node.
         */
        direction: vector_float3;
        /**
         * A normal texture that specifies the velocities at different points in a velocity field node.
         */
        texture: SKTexture | null;
        /**
         * Creates a field node that applies a force that resists the motion of physics bodies.
         */
        static dragField():SKFieldNode;
        /**
         * Creates a field node that applies an electrical force proportional to the electrical charge of physics bodies. 
         */
        static electricField():SKFieldNode;
        /**
         * Creates a field node that accelerates physics bodies in a specific direction.
         */
        static linearGravityField(direction: vector_float3):SKFieldNode;
        /**
         * Creates a field node that applies a magnetic force based on the velocity and electrical charge of the physics bodies. 
         */
        static magneticField():SKFieldNode;
        /**
         * Creates a field node that applies a randomized acceleration to physics bodies.
         */
        static noiseField(smoothness: CGFloat, speed: CGFloat):SKFieldNode;
        /**
         * Creates a field node that accelerates physics bodies toward the field node.
         */
        static radialGravityField():SKFieldNode;
        /**
         * Creates a field node that applies a spring-like force that pulls physics bodies toward the field node.
         */
        static springField():SKFieldNode;
        /**
         * Creates a field node that applies a randomized acceleration to physics bodies. 
         */
        static turbulenceField(smoothness: CGFloat, speed: CGFloat):SKFieldNode;
        /**
         * Creates a field node that sets the velocity of physics bodies that enter the node’s area based on the pixel values of a texture. 
         */
        static velocityField(velocityTexture: SKTexture):SKFieldNode;
        /**
         * Creates a field node that applies a perpendicular force to physics bodies.
         */
        static vortexField():SKFieldNode;
        /**
         * Creates a field node that calculates and applies a custom force to the physics body.
         */
        static customField(block: SKFieldForceEvaluator):SKFieldNode;
    }
    export class SKEffectNode extends SKNode {
        /**
         * The Core Image filter to apply.
         */
        filter: CIFilter | null;
        /**
         * A Boolean value that determines whether the effect node applies the filter to its children as they are drawn.
         */
        shouldEnableEffects: boolean;
        /**
         * A Boolean value that determines whether the effect node automatically sets the filter’s image center.
         */
        shouldCenterFilter: boolean;
        /**
         * A custom shader that is called when the effect node is blended into the parent’s framebuffer.
         */
        shader: SKShader | null;
        /**
         * The values of each attribute associated with the node's attached shader.
         */
        attributeValues: Record<string, SKAttributeValue>;
        /**
         * A Boolean value that indicates whether the results of rendering the child nodes should be cached.
         */
        shouldRasterize: boolean;
        /**
         * The blend mode used to draw the node's contents into its parent’s framebuffer.
         */
        blendMode: SKBlendMode;
        /**
         * Sets an attribute value for an attached shader.
         */
        setValue(value: SKAttributeValue, key: string):void;
        /**
         * Gets the value of a shader attribute.
         */
        value(key: string):SKAttributeValue | null;
    }
    export class SKCropNode extends SKNode {
        /**
         * The node used to determine the crop node’s mask.
         */
        maskNode: SKNode | null;
    }
    export class SKTransformNode extends SKNode {
        xRotation: CGFloat;
        yRotation: CGFloat;
        setEulerAngles(euler: vector_float3):void;
        setQuaternion(quaternion: simd_quatf):void;
        setRotationMatrix(rotationMatrix: matrix_float3x3):void;
        eulerAngles():vector_float3;
        quaternion():simd_quatf;
        rotationMatrix():matrix_float3x3;
    }
    export class SKView extends NSView,UIView {
        /**
         * The scene currently presented by this view.
         */
        scene: SKScene | null;
        /**
         * A Boolean value that indicates whether the view’s scene animations are paused.
         */
        isPaused: boolean;
        /**
         * The animation frame rate that the view uses to render its scene.
         */
        preferredFramesPerSecond: number;
        /**
         * A delegate that allows dynamic control of the view's render rate.
         */
        delegate: SKViewDelegate | null;
        /**
         * The number of frames that must pass before the scene is called to update its contents.
         */
        frameInterval: number;
        preferredFrameRate: Float;
        /**
         * A Boolean value that indicates whether parent-child and sibling relationships affect the rendering order of nodes in the scene.
         */
        ignoresSiblingOrder: boolean;
        /**
         * A Boolean value that indicates whether the view automatically culls non-visible nodes from the rendering tree.
         */
        shouldCullNonVisibleNodes: boolean;
        /**
         * A Boolean property that indicates whether the view is rendered using transparency.
         */
        allowsTransparency: boolean;
        /**
         * A Boolean value that indicates whether the content is rendered asynchronously.
         */
        isAsynchronous: boolean;
        /**
         * A Boolean value that indicates whether the view displays a frame rate indicator.
         */
        showsFPS: boolean;
        /**
         * A Boolean value that indicates whether the view displays an overlay that shows physics bodies that are visible in the scene.
         */
        showsNodeCount: boolean;
        /**
         * A Boolean value that indicates whether the view displays the number of drawing passes it needed to render the view.
         */
        showsDrawCount: boolean;
        /**
         * A Boolean value that indicates whether the view displays the number of rectangles used to render the scene.
         */
        showsQuadCount: boolean;
        /**
         * A Boolean value that indicates whether the view displays physics-related debugging information.
         */
        showsPhysics: boolean;
        /**
         * A Boolean value that indicates whether the view displays information about physics fields in the scene.
         */
        showsFields: boolean;
        disableDepthStencilBuffer: boolean;
        /**
         * Presents a scene.
         */
        presentScene(scene: SKScene | null):void;
        /**
         * Converts a point from scene coordinates to view coordinates.
         */
        convert(point: CGPoint, scene: SKScene):CGPoint;
        /**
         * Renders a portion of a node’s contents and returns the rendered image as a texture.
         */
        texture(node: SKNode, crop: CGRect):SKTexture | null;
    }
    export class SKTransition extends NSObject {
        /**
         * A Boolean value that determines whether the incoming scene is paused during the transition.
         */
        pausesIncomingScene: boolean;
        /**
         * A Boolean value that determines whether the outgoing scene is paused during the transition.
         */
        pausesOutgoingScene: boolean;
        /**
         * Creates a transition that uses a Core Image filter to perform the transition.
         */
        constructor (filter: CIFilter, sec: TimeInterval);
        /**
         * Creates a cross fade transition.
         */
        static crossFade(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the new scene appears as a pair of closing horizontal doors.
         */
        static doorsCloseHorizontal(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the new scene appears as a pair of closing vertical doors.
         */
        static doorsCloseVertical(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the new scene appears as a pair of opening horizontal doors.
         */
        static doorsOpenHorizontal(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the new scene appears as a pair of opening vertical doors.
         */
        static doorsOpenVertical(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the previous scene disappears as a pair of opening doors. 
         */
        static doorway(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition that first fades to a constant color and then fades to the new scene.
         */
        static fade(color: UIColor, sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the two scenes are flipped across a horizontal line running through the center of the view.
         */
        static flipHorizontal(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the two scenes are flipped across a vertical line running through the center of the view.
         */
        static flipVertical(sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the new scene moves in on top of the old scene.
         */
        static moveIn(direction: SKTransitionDirection, sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the new scene moves in, pushing the old scene out of the view.
         */
        static push(direction: SKTransitionDirection, sec: TimeInterval):SKTransition;
        /**
         * Creates a transition where the old scene moves out of the view, revealing the new scene underneath it.
         */
        static reveal(direction: SKTransitionDirection, sec: TimeInterval):SKTransition;
    }
    export interface SKViewDelegate extends NSObjectProtocol {
        /**
         * Specifies whether the view should render at the given time.
         */
        view(view: SKView, time: TimeInterval):boolean;
    }
    export class SKRenderer extends NSObject {
        /**
         * The scene this renderer will draw into the Metal command buffer.
         */
        scene: SKScene | null;
        ignoresSiblingOrder: boolean;
        shouldCullNonVisibleNodes: boolean;
        /**
         * A Boolean value that indicates whether the view displays an overlay that shows physics bodies that are visible in the scene.
         */
        showsNodeCount: boolean;
        /**
         * A Boolean value that indicates whether the view displays the number of drawing passes it needed to render the view.
         */
        showsDrawCount: boolean;
        /**
         * A Boolean value that indicates whether the view displays the number of rectangles used to render the scene.
         */
        showsQuadCount: boolean;
        /**
         * A Boolean value that indicates whether the view displays physics-related debugging information.
         */
        showsPhysics: boolean;
        /**
         * A Boolean value that indicates whether the view displays information about physics fields in the scene.
         */
        showsFields: boolean;
        /**
         * Initializes with a specific GPU to render into. 
         */
        constructor (device: MTLDevice);
        render(viewport: CGRect, commandBuffer: MTLCommandBuffer, renderPassDescriptor: MTLRenderPassDescriptor):void;
        update(currentTime: TimeInterval):void;
    }
    export class SKTexture extends NSObject {
        /**
         * The filtering mode used when the size of a sprite drawn with the texture is not drawn at the texture’s native size.
         */
        filteringMode: SKTextureFilteringMode;
        /**
         * A Boolean value that indicates whether the texture attempts to generate mipmaps.
         */
        usesMipmaps: boolean;
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Create a new texture object from an image file stored in the app bundle.
         */
        constructor (name: string);
        /**
         * Creates a new texture from a sub-rectangle of an existing texture.
         */
        constructor (rect: CGRect, texture: SKTexture);
        /**
         * Create a new texture object from an image object.
         */
        constructor (image: UIImage);
        /**
         * Create a new texture object from a Quartz 2D image.
         */
        constructor (image: CGImage);
        /**
         * Creates a new texture from raw pixel data.
         */
        constructor (pixelData: Data, size: CGSize);
        /**
         * Creates a new texture from custom formatted raw pixel data.
         */
        constructor (pixelData: Data, size: CGSize, rowLength: UInt32, alignment: UInt32);
        /**
         * Creates a new texture from raw pixel data.
         */
        constructor (pixelData: Data, size: CGSize, flipped: boolean);
        /**
         * Creates a new texture whose contents are procedurally generated directional noise data.
         */
        constructor (smoothness: CGFloat, size: CGSize);
        /**
         * Creates a new texture whose contents are procedurally generated color noise data.
         */
        constructor (smoothness: CGFloat, size: CGSize, grayscale: boolean);
        /**
         * Creates a texture from the specified noise map.
         */
        constructor (noiseMap: GKNoiseMap);
        /**
         * Creates a new texture by applying a Core Image filter to an existing texture.
         */
        applying(filter: CIFilter):Self;
        /**
         * Creates a normal map texture by analyzing the contents of an existing texture.
         */
        generatingNormalMap():Self;
        /**
         * Gets the size of the texture.
         */
        size():CGSize;
        /**
         * Gets a rectangle that defines the portion of the texture used to render its image.
         */
        textureRect():CGRect;
        /**
         * Returns the texture’s image data as a Quartz 2D image.
         */
        cgImage():CGImage;
        /**
         * Load texture data into memory, calling a completion handler after the task completes.
         */
        preload(completionHandler: ()=>any):void;
    }
    export class SKTextureAtlas extends NSObject {
        /**
         * The names of the texture images stored in the atlas.
         */
        textureNames: string[];
        /**
         * A custom playground quick look for this instance.
         */
        customPlaygroundQuickLook: PlaygroundQuickLook;
        /**
         * Creates a texture atlas from data stored in the app bundle.
         */
        constructor (name: string);
        /**
         * Creates a texture atlas from a set of image files.
         */
        constructor (properties: Record<string, any>);
        /**
         * Loads the textures of multiple atlas objects into memory, calling a completion handler after the task completes.
         */
        static preloadTextureAtlases(textureAtlases: SKTextureAtlas[], completionHandler: ()=>any):void;
        /**
         * Loads the textures of multiple atlases into memory, calling a completion handler after the task completes.
         */
        static preloadTextureAtlasesNamed(atlasNames: string[], completionHandler: ()=>any):void;
        /**
         * Creates a texture from data stored in the texture atlas.
         */
        textureNamed(name: string):SKTexture;
        /**
         * Loads an atlas object’s textures into memory, calling a completion handler after the task completes.
         */
        preload(completionHandler: ()=>any):void;
    }
    export class SKMutableTexture extends SKTexture {
        /**
         * Initializes an empty texture with a specific size and format.
         */
        constructor (size: CGSize, format: Int32);
        /**
         * Initializes an empty texture with a specific size.
         */
        constructor (size: CGSize);
        /**
         * Modifies the contents of a mutable texture.
         */
        modifyPixelData(block: ()=>any):void;
    }
    export class SKAction extends NSObject {
        /**
         * The duration required to complete an action.
         */
        duration: TimeInterval;
        /**
         * A setting that controls the speed curve of an animation.
         */
        timingMode: SKActionTimingMode;
        /**
         * A block used to customize the timing function.
         */
        timingFunction: SKActionTimingFunction;
        /**
         * Creates an action of the given name from an action file.
         */
        constructor (name: string);
        /**
         * Creates an action of the given name from an action file with a new duration.
         */
        constructor (name: string, duration: TimeInterval);
        /**
         * Creates an action of the given name from an action file.
         */
        constructor (name: string, url: URL);
        /**
         * Creates an action of the given name from an action file with a new duration.
         */
        constructor (name: string, url: URL, duration: TimeInterval);
        /**
         * Creates an action that moves a node relative to its current position.
         */
        static moveBy(deltaX: CGFloat, deltaY: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that moves a node relative to its current position.
         */
        static move(delta: CGVector, duration: TimeInterval):SKAction;
        /**
         * Creates an action that moves a node horizontally.
         */
        static moveTo(x: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that moves the node along a relative path, orienting the node to the path.
         */
        static follow(path: CGPath, duration: TimeInterval):SKAction;
        /**
         * Creates an action that rotates the node by a relative value.
         */
        static rotate(radians: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes how fast the node executes actions by a relative value.
         */
        static speed(speed: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes the x and y scale values of a node by a relative value.
         */
        static scale(scale: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that adds relative values to the x and y scale values of a node.
         */
        static scaleX(xScale: CGFloat, yScale: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes the y scale value of a node to a new value.
         */
        static scaleY(scale: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes the alpha value of the node to 
         * .
         */
        static fadeIn(duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes the alpha value of the node to 
         * .
         */
        static fadeOut(duration: TimeInterval):SKAction;
        /**
         * Creates an action that adjusts the alpha value of a node by a relative value.
         */
        static fadeAlpha(factor: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that adjusts the size of a sprite.
         */
        static resize(width: CGFloat, height: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes a sprite’s texture.
         */
        static setTexture(texture: SKTexture):SKAction;
        /**
         * Creates an action that animates changes to a sprite’s texture.
         */
        static animate(textures: SKTexture[], sec: TimeInterval):SKAction;
        /**
         * Creates an action that changes a sprite’s normal texture.
         */
        static setNormalTexture(texture: SKTexture):SKAction;
        /**
         * Creates an animation that animates a sprite’s color and blend factor.
         */
        static colorize(color: UIColor, colorBlendFactor: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that applies a force to the center of gravity of a node’s physics body.
         */
        static applyForce(force: CGVector, duration: TimeInterval):SKAction;
        /**
         * Creates an action that applies a torque to a node’s physics body.
         */
        static applyTorque(torque: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that applies an impulse to the center of gravity of a physics body.
         */
        static applyImpulse(impulse: CGVector, duration: TimeInterval):SKAction;
        /**
         * Creates an action that applies an angular impulse to a node’s physics body.
         */
        static applyAngularImpulse(impulse: CGFloat, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes the charge of a node’s physics body to a new value.
         */
        static changeCharge(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes the mass of a node’s physics body to a new value.
         */
        static changeMass(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that animates a change of a physics field’s strength.
         */
        static strength(strength: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that animates a change of a physics field’s falloff.
         */
        static falloff(falloff: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action to distort a node based using an 
         *  object.  
         */
        static warp(warp: SKWarpGeometry, duration: TimeInterval):SKAction | null;
        /**
         * Creates an action that plays a sound.
         */
        static playSoundFileNamed(soundFile: string, wait: boolean):SKAction;
        /**
         * Creates an action that tells an audio node to start playback.
         */
        static play():SKAction;
        /**
         * Creates an action that tells an audio node to pause playback.
         */
        static pause():SKAction;
        /**
         * Creates an action that tells an audio node to stop playback.
         */
        static stop():SKAction;
        /**
         * Creates an action that changes an audio node’s playback rate to a new value.
         */
        static changePlaybackRate(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes an audio node’s volume to a new value.
         */
        static changeVolume(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes an audio node’s obstruction to a new value.
         */
        static changeObstruction(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes an audio node’s occlusion to a new value.
         */
        static changeOcclusion(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes an audio node’s reverb to a new value.
         */
        static changeReverb(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that changes an audio node’s stereo panning to a new value.
         */
        static stereoPan(v: Float, duration: TimeInterval):SKAction;
        /**
         * Creates an action that removes the node from its parent.
         */
        static removeFromParent():SKAction;
        /**
         * Creates an action that runs an action on a named child object.
         */
        static run(action: SKAction, name: string):SKAction;
        /**
         * Creates an action that runs a collection of actions in parallel.
         */
        static group(actions: SKAction[]):SKAction;
        /**
         * Creates an action that runs a collection of actions sequentially.
         */
        static sequence(actions: SKAction[]):SKAction;
        /**
         * Creates an action that repeats another action a specified number of times.
         */
        static repeat(action: SKAction, count: number):SKAction;
        /**
         * Creates an action that repeats another action forever.
         */
        static repeatForever(action: SKAction):SKAction;
        /**
         * Creates an action that idles for a specified period of time.
         */
        static wait(duration: TimeInterval):SKAction;
        /**
         * Creates an action that performs an inverse kinematic reach.
         */
        static reach(position: CGPoint, root: SKNode, duration: TimeInterval):SKAction;
        /**
         * Creates an action that executes a block over a duration.
         */
        static customAction(duration: TimeInterval, block: ()=>any):SKAction;
        /**
         * Creates an action that calls a method on an object.
         */
        static perform(selector: Selector, target: any):SKAction;
        /**
         * Creates an action that makes a node visible.
         */
        static unhide():SKAction;
        /**
         * Creates an action that hides a node.
         */
        static hide():SKAction;
        /**
         * Creates an action that reverses the behavior of another action.
         */
        reversed():SKAction;
    }
    export enum SKActionTimingMode {
        linear = 0,
        easeIn = 1,
        easeOut = 2,
        easeInEaseOut = 3,
    }
    export class SKConstraint extends NSObject {
        /**
         * The node whose coordinate system should be used to apply the constraint.
         */
        referenceNode: SKNode | null;
        /**
         * A Boolean value that specifies whether the constraint is applied.
         */
        enabled: boolean;
        /**
         * Creates a constraint that restricts both coordinates of a node’s position.
         */
        static positionX(xRange: SKRange, yRange: SKRange):Self;
        /**
         * Creates a constraint that restricts the y-coordinate of a node’s position.
         */
        static positionY(range: SKRange):Self;
        /**
         * Creates a constraint that forces a node to rotate to face another node.
         */
        static orient(node: SKNode, radians: SKRange):Self;
        /**
         * Creates a constraint that limits the orientation of a node.
         */
        static zRotation(zRange: SKRange):Self;
        /**
         * Creates a constraint that keeps a node within a certain distance of another node.
         */
        static distance(range: SKRange, node: SKNode):Self;
    }
    export class SKReachConstraints extends NSObject {
        /**
         * The minimum angle that the node can have after it is rotated by a reach event.
         */
        lowerAngleLimit: CGFloat;
        /**
         * The maximum angle that the node can have after it is rotated by a reach event.
         */
        upperAngleLimit: CGFloat;
        /**
         * Initializes a new reach constraint object.
         */
        constructor (lowerAngleLimit: CGFloat, upperAngleLimit: CGFloat);
    }
    export class SKKeyframeSequence extends NSObject {
        /**
         * The mode used to determine how values for times between the keyframes are calculated.
         */
        interpolationMode: SKInterpolationMode;
        /**
         * The mode used to determine how the keyframe sequence repeats.
         */
        repeatMode: SKRepeatMode;
        /**
         * Initializes a keyframe sequence with an initial set of values and times.
         */
        constructor (values: any[], times: NSNumber[]);
        /**
         * Initializes a new keyframe sequence.
         */
        constructor (numItems: number);
        constructor (aDecoder: NSCoder);
        /**
         * Adds a keyframe to the sequence.
         */
        addKeyframeValue(value: any, time: CGFloat):void;
        /**
         * Removes a keyframe from the sequence.
         */
        removeKeyframe(index: number):void;
        /**
         * Removes the last value in the sequence.
         */
        removeLastKeyframe():void;
        /**
         * Changes the time for a specific keyframe.
         */
        setKeyframeTime(time: CGFloat, index: number):void;
        /**
         * Changes the value for a specific keyframe.
         */
        setKeyframeValue(value: any, index: number):void;
        /**
         * Calculates the sample at a particular time.
         */
        sample(time: CGFloat):any;
        /**
         * The number of keyframes in the sequence.
         */
        count():number;
        /**
         * Gets the time for a keyframe in the sequence.
         */
        getKeyframeTime(index: number):CGFloat;
        /**
         * Gets the value for a keyframe in the sequence.
         */
        getKeyframeValue(index: number):any;
    }
    export class SKRange extends NSObject {
        /**
         * The minimum possible value.
         */
        lowerLimit: CGFloat;
        /**
         * The maximum possible value.
         */
        upperLimit: CGFloat;
        /**
         * Creates and initializes a new range object using a value and a maximum distance from that value.
         */
        constructor (value: CGFloat, variance: CGFloat);
        /**
         * Creates and initializes a new range object that specifies only a minimum value.
         */
        constructor (lower: CGFloat);
        /**
         * Creates and initializes a new range object that specifies only a maximum value.
         */
        constructor (upper: CGFloat);
        /**
         * Creates and initializes a new range object that specifies a constant value.
         */
        constructor (value: CGFloat);
        /**
         * Initializes a new range object.
         */
        constructor (lower: CGFloat, upper: CGFloat);
        /**
         * Creates and initializes a new range object that encompasses all possible values.
         */
        static withNoLimits():Self;
    }
    export class SKRegion extends NSObject {
        /**
         * Returns a Core Graphics path that defines the region.
         */
        path: CGPath | null;
        /**
         * Initializes a new region with a rectangular area.
         */
        constructor (size: CGSize);
        /**
         * Initializes a new region with a circular area.
         */
        constructor (radius: Float);
        /**
         * Initializes a new region using a Core Graphics path.
         */
        constructor (path: CGPath);
        /**
         * Returns a region that defines a region that includes all points.
         */
        static infinite():Self;
        /**
         * Returns a new region that is the mathematical inverse of an existing region.
         */
        inverse():Self;
        /**
         * Returns a new region created by subtracting the contents of another region from this region.
         */
        byDifference(region: SKRegion):Self;
        /**
         * Returns a new region created by intersecting the contents of this region with another region.
         */
        byIntersection(region: SKRegion):Self;
        /**
         * Returns a new region created by combining the contents of this region with another region.
         */
        byUnion(region: SKRegion):Self;
        /**
         * Returns a Boolean value that indicates whether a particular point is contained in the region.
         */
        contains(point: CGPoint):boolean;
    }
    export class SKPhysicsWorld extends NSObject {
        /**
         * A vector that specifies the gravitational acceleration applied to physics bodies in the physics world.
         */
        gravity: CGVector;
        /**
         * The rate at which the simulation executes.
         */
        speed: CGFloat;
        /**
         * A delegate that is called when two physics bodies come in contact with each other.
         */
        contactDelegate: SKPhysicsContactDelegate | null;
        /**
         * Adds a joint to the physics world. 
         */
        add(joint: SKPhysicsJoint):void;
        /**
         * Removes all joints from the physics world.
         */
        removeAllJoints():void;
        /**
         * Removes a specific joint from the physics world.
         */
        remove(joint: SKPhysicsJoint):void;
        /**
         * Searches for the first physics body that intersects a ray.
         */
        body(start: CGPoint, end: CGPoint):SKPhysicsBody | null;
        /**
         * Enumerates all the physics bodies in the scene that intersect a ray.
         */
        enumerateBodies(start: CGPoint, end: CGPoint, block: ()=>any):void;
        /**
         * Samples all of the field nodes in the scene and returns the summation of their forces at that point.
         */
        sampleFields(position: vector_float3):vector_float3;
    }
    export class SKPhysicsBody extends NSObject {
        /**
         * A Boolean value that indicates whether this physics body is affected by the physics world’s gravity.
         */
        affectedByGravity: boolean;
        /**
         * A Boolean value that indicates whether the physics body is affected by angular forces and impulses applied to it.
         */
        allowsRotation: boolean;
        /**
         * A Boolean value that indicates whether the physics body is moved by the physics simulation.
         */
        isDynamic: boolean;
        /**
         * The mass of the body, in kilograms.
         */
        mass: CGFloat;
        /**
         * The density of the object, in kilograms per square meter.
         */
        density: CGFloat;
        /**
         * The area covered by the body.
         */
        area: CGFloat;
        /**
         * The roughness of the surface of the physics body.
         */
        friction: CGFloat;
        /**
         * The bounciness of the physics body.
         */
        restitution: CGFloat;
        /**
         * A property that reduces the body’s linear velocity.
         */
        linearDamping: CGFloat;
        /**
         * A property that reduces the body’s rotational velocity. 
         */
        angularDamping: CGFloat;
        /**
         * A mask that defines which categories this physics body belongs to.
         */
        categoryBitMask: UInt32;
        /**
         * A mask that defines which categories of physics bodies can collide with this physics body.
         */
        collisionBitMask: UInt32;
        /**
         * A Boolean value that determines whether the physics world uses an iterative collision detection algorithm.
         */
        usesPreciseCollisionDetection: boolean;
        /**
         * A mask that defines which categories of physics bodies cause intersection notifications with this physics body.
         */
        contactTestBitMask: UInt32;
        /**
         * The physics body’s velocity vector, measured in meters per second.
         */
        velocity: CGVector;
        /**
         * The physics body’s angular speed.
         */
        angularVelocity: CGFloat;
        /**
         * A Boolean property that indicates whether the object is at rest within the physics simulation.
         */
        isResting: boolean;
        /**
         * The node that this body is connected to.
         */
        node: SKNode | null;
        /**
         * The joints connected to this physics body.
         */
        joints: SKPhysicsJoint[];
        /**
         * A mask that defines which categories of physics fields can exert forces on this physics body.
         */
        fieldBitMask: UInt32;
        /**
         * The electrical charge of the physics body.
         */
        charge: CGFloat;
        /**
         * A Boolean value that indicates whether the physics body’s node is pinned to its parent node.
         */
        pinned: boolean;
        /**
         * Creates a circular physics body centered on the owning node’s origin.
         */
        constructor (r: CGFloat);
        /**
         * Creates a circular physics body centered on an arbitrary point.
         */
        constructor (r: CGFloat, center: CGPoint);
        /**
         * Creates a rectangular physics body centered on the owning node’s origin.
         */
        constructor (s: CGSize);
        /**
         * Creates a rectangular physics body centered on an arbitrary point.
         */
        constructor (s: CGSize, center: CGPoint);
        /**
         * Creates a polygonal physics body.
         */
        constructor (path: CGPath);
        /**
         * Creates a physics body from the contents of a texture.
         */
        constructor (texture: SKTexture, size: CGSize);
        /**
         * Creates a physics body from the contents of a texture, capturing only the texels that exceed a specified transparency value.
         */
        constructor (texture: SKTexture, alphaThreshold: Float, size: CGSize);
        /**
         * Creates a physics body that's shaped like a union of the argument physics bodies.
         */
        constructor (bodies: SKPhysicsBody[]);
        /**
         * Creates an edge loop from a rectangle.
         */
        constructor (rect: CGRect);
        /**
         * Creates an edge between two points.
         */
        constructor (p1: CGPoint, p2: CGPoint);
        /**
         * Creates an edge chain from a path.
         */
        constructor (path: CGPath);
        /**
         * The physics bodies that this physics body is in contact with.
         */
        allContactedBodies():SKPhysicsBody[];
        /**
         * Applies a force to the center of gravity of a physics body.
         */
        applyForce(force: CGVector):void;
        /**
         * Applies torque to an object.
         */
        applyTorque(torque: CGFloat):void;
        /**
         * Applies an impulse to the center of gravity of a physics body.
         */
        applyImpulse(impulse: CGVector):void;
        /**
         * Applies an impulse that imparts angular momentum to an object.
         */
        applyAngularImpulse(impulse: CGFloat):void;
    }
    export class SKPhysicsContact extends NSObject {
        /**
         * The first body in the contact.
         */
        bodyA: SKPhysicsBody;
        /**
         * The second body in the contact.
         */
        bodyB: SKPhysicsBody;
        /**
         * The contact point between the two physics bodies, in scene coordinates.
         */
        contactPoint: CGPoint;
        /**
         * The impulse that specifies how hard these two bodies struck each other in Newton-seconds.
         */
        collisionImpulse: CGFloat;
        /**
         * The normal vector specifying the direction of the collision.
         */
        contactNormal: CGVector;
    }
    export interface SKPhysicsContactDelegate extends NSObjectProtocol {
        /**
         * Called when two bodies first contact each other.
         */
        didBegin(contact: SKPhysicsContact):void;
        /**
         * Called when the contact ends between two physics bodies.
         */
        didEnd(contact: SKPhysicsContact):void;
    }
    export class SKPhysicsJoint extends NSObject {
        /**
         * The first body connected by the joint.
         */
        bodyA: SKPhysicsBody;
        /**
         * The second body connected by the joint.
         */
        bodyB: SKPhysicsBody;
        /**
         * The instantaneous reaction force, in newtons, currently being directed at the anchor point.
         */
        reactionForce: CGVector;
        /**
         * Instantaneous reaction torque, in newton-meters,  currently being directed at the anchor point.
         */
        reactionTorque: CGFloat;
    }
    export class SKPhysicsJointFixed extends SKPhysicsJoint {
        /**
         * Creates a new fixed joint.
         */
        static joint(bodyA: SKPhysicsBody, bodyB: SKPhysicsBody, anchor: CGPoint):SKPhysicsJointFixed;
    }
    export class SKPhysicsJointLimit extends SKPhysicsJoint {
        /**
         * The maximum distance allowed between the two physics bodies connected by the limit joint.
         */
        maxLength: CGFloat;
        /**
         * Creates a new limit joint.
         */
        static joint(bodyA: SKPhysicsBody, bodyB: SKPhysicsBody, anchorA: CGPoint, anchorB: CGPoint):SKPhysicsJointLimit;
    }
    export class SKPhysicsJointPin extends SKPhysicsJoint {
        /**
         * The speed, in radians per second, at which the physics bodies are driven around the pin joint. 
         */
        rotationSpeed: CGFloat;
        /**
         * A Boolean value that indicates whether the pin joint’s rotation is limited to a specific range of values. 
         */
        shouldEnableLimits: boolean;
        /**
         * The smallest angle allowed for the pin joint, in radians.
         */
        lowerAngleLimit: CGFloat;
        /**
         * The largest angle allowed for the pin joint, in radians.
         */
        upperAngleLimit: CGFloat;
        /**
         * The resistance applied by the pin joint to spinning around the anchor point.
         */
        frictionTorque: CGFloat;
        /**
         * Creates a new pin joint.
         */
        static joint(bodyA: SKPhysicsBody, bodyB: SKPhysicsBody, anchor: CGPoint):SKPhysicsJointPin;
    }
    export class SKPhysicsJointSliding extends SKPhysicsJoint {
        /**
         * A Boolean value that indicates whether the sliding joint is restricted so that the objects may only slide a finite distance from the initial anchor point.
         */
        shouldEnableLimits: boolean;
        /**
         * The smallest distance allowed for the sliding joint.
         */
        lowerDistanceLimit: CGFloat;
        /**
         * The largest distance allowed for the sliding joint.
         */
        upperDistanceLimit: CGFloat;
        /**
         * Creates a new sliding joint.
         */
        static joint(bodyA: SKPhysicsBody, bodyB: SKPhysicsBody, anchor: CGPoint, axis: CGVector):SKPhysicsJointSliding;
    }
    export class SKPhysicsJointSpring extends SKPhysicsJoint {
        /**
         * Defines how the spring’s motion should be damped due to the forces of friction.
         */
        damping: CGFloat;
        /**
         * Defines the frequency or stiffness characteristics of the spring.
         */
        frequency: CGFloat;
        /**
         * Creates a new spring joint.
         */
        static joint(bodyA: SKPhysicsBody, bodyB: SKPhysicsBody, anchorA: CGPoint, anchorB: CGPoint):SKPhysicsJointSpring;
    }
    export class SKTileDefinition extends NSObject {
        /**
         * A Boolean that flips the definition’s image vertically.
         */
        flipHorizontally: boolean;
        /**
         * A Boolean that flips the definition’s image horizontally.
         */
        flipVertically: boolean;
        /**
         * The rotation of the tile definition in 90˚ increments. 
         */
        rotation: SKTileDefinitionRotation;
        /**
         * An array of 
         *  objects that defines the tile definition object's content. 
         */
        textures: SKTexture[];
        /**
         * An array of 
         *  objects used to generate the normals for the tile to simulate 3D lighting.
         */
        normalTextures: SKTexture[];
        /**
         * The duration, in seconds, that each texture in the textures array is displayed before switching to the next texture in the sequence.
         */
        timePerFrame: CGFloat;
        /**
         * A dictionary containing arbitrary data.
         */
        userData: NSMutableDictionary | null;
        /**
         * A name associated with the tile definition.
         */
        name: string;
        /**
         * The placement weight of the tile definition. 
         */
        placementWeight: number;
        /**
         * The size of the tile definition in points. 
         */
        size: CGSize;
        /**
         * Initializes a new tile definition with a single texture. 
         */
        constructor (texture: SKTexture);
        /**
         * Initializes a new tile definition with a single texture and separate normal texture for simulating 3D lighting.
         */
        constructor (texture: SKTexture, normalTexture: SKTexture, size: CGSize);
        /**
         * Initializes a new tile definition of a specified size with a single texture. 
         */
        constructor (texture: SKTexture, size: CGSize);
        /**
         * Initializes a new tile definition with arrays of textures and normal textures for animation.
         */
        constructor (textures: SKTexture[], normalTextures: SKTexture[], size: CGSize, timePerFrame: CGFloat);
        /**
         * Initializes a new tile definition with an array of textures for animation. 
         */
        constructor (textures: SKTexture[], size: CGSize, timePerFrame: CGFloat);
    }
    export class SKTileGroup extends NSObject {
        /**
         * The receiver's name. 
         */
        name: string;
        /**
         * An array of 
         *  objects that the tile group uses to determine tile placement. 
         */
        rules: SKTileGroupRule[];
        /**
         * Creates and initializes a simple tile group with a single tile definition. 
         */
        constructor (tileDefinition: SKTileDefinition);
        /**
         * Creates and initializes a tile group with the specified tile group rules. 
         */
        constructor (rules: SKTileGroupRule[]);
        /**
         * Creates an empty tile that erases the existing tile at that location on a tile map.
         */
        static empty():Self;
    }
    export class SKTileGroupRule extends NSObject {
        /**
         * The adjacency requirement for this rule. 
         */
        adjacency: SKTileAdjacencyMask;
        /**
         * A name associated with the tile group rule.
         */
        name: string;
        /**
         * The tile definitions used for this rule.
         */
        tileDefinitions: SKTileDefinition[];
        /**
         * Initializes a new tile group rule with adjacency rules and tile definitions.
         */
        constructor (adjacency: SKTileAdjacencyMask, tileDefinitions: SKTileDefinition[]);
    }
    export class SKTileAdjacencyMask {
        static adjacencyAll: SKTileAdjacencyMask;
        static adjacencyDown: SKTileAdjacencyMask;
        static adjacencyDownEdge: SKTileAdjacencyMask;
        static adjacencyLeft: SKTileAdjacencyMask;
        static adjacencyLeftEdge: SKTileAdjacencyMask;
        static adjacencyLowerLeft: SKTileAdjacencyMask;
        static adjacencyLowerLeftCorner: SKTileAdjacencyMask;
        static adjacencyLowerLeftEdge: SKTileAdjacencyMask;
        static adjacencyLowerRight: SKTileAdjacencyMask;
        static adjacencyLowerRightCorner: SKTileAdjacencyMask;
        static adjacencyLowerRightEdge: SKTileAdjacencyMask;
        static adjacencyRight: SKTileAdjacencyMask;
        static adjacencyRightEdge: SKTileAdjacencyMask;
        static adjacencyUp: SKTileAdjacencyMask;
        static adjacencyUpEdge: SKTileAdjacencyMask;
        static adjacencyUpperLeft: SKTileAdjacencyMask;
        static adjacencyUpperLeftCorner: SKTileAdjacencyMask;
        static adjacencyUpperLeftEdge: SKTileAdjacencyMask;
        static adjacencyUpperRight: SKTileAdjacencyMask;
        static adjacencyUpperRightCorner: SKTileAdjacencyMask;
        static adjacencyUpperRightEdge: SKTileAdjacencyMask;
        static hexFlatAdjacencyAll: SKTileAdjacencyMask;
        static hexFlatAdjacencyDown: SKTileAdjacencyMask;
        static hexFlatAdjacencyLowerLeft: SKTileAdjacencyMask;
        static hexFlatAdjacencyLowerRight: SKTileAdjacencyMask;
        static hexFlatAdjacencyUp: SKTileAdjacencyMask;
        static hexFlatAdjacencyUpperLeft: SKTileAdjacencyMask;
        static hexFlatAdjacencyUpperRight: SKTileAdjacencyMask;
        static hexPointyAdjacencyAdd: SKTileAdjacencyMask;
        static hexPointyAdjacencyLeft: SKTileAdjacencyMask;
        static hexPointyAdjacencyLowerLeft: SKTileAdjacencyMask;
        static hexPointyAdjacencyLowerRight: SKTileAdjacencyMask;
        static hexPointyAdjacencyRight: SKTileAdjacencyMask;
        static hexPointyAdjacencyUpperLeft: SKTileAdjacencyMask;
        static hexPointyAdjacencyUpperRight: SKTileAdjacencyMask;
        constructor (rawValue: number);
    }
    export class SKTileSet extends NSObject {
        /**
         * The tile set's default tile group.
         */
        defaultTileGroup: SKTileGroup | null;
        /**
         * The tile set's default tile size.
         */
        defaultTileSize: CGSize;
        /**
         * A name associated with the tile set.
         */
        name: string;
        /**
         * The tile set's array of tile group objects. 
         */
        tileGroups: SKTileGroup[];
        /**
         * The tile set's type. 
         */
        type: SKTileSetType;
        /**
         * Initializes a tile set by searching the app bundle for an archived 
         *  file by name. 
         */
        constructor (name: string);
        /**
         * Initializes a tile set from a URL to an archived .sks file. 
         */
        constructor (url: URL);
        /**
         * Initializes a new tile set with an array of tile groups and rectangular grid layout.
         */
        constructor (tileGroups: SKTileGroup[]);
        /**
         * Initializes a new tile set with an array of tile groups and specified layout.
         */
        constructor (tileGroups: SKTileGroup[], tileSetType: SKTileSetType);
    }
    export class SKShader extends NSObject {
        /**
         * The list of uniforms associated with the shader.
         */
        uniforms: SKUniform[];
        /**
         * The list of attributes associated with the shader. 
         */
        attributes: SKAttribute[];
        /**
         * The source code for the shader.
         */
        source: string;
        /**
         * Creates a new shader object by loading the source for a fragment shader from a file stored in the app’s bundle.
         */
        constructor (name: string);
        /**
         * Initializes a new shader object using the specified source and uniform data.
         */
        constructor (source: string, uniforms: SKUniform[]);
        /**
         * Initializes a new shader object using the specified source code.
         */
        constructor (source: string);
        /**
         * Adds a uniform to the shader.
         */
        addUniform(uniform: SKUniform):void;
        /**
         * Removes a uniform from the shader.
         */
        removeUniformNamed(name: string):void;
        /**
         * Returns the uniform object corresponding to a particular uniform variable.
         */
        uniformNamed(name: string):SKUniform | null;
    }
    export class SKAttribute extends NSObject {
        /**
         * The receiver's name
         */
        name: string;
        /**
         * The data type of the attribute's value. 
         */
        type: SKAttributeType;
        /**
         * Creates and initializes a new attribute object of a specified type with a name that can be referenced within the shader.
         */
        constructor (name: string, type: SKAttributeType);
    }
    export enum SKAttributeType {
        float = 1,
        halfFloat = 5,
        none = 0,
        vectorFloat2 = 2,
        vectorFloat3 = 3,
        vectorFloat4 = 4,
        vectorHalfFloat2 = 6,
        vectorHalfFloat3 = 7,
        vectorHalfFloat4 = 8,
    }
    export class SKAttributeValue extends NSObject {
        /**
         * The receiver’s floating point value.
         */
        floatValue: Float;
        /**
         * The receiver’s value as a vector of two floating-point numbers. 
         */
        vectorFloat2Value: vector_float2;
        /**
         * The receiver’s value as a vector of three floating point numbers. 
         */
        vectorFloat3Value: vector_float3;
        /**
         * The receiver’s value as a vector of four floating point numbers. 
         */
        vectorFloat4Value: vector_float4;
        /**
         * Creates and initializes a new attribute value object
         */
        constructor ();
        /**
         * Creates and initializes a new attribute value object that holds a floating point number.
         */
        constructor (value: Float);
        /**
         * Creates and initializes a new attribute value object that holds a vector of two floating point numbers.
         */
        constructor (value: vector_float2);
        /**
         * Creates and initializes a new attribute value object that holds a vector of three floating point numbers.
         */
        constructor (value: vector_float3);
        /**
         * Creates and initializes a new attribute value object that holds a vector of four floating point numbers.
         */
        constructor (value: vector_float4);
    }
    export class SKUniform extends NSObject {
        /**
         * The uniform’s name.
         */
        name: string;
        /**
         * The uniform object’s data type.
         */
        uniformType: SKUniformType;
        /**
         * The receiver’s value as a floating-point value.
         */
        floatValue: Float;
        /**
         * The receiver’s value as a vector of two floating-point values.
         */
        floatVector2Value: GLKVector2;
        /**
         * The receiver’s value as a vector of three floating-point values.
         */
        floatVector3Value: GLKVector3;
        /**
         * The receiver’s value as a vector of four floating-point values.
         */
        floatVector4Value: GLKVector4;
        /**
         * The receiver’s value as a 
         *  matrix of floating-point values.
         */
        floatMatrix2Value: GLKMatrix2;
        /**
         * The receiver’s value as a 
         *  matrix of floating-point values.
         */
        floatMatrix3Value: GLKMatrix3;
        /**
         * The receiver’s value as a 
         *  matrix of floating-point values.
         */
        floatMatrix4Value: GLKMatrix4;
        /**
         * The receiver’s value as a SpriteKit texture.
         */
        textureValue: SKTexture | null;
        matrixFloat2x2Value: matrix_float2x2;
        matrixFloat3x3Value: matrix_float3x3;
        matrixFloat4x4Value: matrix_float4x4;
        vectorFloat2Value: vector_float2;
        vectorFloat3Value: vector_float3;
        vectorFloat4Value: vector_float4;
        /**
         * Initializes a new uniform object.
         */
        constructor (name: string);
        /**
         * Initializes a new uniform object that holds a floating-point number.
         */
        constructor (name: string, value: Float);
        /**
         * Initializes a new uniform object that holds a reference to a texture.
         */
        constructor (name: string, texture: SKTexture | null);
        constructor (name: string, value: matrix_float2x2);
        constructor (name: string, value: matrix_float3x3);
        constructor (name: string, value: matrix_float4x4);
        constructor (name: string, value: vector_float2);
        constructor (name: string, value: vector_float3);
        constructor (name: string, value: vector_float4);
    }
    export class SKWarpGeometry extends NSObject {}
    export class SKWarpGeometryGrid extends SKWarpGeometry {
        /**
         * The object's number of columns. 
         */
        numberOfColumns: number;
        /**
         * The object's number of rows. 
         */
        numberOfRows: number;
        /**
         * The object's total number of vertices. 
         */
        vertexCount: number;
        /**
         * Creates a warp geometry grid of a specified size.
         */
        constructor (cols: number, rows: number);
        /**
         * Creates a warp geometry grid of a specific size and warp translation, in point arrays.
         */
        constructor (columns: number, rows: number, sourcePositions: SIMD2<Float>[], destinationPositions: SIMD2<Float>[]);
        /**
         * Tells you when to intialize a grid that was loaded from an archive.
         */
        constructor (aDecoder: NSCoder);
        /**
         * Returns the destination position of a vertex.
         */
        destPosition(index: number):vector_float2;
        /**
         * Returns a copy of this grid, updated with the argument destination positions. 
         */
        replacingByDestinationPositions(destination: SIMD2<Float>[]):SKWarpGeometryGrid;
        /**
         * Returns a copy of this grid, updated with the argument source positions. 
         */
        replacingBySourcePositions(source: SIMD2<Float>[]):SKWarpGeometryGrid;
        /**
         * Returns the source position of a vertex.
         */
        sourcePosition(index: number):vector_float2;
    }
    export interface SKWarpable extends NSObjectProtocol {
        /**
         * The maximum number of subdivision iterations used to generate the final vertices.
         */
        subdivisionLevels: number;
        /**
         * The warp geometry used to define the distortion.
         */
        warpGeometry: SKWarpGeometry | null;
    }
}

/**
 * Support in-app purchases and interactions with the App Store.
 */
declare module StoreKit {
    export class Product {}
    /**
     * the same name namespace of class Product
     */
    export namespace Product {
        export class PurchaseOption {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * A debug description of the purchase option.
             */
            debugDescription: string;
            /**
             * Set a UUID to associate the purchase with an account in your system.
             */
            static appAccountToken(token: UUID):Product.PurchaseOption;
            /**
             * Apply a promotional offer for an auto-renewable subscription.
             */
            static promotionalOffer(offerID: string, keyID: string, nonce: UUID, signature: Data, timestamp: number):Product.PurchaseOption;
            /**
             * Indicate the quantity of items the customer is purchasing.
             */
            static quantity(quantity: number):Product.PurchaseOption;
            /**
             * Indicate whether a transaction needs to continue if the App Store storefront changes on the device during the transaction.
             */
            static onStorefrontChange(shouldContinuePurchase: ()=>any):Product.PurchaseOption;
            /**
             * Simulate an Ask to Buy scenario when testing your app in the sandbox environment.
             */
            static simulatesAskToBuyInSandbox(simulateAskToBuy: boolean):Product.PurchaseOption;
            /**
             * Add data for a custom key to a purchase.
             */
            static custom(key: string, value: Data):Product.PurchaseOption;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class SubscriptionInfo {
            /**
             * The subscription group identifier for this subscription.
             */
            subscriptionGroupID: string;
            /**
             * The duration of time between subscription renewals.
             */
            subscriptionPeriod: Product.SubscriptionPeriod;
            /**
             * A Boolean value that indicates whether the customer is eligible for an introductory offer.
             */
            isEligibleForIntroOffer: boolean;
            /**
             * Information about the introductory offer available for this auto-renewable subscription.
             */
            introductoryOffer: Product.SubscriptionOffer | null;
            /**
             * An array of promotional offers available for the auto-renewable subscription.
             */
            promotionalOffers: Product.SubscriptionOffer[];
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class SubscriptionInfo
         */
        export namespace SubscriptionInfo {
            export class RenewalInfo {
                isInBillingRetry: boolean;
                gracePeriodExpirationDate: Date | null;
                /**
                 * The status that indicates whether the auto-renewable subscription is subject to a price increase.
                 */
                priceIncreaseStatus: Product.SubscriptionInfo.RenewalInfo.PriceIncreaseStatus;
                /**
                 * The device verification value to use to verify whether the renewal information belongs to the device.
                 */
                deviceVerification: Data;
                /**
                 * The UUID to use to compute the device verification value.
                 */
                deviceVerificationNonce: UUID;
                /**
                 * The date that the App Store signed the JWS renewal information.
                 */
                signedDate: Date;
                /**
                 * The raw JSON representation of the subscription renewal information.
                 */
                jsonRepresentation: Data;
                debugDescription: string;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            /**
             * the same name namespace of class RenewalInfo
             */
            export namespace RenewalInfo {
                export class ExpirationReason {
                    localizedDescription: string;
                    rawValue: number;
                    /**
                     * The hash value.
                     */
                    hashValue: number;
                    constructor (rawValue: number);
                    /**
                     * Hashes the essential components of this value by feeding them into the given hasher.
                     */
                    hash(hasher: Hasher):void;
                }
                export enum PriceIncreaseStatus {
                    noIncreasePending,
                    agreed,
                    pending,
                }
            }
            export class RenewalState {
                /**
                 * The user is currently subscribed.
                 */
                static subscribed: Product.SubscriptionInfo.RenewalState;
                /**
                 * The subscription expired.
                 */
                static expired: Product.SubscriptionInfo.RenewalState;
                /**
                 * The subscription is in a billing retry period.
                 */
                static inBillingRetryPeriod: Product.SubscriptionInfo.RenewalState;
                /**
                 * The subscription is in a billing grace period state.
                 */
                static inGracePeriod: Product.SubscriptionInfo.RenewalState;
                /**
                 * The App Store has revoked the user’s access to the subscription group.
                 */
                static revoked: Product.SubscriptionInfo.RenewalState;
                localizedDescription: string;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * The raw value of a renewal state.
                 */
                rawValue: number;
                /**
                 * Creates a new instance with the specified raw value.
                 */
                constructor (rawValue: number);
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class Status {
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
        export class SubscriptionPeriod {
            /**
             * The number of period units.
             */
            value: number;
            /**
             * The increment of time that a subscription period is specified in.
             */
            unit: Product.SubscriptionPeriod.Unit;
            debugDescription: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
            dateRange(referenceDate: Date):Range<Date>;
        }
        /**
         * the same name namespace of class SubscriptionPeriod
         */
        export namespace SubscriptionPeriod {
            export enum Unit {
                day,
                month,
                week,
                year,
            }
        }
        export class SubscriptionOffer {
            /**
             * The localized string representation of the discounted price of the subscription offer. 
             */
            displayPrice: string;
            /**
             * The decimal representation of the discounted price of the subscription offer. 
             */
            price: Decimal;
            /**
             * The offer's payment mode.
             */
            paymentMode: Product.SubscriptionOffer.PaymentMode;
            /**
             * The subscription period for the subscription offer.
             */
            period: Product.SubscriptionPeriod;
            /**
             * The number of periods that the subscription offer renews for.
             */
            periodCount: number;
            /**
             * The type of subscription offer, either introductory or promotional.
             */
            type: Product.SubscriptionOffer.OfferType;
            /**
             * The promotional offer identifier.
             */
            id: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        /**
         * the same name namespace of class SubscriptionOffer
         */
        export namespace SubscriptionOffer {
            export class PaymentMode {
                /**
                 * A payment mode of a product discount that indicates a free trial offer.
                 */
                static freeTrial: Product.SubscriptionOffer.PaymentMode;
                /**
                 * A payment mode of a product discount that indicates the discount applies over a single or multiple billing periods.
                 */
                static payAsYouGo: Product.SubscriptionOffer.PaymentMode;
                /**
                 * A payment mode of a product discount that indicates the discount is paid up front.
                 */
                static payUpFront: Product.SubscriptionOffer.PaymentMode;
                rawValue: string;
                /**
                 * The hash value.
                 */
                hashValue: number;
                localizedDescription: string;
                constructor (rawValue: string);
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
            export class OfferType {
                /**
                 * An introductory offer for a subscription.
                 */
                static introductory: Product.SubscriptionOffer.OfferType;
                /**
                 * A promotional offer.
                 */
                static promotional: Product.SubscriptionOffer.OfferType;
                localizedDescription: string;
                /**
                 * A string representing the raw value of the subscription offer type.
                 */
                rawValue: string;
                /**
                 * The hash value.
                 */
                hashValue: number;
                /**
                 * A raw value representing a subscription offer type.
                 */
                constructor (rawValue: string);
                /**
                 * Hashes the essential components of this value by feeding them into the given hasher.
                 */
                hash(hasher: Hasher):void;
            }
        }
    }
    export enum SKPaymentTransactionState {
        deferred = 4,
    }
    export class SKProduct extends NSObject {
        /**
         * A Boolean value that indicates whether the product is available for family sharing in App Store Connect.
         */
        isFamilyShareable: boolean;
    }
    export interface SKPaymentTransactionObserver extends NSObjectProtocol {
        /**
         * Tells an observer that the user is no longer entitled to one or more family-shared purchases.
         */
        paymentQueue(queue: SKPaymentQueue, productIdentifiers: string[]):void;
    }
    export class SKProductDiscount extends NSObject {
        /**
         * A string used to uniquely identify a discount offer for a product.
         */
        identifier: string;
        /**
         * The type of discount offer.
         */
        type: any;
        /**
         * The discount price of the product in the local currency.
         */
        price: NSDecimalNumber;
        /**
         * The locale used to format the discount price of the product.
         */
        priceLocale: Locale;
        /**
         * The payment mode for this product discount.
         */
        paymentMode: SKProductDiscount.PaymentMode;
        /**
         * An integer that indicates the number of periods the product discount is available.
         */
        numberOfPeriods: number;
        /**
         * An object that defines the period for the product discount.
         */
        subscriptionPeriod: SKProductSubscriptionPeriod;
    }
    /**
     * the same name namespace of class SKProductDiscount
     */
    export namespace SKProductDiscount {
        export enum Type {
            introductory = 0,
            subscription = 1,
        }
        export enum PaymentMode {
            payAsYouGo = 0,
            payUpFront = 1,
            freeTrial = 2,
        }
    }
    export class SKPaymentDiscount extends NSObject {
        /**
         * A string used to uniquely identify a discount offer for a product.
         */
        identifier: string;
        /**
         * A string that identifies the key used to generate the signature.
         */
        keyIdentifier: string;
        /**
         * A universally unique ID (UUID) value that you define.
         */
        nonce: UUID;
        /**
         * A string representing the properties of a specific promotional offer, cryptographically signed.
         */
        signature: string;
        /**
         * The date and time of the signature's creation in milliseconds, formatted in Unix epoch time.
         */
        timestamp: NSNumber;
        /**
         * Initializes the payment discount with a signature and the parameters used by the signature.
         */
        constructor (identifier: string, keyIdentifier: string, nonce: UUID, signature: string, timestamp: NSNumber);
    }
    export class SKProductStorePromotionController extends NSObject {
        /**
         * Returns the default product store promotion controller.
         */
        static default():Self;
        /**
         * Reads the product order override that determines the promoted product order on this device. 
         */
        fetchStorePromotionOrder(completionHandler: ()=>any | null):void;
        /**
         * Overrides the promoted product order on this device. 
         */
        update(promotionOrder: SKProduct[], completionHandler: ()=>any | null):void;
        /**
         * Reads the visibility setting of a promoted product in the App Store for this device. 
         */
        fetchStorePromotionVisibility(product: SKProduct, completionHandler: ()=>any | null):void;
    }
    export enum SKProductStorePromotionVisibility {
        default = 0,
        hide = 2,
        show = 1,
    }
    export class SKError {}
    /**
     * the same name namespace of class SKError
     */
    export namespace SKError {
        export enum Code {
            unknown = 0,
            clientInvalid = 1,
            paymentCancelled = 2,
            paymentInvalid = 3,
            paymentNotAllowed = 4,
            storeProductNotAvailable = 5,
            cloudServicePermissionDenied = 6,
            cloudServiceNetworkConnectionFailed = 7,
            cloudServiceRevoked = 8,
            privacyAcknowledgementRequired = 9,
            unauthorizedRequestData = 10,
            invalidOfferIdentifier = 11,
            invalidOfferPrice = 14,
            invalidSignature = 12,
            missingOfferParams = 13,
            ineligibleForOffer = 18,
            overlayCancelled = 15,
            overlayInvalidConfiguration = 16,
            overlayPresentedInBackgroundScene = 20,
            overlayTimeout = 17,
            unsupportedPlatform = 19,
        }
    }
    export class AppTransaction {
        /**
         * Gets the App Store-signed app transaction information for the app.
         */
        static shared: VerificationResult<AppTransaction>;
        /**
         * The server environment that signs the app transaction.
         */
        environment: AppStore.Environment;
        /**
         * The bundle identifier that the app transaction applies to.
         */
        bundleID: string;
        /**
         * The app version that the app transaction applies to.
         */
        appVersion: string;
        /**
         * The app version that the user originally purchased from the App Store.
         */
        originalAppVersion: string;
        /**
         * The unique identifier the App Store uses to identify the app.
         */
        appID: UInt64 | null;
        /**
         * The number that the App Store uses to uniquely identify the version of the app.
         */
        appVersionID: UInt64 | null;
        /**
         * The date the user originally purchased the app from the App Store.
         */
        originalPurchaseDate: Date;
        /**
         * The date the customer placed an order for the app before it’s available in the App Store.
         */
        preorderDate: Date | null;
        /**
         * The device verification value to use to verify whether the app transaction belongs to the device.
         */
        deviceVerification: Data;
        /**
         * The UUID used to compute the device verification value.
         */
        deviceVerificationNonce: UUID;
        /**
         * The date that the App Store signed the JWS app transaction.
         */
        signedDate: Date;
        /**
         * The raw JSON representation of the app transaction information.
         */
        jsonRepresentation: Data;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * A string represenation of the instance, suitable for debugging.
         */
        debugDescription: string;
        /**
         * Gets the App Store-signed app transaction information from the App Store server.
         */
        static refresh():VerificationResult<AppTransaction>;
        /**
         * Hashes the essential components of the value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export enum AppStore {}
    export class SKAdNetwork extends NSObject {
        /**
         * Indicates that your app is presenting a view-through ad to the user.
         */
        static startImpression(impression: SKAdImpression, completion: ()=>any | null):void;
        /**
         * Indicates that your app is no longer presenting a view-through ad to the user.
         */
        static endImpression(impression: SKAdImpression, completion: ()=>any | null):void;
        /**
         * Verifies the first launch of an advertised app and on subsequent calls, updates the conversion value or calls a completion hander if the update fails.
         */
        static updatePostbackConversionValue(conversionValue: number, completion: ()=>any | null):void;
        /**
         * Verifies the first launch of an app installed as a result of an ad.
         */
        static registerAppForAdNetworkAttribution():void;
        /**
         * Updates the conversion value and verifies the first launch of an app installed as a result of an ad.
         */
        static updateConversionValue(conversionValue: number):void;
    }
    /**
     * the same name namespace of class SKAdNetwork
     */
    export namespace SKAdNetwork {
        export class CoarseConversionValue {
            static high: SKAdNetwork.CoarseConversionValue;
            static low: SKAdNetwork.CoarseConversionValue;
            static medium: SKAdNetwork.CoarseConversionValue;
            constructor (rawValue: string);
        }
    }
    export class SKAdImpression extends NSObject {
        /**
         * The advertising network’s cryptographic signature for the ad impression.
         */
        signature: string;
        /**
         * The version of the SKAdNetwork API.
         */
        version: string;
        /**
         * A string that represents the advertising network’s unique identifier.
         */
        adNetworkIdentifier: string;
        /**
         * A number that represents the advertising network’s campaign.
         */
        adCampaignIdentifier: NSNumber;
        /**
         * The App Store ID of the app that the ad impression advertises.
         */
        advertisedAppStoreItemIdentifier: NSNumber;
        /**
         * A random value to use for added security.
         */
        adImpressionIdentifier: string;
        /**
         * The App Store ID of the app that displays the ad.
         */
        sourceAppStoreItemIdentifier: NSNumber;
        /**
         * A number that represents the UNIX time, in milliseconds, of the ad impression.
         */
        timestamp: NSNumber;
        /**
         * The type of the ad.
         */
        adType: string;
        /**
         * A human-readable description of the ad.
         */
        adDescription: string;
        /**
         * The name of the entity that purchased the ad.
         */
        adPurchaserName: string;
        sourceIdentifier: NSNumber;
        constructor (sourceAppStoreItemIdentifier: NSNumber, advertisedAppStoreItemIdentifier: NSNumber, adNetworkIdentifier: string, adCampaignIdentifier: NSNumber, adImpressionIdentifier: string, timestamp: NSNumber, signature: string, version: string);
    }
    export class SKANError {}
    /**
     * the same name namespace of class SKANError
     */
    export namespace SKANError {
        export enum Code {
            adNetworkIdMissing = 2,
            impressionMissingRequiredValue = 0,
            impressionNotFound = 4,
            impressionTooShort = 11,
            invalidAdvertisedAppId = 8,
            invalidCampaignId = 5,
            invalidConversionValue = 6,
            invalidSourceAppId = 7,
            invalidVersion = 9,
            mismatchedSourceAppId = 3,
            unknown = 10,
            unsupported = 1,
        }
    }
    export class SKStoreProductViewController extends NSViewController,UIViewController {
        /**
         * The store view controller’s delegate.
         */
        delegate: SKStoreProductViewControllerDelegate | null;
        /**
         * Loads a new product screen to display.
         */
        loadProduct(parameters: Record<string, any>, block: ()=>any | null):void;
    }
    export interface SKStoreProductViewControllerDelegate extends NSObjectProtocol {
        /**
         * Called when the user dismisses the store screen.
         */
        productViewControllerDidFinish(viewController: SKStoreProductViewController):void;
    }
    export class SKOverlay extends NSObject {
        /**
         * An overlay’s attributes; for example, its position on the screen.
         */
        configuration: SKOverlay.Configuration;
        /**
         * The overlay’s delegate.
         */
        delegate: SKOverlayDelegate | null;
        /**
         * Creates an overlay you use to recommend another app on the App Store.
         */
        constructor (configuration: SKOverlay.Configuration);
        /**
         * Dismisses an App Store overlay.
         */
        static dismiss(scene: UIWindowScene):void;
        /**
         * Presents an overlay in a window scene.
         */
        present(scene: UIWindowScene):void;
    }
    /**
     * the same name namespace of class SKOverlay
     */
    export namespace SKOverlay {
        export class AppConfiguration extends SKOverlay.Configuration {
            /**
             * The iTunes identifier of the recommended app.
             */
            appIdentifier: string;
            /**
             * The position of the overlay on the screen.
             */
            position: SKOverlay.Position;
            /**
             * A Boolean value that indicates whether the user can dismiss the overlay.
             */
            userDismissible: boolean;
            /**
             * A token you use to represent an ad campaign and measure its effectiveness.
             */
            campaignToken: string;
            /**
             * A token that represents the provider of an app promotion campaign, and that you use to measure the campaign’s effectiveness.
             */
            providerToken: string;
            /**
             * The release ID of the latest version of your app as displayed in App Store Connect.
             */
            latestReleaseID: string;
            /**
             * An optional identifier for an app’s custom product page.
             */
            customProductPageIdentifier: string;
            /**
             * Creates an object that represents the attributes of an overlay you use to recommend another app on the App Store.
             */
            constructor (appIdentifier: string, position: SKOverlay.Position);
            /**
             * Sets an additional value for a key; for example, a value for measuring the effectiveness of an ad campaign.
             */
            setAdditionalValue(value: any, key: string):void;
            /**
             * Returns the object associated with the key.
             */
            additionalValue(key: string):any;
            setAdImpression(impression: SKAdImpression):void;
        }
        export enum Position {
            bottom = 0,
            bottomRaised = 1,
        }
        export class AppClipConfiguration extends SKOverlay.Configuration {
            /**
             * The position of the overlay on the screen.
             */
            position: SKOverlay.Position;
            /**
             * A token you use to represent an ad campaign and measure its effectiveness.
             */
            campaignToken: string;
            /**
             * A token that represents the provider of an app promotion campaign, and that you use to measure the campaign’s effectiveness.
             */
            providerToken: string;
            /**
             * The release ID of the latest version of your parent app as displayed in App Store Connect.
             */
            latestReleaseID: string;
            /**
             * An identifier for a parent app’s custom product page.
             */
            customProductPageIdentifier: string;
            /**
             * Creates an object that represents the attributes of an overlay you use to recommend an App Clip’s corresponding app.
             */
            constructor (position: SKOverlay.Position);
            /**
             * Sets an additional value for a key, such as a value for measuring the effectiveness of an ad campaign.
             */
            setAdditionalValue(value: any, key: string):void;
            /**
             * Returns the object associated with the key.
             */
            additionalValue(key: string):any;
        }
        export class Configuration extends NSObject {}
        export class TransitionContext extends NSObject {
            /**
             * The size and location of the overlay before the transition.
             */
            startFrame: CGRect;
            /**
             * The size and location of the overlay at the end of the transition.
             */
            endFrame: CGRect;
            /**
             * Adds a closure you can use to animate view properties.
             */
            addAnimation(block: ()=>any):void;
        }
    }
    export interface SKOverlayDelegate extends NSObjectProtocol {
        /**
         * Indicates that the platform presents an overlay.
         */
        storeOverlayWillStartPresentation(overlay: SKOverlay, transitionContext: SKOverlay.TransitionContext):void;
        /**
         * Indicates that the platform finished presenting an overlay.
         */
        storeOverlayDidFinishPresentation(overlay: SKOverlay, transitionContext: SKOverlay.TransitionContext):void;
        /**
         * Indicates that the platform dismisses an overlay.
         */
        storeOverlayWillStartDismissal(overlay: SKOverlay, transitionContext: SKOverlay.TransitionContext):void;
        /**
         * Indicates that platform finished dismissing an overlay.
         */
        storeOverlayDidFinishDismissal(overlay: SKOverlay, transitionContext: SKOverlay.TransitionContext):void;
        /**
         * Indicates that an overlay failed to load.
         */
        storeOverlayDidFailToLoad(overlay: SKOverlay, error: Error):void;
    }
    export class SKStoreReviewController extends NSObject {
        /**
         * Tells StoreKit to ask the user to rate or review the app, if appropriate, using the specified scene.
         */
        static requestReview(windowScene: UIWindowScene):void;
    }
    export class RequestReviewAction {
        /**
         * Tells StoreKit to ask the user to rate or review your app, if appropriate.
         */
        callAsFunction():void;
    }
    export class Message {
        /**
         * The asynchronous sequence that emits a message when the App Store creates a message.
         */
        static messages: Message.Messages;
        /**
         * The reason that the App Store sends the message.
         */
        reason: Message.Reason;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Requests the system to display the App Store message in the window scene.
         */
        display(scene: UIWindowScene):void;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Message
     */
    export namespace Message {
        export class Messages {
            /**
             * Creates the asynchronous iterator that produces elements of this asynchronous sequence.
             */
            makeAsyncIterator():Message.Messages.AsyncIterator;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: Message):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Message | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Message | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Message | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Message.Messages>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Message.Messages>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Message.Messages>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Message.Messages>;
        }
        /**
         * the same name namespace of class Messages
         */
        export namespace Messages {
            export class AsyncIterator {
                next():Message.Messages.Element | null;
            }
        }
        export class Reason {
            /**
             * The App Store sends the messages for a generic reason.
             */
            static generic: Message.Reason;
            /**
             * The App Store sends the message when you increase the price of an auto-renewable subscription and the price increase requires the user’s consent.
             */
            static priceIncreaseConsent: Message.Reason;
            /**
             * A localized description of the App Store message.
             */
            localizedDescription: string;
            /**
             * The raw value of a message reason.
             */
            rawValue: number;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Initializing a message reason using the raw value.
             */
            constructor (rawValue: number);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
    }
    export class DisplayMessageAction {
        /**
         * Tells StoreKit to display the App Store message, if appropriate.
         */
        callAsFunction(message: Message):void;
    }
    export class SKCloudServiceSetupViewController extends UIViewController {
        /**
         * The cloud service view controller's delegate.
         */
        delegate: SKCloudServiceSetupViewControllerDelegate | null;
        /**
         * Loads the cloud service setup view with the specified options.
         */
        load(options: Record<SKCloudServiceSetupOptionsKey, any>, completionHandler: ()=>any | null):void;
    }
    export interface SKCloudServiceSetupViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the cloud service setup view controller was dismissed.
         */
        cloudServiceSetupViewControllerDidDismiss(cloudServiceSetupViewController: SKCloudServiceSetupViewController):void;
    }
    export class SKCloudServiceSetupOptionsKey {
        /**
         * A key that specifies the action for a setup entry point.
         */
        static action: SKCloudServiceSetupOptionsKey;
        /**
         * A key that specifies the iTunes Store item that the user is trying to access through the service.
         */
        static iTunesItemIdentifier: SKCloudServiceSetupOptionsKey;
        /**
         * A key that specifies the iTunes Store affiliate token.
         */
        static affiliateToken: SKCloudServiceSetupOptionsKey;
        /**
         * A key that specifies the iTunes Store affiliate campaign token.
         */
        static campaignToken: SKCloudServiceSetupOptionsKey;
        /**
         * A key that is used to select the main message presented to the user for this setup view.
         */
        static messageIdentifier: SKCloudServiceSetupOptionsKey;
        /**
         * Initializes a cloud service setup options key based on the provided raw value. 
         */
        constructor (rawValue: string);
    }
    export class SKCloudServiceSetupAction {
        /**
         * A subscribe action in a cloud service setup view, such as an offer to subscribe to Apple Music.
         */
        static subscribe: SKCloudServiceSetupAction;
        /**
         * Initializes a setup action to offer for a cloud service using the specified value.
         */
        constructor (rawValue: string);
    }
    export class SKCloudServiceSetupMessageIdentifier {
        /**
         * Message identifier for adding music.
         */
        static addMusic: SKCloudServiceSetupMessageIdentifier;
        /**
         * Message identifier for connecting.
         */
        static connect: SKCloudServiceSetupMessageIdentifier;
        /**
         * Message identifier for joining.
         */
        static join: SKCloudServiceSetupMessageIdentifier;
        /**
         * Message identifier for playing music.
         */
        static playMusic: SKCloudServiceSetupMessageIdentifier;
        /**
         * Initializes a cloud service setup message identifier based on the provided raw value.
         */
        constructor (rawValue: string);
    }
    export class SKCloudServiceController extends NSObject {
        /**
         * Returns the type of authorization the user has set for accessing the music library on the device.
         */
        static authorizationStatus():SKCloudServiceAuthorizationStatus;
        /**
         * Asks the user for permission to access the music library on the device.
         */
        static requestAuthorization(completionHandler: ()=>any):void;
        /**
         * Returns a user token that you use to access personalized Apple Music content.
         */
        requestUserToken(developerToken: string, completionHandler: ()=>any):void;
        /**
         * Gets the country code for the storefront associated with a user's iTunes account.
         */
        requestStorefrontCountryCode(completionHandler: ()=>any):void;
        /**
         * Gets the current capabilities associated with the music library on the device.
         */
        requestCapabilities(completionHandler: ()=>any):void;
        /**
         * Gets the device’s storefront identifier.
         */
        requestStorefrontIdentifier(completionHandler: ()=>any):void;
        requestPersonalizationToken(clientToken: string, completionHandler: ()=>any):void;
    }
    export enum SKCloudServiceAuthorizationStatus {
        notDetermined = 0,
        denied = 1,
        restricted = 2,
        authorized = 3,
    }
    export class SKCloudServiceCapability {
        /**
         * The device allows playback of Apple Music catalog tracks.
         */
        static musicCatalogPlayback: SKCloudServiceCapability;
        /**
         * The device allows subscription to the Apple Music catalog.
         */
        static musicCatalogSubscriptionEligible: SKCloudServiceCapability;
        /**
         * The device allows tracks to be added to the user’s music library.
         */
        static addToCloudMusicLibrary: SKCloudServiceCapability;
        /**
         * Initializes a cloud service capability with the provided raw value.
         */
        constructor (rawValue: number);
    }
    export enum ExternalPurchase {}
    export enum ExternalPurchaseLink {}
    export enum ExternalLinkAccount {}
    export class Transaction {
        /**
         * The asynchronous sequence that emits a transaction when the system creates or updates transactions.
         */
        static updates: Transaction.Transactions;
        /**
         * A sequence that emits all the transactions for the user, for your app.
         */
        static all: Transaction.Transactions;
        /**
         * A sequence that emits unfinished transactions for the user.
         */
        static unfinished: Transaction.Transactions;
        /**
         * A sequence of the latest transactions that entitle a user to in-app purchases and subscriptions.
         */
        static currentEntitlements: Transaction.Transactions;
        /**
         * The server environment that generates and signs the transaction.
         */
        environment: AppStore.Environment;
        /**
         * A string representation of the server environment.
         */
        environmentStringRepresentation: string;
        /**
         * The original transaction identifier of a purchase.
         */
        originalID: UInt64;
        /**
         * The date of purchase for the original transaction.
         */
        originalPurchaseDate: Date;
        /**
         * The unique identifier for the transaction.
         */
        id: UInt64;
        /**
         * A unique ID that identifies subscription purchase events across devices, including subscription renewals.
         */
        webOrderLineItemID: string;
        /**
         * The bundle identifier for the app.
         */
        appBundleID: string;
        /**
         * The product identifier.
         */
        productID: string;
        /**
         * The type of the in-app purchase.
         */
        productType: Product.ProductType;
        /**
         * The identifier of the subscription group that the subscription belongs to.
         */
        subscriptionGroupID: string;
        /**
         * A Boolean that indicates whether the user upgraded to another subscription.
         */
        isUpgraded: boolean;
        /**
         * The date the subscription expires or renews.
         */
        expirationDate: Date | null;
        /**
         * A value that indicates whether the transaction was purchased by the user, or is made available to them through Family Sharing.
         */
        ownershipType: Transaction.OwnershipType;
        /**
         * The date that App Store charged the user’s account for a purchased or restored product, or for a subscription purchase or renewal after a lapse.
         */
        purchaseDate: Date;
        /**
         * The number of consumable products purchased.
         */
        purchasedQuantity: number;
        /**
         * A string that identifies an offer applied to the current subscription.
         */
        offerID: string;
        /**
         * The subscription offer type for the current subscription period.
         */
        offerType: Transaction.OfferType | null;
        /**
         * The date that App Store refunded the transaction or revoked it from family sharing.
         */
        revocationDate: Date | null;
        /**
         * The reason that App Store refunded the transaction or revoked it from family sharing.
         */
        revocationReason: Transaction.RevocationReason | null;
        /**
         * A UUID that associates the transaction with a user on your own service.
         */
        appAccountToken: UUID | null;
        /**
         * The device verification value you use to verify whether the transaction belongs to the device.
         */
        deviceVerification: Data;
        /**
         * The UUID used to compute the device verification value.
         */
        deviceVerificationNonce: UUID;
        /**
         * The date that the App Store signed the JWS transaction.
         */
        signedDate: Date;
        /**
         * The raw JSON representation of the transaction information.
         */
        jsonRepresentation: Data;
        /**
         * The hash value.
         */
        hashValue: number;
        debugDescription: string;
        /**
         * Gets the user’s latest transaction for an in-app purchase.
         */
        static latest(productID: string):VerificationResult<Transaction> | null;
        /**
         * Gets the latest transactions that entitle the user to a specified product.
         */
        static currentEntitlement(productID: string):VerificationResult<Transaction> | null;
        /**
         * Indicates to the App Store that the app delivered the purchased content or enabled the service to finish the transaction.
         */
        finish():void;
        /**
         * Present the refund request sheet for the transaction in a window scene.
         */
        beginRefundRequest(scene: UIWindowScene):Transaction.RefundRequestStatus;
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class Transaction
     */
    export namespace Transaction {
        export class OwnershipType {
            /**
             * The transaction belongs to a family member who benefits from the service.
             */
            static familyShared: Transaction.OwnershipType;
            /**
             * The transaction belongs to the purchaser.
             */
            static purchased: Transaction.OwnershipType;
            /**
             * The localized text that describes the ownership type.
             */
            localizedDescription: string;
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * The raw value of a transaction ownership type.
             */
            rawValue: string;
            constructor (rawValue: string);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class OfferType {
            /**
             * An introductory offer.
             */
            static introductory: Transaction.OfferType;
            /**
             * A promotional offer.
             */
            static promotional: Transaction.OfferType;
            /**
             * An offer with a subscription offer code.
             */
            static code: Transaction.OfferType;
            /**
             * The localized text that describes the offer type.
             */
            localizedDescription: string;
            /**
             * The offer type as a raw value.
             */
            rawValue: number;
            /**
             * The hash value.
             */
            hashValue: number;
            constructor (rawValue: number);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class RevocationReason {
            /**
             * Customer canceled the transaction due to an actual or perceived issue within your app.
             */
            static developerIssue: Transaction.RevocationReason;
            /**
             * Customer canceled the transaction for other reasons.
             */
            static other: Transaction.RevocationReason;
            /**
             * The localized text that describes the revocation reason.
             */
            localizedDescription: string;
            /**
             * The hash value.
             */
            hashValue: number;
            rawValue: number;
            constructor (rawValue: number);
            /**
             * Hashes the essential components of this value by feeding them into the given hasher.
             */
            hash(hasher: Hasher):void;
        }
        export class Transactions {
            /**
             * Creates the asynchronous iterator that produces elements of this asynchronous sequence.
             */
            makeAsyncIterator():Transaction.Transactions.AsyncIterator;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains the given element.
             */
            contains(search: VerificationResult<Transaction>):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):VerificationResult<Transaction> | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):VerificationResult<Transaction> | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):VerificationResult<Transaction> | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Transaction.Transactions>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Transaction.Transactions>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Transaction.Transactions>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Transaction.Transactions>;
        }
        /**
         * the same name namespace of class Transactions
         */
        export namespace Transactions {
            export class AsyncIterator {
                /**
                 * Advances to the next element and returns either the element or 
                 *  if there isn’t a next element.
                 */
                next():VerificationResult<Transaction> | null;
            }
        }
        export enum RefundRequestError {
            duplicateRequest,
            failed,
        }
        export enum RefundRequestStatus {
            userCancelled,
            success,
        }
    }
    export class Storefront {
        /**
         * The current App Store storefront for product purchases.
         */
        static current: Storefront | null;
        /**
         * The asynchronous sequence that emits storefront information when the system updates the storefront.
         */
        static updates: Storefront.Storefronts;
        /**
         * The three-letter code that represents the country or region associated with the App Store storefront.
         */
        countryCode: string;
        /**
         * A value defined by Apple that uniquely identifies an App Store storefront.
         */
        id: string;
    }
    /**
     * the same name namespace of class Storefront
     */
    export namespace Storefront {
        export class Storefronts {
            /**
             * Creates the asynchronous iterator that produces elements of this asynchronous sequence.
             */
            makeAsyncIterator():Storefront.Storefronts.AsyncIterator;
            /**
             * Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfy the given predicate.
             */
            allSatisfy(predicate: Bool):boolean;
            /**
             * Returns a Boolean value that indicates whether the asynchronous sequence contains an element that satisfies the given predicate.
             */
            contains(predicate: Bool):boolean;
            /**
             * Returns the first element of the sequence that satisfies the given predicate.
             */
            first(predicate: Bool):Storefront | null;
            /**
             * Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            max(areInIncreasingOrder: Bool):Storefront | null;
            /**
             * Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
             */
            min(areInIncreasingOrder: Bool):Storefront | null;
            /**
             * Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
             */
            prefix(count: number):AsyncPrefixSequence<Storefront.Storefronts>;
            /**
             * Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
             */
            drop(predicate: Bool):AsyncDropWhileSequence<Storefront.Storefronts>;
            /**
             * Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
             */
            dropFirst(count: number):AsyncDropFirstSequence<Storefront.Storefronts>;
            /**
             * Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
             */
            filter(isIncluded: Bool):AsyncFilterSequence<Storefront.Storefronts>;
        }
        /**
         * the same name namespace of class Storefronts
         */
        export namespace Storefronts {
            export class AsyncIterator {
                /**
                 * Advances to the next element and returns either the element or 
                 *  if there isn’t a next element. 
                 */
                next():Storefront | null;
            }
        }
    }
    export enum StoreKitError {
        networkError,
        systemError,
        userCancelled,
        notAvailableInStorefront,
        notEntitled,
        unknown,
    }
    export class SKPaymentQueue extends NSObject {
        /**
         * The current App Store storefront for the payment queue.
         */
        storefront: SKStorefront | null;
        /**
         * An array of all active payment queue observers.
         */
        transactionObservers: SKPaymentTransactionObserver[];
        /**
         * A delegate that provides information needed to complete transactions.
         */
        delegate: SKPaymentQueueDelegate | null;
        /**
         * Returns an array of pending transactions.
         */
        transactions: SKPaymentTransaction[];
        /**
         * Indicates whether the user is allowed to make payments.
         */
        static canMakePayments():boolean;
        /**
         * Returns the default payment queue instance.
         */
        static default():Self;
        /**
         * Adds an observer to the payment queue.
         */
        add(observer: SKPaymentTransactionObserver):void;
        /**
         * Removes an observer from the payment queue.
         */
        remove(observer: SKPaymentTransactionObserver):void;
        /**
         * Notifies the App Store that the app finished processing the transaction.
         */
        finishTransaction(transaction: SKPaymentTransaction):void;
        /**
         * Asks the payment queue to restore previously completed purchases.
         */
        restoreCompletedTransactions():void;
        /**
         * Asks the system to display the price consent sheet if the user hasn’t yet responded to a subscription price increase.
         */
        showPriceConsentIfNeeded():void;
        /**
         * Displays a sheet that enables users to redeem subscription offer codes that you configure in App Store Connect.
         */
        presentCodeRedemptionSheet():void;
        /**
         * Adds a set of downloads to the download list.
         */
        start(downloads: SKDownload[]):void;
        /**
         * Removes a set of downloads from the download list.
         */
        cancel(downloads: SKDownload[]):void;
        /**
         * Pauses a set of downloads.
         */
        pause(downloads: SKDownload[]):void;
        /**
         * Resumes a set of downloads.
         */
        resume(downloads: SKDownload[]):void;
    }
    export interface SKPaymentQueueDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate if the transaction should continue if the device's App Store storefront has changed during a transaction.
         */
        paymentQueue(paymentQueue: SKPaymentQueue, transaction: SKPaymentTransaction, newStorefront: SKStorefront):boolean;
        /**
         * Asks the delegate whether to immediately display a price consent sheet.
         */
        paymentQueueShouldShowPriceConsent(paymentQueue: SKPaymentQueue):boolean;
    }
    export class SKRequest extends NSObject {
        /**
         * The delegate of the request object.
         */
        delegate: SKRequestDelegate | null;
        /**
         * Sends the request to the Apple App Store.
         */
        start():void;
        /**
         * Cancels a previously started request.
         */
        cancel():void;
    }
    export interface SKRequestDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the request has completed.
         */
        requestDidFinish(request: SKRequest):void;
        /**
         * Tells the delegate that the request failed to execute.
         */
        request(request: SKRequest, error: Error):void;
    }
    export class SKProductsRequest extends SKRequest {
        /**
         * The delegate that receives the response of the app's products request.
         */
        delegate: SKProductsRequestDelegate | null;
        /**
         * Initializes the request with the set of product identifiers.
         */
        constructor (productIdentifiers: Set<String>);
    }
    export interface SKProductsRequestDelegate extends SKRequestDelegate {
        /**
         * Accepts the App Store response that contains the app-requested product information.
         */
        productsRequest(request: SKProductsRequest, response: SKProductsResponse):void;
    }
    export class SKProductsResponse extends NSObject {
        /**
         * A list of products, one product for each valid product identifier provided in the original request.
         */
        products: SKProduct[];
        /**
         * An array of product identifier strings that the App Store doesn’t recognize.
         */
        invalidProductIdentifiers: string[];
    }
    export class SKProductSubscriptionPeriod extends NSObject {
        /**
         * The number of units per subscription period.
         */
        numberOfUnits: number;
        /**
         * The increment of time that a subscription period is specified in.
         */
        unit: SKProduct.PeriodUnit;
    }
    export class SKStorefront extends NSObject {
        /**
         * The three-letter code representing the country or region associated with the App Store storefront.
         */
        countryCode: string;
        /**
         * A value defined by Apple that uniquely identifies an App Store storefront.
         */
        identifier: string;
    }
    export class SKPayment extends NSObject {
        /**
         * A string used to identify a product that can be purchased from within your app.
         */
        productIdentifier: string;
        /**
         * The number of items the user wants to purchase.
         */
        quantity: number;
        /**
         * Reserved for future use.
         */
        requestData: Data | null;
        /**
         * A string that associates the transaction with a user account on your service.
         */
        applicationUsername: string;
        /**
         * A Boolean value that produces an "ask to buy" flow for this payment in the sandbox.
         */
        simulatesAskToBuyInSandbox: boolean;
        /**
         * The details of the discount offer to apply to the payment.
         */
        paymentDiscount: SKPaymentDiscount | null;
        /**
         * Returns a new payment for the specified product.
         */
        constructor (product: SKProduct);
    }
    export class SKMutablePayment extends SKPayment {
        /**
         * A string that identifies a product that can be purchased from within your app.
         */
        productIdentifier: string;
        /**
         * The number of items the user wants to purchase.
         */
        quantity: number;
        /**
         * Reserved for future use.
         */
        requestData: Data | null;
        /**
         * A string that associates the transaction with a user account on your service.
         */
        applicationUsername: string;
        /**
         * A Boolean value that produces an “ask to buy” flow for this payment in the sandbox.
         */
        simulatesAskToBuyInSandbox: boolean;
        /**
         * The details of the discount offer to apply to the payment.
         */
        paymentDiscount: SKPaymentDiscount | null;
    }
    export class SKPaymentTransaction extends NSObject {
        /**
         * The payment for the transaction.
         */
        payment: SKPayment;
        /**
         * A string that uniquely identifies a successful payment transaction.
         */
        transactionIdentifier: string;
        /**
         * The date the transaction was added to the App Store’s payment queue.
         */
        transactionDate: Date | null;
        /**
         * The transaction that was restored by the App Store.
         */
        original: SKPaymentTransaction | null;
        /**
         * An object describing the error that occurred while processing the transaction.
         */
        error: Error | null;
        /**
         * A signed receipt that records all information about a successful payment transaction.
         */
        transactionReceipt: Data | null;
        /**
         * An array of download objects representing the downloadable content associated with the transaction.
         */
        downloads: SKDownload[];
        /**
         * The current state of the transaction.
         */
        transactionState: SKPaymentTransactionState;
    }
    export class SKReceiptRefreshRequest extends SKRequest {
        /**
         * The properties of the receipt.
         */
        receiptProperties: Record<string, any> | null;
        /**
         * Initializes a receipt refresh request with optional properties.
         */
        constructor (properties: Record<string, any> | null);
    }
    export class SKDownload extends NSObject {
        /**
         * The length of the downloadable content, in bytes.
         */
        expectedContentLength: Int64;
        /**
         * A string that uniquely identifies the downloadable content.
         */
        contentIdentifier: string;
        /**
         * A string that identifies which version of the content is available for download.
         */
        contentVersion: string;
        /**
         * The transaction associated with the downloadable file.
         */
        transaction: SKPaymentTransaction;
        /**
         * The length of the downloadable content, in bytes.
         */
        contentLength: Int64;
        /**
         * The current state of the download object.
         */
        state: SKDownloadState;
        /**
         * A value that indicates how much of the file has been downloaded.
         */
        progress: Float;
        /**
         * An estimated time, in seconds, to finish downloading the content.
         */
        timeRemaining: TimeInterval;
        /**
         * The current state of the download object.
         */
        downloadState: SKDownloadState;
        /**
         * The error that prevented the content from being downloaded.
         */
        error: Error | null;
        /**
         * The local location of the downloaded file.
         */
        contentURL: URL | null;
        /**
         * Deletes the previously downloaded file.
         */
        static deleteContent(productID: string):void;
    }
    export enum SKDownloadState {
        waiting = 0,
        active = 1,
        paused = 2,
        finished = 3,
        failed = 4,
        cancelled = 5,
    }
}

/**
 * Create and automate tests in Xcode for your app’s subscription and in-app purchase transactions, and SKAdNetwork implementations.
 */
declare module StoreKitTest {
    export class SKTestSession extends NSObject {
        /**
         * A Boolean value that determines whether transactions fail in the test environment.
         */
        failTransactionsEnabled: boolean;
        /**
         * The error code that transactions return when you enable failing transactions.
         */
        failureError: SKError.Code;
        /**
         * A Boolean value that determines whether the test environment simulates an interrupted purchase.
         */
        interruptedPurchasesEnabled: boolean;
        /**
         * A Boolean value that determines whether the test environment simulates an Ask to Buy scenario.
         */
        askToBuyEnabled: boolean;
        /**
         * The rate that time passes for subscriptions in the test environment as compared to real time.
         */
        timeRate: SKTestSession.TimeRate;
        /**
         * A Boolean value that indicates whether the test environment simulates a billing grace period for auto-renewable subscriptions.
         */
        billingGracePeriodIsEnabled: boolean;
        /**
         * A Boolean value the indicates whether the test environment enters a billing retry state when an auto-renewable subscription renews.
         */
        shouldEnterBillingRetryOnRenewal: boolean;
        /**
         * The three-letter code that represents the region associated with the App Store storefront.
         */
        storefront: string;
        /**
         * The value that determines the localization metadata the test environment uses.
         */
        locale: Locale;
        /**
         * A Boolean value that determines whether the test environment disables dialogs during automated testing.
         */
        disableDialogs: boolean;
        /**
         * Initializes the test session with the provided configuration file that you include in your application’s bundle.
         */
        constructor (filename: string);
        /**
         * Initializes the test session with a configuration file you provide through a URL.
         */
        constructor (fileURL: URL);
        /**
         * Removes all transactions from the test environment.
         */
        clearTransactions():void;
        /**
         * Simulates resolving an issue when you test an interrupted purchase scenario.
         */
        resolveIssueForTransaction(identifier: number):void;
        /**
         * Resolves an Ask to Buy test scenario by approving the transaction.
         */
        approveAskToBuyTransaction(identifier: number):void;
        /**
         * Resolves an Ask to Buy test scenario by declining the transaction.
         */
        declineAskToBuyTransaction(identifier: number):void;
        /**
         * Turns on auto-renewing for a subscription.
         */
        enableAutoRenewForTransaction(identifier: number):void;
        /**
         * Turns off auto-renewing for a subscription.
         */
        disableAutoRenewForTransaction(identifier: number):void;
        /**
         * Ends the previous subscription period and begins the next period in the test environment.
         */
        forceRenewalOfSubscription(productIdentifier: string):void;
        /**
         * Causes the identified subscription to expire immediately.
         */
        expireSubscription(productIdentifier: string):void;
        requestPriceIncreaseConsentForTransaction(identifier: number):void;
        consentToPriceIncreaseForTransaction(identifier: number):void;
        /**
         * Removes all property overrides and resets all test session settings to their default state.
         */
        resetToDefaultState():void;
        declinePriceIncreaseForTransaction(identifier: number):void;
        /**
         * Simulates buying an in-app purchase or subscription outside the app.
         */
        buyProduct(productIdentifier: string):void;
        /**
         * Simulates a refund for any product that happens outside the app.
         */
        refundTransaction(identifier: number):void;
        /**
         * Gets a list of all transactions in the test environment.
         */
        allTransactions():SKTestTransaction[];
        /**
         * Deletes a specific transaction from the test environment.
         */
        deleteTransaction(identifier: number):void;
    }
    /**
     * the same name namespace of class SKTestSession
     */
    export namespace SKTestSession {
        export enum TimeRate {
            realTime = 0,
            monthlyRenewalEveryHour = 10,
            monthlyRenewalEveryThirtyMinutes = 11,
            monthlyRenewalEveryFifteenMinutes = 12,
            monthlyRenewalEveryFiveMinutes = 13,
            monthlyRenewalEveryThirtySeconds = 15,
            oneHourIsOneDay = 1,
            thirtyMinutesIsOneDay = 2,
            fiveMinutesIsOneDay = 3,
            oneMinuteIsOneDay = 4,
            thirtySecondsIsOneDay = 5,
            oneSecondIsOneDay = 6,
        }
    }
    export class SKAdTestSession extends NSObject {
        /**
         * The URL that SKAdNetwork computes to send copies of winning postbacks to the advertised app’s developer.
         */
        developerPostbackURL: URL | null;
        /**
         * Initializes an SKAdNetwork test session.
         */
        constructor ();
    }
    export class SKAdTestPostback extends NSObject {
        /**
         * A URL on your server where the testing environment sends test postbacks.
         */
        postbackURL: string;
        /**
         * The SKAdNetwork version that the postback uses.
         */
        version: SKAdTestPostbackVersion;
        /**
         * A Boolean value that indicates whether the postback is registered in the testing environment.
         */
        isRegistered: boolean;
        /**
         * A string that represents the advertising network’s unique identifier.
         */
        adNetworkIdentifier: string;
        /**
         * A unique transaction identifier that the system generates.
         */
        transactionIdentifier: string;
        /**
         * A number that represents the advertising network’s campaign.
         */
        adCampaignIdentifier: number;
        /**
         * The item identifier of the app that this ad impression advertises.
         */
        appStoreItemIdentifier: number;
        /**
         * The item identifier of the app that displays the ad.
         */
        sourceAppStoreItemIdentifier: number;
        /**
         * A Boolean value that indicates whether the user redownloaded and reinstalled the app.
         */
        isRedownload: boolean;
        /**
         * An integer that indicates the type of ad impression, StoreKit-rendered or view-through.
         */
        fidelityType: number;
        /**
         * An unsigned 6-bit value that the app or ad network control.
         */
        conversionValue: number;
        /**
         * A Boolean value that indicates whether the postback won the attribution.
         */
        didWin: boolean;
        /**
         * Creates a test postback with the provided postback parameters.
         */
        constructor (version: SKAdTestPostbackVersion, adNetworkIdentifier: string, adCampaignIdentifier: number, appStoreItemIdentifier: number, sourceAppStoreItemIdentifier: number, conversionValue: number, fidelityType: number, isRedownload: boolean, didWin: boolean, postbackURL: string);
    }
    export class SKAdTestPostbackResponse extends NSObject {
        /**
         * A Boolean value that indicates whether the system successfully delivered the test postback.
         */
        didSucceed: boolean;
        /**
         * The HTTP response from the server receiving the test postback.
         */
        httpResponse: HTTPURLResponse | null;
        /**
         * An error the test session reports if sending a test postbacks fails.
         */
        error: Error | null;
    }
    export class SKAdTestPostbackVersion {
        /**
         * A constant that represents SKAdNetwork version 3.0.
         */
        static version3_0: SKAdTestPostbackVersion;
        /**
         * A constant that represents SKAdNetwork version 2.2.
         */
        static version2_2: SKAdTestPostbackVersion;
        /**
         * A constant that represents SKAdNetwork version 2.1.
         */
        static version2_1: SKAdTestPostbackVersion;
        /**
         * Initialize a version object with the supplied raw value.
         */
        constructor (rawValue: string);
    }
    export class SKAdTestError {
        /**
         * A string that identifies the error domain.
         */
        static errorDomain: string;
        /**
         * The signature for the ad is missing, in the testing environment.
         */
        static missingSignature: SKAdTestError.Code;
        /**
         * The public key isn’t a valid cryptographic key, in the testing environment.
         */
        static signatureInvalidKey: SKAdTestError.Code;
        /**
         * The order of the parameters in the signature is invalid, in the testing environment.
         */
        static signatureInvalidOrder: SKAdTestError.Code;
        /**
         * The signature is missing an ad network identifier, in the testing environment.
         */
        static signatureMissingAdNetworkId: SKAdTestError.Code;
        /**
         * The signature is missing the app item identifier for the advertised app, in the testing environment.
         */
        static signatureMissingAppAdamId: SKAdTestError.Code;
        /**
         * The signature is missing the campaign identifier, in the testing environment.
         */
        static signatureMissingCampaignId: SKAdTestError.Code;
        /**
         * The signature is missing the fidelity type, in the testing environment.
         */
        static signatureMissingFidelityType: SKAdTestError.Code;
        /**
         * The signature is missing the nonce, in the testing environment.
         */
        static signatureMissingNonce: SKAdTestError.Code;
        /**
         * The signature is missing the source app item identifier, in the testing environment.
         */
        static signatureMissingSourceAppAdamId: SKAdTestError.Code;
        /**
         * The signature is missing a timestamp, in the testing environment.
         */
        static signatureMissingTimestamp: SKAdTestError.Code;
        /**
         * An unknown error occurred with the signature in the testing environment.
         */
        static signatureUnknownError: SKAdTestError.Code;
        /**
         * The signature verification failed in the testing environment.
         */
        static signatureVerificationFailed: SKAdTestError.Code;
        /**
         * Too many postbacks submitted to the test session.
         */
        static excessivePostbacks: SKAdTestError.Code;
        /**
         * The conversion value isn’t valid, in the testing environment.
         */
        static invalidConversionValue: SKAdTestError.Code;
        /**
         * The URL for the postback isn’t valid, in the testing environment.
         */
        static invalidPostbackURL: SKAdTestError.Code;
        /**
         * A non-winning postback is defined with a version prior to version 3, in the testing environment.
         */
        static invalidRunnerUpPostback: SKAdTestError.Code;
        /**
         * The postback in the testing environment is malformed.
         */
        static malformedPostbacks: SKAdTestError.Code;
        /**
         * The testing environment doesn’t have any postbacks.
         */
        static missingPostbacks: SKAdTestError.Code;
        /**
         * A winning postback wasn’t found in the first position, in the testing environment.
         */
        static misplacedWinnerPostback: SKAdTestError.Code;
        /**
         * The testing environment is missing a winning postback.
         */
        static missingWinningPostback: SKAdTestError.Code;
        /**
         * The test session doesn’t have any pending postbacks to send.
         */
        static noPendingPostbacks: SKAdTestError.Code;
        /**
         * An unknown error occurred in the testing environment.
         */
        static unknownError: SKAdTestError.Code;
        /**
         * The error code.
         */
        code: Code;
        /**
         * The integer error code.
         */
        errorCode: number;
        /**
         * The user information dictionary associated with the error.
         */
        userInfo: Record<string, any>;
        /**
         * The error user information dictionary associated with the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A localized, human-readable explanation of the error.
         */
        localizedDescription: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * Initializes the error object with the supplied error code and user info dictionary.
         */
        constructor (code: Code, userInfo: Record<string, any>);
        /**
         * Hashes the essential components of this value by feeding them into the given hasher.
         */
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class SKAdTestError
     */
    export namespace SKAdTestError {
        export enum Code {
            missingSignature = 20,
            signatureInvalidKey = 8,
            signatureInvalidOrder = 9,
            signatureMissingAdNetworkId = 0,
            signatureMissingAppAdamId = 2,
            signatureMissingCampaignId = 1,
            signatureMissingFidelityType = 5,
            signatureMissingNonce = 3,
            signatureMissingSourceAppAdamId = 4,
            signatureMissingTimestamp = 6,
            signatureUnknownError = 10,
            signatureVerificationFailed = 7,
            excessivePostbacks = 17,
            invalidConversionValue = 13,
            invalidPostbackURL = 19,
            invalidRunnerUpPostback = 12,
            malformedPostbacks = 16,
            missingPostbacks = 15,
            misplacedWinnerPostback = 11,
            missingWinningPostback = 14,
            noPendingPostbacks = 18,
            unknownError = 21,
        }
    }
    export class SKTestTransaction extends NSObject {
        /**
         * The identifier of the transaction in the test environment.
         */
        identifier: number;
        /**
         * The identifier of the original transaction.
         */
        originalTransactionIdentifier: number;
        /**
         * An identifier that uniquely represents a product, which you provide in the StoreKit configuration file.
         */
        productIdentifier: string;
        /**
         * The state of the transaction in the test environment.
         */
        state: SKPaymentTransactionState;
        /**
         * The date of purchase for the transaction.
         */
        purchaseDate: Date;
        /**
         * The date on which the user canceled a subscription, or upgraded a subscription.
         */
        cancelDate: Date | null;
        /**
         * The date a subscription expires.
         */
        expirationDate: Date | null;
        /**
         * A Boolean value that indicates whether automatic renewal is enabled for the subscription.
         */
        autoRenewingEnabled: boolean;
        /**
         * A Boolean value that indicates whether you resolve this transaction using the test framework functions.
         */
        hasPurchaseIssue: boolean;
        /**
         * A Boolean value that indicates whether the auto-renewable subscription has a price increase that’s awaiting user consent in the test environment.
         */
        isPendingPriceIncreaseConsent: boolean;
        /**
         * A Boolean value that indicates whether the transaction is awaiting an Ask to Buy confirmation.
         */
        pendingAskToBuyConfirmation: boolean;
    }
    export class SKTestError {}
    /**
     * the same name namespace of class SKTestError
     */
    export namespace SKTestError {
        export enum Code {
            fileNotFound = 4,
            invalidAction = 7,
            invalidProductIdentifier = 1,
            invalidProductType = 2,
            invalidURL = 3,
            noSubscriptionFound = 5,
            noTransactionFound = 6,
            serviceUnavailable = 0,
        }
    }
}

/**
 * Allow applications to access a device’s network configuration settings. Determine the reachability of the device, such as whether Wi-Fi or cell connectivity are active.
 */
declare module SystemConfiguration {
    export class SCNetworkInterface {}
    export class SCBondStatus {}
    export class SCNetworkProtocol {}
    export class SCNetworkService {}
    export class SCNetworkSet {}
    export class SCDynamicStoreContext {
        /**
         * The callback used to provide a description of the 
         *  field.
         */
        copyDescription: ()=>any | null;
        /**
         * A C pointer to a user-specified block of data.
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * The callback used to remove a retain previously added for the 
         *  field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value of this parameter can be 
         * .
         */
        release: ()=>any | null;
        /**
         * The callback used to add a retain for the 
         *  field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value of this parameter can be 
         * .
         */
        retain: ()=>any | null;
        /**
         * The version number of the structure type being passed in as a parameter to the 
         *  creation function (such as 
         * ). This structure is version 
         * .
         */
        version: CFIndex;
        /**
         * Creates a dynamic store context.
         */
        constructor ();
        /**
         * Creates a dynamic store context with the specified values.
         */
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: ()=>any | null, release: ()=>any | null, copyDescription: ()=>any | null);
    }
    export class SCNetworkConnection {}
    export class SCNetworkConnectionContext {
        /**
         * The callback used to provide a description of the 
         *  field.
         */
        copyDescription: ()=>any | null;
        /**
         * A C pointer to a user-specified block of data.
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * The calllback used to remove a retain previously added for the info field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value may be 
         * .
         */
        release: ()=>any | null;
        /**
         * The callback used to add a retain for the info field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value may be 
         * .
         */
        retain: ()=>any | null;
        /**
         * The version number of the structure type being passed in as a parameter to the 
         *  function. This structure is version 
         * .
         */
        version: CFIndex;
        /**
         * Creates a network connection context.
         */
        constructor ();
        /**
         * Creates a network connection context with the specified values.
         */
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: ()=>any | null, release: ()=>any | null, copyDescription: ()=>any | null);
    }
    export enum SCNetworkConnectionStatus {
        invalid = -1,
        disconnected = 0,
        connecting = 1,
        connected = 2,
        disconnecting = 3,
    }
    export enum SCNetworkConnectionPPPStatus {
        disconnected = 0,
        initializing = 1,
        connectingLink = 2,
        dialOnTraffic = 3,
        negotiatingLink = 4,
        authenticating = 5,
        waitingForCallBack = 6,
        negotiatingNetwork = 7,
        connected = 8,
        terminating = 9,
        disconnectingLink = 10,
        holdingLinkOff = 11,
        suspended = 12,
        waitingForRedial = 13,
    }
    export class SCNetworkReachability {}
    export class SCNetworkReachabilityContext {
        /**
         * The callback used to provide a description of the 
         *  field.
         */
        copyDescription: ()=>any | null;
        /**
         * A C pointer to a user-specified block of data.
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * The callback used to remove a retain previously added for the info field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value can be 
         * .
         */
        release: ()=>any | null;
        /**
         * The callback used to add a retain for the info field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value can be 
         * .
         */
        retain: ()=>any | null;
        /**
         * The version number of the structure type being passed in as a parameter to an 
         *  creation function. This structure is version 
         * .
         */
        version: CFIndex;
        /**
         * Creates a network reachability context.
         */
        constructor ();
        /**
         * Creates a network reachability context with the specified values.
         */
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: ()=>any | null, release: ()=>any | null, copyDescription: ()=>any | null);
    }
    export class SCNetworkReachabilityFlags {
        /**
         * The specified node name or address can be reached via a transient connection, such as PPP.
         */
        static transientConnection: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached using the current network configuration.
         */
        static reachable: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached using the current network configuration, but a connection must first be established. If this flag is set, the 
         *  flag, 
         *  flag, or 
         *  flag is also typically set to indicate the type of connection required. If the user must manually make the connection, the 
         *  flag is also set.
         */
        static connectionRequired: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached using the current network configuration, but a connection must first be established. Any traffic directed to the specified name or address will initiate the connection.
         */
        static connectionOnTraffic: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached using the current network configuration, but a connection must first be established.
         */
        static interventionRequired: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached using the current network configuration, but a connection must first be established.
         */
        static connectionOnDemand: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address is one that is associated with a network interface on the current system.
         */
        static isLocalAddress: SCNetworkReachabilityFlags;
        /**
         * Network traffic to the specified node name or address will not go through a gateway, but is routed directly to one of the interfaces in the system.
         */
        static isDirect: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached via a cellular connection, such as EDGE or GPRS.
         */
        static isWWAN: SCNetworkReachabilityFlags;
        /**
         * The specified node name or address can be reached using the current network configuration, but a connection must first be established. Any traffic directed to the specified name or address will initiate the connection. This flag is a synonym for 
         * .
         */
        static connectionAutomatic: SCNetworkReachabilityFlags;
        /**
         * Creates a network reachability flags structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class SCDynamicStore {}
    export class SCPreferences {}
    export class SCPreferencesContext {
        /**
         * The callback used to provide a description of the 
         *  field.
         */
        copyDescription: ()=>any | null;
        /**
         * A C pointer to a user-specified block of data.
         */
        info: UnsafeMutableRawPointer | null;
        /**
         * The calllback used to remove a retain previously added for the 
         *  field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value may be 
         * .
         */
        release: ()=>any | null;
        /**
         * The callback used to add a retain for the 
         *  field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value may be 
         * .
         */
        retain: ()=>any | null;
        /**
         * The version number of the structure type being passed in as a parameter to 
         * . This structure is version 
         * .
         */
        version: CFIndex;
        /**
         * Creates a preferences context.
         */
        constructor ();
        /**
         * Creates a preferences context with the specified raw values.
         */
        constructor (version: CFIndex, info: UnsafeMutableRawPointer | null, retain: ()=>any | null, release: ()=>any | null, copyDescription: ()=>any | null);
    }
    export class SCPreferencesNotification {
        /**
         * Indicates when new preferences have been saved.
         */
        static commit: SCPreferencesNotification;
        /**
         * Indicates when a request has been made to apply the currently saved preferences to the active system configuration.
         */
        static apply: SCPreferencesNotification;
        /**
         * Creates a preferences notification structure with the specified raw value.
         */
        constructor (rawValue: UInt32);
    }
}

/**
 * Share credentials and choose a designated network for each home.
 */
declare module ThreadNetwork {
    export class THClient extends NSObject {
        /**
         * Stores Thread network credentials into the framework database that a Border Agent provides.
         */
        storeCredentials(borderAgentID: Data, activeOperationalDataSet: Data, completion: ()=>any):void;
    }
    export class THCredentials extends NSObject {
        /**
         * The essential operational parameters for the Thread network.
         */
        activeOperationalDataSet: Data | null;
        /**
         * The identifer of an active Thread network Border Agent.
         */
        borderAgentID: Data | null;
        /**
         * The Thread network radio channel.
         */
        channel: UInt8;
        /**
         * The Thread network extended PAN identifier.
         */
        extendedPANID: Data | null;
        /**
         * The Thread network key.
         */
        networkKey: Data | null;
        /**
         * The Thread network name.
         */
        networkName: string;
        /**
         * The Thead network PAN identifier.
         */
        panID: Data | null;
        /**
         * The Thread network pre-shared key for the Commissioner.
         */
        pskc: Data | null;
        /**
         * The date and time that the framework stored the credential in the database.
         */
        creationDate: Date | null;
        /**
         * The date and time that the framework updated the credential in the database.
         */
        lastModificationDate: Date | null;
    }
}

/**
 * Provide uniform type identifiers that describe file types for storage or transfer.
 */
declare module UniformTypeIdentifiers {
    export class UTType {
        /**
         * A type that represents a custom catalog.
         */
        static shazamCustomCatalog: UTType;
        /**
         * A type that represents a signature.
         */
        static shazamSignature: UTType;
        /**
         * A type that represents a volume mount point.
         */
        static mountPoint: UTType;
        /**
         * A type that represents a PHP script.
         */
        static phpScript: UTType;
        /**
         * A base type that represents all text-encoded data, including text with markup.
         */
        static text: UTType;
        /**
         * A type that represents text with no markup and an unspecified encoding.
         */
        static plainText: UTType;
        /**
         * A type that represents plain text encoded as UTF-8.
         */
        static utf8PlainText: UTType;
        /**
         * A type that represents plain text encoded as UTF-16 in native byte order with an optional bill of materials.
         */
        static utf16PlainText: UTType;
        /**
         * A type that represents plain text encoded as UTF-16 with an optional bill of materials.
         */
        static utf16ExternalPlainText: UTType;
        /**
         * A type that represents a URL.
         */
        static url: UTType;
        /**
         * A type that represents a URL to a file in the file system.
         */
        static fileURL: UTType;
        /**
         * A type that represents a URL bookmark.
         */
        static urlBookmarkData: UTType;
        /**
         * A generic base type for most objects, such as files or directories.
         */
        static item: UTType;
        /**
         * A type that represents an alias file.
         */
        static aliasFile: UTType;
        /**
         * A base type that represents anything containing user-viewable content.
         */
        static content: UTType;
        /**
         * A base type that represents a content format supporting mixed embedded content.
         */
        static compositeContent: UTType;
        /**
         * A base type that represents any sort of byte stream, including files and in-memory data.
         */
        static data: UTType;
        /**
         * A base type that represents a resolvable reference, including symbolic links and aliases.
         */
        static resolvable: UTType;
        /**
         * A base type that represents a packaged directory.
         */
        static package: UTType;
        /**
         * A base type that represents a directory that conforms to one of the bundle layouts.
         */
        static bundle: UTType;
        /**
         * A base type that represents a bundle-based plug-in.
         */
        static pluginBundle: UTType;
        /**
         * A base type that represents a macOS, iOS, iPadOS, watchOS, and tvOS app.
         */
        static application: UTType;
        /**
         * A base type that represents source code of any programming language.
         */
        static sourceCode: UTType;
        /**
         * A base type that represents bookmark data.
         */
        static bookmark: UTType;
        /**
         * A type that represents a user-browsable directory.
         */
        static folder: UTType;
        /**
         * A base type that represents console log data.
         */
        static log: UTType;
        /**
         * A base type that represents a spreadsheet document.
         */
        static spreadsheet: UTType;
        /**
         * A base type that represents a presentation document.
         */
        static presentation: UTType;
        /**
         * A base type that represents a database store.
         */
        static database: UTType;
        /**
         * A base type that represents a message.
         */
        static message: UTType;
        /**
         * A base type that represents contact information.
         */
        static contact: UTType;
        /**
         * A base type that represents a calendar event.
         */
        static calendarEvent: UTType;
        /**
         * A type that represents a to-do item.
         */
        static toDoItem: UTType;
        /**
         * A type that represents an email message.
         */
        static emailMessage: UTType;
        /**
         * A base type that represents a font.
         */
        static font: UTType;
        /**
         * A type that represents the root folder of a volume or mount point.
         */
        static volume: UTType;
        /**
         * A base type that represents image data.
         */
        static image: UTType;
        /**
         * A type that represents audio that doesn’t contain video.
         */
        static audio: UTType;
        /**
         * A base type that represents data that contains video content that may or may not also include audio.
         */
        static audiovisualContent: UTType;
        /**
         * A base type representing media formats that may contain both video and audio.
         */
        static movie: UTType;
        /**
         * A type that represents video that doesn’t contain audio.
         */
        static video: UTType;
    }
    export class UTTagClass {
        /**
         * A type property that returns the tag class used to map a type to a filename extension.
         */
        static filenameExtension: UTTagClass;
        /**
         * A type property that returns the tag class used to map a type to a MIME type.
         */
        static mimeType: UTTagClass;
    }
    export class UTTypeReference extends NSObject {
        /**
         * The string that represents the type.
         */
        identifier: string;
        /**
         * The preferred filename extension for the type.
         */
        preferredFilenameExtension: string;
        /**
         * The preferred MIME type for the type.
         */
        preferredMIMEType: string;
        /**
         * The tag specification dictionary of the type.
         */
        tags: Record<string, string[]>;
        /**
         * A Boolean value that indicates whether the system declares the type.
         */
        isDeclared: boolean;
        /**
         * A Boolean value that indicates whether the system generates the type.
         */
        isDynamic: boolean;
        /**
         * A Boolean value that indicates whether the type is in the public domain.
         */
        isPublic: boolean;
        /**
         * The reference URL for the type.
         */
        referenceURL: URL | null;
        /**
         * The type’s version, if available.
         */
        version: NSNumber | null;
        /**
         * The set of types the type directly or indirectly conforms to.
         */
        supertypes: Set<UTType>;
        /**
         * A localized description of the type.
         */
        localizedDescription: string;
        /**
         * Creates a type based on an identifier.
         */
        constructor (identifier: string);
        /**
         * Creates a type based on a MIME type.
         */
        constructor (mimeType: string);
        /**
         * Creates a type based on a MIME type and a supertype that it conforms to.
         */
        constructor (mimeType: string, supertype: UTType);
        /**
         * Creates a type that represents the specified filename extension.
         */
        constructor (filenameExtension: string);
        /**
         * Creates a type that represents the specified filename extension and conforms to an existing type.
         */
        constructor (filenameExtension: string, supertype: UTType);
        /**
         * Creates a type that represents the specified tag and tag class and which conforms to an existing type.
         */
        constructor (tag: string, tagClass: string, supertype: UTType | null);
        /**
         * Creates a type your app owns based on an identifier.
         */
        constructor (identifier: string);
        /**
         * Creates a type your app owns based on an identifier and a supertype that it conforms to.
         */
        constructor (identifier: string, parentType: UTType);
        /**
         * Creates a type your app uses, but doesn’t own, based on an identifier.
         */
        constructor (identifier: string);
        /**
         * Creates a type your app uses, but doesn’t own, based on an identifier and a supertype that it conforms to.
         */
        constructor (identifier: string, parentType: UTType);
        /**
         * Returns an array of types from the provided tag and tag class.
         */
        static types(tag: string, tagClass: string, supertype: UTType | null):UTType[];
        /**
         * Returns a Boolean value that indicates whether a type conforms to the type.
         */
        conforms(type: UTType):boolean;
        /**
         * Returns a Boolean value that indicates whether a type is higher in a hierarchy than the type.
         */
        isSubtype(type: UTType):boolean;
        /**
         * Returns a Boolean value that indicates whether a type is lower in a hierarchy than the type.
         */
        isSupertype(type: UTType):boolean;
    }
}

/**
 * Push user-facing notifications to the user’s device from a server, or generate them locally from your app.
 */
declare module UserNotifications {
    export class UNUserNotificationCenter extends NSObject {
        /**
         * The notification center’s delegate.
         */
        delegate: UNUserNotificationCenterDelegate | null;
        /**
         * A Boolean value that indicates whether the device supports notification content extensions. 
         */
        supportsContentExtensions: boolean;
        /**
         * Returns your app’s notification center.
         */
        static current():UNUserNotificationCenter;
        /**
         * Retrieves the authorization and feature-related settings for your app.
         */
        getNotificationSettings(completionHandler: ()=>any):void;
        /**
         * Schedules the delivery of a local notification.
         */
        add(request: UNNotificationRequest, completionHandler: ()=>any | null):void;
        /**
         * Fetches all of your app’s local notifications that are pending delivery.
         */
        getPendingNotificationRequests(completionHandler: ()=>any):void;
        /**
         * Removes your app’s local notifications that are pending and match the specified identifiers.
         */
        removePendingNotificationRequests(identifiers: string[]):void;
        /**
         * Removes all of your app’s pending local notifications. 
         */
        removeAllPendingNotificationRequests():void;
        /**
         * Fetches all of your app’s delivered notifications that are still present in Notification Center. 
         */
        getDeliveredNotifications(completionHandler: ()=>any):void;
        /**
         * Removes your app’s notifications from Notification Center that match the specified identifiers.
         */
        removeDeliveredNotifications(identifiers: string[]):void;
        /**
         * Removes all of your app’s delivered notifications from Notification Center.
         */
        removeAllDeliveredNotifications():void;
        /**
         * Registers the notification categories that your app supports. 
         */
        setNotificationCategories(categories: Set<UNNotificationCategory>):void;
        /**
         * Fetches your app’s registered notification categories. 
         */
        getNotificationCategories(completionHandler: ()=>any):void;
        /**
         * Updates the badge count for your app’s icon.
         */
        setBadgeCount(newBadgeCount: number, completionHandler: ()=>any | null):void;
        /**
         * Requests the user’s authorization to allow local and remote notifications for your app.
         */
        requestAuthorization(options: UNAuthorizationOptions, completionHandler: ()=>any):void;
    }
    export class UNAuthorizationOptions {
        /**
         * The ability to display notifications in a CarPlay environment.
         */
        static carPlay: UNAuthorizationOptions;
        /**
         * The ability to play sounds for critical alerts.
         */
        static criticalAlert: UNAuthorizationOptions;
        /**
         * An option indicating the system should display a button for in-app notification settings.
         */
        static providesAppNotificationSettings: UNAuthorizationOptions;
        /**
         * The ability to post noninterrupting notifications provisionally to the Notification Center.
         */
        static provisional: UNAuthorizationOptions;
        /**
         * The ability for Siri to automatically read out messages over AirPods.
         */
        static announcement: UNAuthorizationOptions;
        static timeSensitive: UNAuthorizationOptions;
        /**
         * Initializes an authorization options constant using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UNNotificationPresentationOptions {
        /**
         * Initializes a notification presentation options object using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export interface UNUserNotificationCenterDelegate extends NSObjectProtocol {
        /**
         * Asks the delegate to display the in-app notification settings.
         */
        userNotificationCenter(center: UNUserNotificationCenter, notification: UNNotification | null):void;
    }
    export class UNNotificationSettings extends NSObject {
        /**
         * The app's ability to schedule and receive local and remote notifications. 
         */
        authorizationStatus: UNAuthorizationStatus;
        /**
         * The setting that indicates whether your app’s notifications appear in Notification Center.
         */
        notificationCenterSetting: UNNotificationSetting;
        /**
         * The setting that indicates whether your app’s notifications appear on a device’s Lock screen.
         */
        lockScreenSetting: UNNotificationSetting;
        /**
         * The setting that indicates whether your app’s notifications appear in CarPlay.
         */
        carPlaySetting: UNNotificationSetting;
        /**
         * The authorization status for displaying alerts.
         */
        alertSetting: UNNotificationSetting;
        /**
         * The setting that indicates whether badges appear on your app’s icon.
         */
        badgeSetting: UNNotificationSetting;
        /**
         * The authorization status for playing sounds for incoming notifications.
         */
        soundSetting: UNNotificationSetting;
        /**
         * The authorization status for playing sounds for critical alerts.
         */
        criticalAlertSetting: UNNotificationSetting;
        /**
         * The setting that indicates whether Siri can announce your app’s notifications.
         */
        announcementSetting: UNNotificationSetting;
        /**
         * The setting that indicates the system schedules the notification. 
         */
        scheduledDeliverySetting: UNNotificationSetting;
        /**
         * The setting that indicates the system treats the notification as time-sensitive. 
         */
        timeSensitiveSetting: UNNotificationSetting;
        /**
         * The type of alert that the app may display when the device is unlocked.
         */
        alertStyle: UNAlertStyle;
        /**
         * The setting that indicates whether the app shows a preview of the notification's content.
         */
        showPreviewsSetting: UNShowPreviewsSetting;
        /**
         * A Boolean value indicating the system displays a button for in-app notification settings.
         */
        providesAppNotificationSettings: boolean;
        directMessagesSetting: UNNotificationSetting;
    }
    export enum UNAuthorizationStatus {
        notDetermined = 0,
        denied = 1,
        authorized = 2,
        provisional = 3,
        ephemeral = 4,
    }
    export enum UNNotificationSetting {
        notSupported = 0,
        disabled = 1,
        enabled = 2,
    }
    export enum UNAlertStyle {
        none = 0,
        banner = 1,
        alert = 2,
    }
    export enum UNShowPreviewsSetting {
        always = 0,
        whenAuthenticated = 1,
        never = 2,
    }
    export class UNNotificationRequest extends NSObject {
        /**
         * The unique identifier for this notification request.
         */
        identifier: string;
        /**
         * The content associated with the notification.
         */
        content: UNNotificationContent;
        /**
         * The conditions that trigger the delivery of the notification.
         */
        trigger: UNNotificationTrigger | null;
        /**
         * Creates a notification request object that you use to schedule a notification.
         */
        constructor (identifier: string, content: UNNotificationContent, trigger: UNNotificationTrigger | null);
    }
    export class UNNotification extends NSObject {
        /**
         * The notification request containing the payload and trigger condition for the notification.
         */
        request: UNNotificationRequest;
        /**
         * The delivery date of the notification.
         */
        date: Date;
    }
    export interface UNNotificationContentProviding extends NSObjectProtocol {}
    export class UNNotificationActionIcon extends NSObject {
        /**
         * Creates an action icon by using a system symbol image.
         */
        constructor (systemImageName: string);
        /**
         * Creates an action icon based on an image in your app’s bundle, preferably in an asset catalog.
         */
        constructor (templateImageName: string);
    }
    export class UNMutableNotificationContent extends UNNotificationContent {
        /**
         * The localized text that provides the notification’s primary description.
         */
        title: string;
        /**
         * The localized text that provides the notification’s secondary description.
         */
        subtitle: string;
        /**
         * The localized text that provides the notification’s main content.
         */
        body: string;
        /**
         * The visual and audio attachments to display alongside the notification’s main content.
         */
        attachments: UNNotificationAttachment[];
        /**
         * The custom data to associate with the notification.
         */
        userInfo: Record<AnyHashable, any>;
        /**
         * The name of the image or storyboard to use when your app launches because of the notification.
         */
        launchImageName: string;
        /**
         * The number that your app’s icon displays.
         */
        badge: NSNumber | null;
        /**
         * The value your app uses to determine which scene to display to handle the notification.
         */
        targetContentIdentifier: string;
        /**
         * The sound that plays when the system delivers the notification.
         */
        sound: UNNotificationSound | null;
        /**
         * The notification’s importance and required delivery timing.
         */
        interruptionLevel: UNNotificationInterruptionLevel;
        /**
         * The score the system uses to determine if the notification is the summary’s featured notification.
         */
        relevanceScore: number;
        /**
         * The criteria the system evaluates to determine if it displays the notification in the current Focus.
         */
        filterCriteria: string;
        /**
         * The identifier that groups related notifications.
         */
        threadIdentifier: string;
        /**
         * The identifier of the notification’s category.
         */
        categoryIdentifier: string;
        /**
         * The text the system adds to the notification summary to provide additional context.
         */
        summaryArgument: string;
        /**
         * The number the system adds to the notification summary when the notification represents multiple items.
         */
        summaryArgumentCount: number;
    }
    export enum UNNotificationInterruptionLevel {
        active = 1,
        critical = 3,
        passive = 0,
        timeSensitive = 2,
    }
    export class UNNotificationContent extends NSObject {
        /**
         * The localized text that provides the notification’s primary description.
         */
        title: string;
        /**
         * The localized text that provides the notification’s secondary description.
         */
        subtitle: string;
        /**
         * The localized text that provides the notification’s main content.
         */
        body: string;
        /**
         * The visual and audio attachments to display alongside the notification’s main content.
         */
        attachments: UNNotificationAttachment[];
        /**
         * The custom data to associate with the notification.
         */
        userInfo: Record<AnyHashable, any>;
        /**
         * The name of the image or storyboard to use when your app launches because of the notification.
         */
        launchImageName: string;
        /**
         * The number that your app’s icon displays.
         */
        badge: NSNumber | null;
        /**
         * The value your app uses to determine which scene to display to handle the notification.
         */
        targetContentIdentifier: string;
        /**
         * The sound that plays when the system delivers the notification.
         */
        sound: UNNotificationSound | null;
        /**
         * The notification’s importance and required delivery timing.
         */
        interruptionLevel: UNNotificationInterruptionLevel;
        /**
         * The score the system uses to determine if the notification is the summary’s featured notification.
         */
        relevanceScore: number;
        /**
         * The criteria the system evaluates to determine if it displays the notification in the current Focus.
         */
        filterCriteria: string;
        /**
         * The identifier that groups related notifications.
         */
        threadIdentifier: string;
        /**
         * The identifier of the notification’s category.
         */
        categoryIdentifier: string;
        /**
         * The text the system adds to the notification summary to provide additional context.
         */
        summaryArgument: string;
        /**
         * The number the system adds to the notification summary when the notification represents multiple items.
         */
        summaryArgumentCount: number;
        /**
         * Returns a copy of the notification that includes content from the specified provider.
         */
        updating(provider: UNNotificationContentProviding):UNNotificationContent;
    }
    export class UNNotificationAttachment extends NSObject {
        /**
         * The unique identifier for the attachment.
         */
        identifier: string;
        /**
         * The URL of the file for this attachment.
         */
        url: URL;
        /**
         * The UTI type of the attachment.
         */
        type: string;
        /**
         * Creates an attachment object from the specified file and options.
         */
        constructor (identifier: string, URL: URL, options: Record<AnyHashable, any> | null);
    }
    export class UNNotificationSound extends NSObject {
        /**
         * Returns an object representing the default sound for notifications.
         */
        static default: UNNotificationSound;
        /**
         * The default sound used for critical alerts.
         */
        static defaultCritical: UNNotificationSound;
        static defaultRingtone: UNNotificationSound;
        /**
         * Creates a sound object that represents a custom sound file.
         */
        constructor (name: UNNotificationSoundName);
        /**
         * Creates a sound object that plays the default critical alert sound at the volume you specify.
         */
        static defaultCriticalSound(volume: Float):Self;
        /**
         * Creates a custom sound object for critical alerts.
         */
        static criticalSoundNamed(name: UNNotificationSoundName):Self;
        static ringtoneSoundNamed(name: UNNotificationSoundName):Self;
    }
    export class UNNotificationSoundName {
        /**
         * Creates a notification sound name using the string parameter.
         */
        constructor (rawValue: string);
        /**
         * Creates a notification sound name using the string parameter.
         */
        constructor (rawValue: string);
    }
    export class UNCalendarNotificationTrigger extends UNNotificationTrigger {
        /**
         * The date components to construct this object.
         */
        dateComponents: DateComponents;
        /**
         * Creates a calendar trigger using the date components parameter.
         */
        constructor (dateComponents: DateComponents, repeats: boolean);
        /**
         * The next date at which the trigger conditions are met.
         */
        nextTriggerDate():Date | null;
    }
    export class UNTimeIntervalNotificationTrigger extends UNNotificationTrigger {
        /**
         * The time interval to create the trigger.
         */
        timeInterval: TimeInterval;
        /**
         * Creates a time interval trigger using the time value parameter.
         */
        constructor (timeInterval: TimeInterval, repeats: boolean);
        /**
         * The next date at which the trigger conditions are met.
         */
        nextTriggerDate():Date | null;
    }
    export class UNLocationNotificationTrigger extends UNNotificationTrigger {
        /**
         * The region used to determine when the system sends the notification.
         */
        region: CLRegion;
        /**
         * Creates a location trigger using the region parameter.
         */
        constructor (region: CLRegion, repeats: boolean);
    }
    export class UNPushNotificationTrigger extends UNNotificationTrigger {}
    export class UNNotificationTrigger extends NSObject {
        /**
         * A Boolean value indicating whether the system reschedules the notification after it’s delivered.
         */
        repeats: boolean;
    }
    export class UNNotificationCategory extends NSObject {
        /**
         * The unique string assigned to the category.
         */
        identifier: string;
        /**
         * The actions to display when the system delivers notifications of this type.
         */
        actions: UNNotificationAction[];
        /**
         * The intents related to notifications of this category.
         */
        intentIdentifiers: string[];
        /**
         * The placeholder text to display when the system disables notification previews for the app.
         */
        hiddenPreviewsBodyPlaceholder: string;
        /**
         * A format string for the summary description used when the system groups the category’s notifications.
         */
        categorySummaryFormat: string;
        /**
         * Options for how to handle notifications of this type.
         */
        options: UNNotificationCategoryOptions;
        /**
         * Creates a category object containing the specified actions and options.
         */
        constructor (identifier: string, actions: UNNotificationAction[], intentIdentifiers: string[], options: UNNotificationCategoryOptions);
        /**
         * Creates a category object containing the specified actions, options, and placeholder text used when previews aren’t shown.
         */
        constructor (identifier: string, actions: UNNotificationAction[], intentIdentifiers: string[], hiddenPreviewsBodyPlaceholder: string, options: UNNotificationCategoryOptions);
        /**
         * Creates a category object containing the specified actions, options, placeholder text used when previews aren’t shown, and summary format string.
         */
        constructor (identifier: string, actions: UNNotificationAction[], intentIdentifiers: string[], hiddenPreviewsBodyPlaceholder: string, categorySummaryFormat: string, options: UNNotificationCategoryOptions);
    }
    export class UNNotificationCategoryOptions {
        /**
         * Send dismiss actions to the 
         *  object’s delegate for handling.
         */
        static customDismissAction: UNNotificationCategoryOptions;
        /**
         * Allow CarPlay to display notifications of this type.
         */
        static allowInCarPlay: UNNotificationCategoryOptions;
        /**
         * Show the notification’s title, even if the user has disabled notification previews for the app.
         */
        static hiddenPreviewsShowTitle: UNNotificationCategoryOptions;
        /**
         * Show the notification’s subtitle, even if the user has disabled notification previews for the app.
         */
        static hiddenPreviewsShowSubtitle: UNNotificationCategoryOptions;
        /**
         * An option that grants Siri permission to read incoming messages out loud when the user has a compatible audio output device connected.
         */
        static allowAnnouncement: UNNotificationCategoryOptions;
        /**
         * Initializes a notification category options object using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UNNotificationAction extends NSObject {
        /**
         * The unique string that your app uses to identify the action.
         */
        identifier: string;
        /**
         * The localized string to use as the title of the action.
         */
        title: string;
        /**
         * The icon associated with the action.
         */
        icon: UNNotificationActionIcon | null;
        /**
         * The behaviors associated with the action.
         */
        options: UNNotificationActionOptions;
        /**
         * Creates an action object by using the specified title and options.
         */
        constructor (identifier: string, title: string, options: UNNotificationActionOptions);
        /**
         * Creates an action object by using the specified title, options, and icon.
         */
        constructor (identifier: string, title: string, options: UNNotificationActionOptions, icon: UNNotificationActionIcon | null);
    }
    export class UNNotificationActionOptions {
        /**
         * The action can be performed only on an unlocked device. 
         */
        static authenticationRequired: UNNotificationActionOptions;
        /**
         * The action performs a destructive task.   
         */
        static destructive: UNNotificationActionOptions;
        /**
         * The action causes the app to launch in the foreground.  
         */
        static foreground: UNNotificationActionOptions;
        /**
         * Initializes an action options object using the specified raw value.
         */
        constructor (rawValue: number);
    }
    export class UNTextInputNotificationAction extends UNNotificationAction {
        /**
         * The localized title of the text input button that the system displays to the user.
         */
        textInputButtonTitle: string;
        /**
         * The placeholder text that the system localizes and displays in the text input field.
         */
        textInputPlaceholder: string;
        /**
         * Creates an action object that accepts text input from the user.
         */
        constructor (identifier: string, title: string, options: UNNotificationActionOptions, textInputButtonTitle: string, textInputPlaceholder: string);
        /**
         * Creates an action object with an icon that accepts text input from the user.
         */
        constructor (identifier: string, title: string, options: UNNotificationActionOptions, icon: UNNotificationActionIcon | null, textInputButtonTitle: string, textInputPlaceholder: string);
    }
    export class UNNotificationResponse extends NSObject {
        /**
         * The identifier string of the action that the user selected.
         */
        actionIdentifier: string;
        /**
         * The notification to which the user responded.
         */
        notification: UNNotification;
        /**
         * The scene where the system reflects the user’s response to a notification.
         */
        targetScene: UIScene | null;
    }
    export class UNTextInputNotificationResponse extends UNNotificationResponse {
        /**
         * The text response provided by the user. 
         */
        userText: string;
    }
    export class UNNotificationServiceExtension extends NSObject {
        /**
         * Asks you to make any needed changes to the notification and notify the system when you’re done.
         */
        didReceive(request: UNNotificationRequest, contentHandler: ()=>any):void;
        /**
         * Tells you that the system is terminating your extension.
         */
        serviceExtensionTimeWillExpire():void;
    }
    export class UNError {
        /**
         * Notifications are not allowed.
         */
        static notificationsNotAllowed: UNError.Code;
        /**
         * The URL for an attachment was invalid.
         */
        static attachmentInvalidURL: UNError.Code;
        /**
         * The file type of an attachment is not supported. 
         */
        static attachmentUnrecognizedType: UNError.Code;
        /**
         * An attachment is too large. 
         */
        static attachmentInvalidFileSize: UNError.Code;
        /**
         * The specified attachment is not in the system data store. 
         */
        static attachmentNotInDataStore: UNError.Code;
        /**
         * An error occurred when trying to move an attachment to the system data store. 
         */
        static attachmentMoveIntoDataStoreFailed: UNError.Code;
        /**
         * The file for an attachment is corrupt. 
         */
        static attachmentCorrupt: UNError.Code;
        /**
         * The notification does not have an associated date, but should.  
         */
        static notificationInvalidNoDate: UNError.Code;
        /**
         * The notification has no user-facing content, but should. 
         */
        static notificationInvalidNoContent: UNError.Code;
        static contentProvidingInvalid: UNError.Code;
        static contentProvidingObjectNotAllowed: UNError.Code;
        static badgeInputInvalid: UNError.Code;
        /**
         * A static string that represents the user notification error domain.
         */
        static errorDomain: string;
        /**
         * The error code for the user notification error.
         */
        errorCode: number;
        /**
         * A dictionary that contains additional information related to the error.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that contains the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class UNError
     */
    export namespace UNError {
        export enum Code {
            notificationsNotAllowed = 1,
            attachmentInvalidURL = 100,
            attachmentUnrecognizedType = 101,
            attachmentInvalidFileSize = 102,
            attachmentNotInDataStore = 103,
            attachmentMoveIntoDataStoreFailed = 104,
            attachmentCorrupt = 105,
            notificationInvalidNoDate = 1400,
            notificationInvalidNoContent = 1401,
            contentProvidingInvalid = 1501,
            contentProvidingObjectNotAllowed = 1500,
            badgeInputInvalid = 1600,
        }
    }
}

/**
 * Customize the interface that displays local and remote notifications.
 */
declare module UserNotificationsUI {
    export interface UNNotificationContentExtension extends NSObjectProtocol {
        /**
         * The frame rectangle to use for displaying a media playback button.
         */
        mediaPlayPauseButtonFrame: CGRect;
        /**
         * The tint color for the media playback button.
         */
        mediaPlayPauseButtonTintColor: UIColor;
        /**
         * Tells you to begin playback of your media content. 
         */
        mediaPlay():void;
        /**
         * Tells you to pause playback of your media content.
         */
        mediaPause():void;
        /**
         * Delivers a new notification to your notification content app extension.
         */
        didReceive(notification: UNNotification):void;
        /**
         * The type of media button type to display.
         */
        mediaPlayPauseButtonType: UNNotificationContentExtensionMediaPlayPauseButtonType;
    }
    export enum UNNotificationContentExtensionMediaPlayPauseButtonType {
        none = 0,
        default = 1,
        overlay = 2,
    }
    export enum UNNotificationContentExtensionResponseOption {
        doNotDismiss = 0,
        dismiss = 1,
        dismissAndForwardAction = 2,
    }
}

/**
 * Support TV provider and Apple TV app functionality.
 */
declare module VideoSubscriberAccount {
    export class VSAccountManager extends NSObject {
        /**
         * The delegate of the account manager object.
         */
        delegate: VSAccountManagerDelegate | null;
        /**
         * Submits a request for subscriber account information.
         */
        enqueue(request: VSAccountMetadataRequest, completionHandler: ()=>any):VSAccountManagerResult;
        /**
         * Checks your app’s access to user subscription information, and requests access if needed.
         */
        checkAccessStatus(options: Record<VSCheckAccessOption, any>, completionHandler: ()=>any):void;
    }
    export class VSCheckAccessOption {
        constructor (rawValue: string);
    }
    export class VSUserAccount {
        billingIdentifier: string;
        deviceCategory: VSUserAccount.OriginatingDeviceCategory;
        hashValue: number;
        identifier: string;
        isDeleted: boolean;
        isFromCurrentDevice: boolean;
        requiresSystemTrust: boolean;
        subscriptionBillingCycleEndDate: Date | null;
        tierIdentifiers: string[] | null;
        updateURL: URL | null;
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class VSUserAccount
     */
    export namespace VSUserAccount {
        export enum AccountType {
            free,
            paid,
        }
        export enum OriginatingDeviceCategory {
            mobile,
            other,
        }
    }
    export enum VSAccountAccessStatus {
        denied = 2,
        granted = 3,
        notDetermined = 0,
        restricted = 1,
    }
    export class VSAccountApplicationProvider extends NSObject {
        identifier: string;
        localizedDisplayName: string;
        constructor (localizedDisplayName: string, identifier: string);
    }
    export class VSUserAccountManager extends NSObject {
        static shared: VSUserAccountManager;
        update(account: VSUserAccount):void;
        userAccounts(options: VSUserAccountManager.QueryOptions):VSUserAccount[];
    }
    /**
     * the same name namespace of class VSUserAccountManager
     */
    export namespace VSUserAccountManager {
        export class QueryOptions {
            static allDevices: VSUserAccountManager.QueryOptions;
            constructor (rawValue: number);
        }
    }
    export class VSAccountMetadataRequest extends NSObject {
        /**
         * A Boolean value that indicates whether your app requests the identifier of the account provider.
         */
        includeAccountProviderIdentifier: boolean;
        /**
         * A Boolean value that indicates whether your app requests the expiration date of the user’s current authentication session.
         */
        includeAuthenticationExpirationDate: boolean;
        /**
         * The SAML attributes that your app sends to the account provider.
         */
        attributeNames: string[];
        /**
         * The channel identifier for the request.
         */
        channelIdentifier: string;
        /**
         * A list of identifiers for TV providers that your app supports.
         */
        supportedAccountProviderIdentifiers: string[];
        /**
         * A collection of authentication schemes your app supports for this request.
         */
        supportedAuthenticationSchemes: VSAccountProviderAuthenticationScheme[];
        /**
         * A token that your app sends to an account provider to identify itself.
         */
        verificationToken: string;
        /**
         * A Boolean value that indicates whether your app can prompt the user to authenticate to complete the request.
         */
        isInterruptionAllowed: boolean;
        /**
         * The providers your app lists prominently during authentication.
         */
        featuredAccountProviderIdentifiers: string[];
        /**
         * A Boolean value that indicates whether the app ignores cached credentials.
         */
        forceAuthentication: boolean;
        /**
         * A short, user-presentable name for the video that the user wants to play.
         */
        localizedVideoTitle: string;
        /**
         * An authentication session token that your app sends to the account provider.
         */
        accountProviderAuthenticationToken: string;
        applicationAccountProviders: VSAccountApplicationProvider[] | null;
    }
    export interface VSAccountManagerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate to present an authentication view controller.
         */
        accountManager(accountManager: VSAccountManager, viewController: UIViewController):void;
    }
    export class VSAccountMetadata extends NSObject {
        /**
         * The unique identifier of the account provider.
         */
        accountProviderIdentifier: string;
        /**
         * The date when the user’s current authentication session expires.
         */
        authenticationExpirationDate: Date | null;
        /**
         * The response from the account provider.
         */
        accountProviderResponse: VSAccountProviderResponse | null;
        /**
         * The SAML response from the account provider.
         */
        samlAttributeQueryResponse: string;
        /**
         * Data you use to verify that the response came from the account provider.
         */
        verificationData: Data | null;
    }
    export class VSAccountManagerResult extends NSObject {
        /**
         * Cancels an in-progress request for subscriber account information.
         */
        cancel():void;
    }
    export class VSAccountProviderResponse extends NSObject {
        /**
         * The authentication scheme type of the response.
         */
        authenticationScheme: VSAccountProviderAuthenticationScheme;
        /**
         * The raw response from the provider.
         */
        body: string;
        /**
         * The status code for the response.
         */
        status: string;
    }
    export class VSAccountProviderAuthenticationScheme {
        /**
         * Represents a SAML authentication scheme.
         */
        static saml: VSAccountProviderAuthenticationScheme;
        /**
         * Represents any authentication scheme.
         */
        static api: VSAccountProviderAuthenticationScheme;
        /**
         * Creates a new authentication scheme with the specified string.
         */
        constructor (rawValue: string);
        /**
         * Creates a new authentication scheme with the specified raw value.
         */
        constructor (rawValue: string);
    }
    export class VSSubscription extends NSObject {
        /**
         * The subscriber’s level of access to your catalog of content.
         */
        accessLevel: VSSubscriptionAccessLevel;
        /**
         * The subscriber’s billing group.
         */
        billingIdentifier: string;
        /**
         * The date when the user’s subscription expires.
         */
        expirationDate: Date!;
        /**
         * A list of content from your catalog that the subscriber can access.
         */
        tierIdentifiers: [String]!;
    }
    export enum VSSubscriptionAccessLevel {
        freeWithAccount = 1,
        paid = 2,
        unknown = 0,
    }
    export class VSSubscriptionRegistrationCenter extends NSObject {
        /**
         * Returns the default subscription registration center object.
         */
        static default():VSSubscriptionRegistrationCenter;
        /**
         * Sets the subscription information for the current user.
         */
        setCurrentSubscription(currentSubscription: VSSubscription | null):void;
    }
    export class VSError {
        /**
         * The user hasn’t granted access to their subscription information.
         */
        static accessNotGranted: VSError.Code;
        /**
         * A string that contains the error domain.
         */
        static errorDomain: string;
        /**
         * The user’s subscription provider rejected the verification token that the app sent with the request.
         */
        static invalidVerificationToken: VSError.Code;
        /**
         * The user’s subscription provider didn’t allow the request to proceed. 
         */
        static providerRejected: VSError.Code;
        /**
         * The system rejected the request.
         */
        static rejected: VSError.Code;
        /**
         * The request failed due to a timeout or unreachable host, but a subsequent attempt might succeed.
         */
        static serviceTemporarilyUnavailable: VSError.Code;
        /**
         * The provider doesn’t support the feature the user requested in the device’s current region.
         */
        static unsupported: VSError.Code;
        /**
         * The system doesn’t support the user’s subscription provider.
         */
        static unsupportedProvider: VSError.Code;
        /**
         * The user canceled the request.
         */
        static userCancelled: VSError.Code;
        /**
         * The error code.
         */
        errorCode: number;
        /**
         * The user-info dictionary.
         */
        errorUserInfo: Record<string, any>;
        /**
         * A string that contains the localized description of the error.
         */
        localizedDescription: string;
        code: Code;
        hashValue: number;
        userInfo: Record<string, any>;
        constructor (code: Code, userInfo: Record<string, any>);
        hash(hasher: Hasher):void;
    }
    /**
     * the same name namespace of class VSError
     */
    export namespace VSError {
        export enum Code {
            accessNotGranted = 0,
            invalidVerificationToken = 5,
            providerRejected = 4,
            rejected = 6,
            serviceTemporarilyUnavailable = 3,
            unsupported = 7,
            unsupportedProvider = 1,
            userCancelled = 2,
        }
    }
}

/**
 * Work directly with hardware-accelerated video encoding and decoding capabilities.
 */
declare module VideoToolbox {
    export class VTCompressionSessionOptionFlags {
        /**
         * A flag that indicates the last pass in a multi-pass compression session.
         */
        static beginFinalPass: VTCompressionSessionOptionFlags;
        /**
         * Creates a flags structure with a raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class VTCompressionSession {}
    export class VTEncodeInfoFlags {
        /**
         * A flag that indicates that an encode operation ran asynchronously.
         */
        static asynchronous: VTEncodeInfoFlags;
        /**
         * A flag that indicates that a frame dropped during encoding.
         */
        static frameDropped: VTEncodeInfoFlags;
        /**
         * Creates a flags structure with a raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class VTDecompressionSession {}
    export class VTDecodeFrameFlags {
        /**
         * Creates a flags structure with a raw value.
         */
        constructor (rawValue: UInt32);
    }
    export class VTDecodeInfoFlags {
        static asynchronous: VTDecodeInfoFlags;
        static frameDropped: VTDecodeInfoFlags;
        static imageBufferModifiable: VTDecodeInfoFlags;
        constructor (rawValue: UInt32);
    }
    export class VTDecompressionOutputCallbackRecord {
        decompressionOutputCallback: VTDecompressionOutputCallback | null;
        decompressionOutputRefCon: UnsafeMutableRawPointer | null;
        constructor ();
        constructor (decompressionOutputCallback: VTDecompressionOutputCallback | null, decompressionOutputRefCon: UnsafeMutableRawPointer | null);
    }
    export class VTFrameSilo {}
    export class VTMultiPassStorage {}
    export class VTPixelTransferSession {}
    export class VTPixelRotationSession {}
    export class VTInt32Point {
        /**
         * The x-coordinate of the point.
         */
        x: Int32;
        /**
         * The y-coordinate of the point.
         */
        y: Int32;
        /**
         * Creates a size with coordinates equal to zero.
         */
        constructor ();
        /**
         * Creates a point with coordinates specified as integer values.
         */
        constructor (x: Int32, y: Int32);
    }
    export class VTInt32Size {
        /**
         * The width of the size.
         */
        width: Int32;
        /**
         * The height of the size.
         */
        height: Int32;
        /**
         * Creates a size with a width and height of zero.
         */
        constructor ();
        /**
         * Creates a size with a width and height.
         */
        constructor (width: Int32, height: Int32);
    }
}

/**
 * Add Live Text features to images, scan data in the camera’s viewfinder, and scan documents.
 */
declare module VisionKit {
    export class ImageAnalyzer {
        /**
         * A Boolean value that indicates whether the device supports Live Text for images.
         */
        static isSupported: boolean;
        /**
         * The identifiers for the languages that the image analyzer recognizes.
         */
        static supportedTextRecognitionLanguages: string[];
        /**
         * Creates an image analyzer for finding text and machine-readable codes in images.
         */
        constructor ();
        /**
         * Returns the data for providing a Live Text interaction with an image.
         */
        analyze(image: UIImage, configuration: ImageAnalyzer.Configuration):ImageAnalysis;
    }
    /**
     * the same name namespace of class ImageAnalyzer
     */
    export namespace ImageAnalyzer {
        export class AnalysisTypes {
            /**
             * Text that appears in an image.
             */
            static text: ImageAnalyzer.AnalysisTypes;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: ImageAnalyzer.AnalysisTypes);
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates an instance from a raw type.
             */
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: ImageAnalyzer.AnalysisTypes):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: ImageAnalyzer.AnalysisTypes):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: ImageAnalyzer.AnalysisTypes):ImageAnalyzer.AnalysisTypes | null;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: ImageAnalyzer.AnalysisTypes):ImageAnalyzer.AnalysisTypes | null;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: ImageAnalyzer.AnalysisTypes):ImageAnalyzer.AnalysisTypes;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: ImageAnalyzer.AnalysisTypes):void;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: ImageAnalyzer.AnalysisTypes):ImageAnalyzer.AnalysisTypes;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: ImageAnalyzer.AnalysisTypes):void;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: ImageAnalyzer.AnalysisTypes):ImageAnalyzer.AnalysisTypes;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: ImageAnalyzer.AnalysisTypes):void;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: ImageAnalyzer.AnalysisTypes):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: ImageAnalyzer.AnalysisTypes):ImageAnalyzer.AnalysisTypes;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: ImageAnalyzer.AnalysisTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: ImageAnalyzer.AnalysisTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: ImageAnalyzer.AnalysisTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: ImageAnalyzer.AnalysisTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: ImageAnalyzer.AnalysisTypes):boolean;
        }
        export class Configuration {
            /**
             * The languages to use in text items that the image analyzer recognizes.
             */
            locales: string[];
        }
    }
    export class ImageAnalysisInteraction extends NSObject {
        /**
         * Returns a Boolean value that indicates whether the analysis finds text at the specified point.
         */
        analysisHasText(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether active text, data detectors, or supplementary interface objects exist at the specified point.
         */
        hasInteractiveItem(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether active text exists at the specified point.
         */
        hasText(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether the analysis detects data at the specified point.
         */
        hasDataDetector(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether supplementary interface objects exist at the specified point.
         */
        hasSupplementaryInterface(point: CGPoint):boolean;
        /**
         * Performs an action before the view adds or removes the interaction from its interaction array.
         */
        willMove(view: UIView | null):void;
        /**
         * Performs an action after the view adds or removes the interaction from its interaction array.
         */
        didMove(view: UIView | null):void;
        /**
         * Informs the view that contains the image when the layout changes and the view needs to redisplay its content.
         */
        setContentsRectNeedsUpdate():void;
    }
    export interface ImageAnalysisInteractionDelegate {
        /**
         * Returns the view that contains the image.
         */
        contentView(interaction: ImageAnalysisInteraction):UIView | null;
        /**
         * Returns the rectangle, in unit coordinate space, that contains the image within the view.
         */
        contentsRect(interaction: ImageAnalysisInteraction):CGRect;
        /**
         * Returns the view controller that presents the interface objects.
         */
        presentingViewController(interaction: ImageAnalysisInteraction):UIViewController | null;
        /**
         * Returns a Boolean value that indicates whether the interaction can begin.
         */
        interaction(interaction: ImageAnalysisInteraction, point: CGPoint, interactionType: ImageAnalysisInteraction.InteractionTypes):boolean;
    }
    export class ImageAnalysisOverlayView extends NSView {
        /**
         * The delegate that handles Live Text interface callbacks.
         */
        delegate: ImageAnalysisOverlayViewDelegate | null;
        /**
         * The results of analyzing an image for items that the user can interact with.
         */
        analysis: ImageAnalysis | null;
        /**
         * The font to use for the supplementary interface.
         */
        supplementaryInterfaceFont: NSFont | null;
        /**
         * The types of interactions that the user can perform with the image in this overlay view.
         */
        preferredInteractionTypes: ImageAnalysisOverlayView.InteractionTypes;
        /**
         * The image view that contains the image.
         */
        trackingImageView: NSImageView | null;
        /**
         * A rectangle, in unit coordinate space, that describes the content area of the Live Text interface.
         */
        contentsRect: CGRect;
        /**
         * The types of interactions that the user actively performs.
         */
        activeInteractionTypes: ImageAnalysisOverlayView.InteractionTypes;
        /**
         * A Boolean value that indicates whether the user selects text in the image.
         */
        hasActiveTextSelection: boolean;
        /**
         * A Boolean value that indicates whether the view hides supplementary interface objects. 
         */
        isSupplementaryInterfaceHidden: boolean;
        /**
         * A Boolean value that indicates whether the Live Text button appears.
         */
        liveTextButtonVisible: boolean;
        /**
         * A Boolean value that indicates whether the overlay view highlights actionable text or data that the analyzer detects in text.
         */
        selectableItemsHighlighted: boolean;
        /**
         * The distances the edges of content are inset from the supplementary interface.
         */
        supplementaryInterfaceContentInsets: NSEdgeInsets;
        /**
         * Creates an overlay view with the specified delegate object.
         */
        constructor (delegate: ImageAnalysisOverlayViewDelegate);
        /**
         * Creates an overlay view with the specified frame rectangle.
         */
        constructor (frameRect: NSRect);
        /**
         * Creates an overlay view from data in a coder object.
         */
        constructor (coder: NSCoder);
        /**
         * Removes the user’s text selection from the interface.
         */
        resetSelection():void;
        /**
         * Hides or shows supplementary interface objects, such as the Live Text button and the interface for Quick Actions, depending on the item type.
         */
        setSupplementaryInterfaceHidden(hidden: boolean, animated: boolean):void;
        /**
         * Returns a Boolean value that indicates whether the analysis finds text at the specified point.
         */
        analysisHasText(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether active text, data detectors, or supplementary interface objects exist at the specified point.
         */
        hasInteractiveItem(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether active text exists at the specified point.
         */
        hasText(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether the analysis detects data at the specified point.
         */
        hasDataDetector(point: CGPoint):boolean;
        /**
         * Returns a Boolean value that indicates whether supplementary interface objects exist at the specified point.
         */
        hasSupplementaryInterface(point: CGPoint):boolean;
        /**
         * Informs the view that contains the image when the layout changes and the view needs to redisplay its content.
         */
        setContentsRectNeedsUpdate():void;
    }
    /**
     * the same name namespace of class ImageAnalysisOverlayView
     */
    export namespace ImageAnalysisOverlayView {
        export class InteractionTypes {
            /**
             * A type of interaction that’s suitable for the types of items in an image.
             */
            static automatic: ImageAnalysisOverlayView.InteractionTypes;
            /**
             * A type of interaction with text that the analyzer finds in an image, such as copy and translate.
             */
            static textSelection: ImageAnalysisOverlayView.InteractionTypes;
            /**
             * A type of interaction with data that the analyzer detects in text, such as URLs, emails, and addresses.
             */
            static dataDetectors: ImageAnalysisOverlayView.InteractionTypes;
            /**
             * The corresponding value of the raw type.
             */
            rawValue: number;
            /**
             * A Boolean value that indicates whether the set has no elements.
             */
            isEmpty: boolean;
            /**
             * Creates an empty option set.
             */
            constructor ();
            /**
             * Creates a set containing the elements of the given array literal.
             */
            constructor (...arrayLiteral: ImageAnalysisOverlayView.InteractionTypes);
            /**
             * Creates an instance from a raw type.
             */
            constructor (rawValue: number);
            /**
             * Returns a Boolean value that indicates whether a given element is a member of the option set.
             */
            contains(member: ImageAnalysisOverlayView.InteractionTypes):boolean;
            /**
             * Adds the given element to the option set if it is not already a member.
             */
            insert(newMember: ImageAnalysisOverlayView.InteractionTypes):any;
            /**
             * Inserts the given element into the set.
             */
            update(newMember: ImageAnalysisOverlayView.InteractionTypes):ImageAnalysisOverlayView.InteractionTypes | null;
            /**
             * Removes the given element and all elements subsumed by it.
             */
            remove(member: ImageAnalysisOverlayView.InteractionTypes):ImageAnalysisOverlayView.InteractionTypes | null;
            /**
             * Removes all elements of this option set that are not also present in the given set.
             */
            formIntersection(other: ImageAnalysisOverlayView.InteractionTypes):void;
            /**
             * Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
             */
            formSymmetricDifference(other: ImageAnalysisOverlayView.InteractionTypes):void;
            /**
             * Inserts the elements of another set into this option set.
             */
            formUnion(other: ImageAnalysisOverlayView.InteractionTypes):void;
            /**
             * Returns a new option set with only the elements contained in both this set and the given set.
             */
            intersection(other: ImageAnalysisOverlayView.InteractionTypes):ImageAnalysisOverlayView.InteractionTypes;
            /**
             * Removes the elements of the given set from this set.
             */
            subtract(other: ImageAnalysisOverlayView.InteractionTypes):void;
            /**
             * Returns a new set containing the elements of this set that do not occur in the given set.
             */
            subtracting(other: ImageAnalysisOverlayView.InteractionTypes):ImageAnalysisOverlayView.InteractionTypes;
            /**
             * Returns a new option set with the elements contained in this set or in the given set, but not in both.
             */
            symmetricDifference(other: ImageAnalysisOverlayView.InteractionTypes):ImageAnalysisOverlayView.InteractionTypes;
            /**
             * Returns a new option set of the elements contained in this set, in the given set, or in both.
             */
            union(other: ImageAnalysisOverlayView.InteractionTypes):ImageAnalysisOverlayView.InteractionTypes;
            /**
             * Returns a Boolean value that indicates whether the set has no members in common with the given set.
             */
            isDisjoint(other: ImageAnalysisOverlayView.InteractionTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict subset of the given set.
             */
            isStrictSubset(other: ImageAnalysisOverlayView.InteractionTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether this set is a strict superset of the given set.
             */
            isStrictSuperset(other: ImageAnalysisOverlayView.InteractionTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a subset of another set.
             */
            isSubset(other: ImageAnalysisOverlayView.InteractionTypes):boolean;
            /**
             * Returns a Boolean value that indicates whether the set is a superset of the given set.
             */
            isSuperset(other: ImageAnalysisOverlayView.InteractionTypes):boolean;
        }
    }
    export interface ImageAnalysisOverlayViewDelegate {
        /**
         * Returns the view that contains the image.
         */
        contentView(overlayView: ImageAnalysisOverlayView):NSView | null;
        /**
         * Returns the rectangle, in unit coordinate space, that contains the image within the view.
         */
        contentsRect(overlayView: ImageAnalysisOverlayView):CGRect;
        /**
         * Returns a Boolean value that determines whether the overlay view handles a specific key-down event.
         */
        overlayView(overlayView: ImageAnalysisOverlayView, event: NSEvent):boolean;
    }
    export class DataScannerViewController extends UIViewController {
        /**
         * A Boolean value that indicates whether the device supports data scanning.
         */
        static isSupported: boolean;
        /**
         * A Boolean value that indicates whether the user grants your app access to the camera and doesn’t have any restrictions to using the camera.
         */
        static isAvailable: boolean;
        /**
         * The identifiers for the languages that the data scanner recognizes.
         */
        static supportedTextRecognitionLanguages: string[];
        /**
         * The types of data that the data scanner identifies in the live video.
         */
        recognizedDataTypes: Set<DataScannerViewController.RecognizedDataType>;
        /**
         * The delegate that handles user interaction with items recognized by the data scanner.
         */
        delegate: DataScannerViewControllerDelegate | null;
        /**
         * The resolution that the scanner uses to find data.
         */
        qualityLevel: DataScannerViewController.QualityLevel;
        /**
         * A Boolean value that indicates whether the scanner should identify all items in the live video.
         */
        recognizesMultipleItems: boolean;
        /**
         * A Boolean value that determines the frequency at which the scanner updates the geometry of recognized items.
         */
        isHighFrameRateTrackingEnabled: boolean;
        /**
         * A Boolean value that indicates whether users can use a two-finger pinch-to-zoom gesture.
         */
        isPinchToZoomEnabled: boolean;
        /**
         * A Boolean value that indicates whether the scanner provides help to the user when selecting items.
         */
        isGuidanceEnabled: boolean;
        /**
         * A Boolean value that indicates whether the scanner displays highlights around recognized items.
         */
        isHighlightingEnabled: boolean;
        /**
         * The zoom factor for the live video in the camera.
         */
        zoomFactor: number;
        /**
         * The minimum zoom factor that the camera supports.
         */
        minZoomFactor: number;
        /**
         * The maximum zoom factor that the camera supports.
         */
        maxZoomFactor: number;
        /**
         * A Boolean value that indicates whether the data scanner is actively looking for items.
         */
        isScanning: boolean;
        /**
         * An asynchronous array of items that the data scanner currently recognizes in the camera’s live video.
         */
        recognizedItems: AsyncStream<[RecognizedItem]>;
        /**
         * A view that the data scanner displays over its view without interfering with the Live Text interface.
         */
        overlayContainerView: UIView;
        /**
         * The area of the live video in view coordinates that the data scanner searches for items.
         */
        regionOfInterest: CGRect | null;
        /**
         * Creates a scanner for finding data, such as text and machine-readable codes, in the camera’s live video.
         */
        constructor (recognizedDataTypes: Set<DataScannerViewController.RecognizedDataType>, qualityLevel: DataScannerViewController.QualityLevel, recognizesMultipleItems: boolean, isHighFrameRateTrackingEnabled: boolean, isPinchToZoomEnabled: boolean, isGuidanceEnabled: boolean, isHighlightingEnabled: boolean);
        /**
         * Starts scanning the camera’s live video for data.
         */
        startScanning():void;
        /**
         * Stops scanning the camera’s live video for data.
         */
        stopScanning():void;
        /**
         * Captures a high-resolution photo of the camera’s live video.
         */
        capturePhoto():UIImage;
        /**
         * Creates the view that the controller manages.
         */
        loadView():void;
        /**
         * Performs some action after the system loads the view into memory.
         */
        viewDidLoad():void;
        /**
         * Performs some action before the view appears.
         */
        viewWillAppear(animated: boolean):void;
        /**
         * Performs some action after the view disappears.
         */
        viewDidDisappear(animated: boolean):void;
    }
    /**
     * the same name namespace of class DataScannerViewController
     */
    export namespace DataScannerViewController {
        export enum ScanningUnavailable {
            unsupported,
            cameraRestricted,
        }
        export class RecognizedDataType {
            /**
             * The hash value.
             */
            hashValue: number;
            /**
             * Creates a data type for text and information the scanner finds in text.
             */
            static text(languages: string[], textContentType: DataScannerViewController.TextContentType | null):DataScannerViewController.RecognizedDataType;
            /**
             * Creates a data type for barcodes the use the specified symbologies.
             */
            static barcode(symbologies: VNBarcodeSymbology[]):DataScannerViewController.RecognizedDataType;
            /**
             * Hashes the components of this value using the specified hasher.
             */
            hash(hasher: Hasher):void;
        }
        export enum TextContentType {
            URL,
            dateTimeDuration,
            emailAddress,
            flightNumber,
            fullStreetAddress,
            shipmentTrackingNumber,
            telephoneNumber,
        }
        export enum QualityLevel {
            balanced,
            fast,
            accurate,
        }
    }
    export interface DataScannerViewControllerDelegate {
        /**
         * Handles when the data scanner starts recognizing an item.
         */
        dataScanner(dataScanner: DataScannerViewController, addedItems: RecognizedItem[], allItems: RecognizedItem[]):void;
        /**
         * Handles when the user or your code changes the zoom factor.
         */
        dataScannerDidZoom(dataScanner: DataScannerViewController):void;
    }
    export enum RecognizedItem {
        barcode,
        text,
    }
    export class VNDocumentCameraViewController extends UIViewController {
        /**
         * A Boolean variable that indicates whether or not the current device supports document scanning.
         */
        static isSupported: boolean;
        /**
         * The delegate to be notified when the user saves or cancels the document scanner.
         */
        delegate: VNDocumentCameraViewControllerDelegate | null;
    }
    export interface VNDocumentCameraViewControllerDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the user successfully saved a scanned document from the document camera. 
         */
        documentCameraViewController(controller: VNDocumentCameraViewController, scan: VNDocumentCameraScan):void;
        /**
         * Tells the delegate that the user canceled out of the document scanner camera.
         */
        documentCameraViewControllerDidCancel(controller: VNDocumentCameraViewController):void;
    }
    export class VNDocumentCameraScan extends NSObject {
        /**
         * The title of the scanned document.
         */
        title: string;
        /**
         * The number of pages in the scanned document.
         */
        pageCount: number;
        /**
         * Requests the image of a page at a specified index.
         */
        imageOfPage(index: number):UIImage;
    }
    export class ImageAnalysis {
        /**
         * The string that the text items in the image represent.
         */
        transcript: string;
        /**
         * Returns a Boolean value that indicates whether the analysis finds the specified types in the image.
         */
        hasResults(analysisTypes: ImageAnalyzer.AnalysisTypes):boolean;
    }
}

/**
 * Implement two-way communication between an iOS app and its paired watchOS app.
 */
declare module WatchConnectivity {
    export class WCSession extends NSObject {
        /**
         * Returns the singleton session object for the current device. 
         */
        static default: WCSession;
        /**
         * A Boolean value indicating whether the companion has installed the app.
         */
        isCompanionAppInstalled: boolean;
        /**
         * A Boolean value indicating whether the Watch app’s complication is in use on the currently paired and active Apple Watch.
         */
        isComplicationEnabled: boolean;
        /**
         * A directory for storing information specific to the currently paired and active Apple Watch.
         */
        watchDirectoryURL: URL | null;
        /**
         * A Boolean value indicating whether the counterpart app is available for live messaging.
         */
        isReachable: boolean;
        /**
         * The most recent contextual data sent to the paired and active device. 
         */
        applicationContext: Record<string, any>;
        /**
         * A dictionary containing the last update data received from a paired and active device. 
         */
        receivedApplicationContext: Record<string, any>;
        /**
         * The number of remaining times you can send complication data from the iOS app to the WatchKit extension.
         */
        remainingComplicationUserInfoTransfers: number;
        /**
         * An array of in-progress data transfers.
         */
        outstandingUserInfoTransfers: WCSessionUserInfoTransfer[];
        /**
         * An array of in-progress file transfers.
         */
        outstandingFileTransfers: WCSessionFileTransfer[];
        /**
         * A Boolean value that indicates whether the session has more content to deliver.
         */
        hasContentPending: boolean;
        /**
         * The delegate for the session object
         */
        delegate: WCSessionDelegate | null;
        /**
         * The current activation state of the session.
         */
        activationState: WCSessionActivationState;
        /**
         * A Boolean indicating whether the current iPhone has a paired Apple Watch.
         */
        isPaired: boolean;
        /**
         * A Boolean value indicating whether the paired iPhone must be in an unlocked state to be reachable.
         */
        iOSDeviceNeedsUnlockAfterRebootForReachability: boolean;
        /**
         * A Boolean value indicating whether the currently paired and active Apple Watch has installed the app.
         */
        isWatchAppInstalled: boolean;
        /**
         * Returns a Boolean value indicating whether the current iOS device is able to use a session object.
         */
        static isSupported():boolean;
        /**
         * Sends a dictionary of values that a paired and active device can use to synchronize its state.
         */
        updateApplicationContext(applicationContext: Record<string, any>):void;
        /**
         * Sends a message immediately to the paired and active device and optionally handles a response. 
         */
        sendMessage(message: Record<string, any>, replyHandler: ()=>any | null, errorHandler: ()=>any | null):void;
        /**
         * Sends a data object immediately to the paired and active device and optionally handles a response.
         */
        sendMessageData(data: Data, replyHandler: ()=>any | null, errorHandler: ()=>any | null):void;
        /**
         * Sends complication-related data from the iOS app to the WatchKit extension. 
         */
        transferCurrentComplicationUserInfo(userInfo: Record<string, any>):WCSessionUserInfoTransfer;
        /**
         * Sends the specified data dictionary to the counterpart.
         */
        transferUserInfo(userInfo: Record<string, any>):WCSessionUserInfoTransfer;
        /**
         * Sends the specified file and optional dictionary to the counterpart.
         */
        transferFile(file: URL, metadata: Record<string, any> | null):WCSessionFileTransfer;
        /**
         * Activates the session asynchronously. 
         */
        activate():void;
    }
    export class WCError {}
    /**
     * the same name namespace of class WCError
     */
    export namespace WCError {
        export enum Code {
            companionAppNotInstalled = 7018,
            watchOnlyApp = 7019,
        }
    }
    export interface WCSessionDelegate extends NSObjectProtocol {
        /**
         * Tells the delegate that the session has finished activating.
         */
        session(session: WCSession, activationState: WCSessionActivationState, error: Error | null):void;
        /**
         * Tells the delegate that the session will stop communicating with the current Apple Watch.
         */
        sessionDidBecomeInactive(session: WCSession):void;
        /**
         * Tells the delegate that the session has delivered all the data from the previous session, and that communication with the Apple Watch has ended.
         */
        sessionDidDeactivate(session: WCSession):void;
        /**
         * Indicates a change to the counterpart’s information.
         */
        sessionWatchStateDidChange(session: WCSession):void;
        /**
         * Indicates a change to the counterpart’s reachability status.
         */
        sessionReachabilityDidChange(session: WCSession):void;
        /**
         * Indicates a change to the companion app’s installed state.
         */
        sessionCompanionAppInstalledDidChange(session: WCSession):void;
    }
    export class WCSessionFile extends NSObject {
        /**
         * The URL of the file that was received.
         */
        fileURL: URL;
        /**
         * A dictionary of additional information that was sent with the file.
         */
        metadata: Record<string, any> | null;
    }
    export class WCSessionFileTransfer extends NSObject {
        /**
         * The file being transferred.
         */
        file: WCSessionFile;
        /**
         * A Boolean value indicating whether the file is still being transferred. 
         */
        isTransferring: boolean;
        /**
         * An object that tracks the progress of the file transfer.
         */
        progress: Progress;
        /**
         * Cancels the file transfer.
         */
        cancel():void;
    }
    export class WCSessionUserInfoTransfer extends NSObject {
        /**
         * A Boolean indicating whether the data is related to the app’s complication.
         */
        isCurrentComplicationInfo: boolean;
        /**
         * The data being transferred.
         */
        userInfo: Record<string, any>;
        /**
         * A Boolean value indicating whether the data is still being transferred.
         */
        isTransferring: boolean;
        /**
         * Cancels the data transfer.
         */
        cancel():void;
    }
    export enum WCSessionActivationState {
        notActivated = 0,
        inactive = 1,
        activated = 2,
    }
}

/**
 * Build systems that run distributed code across multiple processes and devices.
 */
declare module Distributed {
    export class RemoteCallTarget {
        /**
         * Attempts to pretty format the underlying target identifier.
         *  
         * If unable to, returns the raw underlying identifier.
         */
        description: string;
        /**
         * The hash value.
         */
        hashValue: number;
        /**
         * The underlying identifier of the target, returned as-is.
         */
        identifier: string;
        constructor (identifier: string);
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class RemoteCallArgument {
        /**
         * The effective label of this argument, i.e. if no explicit 
         *  was set
         *  
         * this defaults to the 
         * . This reflects the semantics of call sites of
         *  
         * function declarations without explicit label definitions in Swift.
         */
        effectiveLabel: string;
        /**
         * The “argument label” of the argument.
         *  
         * The label is the name visible name used in external calls made to this
         *  
         * target, e.g. for 
         *  it is 
         * .
         */
        label: string;
        /**
         * The internal name of parameter this argument is accessible as in the
         *  
         * function body. It is not part of the functions API and may change without
         *  
         * breaking the target identifier.
         */
        name: string;
        /**
         * The value of the argument being passed to the call.
         *  
         * As 
         *  is always used in conjunction with
         *  
         *  and populated by the compiler, this Value will generally
         *  
         * conform to a distributed actor system’s 
         * .
         */
        value: Value;
        constructor (label: string, name: string, value: Value);
    }
    export class LocalTestingDistributedActorSystem {
        constructor ();
        /**
         * Invoked during a distributed actor’s initialization, as soon as it becomes fully initialized.
         */
        actorReady<Act>(actor: Act):void;
        /**
         * Create an 
         *  for the passed actor type.
         */
        assignID<Act>(actorType: Act.Type):DistributedActor;
        /**
         * Implementation synthesized by the compiler.
         *  
         * Not intended to be invoked explicitly from user code!
         */
        invokeHandlerOnReturn(handler: LocalTestingInvocationResultHandler, resultBuffer: UnsafeRawPointer, metatype: Any.Type):void;
        /**
         * Invoked by the Swift runtime when a distributed remote call is about to be made.
         */
        makeInvocationEncoder():LocalTestingDistributedActorSystem.InvocationEncoder;
        remoteCall<Act, Err, Res>(actor: Act, target: RemoteCallTarget, invocation: LocalTestingDistributedActorSystem.InvocationEncoder, errorType: Err.Type, returnType: Res.Type):LocalTestingActorID;
        remoteCallVoid<Act, Err>(actor: Act, target: RemoteCallTarget, invocation: LocalTestingDistributedActorSystem.InvocationEncoder, errorType: Err.Type):void;
        /**
         * Called during when a distributed actor is deinitialized, or fails to initialize completely (e.g. by throwing
         *  
         * out of an 
         *  that did not completely initialize all of the the actors stored properties yet).
         */
        resignID(id: LocalTestingDistributedActorSystem.ActorID):void;
        /**
         * Resolve a local or remote actor address to a real actor instance, or throw if unable to.
         *  
         * The returned value is either a local actor or proxy to a remote actor.
         */
        resolve<Act>(id: LocalTestingDistributedActorSystem.ActorID, actorType: Act.Type):DistributedActor;
        /**
         * Prepare and execute a call to the distributed function identified by the passed arguments,
         *  
         * on the passed 
         * , and collect its results using the 
         * .
         */
        executeDistributedTarget<Act>(actor: Act, target: RemoteCallTarget, invocationDecoder: Self.InvocationDecoder, handler: Self.ResultHandler):void;
    }
    export class LocalTestingActorID {
        address: string;
        /**
         * The hash value.
         */
        hashValue: number;
        id: string;
        /**
         * Creates a new instance by decoding from the given decoder.
         */
        constructor (decoder: Decoder);
        constructor (id: string);
        constructor (id: string);
        /**
         * Encodes this value into the given encoder.
         */
        encode(encoder: Encoder):void;
        /**
         * Hashes the essential components of this value by feeding them into the
         *  
         * given hasher.
         */
        hash(hasher: Hasher):void;
    }
    export class LocalTestingInvocationEncoder {
        doneRecording():void;
        recordArgument<Value>(argument: RemoteCallArgument<Value>):void;
        /**
         * Record the error type of the distributed method.
         *  
         * This method will not be invoked if the target is not throwing.
         */
        recordErrorType<E>(type: E.Type):void;
        /**
         * The arguments must be encoded order-preserving, and once 
         *  
         * is called, the substitutions must be returned in the same order in which they were recorded.
         */
        recordGenericSubstitution<T>(type: T.Type):void;
        recordReturnType<R>(type: R.Type):void;
    }
    export class LocalTestingInvocationDecoder {
        decodeErrorType():Any.Type | null;
        decodeGenericSubstitutions():Any.Type[];
        decodeNextArgument<Argument>():Encodable;
        /**
         * Attempt to decode the known return type of the distributed invocation.
         */
        decodeReturnType():Any.Type | null;
    }
    export class LocalTestingInvocationResultHandler {
        onReturn<Success>(value: Success):void;
        /**
         * Invoked when the distributed target invocation of a 
         *  returning
         *  
         * function has completed successfully.
         */
        onReturnVoid():void;
        onThrow<Err>(error: Err):void;
    }
    export class DistributedActorCodingError {
        message: string;
        constructor (message: string);
        static missingActorSystemUserInfo<Act>(actorType: Act.Type):DistributedActor;
    }
    export class ExecuteDistributedTargetError {
        errorCode: ExecuteDistributedTargetError.ErrorCode;
        message: string;
        constructor (message: string);
        constructor (message: string, errorCode: ExecuteDistributedTargetError.ErrorCode);
    }
    /**
     * the same name namespace of class ExecuteDistributedTargetError
     */
    export namespace ExecuteDistributedTargetError {
        export enum ErrorCode {}
    }
    export class LocalTestingDistributedActorSystemError {
        message: string;
        constructor (message: string);
    }
}

/**
 * Use an expressive domain-specific language to build regular expressions,
 *  
 * for operations like searching and replacing in text.
 */
declare module RegexBuilder {
    export class CharacterClass {
        static any: CharacterClass;
        static anyGraphemeCluster: CharacterClass;
        static anyNonNewline: CharacterClass;
        static digit: CharacterClass;
        static hexDigit: CharacterClass;
        static horizontalWhitespace: CharacterClass;
        static newlineSequence: CharacterClass;
        static verticalWhitespace: CharacterClass;
        static whitespace: CharacterClass;
        static word: CharacterClass;
        inverted: CharacterClass;
        regex: Regex<Substring>;
        constructor (first: CharacterClass, ...rest: CharacterClass);
        static generalCategory(category: Unicode.GeneralCategory):CharacterClass;
        /**
         * Returns a character class that matches any character in the given string
         *  
         * or sequence.
         */
        static anyOf<S>(s: S):Character;
        intersection(other: CharacterClass):CharacterClass;
        subtracting(other: CharacterClass):CharacterClass;
        symmetricDifference(other: CharacterClass):CharacterClass;
        union(other: CharacterClass):CharacterClass;
    }
    export class Anchor {
        /**
         * An anchor that matches at the end of a line, including at the end of
         *  
         * the input string.
         */
        static endOfLine: Anchor;
        /**
         * An anchor that matches at the end of the input string.
         */
        static endOfSubject: Anchor;
        /**
         * An anchor that matches at the end of the input string or at the end of
         *  
         * the line immediately before the the end of the string.
         */
        static endOfSubjectBeforeNewline: Anchor;
        /**
         * An anchor that matches at the first position of a match in the input
         *  
         * string.
         */
        static firstMatchingPositionInSubject: Anchor;
        /**
         * An anchor that matches at the start of a line, including the start of
         *  
         * the input string.
         */
        static startOfLine: Anchor;
        /**
         * An anchor that matches at the start of the input string.
         */
        static startOfSubject: Anchor;
        /**
         * An anchor that matches at a grapheme cluster boundary.
         */
        static textSegmentBoundary: Anchor;
        /**
         * An anchor that matches at a word boundary.
         */
        static wordBoundary: Anchor;
        /**
         * The inverse of this anchor, which matches at every position that this
         *  
         * anchor does not.
         */
        inverted: Anchor;
        regex: Regex<Substring>;
    }
    export class Lookahead {
        regex: Regex<Output>;
        /**
         * Creates a lookahead from the regex generated by the given builder closure.
         */
        constructor (component: ()=>any);
    }
    export class NegativeLookahead {
        regex: Regex<Output>;
        /**
         * Creates a negative lookahead from the given regex component.
         */
        constructor (component: R);
    }
    export class ChoiceOf {
        regex: Regex<Output>;
        constructor (builder: ()=>any);
    }
    export class One {
        regex: Regex<Output>;
        constructor (component: Component);
    }
    export class Optionally {
        regex: Regex<Output>;
        constructor (behavior: RegexRepetitionBehavior | null, component: ()=>any, Component: any);
    }
    export class ZeroOrMore {
        regex: Regex<Output>;
        constructor (behavior: RegexRepetitionBehavior | null, component: ()=>any, Component: any);
    }
    export class OneOrMore {
        regex: Regex<Output>;
        constructor (behavior: RegexRepetitionBehavior | null, component: ()=>any, Component: any);
    }
    export class Repeat {
        regex: Regex<Output>;
        constructor (expression: R, behavior: RegexRepetitionBehavior | null, component: ()=>any, Component: any);
        constructor (component: Component, count: any, Component: any);
        constructor (count: number, component: ()=>any, Component: any);
    }
    export class Local {
        regex: Regex<Output>;
        constructor (component: Component);
    }
    export class Capture {
        regex: Regex<Output>;
        constructor (component: ()=>any, R: any);
        constructor (component: R, reference: any, R: any);
        constructor (component: R, reference: Reference<NewCapture>, transform: any);
        constructor (component: ()=>any, transform: any, R: any);
        constructor (reference: Reference<W>, component: ()=>any, R: any);
        constructor (reference: Reference<NewCapture>, component: ()=>any, transform: any, R: any);
    }
    export class TryCapture {
        regex: Regex<Output>;
        constructor (component: R, reference: Reference<NewCapture>, transform: any, R: any);
        constructor (component: R, transform: any, R: any);
        constructor (reference: Reference<NewCapture>, component: ()=>any, transform: any, R: any);
    }
    export class Reference {
        regex: Regex<Capture>;
        constructor (captureType: Capture.Type);
    }
    export enum RegexComponentBuilder {}
    export class AlternationBuilder {
        static buildExpression<R>(regex: R):RegexComponent;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3, C4, C5, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1, W1, C4, C5>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, C7, R1, W1, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3, C4, C5, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1, W1, C4, C5, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, R1, W1, C5, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1, W1, C4, C5, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3, C4, C5>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3, C4>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3, C4, C5, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3, C4, C5, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3, C4, C5>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, R1, W1, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3, C4, C5, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3, C4, C5, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, R1, W1, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, R1, W1, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, R1, W1, C5, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1>(accumulated: R0, next: R1):RegexComponent;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3, C4>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1, W1, C4, C5, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3, C4>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, R1, W1, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, C7, C8, R1, W1, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3, C4, C5, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, C7, C8, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, R1, W1, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, R1, W1, C0, C1, C2, C3, C4, C5, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3, C4, C5, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, R1, W1, C5, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, R1, W1, C5>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, C7, R1, W1, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3, C4>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1, W1, C1, C2, C3, C4, C5>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3, C4, C5>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3, C4, C5, C6, C7>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1, W1, C4, C5, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, R1, W1, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3, C4, C5, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3, C4, C5, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3, C4, C5, C6>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1, W1, C2, C3, C4, C5, C6, C7, C8, C9>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, C6, C7, R1>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, C5, R1, W1, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, R1, W1, C3, C4, C5, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, R1, W1, C4>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R0, W0, C0, C1, C2, C3, C4, R1, W1, C5, C6, C7, C8>(accumulated: R0, next: R1):any;
        static buildPartialBlock<R, W, C1, C2>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4, C5, C6>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4, C5>(regex: R):any;
        static buildPartialBlock<R, W, C1>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4, C5, C6, C7>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4, C5, C6, C7, C8, C9>(regex: R):any;
        static buildPartialBlock<R>(component: R):RegexComponent;
        static buildPartialBlock<R, W, C1, C2, C3>(regex: R):any;
        static buildPartialBlock<R, W, C1, C2, C3, C4, C5, C6, C7, C8>(regex: R):any;
    }
}

